void CUIWndCallback::AddCallback(const shared_str& control_id, s16 event, const void_function &f) { SCallbackInfo* c = NewCallback (); c->m_cpp_callback = f; c->m_controlName = control_id; c->m_event = event; }
/** * Reset the send timer */ void HealthCheckedConnection::HeartbeatSent() { if (m_send_timeout_id != ola::thread::INVALID_TIMEOUT) m_scheduler->RemoveTimeout(m_send_timeout_id); m_send_timeout_id = m_scheduler->RegisterRepeatingTimeout( m_heartbeat_interval, NewCallback(this, &HealthCheckedConnection::SendNextHeartbeat)); }
void CUIDialogWndEx::AddCallback (LPCSTR control_id, s16 event, const luabind::functor<void> &functor, const luabind::object &object) { SCallbackInfo* c = NewCallback (); c->m_callback.set (functor,object); c->m_controlName = control_id; c->m_event = event; }
void CUIDialogWndEx::AddCallback(LPCSTR control_id, s16 event, const luabind::functor<void> &lua_function) { SCallbackInfo* c = NewCallback (); c->m_callback.set (lua_function); c->m_controlName = control_id; c->m_event = event; }
bool AsyncPluginImpl::Start() { if (libusb_init(&m_context)) { OLA_WARN << "Failed to init libusb"; return false; } OLA_DEBUG << "libusb debug level set to " << m_debug_level; libusb_set_debug(m_context, m_debug_level); m_use_hotplug = HotplugSupported(); OLA_INFO << "HotplugSupported returned " << m_use_hotplug; if (m_use_hotplug) { #ifdef HAVE_LIBUSB_HOTPLUG_API m_usb_thread.reset(new LibUsbHotplugThread( m_context, hotplug_callback, this)); #else OLA_FATAL << "Mismatch between m_use_hotplug and " " HAVE_LIBUSB_HOTPLUG_API"; return false; #endif } else { m_usb_thread.reset(new LibUsbSimpleThread(m_context)); } m_usb_adaptor.reset(new AsyncronousLibUsbAdaptor(m_usb_thread.get())); // Setup the factories. m_widget_factories.push_back(new AnymauDMXFactory(m_usb_adaptor.get())); m_widget_factories.push_back( new EuroliteProFactory(m_usb_adaptor.get())); m_widget_factories.push_back( new JaRuleFactory(m_plugin_adaptor, m_usb_adaptor.get())); m_widget_factories.push_back( new ScanlimeFadecandyFactory(m_usb_adaptor.get())); m_widget_factories.push_back(new SunliteFactory(m_usb_adaptor.get())); m_widget_factories.push_back(new VellemanK8062Factory(m_usb_adaptor.get())); // If we're using hotplug, this starts the hotplug thread. if (!m_usb_thread->Init()) { STLDeleteElements(&m_widget_factories); m_usb_adaptor.reset(); m_usb_thread.reset(); return false; } if (!m_use_hotplug) { // Either we don't support hotplug or the setup failed. // As poor man's hotplug, we call libusb_get_device_list periodically to // check for new devices. m_scan_timeout = m_plugin_adaptor->RegisterRepeatingTimeout( TimeInterval(5, 0), NewCallback(this, &AsyncPluginImpl::ScanUSBDevices)); // Call it immediately now. ScanUSBDevices(); } return true; }
int NsTclSchedCmd(ClientData arg, Tcl_Interp *interp, int argc, char **argv) { TclCallback *cbPtr; int interval; int flags; int first; int id; /* 12 cases (arg count & number after cmd and -options are handled): * 0 1 2 3 4 * * cmd interval script (3 args)/2 * * cmd interval procname (3 args)/2 * * cmd interval procname arg (4 args)/3 * * cmd -once interval script (4 args)/2 * * cmd -once interval procname (4 args)/2 * * cmd -once interval procname arg (5 args)/3 * * cmd -thread interval script (4 args)/2 * * cmd -thread interval procname (4 args)/2 * * cmd -thread interval procname arg (5 args)/3 * * cmd -once -thread interval script (5 args)/2 * * cmd -once -thread interval procname (5 args)/2 * * cmd -once -thread interval procname arg (6 args)/3 */ first = 1; flags = 0; while (argc-- && argv[first] != NULL) { if (strcmp(argv[first], "-thread") == 0) { flags |= NS_SCHED_THREAD; } else if (strcmp(argv[first], "-once") == 0) { flags |= NS_SCHED_ONCE; } else { break; } first++; } if (argc < 2 || argc > 3) { Tcl_AppendResult(interp, "wrong # args: should be \"", argv[0], " ?-once? ?-thread? interval { script | procname ?arg? }\"", (char *) NULL); return TCL_ERROR; } /* * First is now the first argument that is not a switch. */ if (Tcl_GetInt(interp, argv[first++], &interval) != TCL_OK) { return TCL_ERROR; } cbPtr = NewCallback(interp, argv[first], argv[first+1]); id = Ns_ScheduleProcEx(NsTclSchedProc, cbPtr, flags, interval, FreeSched); return ReturnValidId(interp, id, cbPtr); }
/* * Start this device */ bool SandNetDevice::StartHook() { vector<ola::network::UDPSocket*> sockets; vector<ola::network::UDPSocket*>::iterator iter; m_node = new SandNetNode(m_preferences->GetValue(IP_KEY)); m_node->SetName(m_preferences->GetValue(NAME_KEY)); // setup the output ports (ie INTO sandnet) for (int i = 0; i < SANDNET_MAX_PORTS; i++) { bool ret = m_node->SetPortParameters(i, SandNetNode::SANDNET_PORT_MODE_IN, 0, i); if (!ret) { OLA_WARN << "SetPortParameters failed"; DeleteAllPorts(); delete m_node; return false; } } if (!m_node->Start()) { DeleteAllPorts(); delete m_node; return false; } stringstream str; str << SANDNET_DEVICE_NAME << " [" << m_node->GetInterface().ip_address << "]"; SetName(str.str()); for (unsigned int i = 0; i < INPUT_PORTS; i++) { SandNetInputPort *port = new SandNetInputPort( this, i, m_plugin_adaptor, m_node); AddPort(port); } for (unsigned int i = 0; i < SANDNET_MAX_PORTS ; i++) { SandNetOutputPort *port = new SandNetOutputPort(this, i, m_node); AddPort(port); } sockets = m_node->GetSockets(); for (iter = sockets.begin(); iter != sockets.end(); ++iter) m_plugin_adaptor->AddReadDescriptor(*iter); m_timeout_id = m_plugin_adaptor->RegisterRepeatingTimeout( ADVERTISTMENT_PERIOD_MS, NewCallback(this, &SandNetDevice::SendAdvertisement)); return true; }
DMXCProjectsNodleU1InputPort::DMXCProjectsNodleU1InputPort( Device *parent, unsigned int id, PluginAdaptor *plugin_adaptor, DMXCProjectsNodleU1 *widget) : BasicInputPort(parent, id, plugin_adaptor), m_widget(widget) { m_widget->SetDmxCallback(NewCallback( static_cast<BasicInputPort*>(this), &BasicInputPort::DmxChanged)); }
TriDMXInputPort::TriDMXInputPort( Device *parent, unsigned int id, PluginAdaptor *plugin_adaptor, TriDMX *widget) : BasicInputPort(parent, id, plugin_adaptor), m_widget(widget) { m_widget->SetDmxCallback(PortId(), NewCallback( static_cast<BasicInputPort*>(this), &BasicInputPort::DmxChanged)); }
void ClientServer::openFile() { QString filter(QString("%1 (*.cml);;%2 (*.cjson)") .arg(tr("Chemical Markup Language")) .arg(tr("Chemical JSON"))); QSettings settings; QString dir = settings.value("MainWindow/lastOpenDir").toString(); QString fileName = QFileDialog::getOpenFileName(qobject_cast<QWidget*>(parent()), tr("Open remote chemical file"), dir, filter); if (fileName.isEmpty()) // user cancel return; QFileInfo info(fileName); dir = info.absoluteDir().absolutePath(); settings.setValue("MainWindow/lastOpenDir", dir); if (!isConnected()) { QString host = settings.value("ConnectionSettings/hostName").toString(); int port = settings.value("ConnectionSettings/port").toInt(); if (!connectToServer(host.toLocal8Bit().data(), port)) { QMessageBox::critical(qobject_cast<QWidget*>(this->parent()), tr("Connection failed"), tr("The connection to %2:%3 failed: connection" " refused.").arg(host).arg(port)); return; } } RemoteMoleculeService::Proxy proxy(m_channel); OpenRequest request; if (fileName.toLower().endsWith("cjson")) request.set_format("cjson"); else request.set_format("cml"); request.set_path(fileName.toLocal8Bit().data()); OpenResponse *response = new OpenResponse(); Closure *callback = NewCallback(this, &ClientServer::handleResponse, response); proxy.open(&request, response, callback); }
static int AtCmd(AtProc *procPtr, Tcl_Interp *interp, int argc, char **argv) { TclCallback *cbPtr; if (argc != 2 && argc != 3) { Tcl_AppendResult(interp, "wrong # args: should be \"", argv[0], " script | procname ?arg?\"", NULL); return TCL_ERROR; } cbPtr = NewCallback(interp, argv[1], argv[2]); if (procPtr == Ns_RegisterAtSignal) { (*procPtr) (NsTclSignalProc, cbPtr); } else { (*procPtr) (NsTclCallback, cbPtr); } return TCL_OK; }
int NsTclAfterCmd(ClientData arg, Tcl_Interp *interp, int argc, char **argv) { int id, seconds; TclCallback *cbPtr; if (argc != 3) { Tcl_AppendResult(interp, "wrong # args: should be \"", argv[0], " seconds script\"", NULL); return TCL_ERROR; } if (Tcl_GetInt(interp, argv[1], &seconds) != TCL_OK) { return TCL_ERROR; } cbPtr = NewCallback(interp, argv[2], NULL); id = Ns_After(seconds, (Ns_Callback *) NsTclSchedProc, cbPtr, FreeCallback); return ReturnValidId(interp, id, cbPtr); }
/* * Start the discovery process for a widget * @param widget, the RobeWidget to run discovery on. * @return true if the process started ok, false otherwise. */ bool RobeWidgetDetector::Discover( ola::io::ConnectedDescriptor *descriptor) { DispatchingRobeWidget *widget = new DispatchingRobeWidget(descriptor); widget->SetHandler( NewCallback(this, &RobeWidgetDetector::HandleMessage, widget)); if (!widget->SendMessage(BaseRobeWidget::INFO_REQUEST, NULL, 0)) { delete widget; return false; } // Set the onclose handler so we can mark this as failed. descriptor->SetOnClose(NewSingleCallback(this, &RobeWidgetDetector::WidgetRemoved, widget)); // Register a timeout for this widget SetupTimeout(widget, &m_widgets[widget]); return true; }
/* * Kick off the discovery process if it's not already running */ void DmxTriWidgetImpl::RunRDMDiscovery(RDMDiscoveryCallback *callback) { if (m_discovery_callback) { OLA_FATAL << "Call to RunFullDiscovery while discovery is already running" << ", the DiscoverableQueueingRDMController has broken!"; // the best we can do is run the callback now RunDiscoveryCallback(callback); return; } m_discovery_callback = callback; if (!SendDiscoveryStart()) { OLA_WARN << "Failed to begin RDM discovery"; m_discovery_callback = NULL; RunDiscoveryCallback(callback); return; } // setup a stat every RDM_STATUS_INTERVAL_MS until we're done m_rdm_timeout_id = m_scheduler->RegisterRepeatingTimeout( RDM_STATUS_INTERVAL_MS, NewCallback(this, &DmxTriWidgetImpl::CheckDiscoveryStatus)); }
void h() { (void)NewCallback(&ffff, /*xxxx=*/11, /*yyyy=*/22); (void)NewPermanentCallback(&ffff, /*xxxx=*/11, /*yyyy=*/22); }
int NsTclSchedWeeklyCmd(ClientData arg, Tcl_Interp *interp, int argc, char **argv) { TclCallback *cbPtr; int flags; int first; int id; int day, hour, minute; /* 12 cases (arg count & number after cmd and -options are handled): * 0 1 2 3 4 5 6 7 * * cmd day hour minute script (5 args)/4 * * cmd day hour minute proc (5 args)/4 * * cmd day hour minute proc arg (6 args)/5 * * cmd -once day hour minute script (6 args)/4 * * cmd -once day hour minute proc (6 args)/4 * * cmd -once day hour minute proc arg (7 args)/5 * * cmd -thread day hour minute script (6 args)/4 * * cmd -thread day hour minute proc (6 args)/4 * * cmd -thread day hour minute proc arg (7 args)/5 * * cmd -once -thread day hour minute script (7 args)/4 * * cmd -once -thread day hour minute proc (7 args)/4 * * cmd -once -thread day hour minute proc arg (8 args)/5 */ first = 1; flags = 0; while (argc-- && argv[first] != NULL) { if (strcmp(argv[first], "-thread") == 0) { flags |= NS_SCHED_THREAD; } else if (strcmp(argv[first], "-once") == 0) { flags |= NS_SCHED_ONCE; } else { break; } first++; } if (argc < 4 || argc > 5) { Tcl_AppendResult(interp, "wrong # args: should be \"", argv[0], " ?-once? ?-thread? day hour minute " "{ script | procname ?arg? }\"", (char *) NULL); return TCL_ERROR; } /* * First is now the first argument that is not a switch. */ if (Tcl_GetInt(interp, argv[first++], &day) != TCL_OK) { return TCL_ERROR; } if (day < 0 || day > 6) { Tcl_AppendResult(interp, "invalid day \"", argv[first - 1], "\": should be >= 0 and <= 6", NULL); return TCL_ERROR; } if (Tcl_GetInt(interp, argv[first++], &hour) != TCL_OK) { return TCL_ERROR; } if (hour < 0 || hour > 23) { Tcl_AppendResult(interp, "invalid hour \"", argv[first - 1], "\": should be >= 0 and <= 23", NULL); return TCL_ERROR; } if (Tcl_GetInt(interp, argv[first++], &minute) != TCL_OK) { return TCL_ERROR; } if (minute < 0 || minute > 59) { Tcl_AppendResult(interp, "invalid minute \"", argv[first - 1], "\": should be >= 0 and <= 59", NULL); return TCL_ERROR; } cbPtr = NewCallback(interp, argv[first], argv[first+1]); id = Ns_ScheduleWeekly(NsTclSchedProc, cbPtr, flags, day, hour, minute, FreeSched); return ReturnValidId(interp, id, cbPtr); }
int main() { base::AtExitManager exit_manager; base::CommandLine::Init(0, NULL); BaseInitLoggingImpl(L"debug.log", base::LOG_ONLY_TO_FILE, base::LOCK_LOG_FILE, base::DELETE_OLD_LOG_FILE); int loga = base::Log2Floor(1); base::Environment* e = base::Environment::Create(); std::string sys_path; e->GetVar("path", &sys_path); base::CPU cpu; bool finite = base::IsFinite(1.01); base::FilePath path; std::vector<std::wstring> components; path.GetComponents(&components); path.Append(L"c:"); path.Append(L"pWRD"); path.Append(L"testDir"); path.Append(L"\\wlw.txt"); path.GetComponents(&components); bool absolute = path.IsAbsolute(); base::FilePath path2(L"wlwtxt"); path2.GetComponents(&components); absolute = path2.IsAbsolute(); base::FilePath search_path(L"C:\\"); base::CountFilesCreatedAfter(search_path, base::Time::Now()); int err = base::EnsureDirectoryForFile(path, NULL); base::Delete(base::FilePath(L"c:\\pWRD"), true); FileVersionInfo* fvi = FileVersionInfo::CreateFileVersionInfoForCurrentModule(); if(fvi) { std::wstring file_ver = fvi->file_version(); delete fvi; } base::FileEnumerator file_iter(search_path, false, base::FileEnumerator::DIRECTORIES, L"3rd"); for(base::FilePath current=file_iter.Next(); !current.Empty(); current=file_iter.Next()) { std::wcout << current.value() << std::endl; base::FileEnumerator::FindInfo fi; file_iter.GetFindInfo(&fi); if(file_iter.IsDirectory(fi)) { int64 size = base::ComputeDirectorySize(current); std::wcout << L"Directory size is: " << size << std::endl; size = base::ComputeFilesSize(current, L""); std::wcout << L"Files size is: " << size << std::endl; } } Pickle p; p.WriteInt(1); p.WriteString("I'm wlw!"); p.WriteWString(L"I'm WLW!"); int p_i; std::string p_str; std::wstring p_wstr; void* iter = NULL; p.ReadInt(&iter, &p_i); p.ReadString(&iter, &p_str); p.ReadWString(&iter, &p_wstr); base::RegKey reg(HKEY_CURRENT_USER, L"Environment", KEY_QUERY_VALUE); std::wstring reg_temp; if(reg.Valid()) { reg.ReadValue(L"TEMP", ®_temp); } CoInitialize(NULL); base::ScopedComPtr<IDropTargetHelper, &IID_IDropTargetHelper> scomp; if(SUCCEEDED(scomp.CreateInstance(CLSID_DragDropHelper))) { scomp = NULL; } CoUninitialize(); scoped_ptr<double> spd(new double(3.1)); spd.reset(); base::Singleton<FooClass>::get()->Bar(); int cvt = 0; base::StringToInt("123", &cvt); std::string str_d = base::DoubleToString(2.123); base::StringPiece s1; assert(s1.length() == 0); assert(s1.size() == 0); assert(s1.data() == NULL); base::StringPiece s2("I love you"); assert(s2.find('I') != base::StringPiece::npos); std::vector<std::string> v; base::SplitString("wlw&el", '&', &v); std::vector<std::string> subst; subst.push_back("10"); subst.push_back("20"); subst.push_back("30"); std::string add = ReplaceStringPlaceholders("$2+$1=$3", subst, NULL); string16 bytes = FormatBytes(5*1024, DATA_UNITS_KIBIBYTE, true); std::string profile = base::StringPrintf("wlw's age is %d", 29); LOG(WARNING) << "This is a warning!"; //DCHECK(1 == 0); base::Time::EnableHighResolutionTimer(true); base::Time t = base::Time::Now(); base::Time::Exploded te; t.LocalExplode(&te); base::TimeTicks tt = base::TimeTicks::Now(); base::TimeTicks tth = base::TimeTicks::HighResNow(); std::string utf8 = WideToUTF8(L"wan lian wen - мРа╛нд"); std::wstring wide = UTF8ToWide(utf8); DictionaryValue root; root.SetString("global.pages.homepage", "http://goateleporter.com"); std::string homepage = "http://google.com"; root.GetString("global.pages.homepage", &homepage); Version* ver = Version::GetVersionFromString("2.0.0.1"); delete ver; base::WinVersion version = base::GetWinVersion(); std::wstring user_sid; base::GetUserSidString(&user_sid); std::string base64; base::Base64Encode("I'm wlw.", &base64); std::string md5 = MD5String("I'm wlw."); std::string sha1 = base::SHA1HashString("I'm wlw."); std::string sha2 = base::SHA256HashString("I'm wlw."); std::string json = base::GetDoubleQuotedJson("a<>b;\nb = 0;"); std::string json_write; base::JSONWriter::Write(&root, false, &json_write); Value* json_read = base::JSONReader::Read(json_write, false); delete json_read; Tuple3<int, double, bool> t3 = MakeTuple(10, 2.5, false); ObjClass obj; Callback0::Type* callback = NewCallback(&obj, &ObjClass::Bar); callback->Run(); delete callback; thred.Start(); thred.message_loop()->PostDelayedTask(new PrintTask(), 1000); MessageLoop msg_loop; msg_loop.PostDelayedTask(new MainThreadPrintTask(), 3000); msg_loop.Run(); thred.Stop(); return 0; }
BaseClientWrapper::BaseClientWrapper() : m_close_callback(NewCallback(&m_ss, &ola::io::SelectServer::Terminate)) { }
int NsTclSchedDailyCmd(ClientData arg, Tcl_Interp *interp, int argc, char **argv) { TclCallback *cbPtr; int flags; int first; int id; int hour, minute; /* 12 cases (arg count & number after cmd and -options are handled): * 0 1 2 3 4 5 6 * * cmd hour minute script (4 args)/3 * * cmd hour minute procname (4 args)/3 * * cmd hour minute procname arg (5 args)/4 * * cmd -once hour minute script (5 args)/3 * * cmd -once hour minute procname (5 args)/3 * * cmd -once hour minute procname arg (6 args)/4 * * cmd -thread hour minute script (5 args)/3 * * cmd -thread hour minute procname (5 args)/3 * * cmd -thread hour minute procname arg (6 args)/4 * * cmd -once -thread hour minute script (6 args)/3 * * cmd -once -thread hour minute procname (6 args)/3 * * cmd -once -thread hour minute procname arg (7 args)/4 */ first = 1; flags = 0; while (argc-- && argv[first] != NULL) { if (strcmp(argv[first], "-thread") == 0) { flags |= NS_SCHED_THREAD; } else if (strcmp(argv[first], "-once") == 0) { flags |= NS_SCHED_ONCE; } else { break; } first++; } if (argc < 3 || argc > 4) { Tcl_AppendResult(interp, "wrong # args: should be \"", argv[0], " ?-once? ?-thread? hour minute " "{ script | procname ?arg? }\"", (char *) NULL); return TCL_ERROR; } /* * First is now the first argument that is not a switch. */ if (Tcl_GetInt(interp, argv[first++], &hour) != TCL_OK) { return TCL_ERROR; } if (hour < 0 || hour > 23) { Tcl_AppendResult(interp, "invalid hour \"", argv[first - 1], "\": should be >= 0 and <= 23", NULL); return TCL_ERROR; } if (Tcl_GetInt(interp, argv[first++], &minute) != TCL_OK) { return TCL_ERROR; } if (minute < 0 || minute > 59) { Tcl_AppendResult(interp, "invalid minute \"", argv[first - 1], "\": should be >= 0 and <= 59", NULL); return TCL_ERROR; } /* * Bear in mind that argc has been changed when counting switches, * so assume that there are no switches when reading the 4 here. */ cbPtr = NewCallback(interp, argv[first], argv[first+1]); id = Ns_ScheduleDaily(NsTclSchedProc, cbPtr, flags, hour, minute, FreeSched); return ReturnValidId(interp, id, cbPtr); }