dab56e18200a3b6e2c6b2171755c4ef61e52dbda
[fms.git] / include / fmsapp.h
1 #ifndef _fmsapp_\r
2 #define _fmsapp_\r
3 \r
4 #include "threadwrapper/threadedexecutor.h"\r
5 \r
6 #include <Poco/Util/ServerApplication.h>\r
7 \r
8 // main FMS application class\r
9 class FMSApp:public Poco::Util::ServerApplication\r
10 {\r
11 public:\r
12         FMSApp();\r
13 \r
14         static void Terminate() { ((FMSApp *)&FMSApp::instance())->terminate(); }\r
15 \r
16 private:\r
17         void initialize(Poco::Util::Application &self);\r
18         void initializeLogger();\r
19         void defineOptions(Poco::Util::OptionSet &options);\r
20         int main(const std::vector<std::string> &args);\r
21 \r
22         void StartThreads();\r
23 \r
24         void handleHelp(const std::string &name, const std::string &value);\r
25         void displayHelp();\r
26         void handleLogOption(const std::string &name, const std::string &value);\r
27 \r
28         bool m_displayhelp;\r
29         std::string m_logtype;\r
30 \r
31         ThreadedExecutor m_threads;\r
32 \r
33 };\r
34 \r
35 #endif  // _fmsapp_\r