diff options
Diffstat (limited to 'cpp/include/Ice/Service.h')
-rwxr-xr-x | cpp/include/Ice/Service.h | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/cpp/include/Ice/Service.h b/cpp/include/Ice/Service.h index e95c013554a..ee945f6026d 100755 --- a/cpp/include/Ice/Service.h +++ b/cpp/include/Ice/Service.h @@ -59,7 +59,7 @@ public: // The return value is an exit status code: EXIT_FAILURE or // EXIT_SUCCESS. // - int main(int&, char*[]); + int main(int&, char*[], const InitializationData& = InitializationData()); // // Returns the communicator created by the service. @@ -101,7 +101,7 @@ public: // The return value is an exit status code: EXIT_FAILURE or // EXIT_SUCCESS. // - int run(int&, char*[]); + int run(int&, char*[], const InitializationData& = InitializationData()); #ifdef _WIN32 @@ -172,7 +172,7 @@ protected: // // Initialize a communicator. // - virtual Ice::CommunicatorPtr initializeCommunicator(int&, char*[]); + virtual Ice::CommunicatorPtr initializeCommunicator(int&, char*[], const InitializationData&); // // Log a system error, which includes a description of the @@ -217,17 +217,19 @@ private: bool _nohup; bool _service; std::string _name; + static Service* _instance; #ifdef _WIN32 - int runService(int, char*[]); + int runService(int, char*[], const InitializationData&); void terminateService(DWORD); bool waitForServiceState(SC_HANDLE, DWORD, SERVICE_STATUS&); void showServiceStatus(const std::string&, SERVICE_STATUS&); SERVICE_STATUS_HANDLE _statusHandle; std::vector<std::string> _serviceArgs; + InitializationData _initData; public: @@ -236,7 +238,7 @@ public: #else - int runDaemon(int, char*[]); + int runDaemon(int, char*[], const InitializationData&); bool _changeDirectory; bool _closeFiles; |