NS_IMETHODIMP nsDNSServiceDiscovery::RegisterService(nsIDNSServiceInfo* aServiceInfo, nsIDNSRegistrationListener* aListener, nsICancelable** aRetVal) { MOZ_ASSERT(aRetVal); nsresult rv; if (NS_WARN_IF(NS_FAILED(rv = UnregisterService(aListener)))) { return rv; } nsRefPtr<RegisterOperator> registerOp = new RegisterOperator(aServiceInfo, aListener); if (NS_WARN_IF(NS_FAILED(rv = registerOp->Start()))) { return rv; } mRegisterMap.Put(aListener, registerOp); nsCOMPtr<nsICancelable> req = new RegisterRequest(this, aListener); req.forget(aRetVal); return NS_OK; }
/* * User pressed the uninstall button. Make it go. */ void CBINDInstallDlg::OnUninstall() { UpdateData(); if (MsgBox(IDS_UNINSTALL, MB_YESNO) == IDYES) { if (CheckBINDService()) StopBINDService(); SC_HANDLE hSCManager = OpenSCManager(NULL, NULL, SC_MANAGER_ALL_ACCESS); if (!hSCManager) { MsgBox(IDS_ERR_OPEN_SCM, GetErrMessage()); return; } SC_HANDLE hService = OpenService(hSCManager, BIND_SERVICE_NAME, SERVICE_ALL_ACCESS); if (!hService && GetLastError() != ERROR_SERVICE_DOES_NOT_EXIST){ MsgBox(IDS_ERR_OPEN_SERVICE, GetErrMessage()); return; } SERVICE_STATUS ss; QueryServiceStatus(hService, &ss); if (ss.dwCurrentState == SERVICE_RUNNING) { BOOL rc = ControlService(hService, SERVICE_CONTROL_STOP, &ss); if (rc == FALSE || ss.dwCurrentState != SERVICE_STOPPED) { MsgBox(IDS_ERR_STOP_SERVICE, GetErrMessage()); return; } } CloseServiceHandle(hService); CloseServiceHandle(hSCManager); // Directories m_etcDir = m_targetDir + "\\etc"; m_binDir = m_targetDir + "\\bin"; UninstallTags(); UnregisterMessages(TRUE); UnregisterService(TRUE); DeleteFiles(TRUE); if (m_keepFiles == FALSE) RemoveDirs(TRUE); else GetDlgItem(IDC_CREATE_DIR)->SetWindowText("Not Removed"); // Delete registry keys for named RegDeleteKey(HKEY_LOCAL_MACHINE, BIND_SESSION_SUBKEY); RegDeleteKey(HKEY_LOCAL_MACHINE, BIND_SUBKEY); RegDeleteKey(HKEY_LOCAL_MACHINE, BIND_UNINSTALL_SUBKEY); ProgramGroup(FALSE); SetCurrent(IDS_UNINSTALL_DONE); MsgBox(IDS_UNINSTALL_DONE); } }
nsresult MulticastDNSDeviceProvider::Uninit() { MOZ_ASSERT(NS_IsMainThread()); if (!mInitialized) { return NS_OK; } ClearDevices(); Preferences::RemoveObservers(this, kObservedPrefs); StopDiscovery(NS_OK); UnregisterService(NS_OK); mMulticastDNS = nullptr; if (mWrappedListener) { mWrappedListener->SetListener(nullptr); mWrappedListener = nullptr; } mInitialized = false; return NS_OK; }
/************************************************************ * main function for Windows * Parse command line arguments for startup options, * to start as service or console mode application in windows. * Invokes appropriate startup functions depending on the * parameters passed *************************************************************/ int __cdecl _tmain(int argc, TCHAR * argv[]) { /* * Define Service Name and Description, which appears in windows SCM */ LPCTSTR lpszServiceName = app_name_long; /* Service Registry Name */ LPCTSTR lpszServiceDisplayName = _T("Net-SNMP Trap Handler"); /* Display Name */ LPCTSTR lpszServiceDescription = #ifdef IFDESCR _T("SNMPv2c / SNMPv3 trap/inform receiver from Net-SNMP. Supports MIB objects for IP,ICMP,TCP,UDP, and network interface sub-layers."); #else _T("SNMPv2c / SNMPv3 trap/inform receiver from Net-SNMP"); #endif InputParams InputOptions; int nRunType = RUN_AS_CONSOLE; int quiet = 0; nRunType = ParseCmdLineForServiceOption(argc, argv, &quiet); switch (nRunType) { case REGISTER_SERVICE: /* * Register As service */ InputOptions.Argc = argc; InputOptions.Argv = argv; exit (RegisterService(lpszServiceName, lpszServiceDisplayName, lpszServiceDescription, &InputOptions, quiet)); break; case UN_REGISTER_SERVICE: /* * Unregister service */ exit (UnregisterService(lpszServiceName, quiet)); exit(0); break; case RUN_AS_SERVICE: /* * Run as service */ /* * Register Stop Function */ RegisterStopFunction(StopSnmpTrapd); return RunAsService(SnmpTrapdMain); break; default: /* * Run in console mode */ return SnmpTrapdMain(argc, argv); break; } }
/************************************************************ * main function for Windows * Parse command line arguments for startup options, * to start as service or console mode application in windows. * Invokes appropriate startup funcitons depending on the * parameters passesd *************************************************************/ int __cdecl _tmain(int argc, TCHAR * argv[]) { /* * Define Service Name and Description, which appears in windows SCM */ LPCTSTR lpszServiceName = g_szAppName; /* Service Registry Name */ LPCTSTR lpszServiceDisplayName = _T("Net SNMP Agent Daemon"); /* Display Name */ LPCTSTR lpszServiceDescription = _T("SNMP agent for windows from Net-SNMP"); InputParams InputOptions; int nRunType = RUN_AS_CONSOLE; nRunType = ParseCmdLineForServiceOption(argc, argv); switch (nRunType) { case REGISTER_SERVICE: /* * Register As service */ InputOptions.Argc = argc; InputOptions.Argv = argv; RegisterService(lpszServiceName, lpszServiceDisplayName, lpszServiceDescription, &InputOptions); exit(0); break; case UN_REGISTER_SERVICE: /* * Unregister service */ UnregisterService(lpszServiceName); exit(0); break; case RUN_AS_SERVICE: /* * Run as service */ /* * Register Stop Function */ RegisterStopFunction(StopSnmpAgent); return RunAsService(SnmpDaemonMain); break; default: /* * Run Net-Snmpd in console mode */ /* * Invoke SnmpDeamonMain with input arguments */ return SnmpDaemonMain(argc, argv); break; } }
/************************************************************ * main function for Windows * Parse command line arguments for startup options, * to start as service or console mode application in windows. * Invokes appropriate startup functions depending on the * parameters passed *************************************************************/ int __cdecl _tmain(int argc, TCHAR * argv[]) { /* * Define Service Name and Description, which appears in windows SCM */ LPCTSTR lpszServiceName = app_name_long; /* Service Registry Name */ LPCTSTR lpszServiceDisplayName = _T("Net-SNMP Agent"); /* Display Name */ LPCTSTR lpszServiceDescription = #ifdef IFDESCR _T("SNMPv2c / SNMPv3 command responder from Net-SNMP. Supports MIB objects for IP,ICMP,TCP,UDP, and network interface sub-layers."); #else _T("SNMPv2c / SNMPv3 command responder from Net-SNMP"); #endif InputParams InputOptions; int nRunType = RUN_AS_CONSOLE; int quiet = 0; #if 0 _CrtSetDbgFlag(_CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF /*| _CRTDBG_CHECK_ALWAYS_DF*/); #endif nRunType = ParseCmdLineForServiceOption(argc, argv, &quiet); switch (nRunType) { case REGISTER_SERVICE: /* * Register As service */ InputOptions.Argc = argc; InputOptions.Argv = argv; return RegisterService(lpszServiceName, lpszServiceDisplayName, lpszServiceDescription, &InputOptions, quiet); case UN_REGISTER_SERVICE: /* * Unregister service */ return UnregisterService(lpszServiceName, quiet); case RUN_AS_SERVICE: /* * Run as service */ /* * Register Stop Function */ RegisterStopFunction(StopSnmpAgent); return RunAsService(SnmpDaemonMain); default: /* * Run in console mode */ return SnmpDaemonMain(argc, argv); } }
AbstractFileReader::~AbstractFileReader() { UnregisterService(); delete d->m_PrototypeFactory; if (!d->m_TmpFile.empty()) { std::remove(d->m_TmpFile.c_str()); } }
nsresult MulticastDNSDeviceProvider::OnDiscoverableChanged(bool aEnabled) { LOG_I("Discoverable = %d\n", aEnabled); MOZ_ASSERT(NS_IsMainThread()); mDiscoverable = aEnabled; if (mDiscoverable) { return RegisterService(); } return UnregisterService(NS_OK); }
nsresult MulticastDNSDeviceProvider::OnServiceNameChanged(const nsACString& aServiceName) { LOG_I("serviceName = %s\n", PromiseFlatCString(aServiceName).get()); MOZ_ASSERT(NS_IsMainThread()); mServiceName = aServiceName; nsresult rv; if (NS_WARN_IF(NS_FAILED(rv = UnregisterService(NS_OK)))) { return rv; } if (mDiscoverable) { return RegisterService(); } return NS_OK; }
// nsITCPPresentationServerListener NS_IMETHODIMP MulticastDNSDeviceProvider::OnClose(nsresult aReason) { LOG_I("OnClose: %x", aReason); MOZ_ASSERT(NS_IsMainThread()); UnregisterService(aReason); nsresult rv; if (mDiscoveryEnabled && NS_WARN_IF(NS_FAILED(rv = ForceDiscovery()))) { return rv; } if (mDiscoverable && NS_WARN_IF(NS_FAILED(rv = RegisterService()))) { return rv; } return NS_OK; }
int _tmain(int argc, LPTSTR* argv) { g_errorCode = ERROR_NONE; switch (ParseCallerParameters(argc, argv)) { case REQUEST_REGISTER: g_errorCode = RegisterService(L"FileChecker", L"File Checker"); break; case REQUEST_UNREGISTER: g_errorCode = UnregisterService(L"FileChecker"); break; case REQUEST_RUN: RunService(); break; default: g_errorCode = ERROR_INVALID_REQUEST; } return HandleErrorCode(g_errorCode); }
/* * Install failed - clean up quietly */ void CBINDInstallDlg::FailedInstall() { UnregisterMessages(FALSE); UnregisterService(FALSE); DeleteFiles(FALSE); RemoveDirs(FALSE); }
AbstractFileWriter::~AbstractFileWriter() { UnregisterService(); delete d->m_PrototypeFactory; }