#ifndef __COMMON_H__ #define __COMMON_H__ #include //time_t is defines as long int ! //No need to include time.h class SmsCounter { public: SmsCounter() : incomming(0), outgoing(0) {} unsigned int incomming; unsigned int outgoing; }; //Singleton class Common { public: static Common* instance(); bool isDaemon; bool isDebug; bool daemonized; int uid; int gid; volatile bool mainContinue; std::string configFilePath; std::string pidfile; std::string spooldir; long int daemonStart; SmsCounter smsCounter; class PluginManager* GetPluginManager(); class TaskManager* GetTaskManager(); class ConfigFile* GetConfigfile(); void SetConfigfile(class ConfigFile*); void loadConfig(int argc, char* argv[]); std::string getStatusMessage(); private: Common(); Common(const Common&) {} Common& operator=(const Common) {return *this;} ~Common(); class PluginManager* _pluginManager; class TaskManager* _taskManager; class ConfigFile* _configFile; void printUsage(); }; #endif //__COMMON_H__