/[projects]/smsdaemon/Common.cpp
ViewVC logotype

Diff of /smsdaemon/Common.cpp

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 175 by torben, Wed Dec 10 22:02:28 2008 UTC revision 216 by torben, Tue Dec 23 12:09:08 2008 UTC
# Line 13  Line 13 
13  #include "TaskManager.h"  #include "TaskManager.h"
14  #include "PluginManager.h"  #include "PluginManager.h"
15  #include "ConfigFile.h"  #include "ConfigFile.h"
16    #include "Util.h"
17    #include "Logger.h"
18    
19  using namespace std;  using namespace std;
20    
# Line 24  Common* Common::instance() Line 26  Common* Common::instance()
26    
27    
28  Common::Common()  Common::Common()
29          : _pluginManager(0), _taskManager(0)                  : _pluginManager(0), _taskManager(0)
30  {  {
31          _pluginManager = new PluginManager();          _pluginManager = new PluginManager();
32          _taskManager = new TaskManager();          _taskManager = new TaskManager();
# Line 32  Common::Common() Line 34  Common::Common()
34          _configFile = new ConfigFile();          _configFile = new ConfigFile();
35    
36          daemonized = false;          daemonized = false;
37            reloadConfig = false;
38  }  }
39    
40    
# Line 70  void Common::printUsage() Line 73  void Common::printUsage()
73          cout << "  --debug :        Run as normal (frontground) process," << endl;          cout << "  --debug :        Run as normal (frontground) process," << endl;
74          cout << "                   with all messages written to std out" << endl;          cout << "                   with all messages written to std out" << endl;
75          cout << "  --config <file>: Specify which config file to use " << endl;          cout << "  --config <file>: Specify which config file to use " << endl;
76          cout << "                   default" << configFilePath << endl;          cout << "                   default" << configFilePath << endl;
77          cout << "  --help :         Show this help screen" << endl;          cout << "  --help :         Show this help screen" << endl;
78    
79          exit(0);          exit(0);
# Line 84  void Common::loadConfig(int argc, char* Line 87  void Common::loadConfig(int argc, char*
87          for (int i = 1; i< argc; i++)          for (int i = 1; i< argc; i++)
88          {          {
89                  string current(argv[i]);                  string current(argv[i]);
90          if (current == "--daemon")                  if (current == "--daemon")
91                  {                  {
92                  isDaemon = true;                          isDaemon = true;
93                          isDebug = false;                          isDebug = false;
94                            
95                  }                  }
96                  else if (current == "--debug")                  else if (current == "--debug")
97                  {                  {
# Line 99  void Common::loadConfig(int argc, char* Line 102  void Common::loadConfig(int argc, char*
102                  {                  {
103                          i++;                          i++;
104                          if ( i<argc)                          if ( i<argc)
105                          {                          {
106                                  configFilePath = argv[i];                                  configFilePath = argv[i];
107                          }                          }
108                          else                          else
# Line 107  void Common::loadConfig(int argc, char* Line 110  void Common::loadConfig(int argc, char*
110                                  printUsage();                                  printUsage();
111                                  exit(1);                                  exit(1);
112                          }                          }
113                            
114                  }                  }
115                  else if (current == "-h" || current == "--help")                  else if (current == "-h" || current == "--help")
116                  {                  {
# Line 135  std::string Common::getStatusMessage() Line 138  std::string Common::getStatusMessage()
138          out << "Uptime " << diff << " seconds. ";          out << "Uptime " << diff << " seconds. ";
139          out << "Messages received:" << this->smsCounter.incomming << ". ";          out << "Messages received:" << this->smsCounter.incomming << ". ";
140          out << "Messages sent:" << this->smsCounter.outgoing << ".";          out << "Messages sent:" << this->smsCounter.outgoing << ".";
141            
142          return out.str();          return out.str();
143  }  }
144    
145    void Common::LoadWorker(std::set<std::string>& set, std::string config)
146    {
147            set.clear();
148    
149            std::vector<std::string> items = Util::str_split(
150                                                            _configFile->GetValue("smsdaemon",config,""),
151                                                            ",");
152    
153            std::ostringstream log;
154            log << "Loaded list '" << config << "': ";
155            for (unsigned i=0; i<items.size(); i++)
156            {
157                    set.insert( Util::str_trim(items[i]) );
158                    log << items[i] << " ";
159            }
160            Logger::logMessage(log.str());
161    }
162    
163    void Common::LoadLists()
164    {
165            LoadWorker(_blacklist, "blacklist");
166            LoadWorker(_privileged, "privileged");
167    }
168    
169    
170    bool Common::IsBlacklisted(const std::string& phone)
171    {
172            std::set<std::string>::iterator it = _blacklist.find(phone);
173            return ( it != _blacklist.end() );
174    }
175    
176    bool Common::IsPrivileged(const std::string& phone)
177    {
178            std::set<std::string>::iterator it = _privileged.find(phone);
179            return ( it != _privileged.end() );
180    }

Legend:
Removed from v.175  
changed lines
  Added in v.216

  ViewVC Help
Powered by ViewVC 1.1.20