void FunnelTextDialog::on_findLineEdit_textChanged(const QString &pattern) { QRegExp re(pattern, Qt::CaseInsensitive); QTextCharFormat plain_fmt, highlight_fmt; highlight_fmt.setBackground(Qt::yellow); QTextCursor csr(ui->textEdit->document()); int position = csr.position(); setUpdatesEnabled(false); // Reset highlighting csr.movePosition(QTextCursor::Start); csr.movePosition(QTextCursor::End, QTextCursor::KeepAnchor); csr.setCharFormat(plain_fmt); // Apply new highlighting if (!pattern.isEmpty()) { int match_pos = 0; while ((match_pos = re.indexIn(ui->textEdit->toPlainText(), match_pos)) > -1) { csr.setPosition(match_pos, QTextCursor::MoveAnchor); csr.setPosition(match_pos + re.matchedLength(), QTextCursor::KeepAnchor); csr.setCharFormat(highlight_fmt); match_pos += re.matchedLength(); } } // Restore cursor and anchor csr.setPosition(position, QTextCursor::MoveAnchor); setUpdatesEnabled(true); }
/** Convert the interaction list to an interaction matrix */ ublas::compressed_matrix<kernel_value_type> to_matrix() { auto first_source = bc.source_begin(bc.source_tree().root()); auto first_target = bc.target_begin(bc.target_tree().root()); // Interaction list for each target body unsigned rows = bc.target_tree().bodies(); unsigned cols = 0; unsigned nnz = 0; std::vector<std::vector<unsigned>> csr(rows); for (const box_pair& b2b : p2p_list) { const box_type& box1 = b2b.first; const box_type& box2 = b2b.second; auto source_end = bc.source_end(box1); auto target_end = bc.target_end(box2); for (auto t = bc.target_begin(box2); t != target_end; ++t) { // Row unsigned i = t - first_target; std::vector<unsigned>& csri = csr[i]; for (auto s = bc.source_begin(box1); s != source_end; ++s) { // Column unsigned j = s - first_source; //assert(std::find(csri.begin(), csri.end(), j) == csri.end()); csri.push_back(j); ++nnz; cols = std::max(cols, j); } } } ++cols; // The precomputed interaction matrix ublas::compressed_matrix<kernel_value_type> m(rows, cols, nnz); typedef typename kernel_type::source_type source_type; typedef typename kernel_type::target_type target_type; for (unsigned i = 0; i < csr.size(); ++i) { // Insert elements to compressed_matrix in-order for efficiency std::sort(csr[i].begin(), csr[i].end()); const target_type& target = first_target[i]; for (unsigned j : csr[i]) { const source_type& source = first_source[j]; m.push_back(i, j, bc.kernel()(target, source)); } } return m; }
void test( int argc, char* argv[] ) { // Create the Datastore and Manager objects DepartmentDatastore theDepartmentDatastore; DepartmentManager theDeptMgr; // Connect to database cout << "Connecting to " << theDepartmentDatastore.datastoreName() << "..." << endl; if ( argc >= 3 ) theDepartmentDatastore.connect( argv[1], argv[2] ); else theDepartmentDatastore.connect(); theDepartmentDatastore.enableAutoCommit( false ); cout <<"...Connected" << endl; cout << "Listing of all departments, sorted by name:" << endl; // Open the cursor on the entire database, // ordering the records by department name theDeptMgr.open( "ORDER BY DEPTNAME" ); // Fetch all the rows theDeptMgr.fill( 0 ); IVSequence<Department*>::Cursor csr( *theDeptMgr.items() ); // loop through the items forCursor( csr ) { // Get the row out of the vector Department * theDept = csr.element(); // Print out the row cout << theDept->asString() << endl; } // close the cursor theDeptMgr.close(); // Disconnect from the database theDepartmentDatastore.rollback(); theDepartmentDatastore.disconnect(); // All done cout << endl << "Done" << endl; }
int main (int argc, char *argv[]) { args_t args; struct stat st; #ifdef WIN // PVOID OldValue=NULL; WSADATA wsa; Wow64DisableWow64FsRedirection (&OldValue); WSAStartup(MAKEWORD(2,0), &wsa); #endif setbuf(stdout, NULL); setbuf(stderr, NULL); memset (&args, 0, sizeof(args)); // set default parameters args.address = NULL; args.file = NULL; args.ai_family = AF_INET; args.port = DEFAULT_PORT; args.port_nbr = atoi(args.port); args.mode = -1; args.tx_mode = -1; args.sim = 0; args.dbg = 0; printf ("\n[ run shellcode v0.1\n"); parse_args(&args, argc, argv); // check if we have file parameter and it accessible if (args.file!=NULL) { if (stat (args.file, &st)) { printf ("[ unable to access %s\n", args.file); return 0; } else { if (st.st_size > MAX_BUFSIZ) { printf ("[ %s exceeds MAX_BUFSIZ of %i bytes\n", args.file, MAX_BUFSIZ); return 0; } } } // if mode is executing if (args.mode==RSC_EXEC) { if (args.file!=NULL) { xfile(&args); return 0; } else { printf ("\n[ you've used -x without supplying file with -f"); return 0; } } if (init_network(&args)) { // if no file specified, we receive and execute data args.tx_mode = (args.file==NULL) ? RSC_RECV : RSC_SEND; // if mode is -1, we listen for incoming connections if (args.mode == -1) { args.mode=RSC_SERVER; } // if no file specified, set to receive one if (args.tx_mode == -1) { args.tx_mode=RSC_RECV; } if (args.mode==RSC_SERVER) { ssr (&args); } else { csr (&args); } } return 0; }
int RUNMAIN(arcinfo)(int argc, char **argv) { setlocale(LC_ALL, ""); Arc::Logger logger(Arc::Logger::getRootLogger(), "arcinfo"); Arc::LogStream logcerr(std::cerr); logcerr.setFormat(Arc::ShortFormat); Arc::Logger::getRootLogger().addDestination(logcerr); Arc::Logger::getRootLogger().setThreshold(Arc::WARNING); Arc::ArcLocation::Init(argv[0]); ClientOptions opt(ClientOptions::CO_INFO, istring("[resource ...]"), istring("The arcinfo command is used for " "obtaining the status of computing " "resources on the Grid.")); { std::list<std::string> clusterstmp = opt.Parse(argc, argv); opt.clusters.insert(opt.clusters.end(), clusterstmp.begin(), clusterstmp.end()); } if (opt.showversion) { std::cout << Arc::IString("%s version %s", "arcinfo", VERSION) << std::endl; return 0; } // If debug is specified as argument, it should be set before loading the configuration. if (!opt.debug.empty()) Arc::Logger::getRootLogger().setThreshold(Arc::string_to_level(opt.debug)); if (opt.show_plugins) { std::list<std::string> types; types.push_back("HED:ServiceEndpointRetrieverPlugin"); types.push_back("HED:TargetInformationRetrieverPlugin"); showplugins("arcinfo", types, logger); return 0; } Arc::UserConfig usercfg(opt.conffile); if (!usercfg) { logger.msg(Arc::ERROR, "Failed configuration initialization"); return 1; } if (opt.list_configured_services) { std::map<std::string, Arc::ConfigEndpoint> allServices = usercfg.GetAllConfiguredServices(); std::cout << "Configured registries:" << std::endl; for (std::map<std::string, Arc::ConfigEndpoint>::const_iterator it = allServices.begin(); it != allServices.end(); it++) { if (it->second.type == Arc::ConfigEndpoint::REGISTRY) { std::cout << " " << it->first << ": " << it->second.URLString; if (!it->second.InterfaceName.empty()) { std::cout << " (" << it->second.InterfaceName << ")"; } std::cout << std::endl; } } std::cout << "Configured computing elements:" << std::endl; for (std::map<std::string, Arc::ConfigEndpoint>::const_iterator it = allServices.begin(); it != allServices.end(); it++) { if (it->second.type == Arc::ConfigEndpoint::COMPUTINGINFO) { std::cout << " " << it->first << ": " << it->second.URLString; if (!it->second.InterfaceName.empty() || !it->second.RequestedSubmissionInterfaceName.empty()) { std::cout << " (" << it->second.InterfaceName; if (!it->second.InterfaceName.empty() && !it->second.RequestedSubmissionInterfaceName.empty()) { std::cout << " / "; } std::cout << it->second.RequestedSubmissionInterfaceName + ")"; } std::cout << std::endl; } } return 0; } if (opt.debug.empty() && !usercfg.Verbosity().empty()) Arc::Logger::getRootLogger().setThreshold(Arc::string_to_level(usercfg.Verbosity())); if (opt.timeout > 0) usercfg.Timeout(opt.timeout); std::list<Arc::Endpoint> endpoints = getServicesFromUserConfigAndCommandLine(usercfg, opt.indexurls, opt.clusters, opt.requestedSubmissionInterfaceName, opt.infointerface); std::set<std::string> preferredInterfaceNames; if (usercfg.InfoInterface().empty()) { preferredInterfaceNames.insert("org.nordugrid.ldapglue2"); } else { preferredInterfaceNames.insert(usercfg.InfoInterface()); } std::list<std::string> rejectDiscoveryURLs = getRejectDiscoveryURLsFromUserConfigAndCommandLine(usercfg, opt.rejectdiscovery); Arc::ComputingServiceUniq csu; Arc::ComputingServiceRetriever csr(usercfg, std::list<Arc::Endpoint>(), rejectDiscoveryURLs, preferredInterfaceNames); csr.addConsumer(csu); for (std::list<Arc::Endpoint>::const_iterator it = endpoints.begin(); it != endpoints.end(); ++it) { csr.addEndpoint(*it); } csr.wait(); std::list<Arc::ComputingServiceType> services = csu.getServices(); for (std::list<Arc::ComputingServiceType>::const_iterator it = services.begin(); it != services.end(); ++it) { if (opt.longlist) { if (it != services.begin()) std::cout << std::endl; std::cout << *it; std::cout << std::flush; } else { std::cout << "Computing service: " << (**it).Name; if (!(**it).QualityLevel.empty()) { std::cout << " (" << (**it).QualityLevel << ")"; } std::cout << std::endl; std::stringstream infostream, submissionstream; for (std::map<int, Arc::ComputingEndpointType>::const_iterator itCE = it->ComputingEndpoint.begin(); itCE != it->ComputingEndpoint.end(); ++itCE) { if (itCE->second->Capability.count(Arc::Endpoint::GetStringForCapability(Arc::Endpoint::COMPUTINGINFO))) { infostream << " " << Arc::IString("Information endpoint") << ": " << itCE->second->URLString << std::endl; } if (itCE->second->Capability.empty() || itCE->second->Capability.count(Arc::Endpoint::GetStringForCapability(Arc::Endpoint::JOBSUBMIT)) || itCE->second->Capability.count(Arc::Endpoint::GetStringForCapability(Arc::Endpoint::JOBCREATION))) { submissionstream << " "; submissionstream << Arc::IString("Submission endpoint") << ": "; submissionstream << itCE->second->URLString; submissionstream << " (" << Arc::IString("status") << ": "; submissionstream << itCE->second->HealthState << ", "; submissionstream << Arc::IString("interface") << ": "; submissionstream << itCE->second->InterfaceName << ")" << std::endl; } } std::cout << infostream.str() << submissionstream.str(); } } bool anEndpointFailed = false; // Check if querying endpoint succeeded. Arc::EndpointStatusMap statusMap = csr.getAllStatuses(); for (std::list<Arc::Endpoint>::const_iterator it = endpoints.begin(); it != endpoints.end(); ++it) { Arc::EndpointStatusMap::const_iterator itStatus = statusMap.find(*it); if (itStatus != statusMap.end() && itStatus->second != Arc::EndpointQueryingStatus::SUCCESSFUL && itStatus->second != Arc::EndpointQueryingStatus::SUSPENDED_NOTREQUIRED) { if (!anEndpointFailed) { anEndpointFailed = true; std::cerr << Arc::IString("ERROR: Failed to retrieve information from the following endpoints:") << std::endl; } std::cerr << " " << it->URLString; if (!itStatus->second.getDescription().empty()) { std::cerr << " (" << itStatus->second.getDescription() << ")"; } std::cerr << std::endl; } } if (anEndpointFailed) return 1; if (services.empty()) { std::cerr << Arc::IString("ERROR: Failed to retrieve information"); if (!endpoints.empty()) { std::cerr << " " << Arc::IString("from the following endpoints:") << std::endl; for (std::list<Arc::Endpoint>::const_iterator it = endpoints.begin(); it != endpoints.end(); ++it) { std::cerr << " " << it->URLString << std::endl; } } else { std::cerr << std::endl; } return 1; } return 0; }
bool avjackif::async_register_new_user(std::string user_name, boost::asio::yield_context yield_context) { // 先发 client_hello if( m_shared_key.empty()) async_client_hello(yield_context); auto digest = EVP_sha1(); // 先生成 RSA 密钥 _rsa.reset(RSA_generate_key(2048, 65537, 0, 0), RSA_free); // 然后生成 CSR boost::shared_ptr<X509_REQ> csr(X509_REQ_new(), X509_REQ_free); boost::shared_ptr<EVP_PKEY> pkey(EVP_PKEY_new(), EVP_PKEY_free); EVP_PKEY_set1_RSA(pkey.get(), _rsa.get()); // 添加证书申请信息 auto subj =X509_REQ_get_subject_name(csr.get()); /* X509_NAME_add_entry_by_NID(subj, NID_countryName, "CN"); X509_NAME_add_entry_by_NID(subj, NID_stateOrProvinceName, "Shanghai"); X509_NAME_add_entry_by_NID(subj, NID_localityName, "Shanghai"); X509_NAME_add_entry_by_NID(subj, NID_organizationName, "avplayer"); X509_NAME_add_entry_by_NID(subj, NID_organizationalUnitName, "sales"); */ X509_NAME_add_entry_by_NID(subj, NID_commonName, user_name); // X509_NAME_add_entry_by_NID(subj, NID_pkcs9_emailAddress, "test-client"); X509_REQ_set_pubkey(csr.get(), pkey.get()); // 签出 CSR X509_REQ_sign(csr.get(), pkey.get(), digest); unsigned char * out = NULL; auto csr_out_len = i2d_X509_REQ(csr.get(), &out); std::string csrout((char*)out, csr_out_len); OPENSSL_free(out); out = NULL; auto rsa_key_out_len = i2d_RSA_PUBKEY(_rsa.get(), &out); std::string rsa_key((char*)out, rsa_key_out_len); OPENSSL_free(out); PEM_write_X509_REQ(stderr, csr.get()); // 然后发送 注册信息 proto::user_register user_register; user_register.set_user_name(user_name); user_register.set_rsa_pubkey(rsa_key); user_register.set_csr(csrout); boost::asio::async_write(*m_sock, boost::asio::buffer(av_router::encode(user_register)), yield_context); // 读取应答 std::unique_ptr<proto::user_register_result> user_register_result((proto::user_register_result*)async_read_protobuf_message(*m_sock, yield_context)); return user_register_result->result() == proto::user_register_result::REGISTER_SUCCEED; }