+++ /dev/null
-#include <ApplicationHandler.hpp>\r
-\r
-namespace msg\r
-{\r
- \r
-ApplicationHandler::ProcessFactory::processFactory = NULL;\r
- \r
-void ApplicationHandler::onStartDocument(void)\r
-{\r
- processFactory = new ProcessFactory(); \r
-}\r
-\r
-void ApplicationHandler::onEndDocument(void)\r
-{\r
- if(processFactory)\r
- delete processFactroy;\r
-}\r
- \r
-void ApplicationHandler::onBeginProcess(void)\r
-{\r
- processFactory->setProcessIdentity(A_surfxml_process_host, A_surfxml_process_function);\r
-} \r
-\r
-void ApplicationHandler::onProcessArg(void)\r
-{\r
- processFactory->registerProcessArg(A_surfxml_argument_value);\r
-}\r
-\r
-void ApplicationHandler::OnProperty(void)\r
-{\r
- processFactory->setProperty(A_surfxml_prop_id, A_surfxml_prop_value);\r
-}\r
-\r
-void ApplicationHandler::onEndProcess(void)\r
-{\r
- processFactory->createProcess();\r
-}\r
-\r
-void ApplicationHandler::ProcessFactory::createProcess() \r
- {\r
- Process* process = (Process*)Class::fromName(this->function);\r
- \r
- Host host = Host::getByName(this->hostName);\r
-\r
- process->create();\r
- \r
- Strings* args = processFactory->args;\r
- \r
- int size = args->size();\r
-\r
- for (int index = 0; index < size; index++)\r
- process->args->push_back(args->at(index));\r
- \r
- process->properties = this->properties;\r
- this->properties = new Properties();\r
- }\r
- \r
-void ApplicationHandler::ProcessFactory::setProcessIdentity(const string& hostName, const string& function) \r
-{\r
- this->hostName = hostName;\r
- this->function = function;\r
-\r
- if (!this->args->empty())\r
- this->args->clear();\r
-\r
- if(!this->properties->empty())\r
- this->properties->clear();\r
-}\r
-\r
-}
\ No newline at end of file