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

Diff of /smsdaemon/Common.cpp

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

revision 146 by torben, Sun Dec 7 20:06:12 2008 UTC revision 208 by torben, Sun Dec 21 18:41:08 2008 UTC
# Line 1  Line 1 
1  #include "common.h"  #include "Common.h"
2    
3    
4  #include "version.h"  #include "version.h"
# Line 7  Line 7 
7  #include <string>  #include <string>
8  #include <iostream>  #include <iostream>
9  #include <iomanip>  #include <iomanip>
 #include <fstream>  
10  #include <sstream>  #include <sstream>
11  #include <time.h>  #include <time.h>
12    
# Line 16  Line 15 
15  #include "ConfigFile.h"  #include "ConfigFile.h"
16    
17  using namespace std;  using namespace std;
 const char* Months[] = {  "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov","Dec"};  
18    
19  Common* Common::instance()  Common* Common::instance()
20  {  {
# Line 26  Common* Common::instance() Line 24  Common* Common::instance()
24    
25    
26  Common::Common()  Common::Common()
27          : _pluginManager(0), _taskManager(0)                  : _pluginManager(0), _taskManager(0)
28  {  {
29          _pluginManager = new PluginManager();          _pluginManager = new PluginManager();
30          _taskManager = new TaskManager();          _taskManager = new TaskManager();
31          configFilePath = "/etc/smsdaemon.conf";          configFilePath = "/etc/smsdaemon.conf";
32          _configFile = new ConfigFile();          _configFile = new ConfigFile();
33    
34            daemonized = false;
35            reloadConfig = false;
36  }  }
37    
38    
# Line 59  ConfigFile* Common::GetConfigfile() Line 60  ConfigFile* Common::GetConfigfile()
60          return _configFile;          return _configFile;
61  }  }
62    
 void Common::logMessage(string msg)  
 {        
         time_t t = time(0);  
         tm now;  
         localtime_r(&t, &now);  
   
         ostringstream out;  
         out << Months[ now.tm_mon ] << " " << setw(2) << setfill('0') << now.tm_mday;  
         out << " " << setw(2) << setfill('0') << now.tm_hour;  
         out << ":" << setw(2) << setfill('0') << now.tm_min;  
         out << ":" << setw(2) << setfill('0') << now.tm_sec;  
         out << "  " << msg << endl;  
   
         if (this->isDaemon && _logFile != "")  
         {  
                 seteuid(0);  
                 ofstream of( _logFile.c_str(), ios_base::out | ios_base::app | ios_base::ate);//append mode  
                 if (of)  
                 {  
                         of << out.str();  
                         of.flush();  
                         of.close();  
                 }  
                 seteuid( this->uid);  
         }  
         else  
         {  
                 cout << out.str();  
                 cout.flush();  
         }  
 }  
63    
64  void Common::printUsage()  void Common::printUsage()
65  {  {
# Line 101  void Common::printUsage() Line 71  void Common::printUsage()
71          cout << "  --debug :        Run as normal (frontground) process," << endl;          cout << "  --debug :        Run as normal (frontground) process," << endl;
72          cout << "                   with all messages written to std out" << endl;          cout << "                   with all messages written to std out" << endl;
73          cout << "  --config <file>: Specify which config file to use " << endl;          cout << "  --config <file>: Specify which config file to use " << endl;
74          cout << "                   default" << configFilePath << endl;          cout << "                   default" << configFilePath << endl;
75          cout << "  --help :         Show this help screen" << endl;          cout << "  --help :         Show this help screen" << endl;
76    
77          exit(0);          exit(0);
# Line 115  void Common::loadConfig(int argc, char* Line 85  void Common::loadConfig(int argc, char*
85          for (int i = 1; i< argc; i++)          for (int i = 1; i< argc; i++)
86          {          {
87                  string current(argv[i]);                  string current(argv[i]);
88          if (current == "--daemon")                  if (current == "--daemon")
89                  {                  {
90                  isDaemon = true;                          isDaemon = true;
91                          isDebug = false;                          isDebug = false;
92                            
93                  }                  }
94                  else if (current == "--debug")                  else if (current == "--debug")
95                  {                  {
# Line 128  void Common::loadConfig(int argc, char* Line 98  void Common::loadConfig(int argc, char*
98                  }                  }
99                  else if (current == "--config")                  else if (current == "--config")
100                  {                  {
101                            i++;
102                            if ( i<argc)
103                            {
104                                    configFilePath = argv[i];
105                            }
106                            else
107                            {
108                                    printUsage();
109                                    exit(1);
110                            }
111    
112                  }                  }
113                  else if (current == "-h" || current == "--help")                  else if (current == "-h" || current == "--help")
114                  {                  {
# Line 155  std::string Common::getStatusMessage() Line 136  std::string Common::getStatusMessage()
136          out << "Uptime " << diff << " seconds. ";          out << "Uptime " << diff << " seconds. ";
137          out << "Messages received:" << this->smsCounter.incomming << ". ";          out << "Messages received:" << this->smsCounter.incomming << ". ";
138          out << "Messages sent:" << this->smsCounter.outgoing << ".";          out << "Messages sent:" << this->smsCounter.outgoing << ".";
139            
140          return out.str();          return out.str();
141  }  }

Legend:
Removed from v.146  
changed lines
  Added in v.208

  ViewVC Help
Powered by ViewVC 1.1.20