+++ /dev/null
-#ifndef MSG_APPLICATION_HANDLER_HPP\r
-#define MSG_APPLICATION_HANDLER_HPP\r
-\r
-// Compilation C++ recquise\r
-#ifndef __cplusplus\r
- #error ApplicationHandler.hpp requires C++ compilation (use a .cxx suffix)\r
-#endif\r
-\r
-#include <vector>\r
-#include <map>\r
-\r
-namespace msg\r
-{\r
- \r
- struct Compare\r
- {\r
- public bool operator(const string& first, const string& second)\r
- {\r
- return first.compare(second);\r
- }\r
- };\r
- \r
- typedef vector<string> Strings;\r
- \r
- typedef map<string, string, Compare> Properties;\r
- \r
- \r
-class ApplicationHandler\r
-{\r
-private :\r
- // Default constructor.\r
- ApplicationHandler();\r
- \r
- // Copy constructor.\r
- ApplicationHandler(const ApplicationHandler& rApplicationHandler);\r
- \r
- // Destructor\r
- virtual ~ApplicationHandler();\r
- \r
- class ProcessFactory \r
- {\r
- public:\r
- \r
- Strings* args;\r
- Properties* properties;\r
- \r
- private:\r
- string hostName;\r
- string function;\r
- \r
- public :\r
- \r
- ProcessFactory() \r
- {\r
- this->args = new Strings();\r
- this->properties = new Properties();\r
- this->hostName = NULL;\r
- this->function = NULL;\r
- } \r
- \r
- void setProcessIdentity(const string& hostName, const string& function);\r
- \r
- void registerProcessArg(const string& arg) \r
- {\r
- this->args->push_back(arg);\r
- }\r
-\r
- void setProperty(const string& id, const string& value)\r
- {\r
- this->properties->insert(Properties::value_type(id,value)); \r
- }\r
-\r
- const String& getHostName(void)\r
- {\r
- return this->hostName;\r
- }\r
-\r
- void createProcess(void); \r
- \r
- };\r
- \r
- static ProcessFactory* processFactory;\r
- \r
- public:\r
- \r
- static void onStartDocument(void);\r
- \r
- static void onEndDocument(void);\r
- \r
- static void onBeginProcess(void);\r
- \r
- static void onProcessArg(void);\r
- \r
- static void OnProperty(void);\r
- \r
- static void onEndProcess(void);\r
-};\r
-\r
-}\r
-\r
-#endif // !MSG_APPLICATION_HANDLER_HPP\r
-
\ No newline at end of file