--- smsdaemon/common.h 2008/06/09 18:15:53 26 +++ smsdaemon/Common.h 2008/12/23 12:09:08 216 @@ -2,11 +2,19 @@ #define __COMMON_H__ #include -#define VERSION "smsdaemon v0.1 by Torben Nielsen\n" +#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; +}; -#include "PluginManager.h" -#include "TaskManager.h" //Singleton class Common @@ -16,31 +24,56 @@ bool isDaemon; bool isDebug; + bool daemonized; int uid; int gid; volatile bool mainContinue; + volatile bool reloadConfig; + + std::string configFilePath; std::string pidfile; std::string spooldir; - PluginManager pluginManager; - TaskManager taskManager; + long int daemonStart; + + SmsCounter smsCounter; + + class PluginManager* GetPluginManager(); + class TaskManager* GetTaskManager(); + class ConfigFile* GetConfigfile(); + void SetConfigfile(class ConfigFile*); - void logMessage(std::string str); - void setLogfile(std::string file) {_logFile = file;} void loadConfig(int argc, char* argv[]); - + void LoadLists(); //load blacklist & privileged + bool IsBlacklisted(const std::string& phone); + bool IsPrivileged(const std::string& phone); + + std::string getStatusMessage(); private: - Common() {} + Common(); Common(const Common&) {} - Common& operator=(const Common) {return *this;} + Common& operator=(const Common) + { + return *this; + } + ~Common(); + + + + class PluginManager* _pluginManager; + class TaskManager* _taskManager; + class ConfigFile* _configFile; void printUsage(); + void LoadWorker(std::set& set, std::string config); + - std::string _logFile; + std::set _blacklist; + std::set _privileged; };