int ONVIF::Users::qt_metacall(QMetaObject::Call _c, int _id, void **_a) { _id = QObject::qt_metacall(_c, _id, _a); if (_id < 0) return _id; if (_c == QMetaObject::InvokeMetaMethod) { if (_id < 3) qt_static_metacall(this, _c, _id, _a); _id -= 3; } else if (_c == QMetaObject::RegisterMethodArgumentMetaType) { if (_id < 3) *reinterpret_cast<int*>(_a[0]) = -1; _id -= 3; } #ifndef QT_NO_PROPERTIES else if (_c == QMetaObject::ReadProperty) { void *_v = _a[0]; switch (_id) { case 0: *reinterpret_cast< QString*>(_v) = userName(); break; case 1: *reinterpret_cast< QString*>(_v) = passWord(); break; case 2: *reinterpret_cast< UserLevelType*>(_v) = userLevel(); break; default: break; } _id -= 3; } else if (_c == QMetaObject::WriteProperty) { void *_v = _a[0]; switch (_id) { case 0: setUserName(*reinterpret_cast< QString*>(_v)); break; case 1: setPassWord(*reinterpret_cast< QString*>(_v)); break; case 2: setUserLevel(*reinterpret_cast< UserLevelType*>(_v)); break; default: break; } _id -= 3; } else if (_c == QMetaObject::ResetProperty) { _id -= 3; } else if (_c == QMetaObject::QueryPropertyDesignable) { _id -= 3; } else if (_c == QMetaObject::QueryPropertyScriptable) { _id -= 3; } else if (_c == QMetaObject::QueryPropertyStored) { _id -= 3; } else if (_c == QMetaObject::QueryPropertyEditable) { _id -= 3; } else if (_c == QMetaObject::QueryPropertyUser) { _id -= 3; } else if (_c == QMetaObject::RegisterPropertyMetaType) { if (_id < 3) *reinterpret_cast<int*>(_a[0]) = -1; _id -= 3; } #endif // QT_NO_PROPERTIES return _id; }
void TwitLibs::doTwitLibs() { loadWords(); std::string userName( "" ); std::string passWord( "" ); printf( "Enter twitter username: "******"Enter twitter password: "******"M0732hNbsNWFAt5EI2z8bA" ) ); twitterObj.getOAuth().setConsumerSecret( std::string( "iI6jbNN3rn7tZmOsMvSiWXcYo9e36HzWwpZdEJvh7bs" ) ); /* Step 1: Check if we alredy have OAuth access token from a previous run */ std::string myOAuthAccessTokenKey("85586080-mEQUEMw1tiId6XaC3xW6k0U4C3uQMRHGYWWaP6Qw"); std::string myOAuthAccessTokenSecret("ghtJ0vSe5Z8LYAMurSXjvN2rfEkOxuxIgYMU6lAF138"); std::ifstream oAuthTokenKeyIn; std::ifstream oAuthTokenSecretIn; /* oAuthTokenKeyIn.open( "twitterClient_token_key.txt" ); oAuthTokenSecretIn.open( "twitterClient_token_secret.txt" ); memset( tmpBuf, 0, 1024 ); oAuthTokenKeyIn >> tmpBuf; myOAuthAccessTokenKey = tmpBuf; memset( tmpBuf, 0, 1024 ); oAuthTokenSecretIn >> tmpBuf; myOAuthAccessTokenSecret = tmpBuf; oAuthTokenKeyIn.close(); oAuthTokenSecretIn.close(); */ if( myOAuthAccessTokenKey.size() && myOAuthAccessTokenSecret.size() ) { /* If we already have these keys, then no need to go through auth again */ printf( "\nUsing:\nKey: %s\nSecret: %s\n\n", myOAuthAccessTokenKey.c_str(), myOAuthAccessTokenSecret.c_str() ); twitterObj.getOAuth().setOAuthTokenKey( myOAuthAccessTokenKey ); twitterObj.getOAuth().setOAuthTokenSecret( myOAuthAccessTokenSecret ); } else { /* Step 2: Get request token key and secret */ std::string authUrl; twitterObj.oAuthRequestToken( authUrl ); /* Step 3: Get PIN */ memset( tmpBuf, 0, 1024 ); printf( "\nDo you want to visit twitter.com for PIN (0 for no; 1 for yes): " ); gets( tmpBuf ); tmpStr = tmpBuf; if( std::string::npos != tmpStr.find( "1" ) ) { /* Ask user to visit twitter.com auth page and get PIN */ memset( tmpBuf, 0, 1024 ); printf( "\nPlease visit this link in web browser and authorize this application:\n%s", authUrl.c_str() ); printf( "\nEnter the PIN provided by twitter: " ); gets( tmpBuf ); tmpStr = tmpBuf; twitterObj.getOAuth().setOAuthPin( tmpStr ); } else { /* Else, pass auth url to twitCurl and get it via twitCurl PIN handling */ twitterObj.oAuthHandlePIN( authUrl ); } /* Step 4: Exchange request token with access token */ twitterObj.oAuthAccessToken(); /* Step 5: Now, save this access token key and secret for future use without PIN */ twitterObj.getOAuth().getOAuthTokenKey( myOAuthAccessTokenKey ); twitterObj.getOAuth().getOAuthTokenSecret( myOAuthAccessTokenSecret ); /* Step 6: Save these keys in a file or wherever */ std::ofstream oAuthTokenKeyOut; std::ofstream oAuthTokenSecretOut; oAuthTokenKeyOut.open( "twitterClient_token_key.txt" ); oAuthTokenSecretOut.open( "twitterClient_token_secret.txt" ); oAuthTokenKeyOut.clear(); oAuthTokenSecretOut.clear(); oAuthTokenKeyOut << myOAuthAccessTokenKey.c_str(); oAuthTokenSecretOut << myOAuthAccessTokenSecret.c_str(); oAuthTokenKeyOut.close(); oAuthTokenSecretOut.close(); } /* OAuth flow ends */ /* Account credentials verification */ if( twitterObj.accountVerifyCredGet() ) { twitterObj.getLastWebResponse( replyMsg ); printf( "\ntwitterClient:: twitCurl::accountVerifyCredGet web response:\n%s\n", replyMsg.c_str() ); } else { twitterObj.getLastCurlError( replyMsg ); printf( "\ntwitterClient:: twitCurl::accountVerifyCredGet error:\n%s\n", replyMsg.c_str() ); } /* Post a new status message */ memset( tmpBuf, 0, 1024 ); printf( "\nEnter a new status message: " ); gets( tmpBuf ); tmpStr = tmpBuf; replaceWords(tmpStr); replyMsg = ""; if( twitterObj.statusUpdate( tmpStr ) ) { twitterObj.getLastWebResponse( replyMsg ); //printf( "\ntwitterClient:: twitCurl::statusUpdate web response:\n%s\n", replyMsg.c_str() ); } else { twitterObj.getLastCurlError( replyMsg ); //printf( "\ntwitterClient:: twitCurl::statusUpdate error:\n%s\n", replyMsg.c_str() ); } std::cin.get(); }
int main( int argc, char* argv[] ) { /* Get username and password from command line args */ std::string userName( "" ); std::string passWord( "" ); /*if( argc > 4 ) { for( int i = 1; i < argc; i += 2 ) { if( 0 == strncmp( argv[i], "-u", strlen("-u") ) ) { userName = argv[i+1]; } else if( 0 == strncmp( argv[i], "-p", strlen("-p") ) ) { passWord = argv[i+1]; } } if( ( 0 == userName.length() ) || ( 0 == passWord.length() ) ) { printUsage(); return 0; } } else { printUsage(); return 0; }*/ twitCurl twitterObj; std::string tmpStr, tmpStr2; std::string replyMsg; char tmpBuf[1024]; /* Set twitter username and password */ twitterObj.setTwitterUsername( userName ); twitterObj.setTwitterPassword( passWord ); /* Set proxy server usename, password, IP and port (if present) */ memset( tmpBuf, 0, 1024 ); printf( "\nDo you have a proxy server configured (0 for no; 1 for yes): " ); gets( tmpBuf ); tmpStr = tmpBuf; if( std::string::npos != tmpStr.find( "1" ) ) { memset( tmpBuf, 0, 1024 ); printf( "\nEnter proxy server IP: " ); gets( tmpBuf ); tmpStr = tmpBuf; twitterObj.setProxyServerIp( tmpStr ); memset( tmpBuf, 0, 1024 ); printf( "\nEnter proxy server port: " ); gets( tmpBuf ); tmpStr = tmpBuf; twitterObj.setProxyServerPort( tmpStr ); memset( tmpBuf, 0, 1024 ); printf( "\nEnter proxy server username: "******"\nEnter proxy server password: "******"vlC5S1NCMHHg8mD1ghPRkA" ) ); twitterObj.getOAuth().setConsumerSecret( std::string( "3w4cIrHyI3IYUZW5O2ppcFXmsACDaENzFdLIKmEU84" ) ); /* Step 1: Check if we alredy have OAuth access token from a previous run */ std::string myOAuthAccessTokenKey(""); std::string myOAuthAccessTokenSecret(""); std::ifstream oAuthTokenKeyIn; std::ifstream oAuthTokenSecretIn; oAuthTokenKeyIn.open( "twitterClient_token_key.txt" ); oAuthTokenSecretIn.open( "twitterClient_token_secret.txt" ); memset( tmpBuf, 0, 1024 ); oAuthTokenKeyIn >> tmpBuf; myOAuthAccessTokenKey = tmpBuf; memset( tmpBuf, 0, 1024 ); oAuthTokenSecretIn >> tmpBuf; myOAuthAccessTokenSecret = tmpBuf; oAuthTokenKeyIn.close(); oAuthTokenSecretIn.close(); if( myOAuthAccessTokenKey.size() && myOAuthAccessTokenSecret.size() ) { /* If we already have these keys, then no need to go through auth again */ printf( "\nUsing:\nKey: %s\nSecret: %s\n\n", myOAuthAccessTokenKey.c_str(), myOAuthAccessTokenSecret.c_str() ); twitterObj.getOAuth().setOAuthTokenKey( myOAuthAccessTokenKey ); twitterObj.getOAuth().setOAuthTokenSecret( myOAuthAccessTokenSecret ); } else { /* Step 2: Get request token key and secret */ std::string authUrl; twitterObj.oAuthRequestToken( authUrl ); /* Step 3: Get PIN */ memset( tmpBuf, 0, 1024 ); printf( "\nDo you want to visit twitter.com for PIN (0 for no; 1 for yes): " ); gets( tmpBuf ); tmpStr = tmpBuf; if( std::string::npos != tmpStr.find( "1" ) ) { /* Ask user to visit twitter.com auth page and get PIN */ memset( tmpBuf, 0, 1024 ); printf( "\nPlease visit this link in web browser and authorize this application:\n%s", authUrl.c_str() ); printf( "\nEnter the PIN provided by twitter: " ); gets( tmpBuf ); tmpStr = tmpBuf; twitterObj.getOAuth().setOAuthPin( tmpStr ); } else { /* Else, pass auth url to twitCurl and get it via twitCurl PIN handling */ twitterObj.oAuthHandlePIN( authUrl ); } /* Step 4: Exchange request token with access token */ twitterObj.oAuthAccessToken(); /* Step 5: Now, save this access token key and secret for future use without PIN */ twitterObj.getOAuth().getOAuthTokenKey( myOAuthAccessTokenKey ); twitterObj.getOAuth().getOAuthTokenSecret( myOAuthAccessTokenSecret ); /* Step 6: Save these keys in a file or wherever */ std::ofstream oAuthTokenKeyOut; std::ofstream oAuthTokenSecretOut; oAuthTokenKeyOut.open( "twitterClient_token_key.txt" ); oAuthTokenSecretOut.open( "twitterClient_token_secret.txt" ); oAuthTokenKeyOut.clear(); oAuthTokenSecretOut.clear(); oAuthTokenKeyOut << myOAuthAccessTokenKey.c_str(); oAuthTokenSecretOut << myOAuthAccessTokenSecret.c_str(); oAuthTokenKeyOut.close(); oAuthTokenSecretOut.close(); } /* OAuth flow ends */ /* Account credentials verification */ if( twitterObj.accountVerifyCredGet() ) { twitterObj.getLastWebResponse( replyMsg ); printf( "\ntwitterClient:: twitCurl::accountVerifyCredGet web response:\n%s\n", replyMsg.c_str() ); } else { twitterObj.getLastCurlError( replyMsg ); printf( "\ntwitterClient:: twitCurl::accountVerifyCredGet error:\n%s\n", replyMsg.c_str() ); } /* Get followers' ids */ std::string nextCursor(""); std::string searchUser("nextbigwhat"); do { if( twitterObj.followersIdsGet( nextCursor, searchUser ) ) { twitterObj.getLastWebResponse( replyMsg ); printf( "\ntwitterClient:: twitCurl::followersIdsGet for user [%s] web response:\n%s\n", searchUser.c_str(), replyMsg.c_str() ); // JSON: "next_cursor":1422208797779779359, nextCursor = ""; size_t nNextCursorStart = replyMsg.find("next_cursor"); if( std::string::npos == nNextCursorStart ) { nNextCursorStart += strlen("next_cursor:\""); size_t nNextCursorEnd = replyMsg.substr(nNextCursorStart).find(","); if( std::string::npos != nNextCursorEnd ) { nextCursor = replyMsg.substr(nNextCursorStart, (nNextCursorEnd - nNextCursorStart)); printf("\nNEXT CURSOR: %s\n\n\n\n\n", nextCursor.c_str()); } } } else { twitterObj.getLastCurlError( replyMsg ); printf( "\ntwitterClient:: twitCurl::followersIdsGet error:\n%s\n", replyMsg.c_str() ); break; } } while( !nextCursor.empty() && nextCursor.compare("0") ); /* Get block list */ nextCursor = ""; if( twitterObj.blockListGet( nextCursor, false, false ) ) { twitterObj.getLastWebResponse( replyMsg ); printf( "\ntwitterClient:: twitCurl::blockListGet web response:\n%s\n", replyMsg.c_str() ); } else { twitterObj.getLastCurlError( replyMsg ); printf( "\ntwitterClient:: twitCurl::blockListGet error:\n%s\n", replyMsg.c_str() ); } /* Get blocked ids */ nextCursor = ""; if( twitterObj.blockIdsGet( nextCursor, true ) ) { twitterObj.getLastWebResponse( replyMsg ); printf( "\ntwitterClient:: twitCurl::blockIdsGet web response:\n%s\n", replyMsg.c_str() ); } else { twitterObj.getLastCurlError( replyMsg ); printf( "\ntwitterClient:: twitCurl::blockIdsGet error:\n%s\n", replyMsg.c_str() ); } /* Post a new status message */ memset( tmpBuf, 0, 1024 ); printf( "\nEnter a new status message: " ); gets( tmpBuf ); tmpStr = tmpBuf; replyMsg = ""; if( twitterObj.statusUpdate( tmpStr ) ) { twitterObj.getLastWebResponse( replyMsg ); printf( "\ntwitterClient:: twitCurl::statusUpdate web response:\n%s\n", replyMsg.c_str() ); } else { twitterObj.getLastCurlError( replyMsg ); printf( "\ntwitterClient:: twitCurl::statusUpdate error:\n%s\n", replyMsg.c_str() ); } /* Post a new reply */ memset( tmpBuf, 0, 1024 ); printf( "\nEnter message id to reply to : " ); gets( tmpBuf ); tmpStr2 = tmpBuf; memset( tmpBuf, 0, 1024 ); printf( "\nEnter a reply message: " ); gets( tmpBuf ); tmpStr = tmpBuf; replyMsg = ""; if( twitterObj.statusUpdate( tmpStr, tmpStr2 ) ) { twitterObj.getLastWebResponse( replyMsg ); printf( "\ntwitterClient:: twitCurl::statusUpdate web response:\n%s\n", replyMsg.c_str() ); } else { twitterObj.getLastCurlError( replyMsg ); printf( "\ntwitterClient:: twitCurl::statusUpdate error:\n%s\n", replyMsg.c_str() ); } /* Search a string */ printf( "\nEnter string to search: " ); memset( tmpBuf, 0, 1024 ); gets( tmpBuf ); tmpStr = tmpBuf; printf( "\nLimit search results to: " ); memset( tmpBuf, 0, 1024 ); gets( tmpBuf ); tmpStr2 = tmpBuf; replyMsg = ""; if( twitterObj.search( tmpStr, tmpStr2 ) ) { twitterObj.getLastWebResponse( replyMsg ); printf( "\ntwitterClient:: twitCurl::search web response:\n%s\n", replyMsg.c_str() ); } else { twitterObj.getLastCurlError( replyMsg ); printf( "\ntwitterClient:: twitCurl::search error:\n%s\n", replyMsg.c_str() ); } #ifdef _TWITCURL_TEST_ /* Get user timeline */ replyMsg = ""; printf( "\nGetting user timeline\n" ); if( twitterObj.timelineUserGet( true, true, 0 ) ) { twitterObj.getLastWebResponse( replyMsg ); printf( "\ntwitterClient:: twitCurl::timelineUserGet web response:\n%s\n", replyMsg.c_str() ); } else { twitterObj.getLastCurlError( replyMsg ); printf( "\ntwitterClient:: twitCurl::timelineUserGet error:\n%s\n", replyMsg.c_str() ); } /* Destroy a status message */ memset( tmpBuf, 0, 1024 ); printf( "\nEnter status message id to delete: " ); gets( tmpBuf ); tmpStr = tmpBuf; replyMsg = ""; if( twitterObj.statusDestroyById( tmpStr ) ) { twitterObj.getLastWebResponse( replyMsg ); printf( "\ntwitterClient:: twitCurl::statusDestroyById web response:\n%s\n", replyMsg.c_str() ); } else { twitterObj.getLastCurlError( replyMsg ); printf( "\ntwitterClient:: twitCurl::statusDestroyById error:\n%s\n", replyMsg.c_str() ); } /* Get public timeline */ replyMsg = ""; printf( "\nGetting public timeline\n" ); if( twitterObj.timelinePublicGet() ) { twitterObj.getLastWebResponse( replyMsg ); printf( "\ntwitterClient:: twitCurl::timelinePublicGet web response:\n%s\n", replyMsg.c_str() ); } else { twitterObj.getLastCurlError( replyMsg ); printf( "\ntwitterClient:: twitCurl::timelinePublicGet error:\n%s\n", replyMsg.c_str() ); } /* Get friend ids */ replyMsg = ""; printf( "\nGetting friend ids\n" ); tmpStr = "techcrunch"; if( twitterObj.friendsIdsGet( tmpStr, false ) ) { twitterObj.getLastWebResponse( replyMsg ); printf( "\ntwitterClient:: twitCurl::friendsIdsGet web response:\n%s\n", replyMsg.c_str() ); } else { twitterObj.getLastCurlError( replyMsg ); printf( "\ntwitterClient:: twitCurl::friendsIdsGet error:\n%s\n", replyMsg.c_str() ); } /* Get trends */ if( twitterObj.trendsDailyGet() ) { twitterObj.getLastWebResponse( replyMsg ); printf( "\ntwitterClient:: twitCurl::trendsDailyGet web response:\n%s\n", replyMsg.c_str() ); } else { twitterObj.getLastCurlError( replyMsg ); printf( "\ntwitterClient:: twitCurl::trendsDailyGet error:\n%s\n", replyMsg.c_str() ); } #endif // _TWITCURL_TEST_ return 0; }
void LoginWidget::on_loginToolButton_clicked() { // QString serverHostAddress = serverAddress(); // if(serverHostAddress.isEmpty()){ // QMessageBox::critical(this, tr("Error"), tr("Server Address Required!")); // localServer->close(); // if(ui.groupBoxConfiguration->isHidden()){ // ui.toolButtonConfig->setChecked(true); // ui.groupBoxConfiguration->setVisible(true); // } // if(!ui.comboBoxServerIP->count()){ // ui.toolButtonServersManager->click(); // } // return; // } if(!checkServerAddress()){ return; } if (userName().isEmpty()) { QMessageBox::critical(this, tr("Error"), tr( "<b>ID Required!</b>")); ui.idComboBox->setFocus(); return; } else if (passWord().isEmpty()) { QMessageBox::critical(this, tr("Error"), tr( "<b>Password Required!</b>")); ui.passwordLineEdit->setFocus(); return; } else{ QString userID = ui.idComboBox->currentText().trimmed(); user->setUserID(userID); //user->setPassword(ui.passwordLineEdit->text()); //从密码输入框取回明文密码,将其进行SHA-1加密 //Fetch the password from the 'ui.passwordLineEdit' and encrypt it with SHA-1h QByteArray password(ui.passwordLineEdit->text().toUtf8()); password = QCryptographicHash::hash (password, QCryptographicHash::Sha1); user->setPassword(password.toBase64()); qDebug()<<"----LoginWidget::on_loginToolButton_clicked()~~password:"******"----LoginWidget::on_loginToolButton_clicked()~~password.toBase64():"<<password.toBase64(); user->setStateAfterLoggedin(invisibleLogin?IM::ONLINESTATE_INVISIBLE:IM::ONLINESTATE_ONLINE); ui.passwordLineEdit->clear(); //infoAccepted = true; verifyUser(); Settings::instance()->setCurrentUser(userID); // bool userVerified = verifyUser(); // if(userVerified ){ // if(autoLogin){ // Settings::instance()->setRecentUser(ui.idComboBox->currentText()); // Settings::instance()->setRecentUserPassword(password.toBase64()); // } // Settings::instance()->setRecentUser(userID); // } /* switchUI(VERIFYING); Login login(user,this); if(login.isVerified()){ //发射验证成功的消息 emit signalUserVerified(); QString userID = user->getUserID(); Settings::instance()->setRecentUser(userID); }else{ switchUI(NORMAL); } */ } }