1 #include <ApplicationHandler.hpp>
\r
6 ApplicationHandler::ProcessFactory::processFactory = NULL;
\r
8 void ApplicationHandler::onStartDocument(void)
\r
10 processFactory = new ProcessFactory();
\r
13 void ApplicationHandler::onEndDocument(void)
\r
16 delete processFactroy;
\r
19 void ApplicationHandler::onBeginProcess(void)
\r
21 processFactory->setProcessIdentity(A_surfxml_process_host, A_surfxml_process_function);
\r
24 void ApplicationHandler::onProcessArg(void)
\r
26 processFactory->registerProcessArg(A_surfxml_argument_value);
\r
29 void ApplicationHandler::OnProperty(void)
\r
31 processFactory->setProperty(A_surfxml_prop_id, A_surfxml_prop_value);
\r
34 void ApplicationHandler::onEndProcess(void)
\r
36 processFactory->createProcess();
\r
39 void ApplicationHandler::ProcessFactory::createProcess()
\r
41 Process* process = (Process*)Class::fromName(this->function);
\r
43 Host host = Host::getByName(this->hostName);
\r
47 Strings* args = processFactory->args;
\r
49 int size = args->size();
\r
51 for (int index = 0; index < size; index++)
\r
52 process->args->push_back(args->at(index));
\r
54 process->properties = this->properties;
\r
55 this->properties = new Properties();
\r
58 void ApplicationHandler::ProcessFactory::setProcessIdentity(const string& hostName, const string& function)
\r
60 this->hostName = hostName;
\r
61 this->function = function;
\r
63 if (!this->args->empty())
\r
64 this->args->clear();
\r
66 if(!this->properties->empty())
\r
67 this->properties->clear();
\r