watchdog/src/cwdmonitor.cpp
changeset 18 3e1f76dd2722
parent 1 6f2c1c46032b
child 23 d4d56f5e7c55
equal deleted inserted replaced
15:cf5c74390b98 18:3e1f76dd2722
    17 
    17 
    18 #include "CWDmonitor.h"
    18 #include "CWDmonitor.h"
    19 #include "WatchDogCommon.h"
    19 #include "WatchDogCommon.h"
    20 #include "CWDTimer.h"
    20 #include "CWDTimer.h"
    21 #include <HarvesterServerLogger.h>
    21 #include <HarvesterServerLogger.h>
       
    22 #include <centralrepository.h>
       
    23 #include <cpixwatchdogcommon.h>
       
    24 #include "centrepmonitor.h"
    22 #include "OstTraceDefinitions.h"
    25 #include "OstTraceDefinitions.h"
    23 #ifdef OST_TRACE_COMPILER_IN_USE
    26 #ifdef OST_TRACE_COMPILER_IN_USE
    24 #include "cwdmonitorTraces.h"
    27 #include "cwdmonitorTraces.h"
    25 #endif
    28 #endif
    26 
    29 
    50 // CWDMonitor::~CWDMonitor()
    53 // CWDMonitor::~CWDMonitor()
    51 // -----------------------------------------------------------------------------
    54 // -----------------------------------------------------------------------------
    52 //
    55 //
    53 CWDMonitor::~CWDMonitor()
    56 CWDMonitor::~CWDMonitor()
    54     {
    57     {
       
    58     delete iHSName;
       
    59     delete iSSName;
    55     delete iWDTimer;
    60     delete iWDTimer;
    56     }
    61     }
    57 
    62 
    58 // -----------------------------------------------------------------------------
    63 // -----------------------------------------------------------------------------
    59 // CWDMonitor::CWDMonitor()
    64 // CWDMonitor::CWDMonitor()
    66 // -----------------------------------------------------------------------------
    71 // -----------------------------------------------------------------------------
    67 // CWDMonitor::ConstructL()
    72 // CWDMonitor::ConstructL()
    68 // -----------------------------------------------------------------------------
    73 // -----------------------------------------------------------------------------
    69 //
    74 //
    70 void CWDMonitor::ConstructL()
    75 void CWDMonitor::ConstructL()
    71     {
    76     {    
    72     iWDTimer = CWDTimer::NewL( this );
    77     CRepository* wdrepo = CRepository::NewL( KWDrepoUidMenu );
       
    78     wdrepo->Get( KHarvesterServerKey , iAllowHS );
       
    79     wdrepo->Get( KSearchServerKey , iAllowSS );
       
    80     
       
    81     //get the UID's of the servers
       
    82     TBuf<KCenrepUidLength> temp;
       
    83     TInt64 value;
       
    84     TLex uidvalue;
       
    85     //Read Harvester server UId value
       
    86     if ( KErrNone == wdrepo->Get( KHarvesterServerUIDKey, temp ) )
       
    87         {
       
    88         uidvalue.Assign(temp);        
       
    89         if (KErrNone == uidvalue.Val( value,EHex ))
       
    90             iHSUid.iUid = value;
       
    91         }
       
    92     //Read Search server Uid value
       
    93     if ( KErrNone == wdrepo->Get( KSearchServerUIDKey, temp ))
       
    94         {
       
    95         uidvalue.Assign(temp);
       
    96         if (KErrNone == uidvalue.Val( value,EHex ))
       
    97           iSSUid.iUid = value;
       
    98         }
       
    99     
       
   100     //Read Harvester server Name
       
   101     if ( KErrNone == wdrepo->Get( KHarvesterServerNAMEKey, temp ))
       
   102         {
       
   103         iHSName = HBufC::NewL( temp.Length() );
       
   104         TPtr hsname = iHSName->Des();
       
   105         hsname.Copy( temp );
       
   106         }
       
   107     //Read Search server Name
       
   108     if ( KErrNone == wdrepo->Get( KSearchServerNAMEKey, temp ))
       
   109         {
       
   110         iSSName = HBufC::NewL( temp.Length() );
       
   111         TPtr ssname = iSSName->Des(); 
       
   112         ssname.Copy( temp );
       
   113         }
       
   114     delete wdrepo;
       
   115     if ( iAllowHS || iAllowSS )
       
   116         iWDTimer = CWDTimer::NewL( this );
       
   117     
       
   118     aHSMonitor = CentrepMonitor::NewL( this, KHarvesterServerKey);
       
   119     aHSMonitor->StartNotifier();
       
   120     aSSMonitor = CentrepMonitor::NewL( this, KSearchServerKey);
       
   121     aSSMonitor->StartNotifier();
    73     }
   122     }
    74 
   123 
    75 // -----------------------------------------------------------------------------
   124 // -----------------------------------------------------------------------------
    76 // CWDMonitor::StartMonitor()
   125 // CWDMonitor::StartMonitor()
    77 // -----------------------------------------------------------------------------
   126 // -----------------------------------------------------------------------------
    78 //
   127 //
    79 void CWDMonitor::HandleWDTimerL()
   128 void CWDMonitor::HandleWDTimerL()
    80     {
   129     {
    81     OstTrace0( TRACE_NORMAL, CWDMONITOR_HANDLEWDTIMERL, "CWDMonitor::HandleWDTimerL(): Check the servers" );
   130     OstTrace0( TRACE_NORMAL, CWDMONITOR_HANDLEWDTIMERL, "CWDMonitor::HandleWDTimerL(): Check the servers" );
    82     CPIXLOGSTRING("CWDMonitor::HandleWDTimerL(): Check the servers");
   131     CPIXLOGSTRING("CWDMonitor::HandleWDTimerL(): Check the servers");
    83     TFindServer harvesterServer(KHarvesterServer);
   132     TFindServer harvesterServer(*iHSName);
    84     TFindServer searchServer(KSearchServer);
   133     TFindServer searchServer(*iSSName);
    85     
   134     
    86     TFullName name;
   135     TFullName name;
    87     
   136     
    88     if ( harvesterServer.Next(name) != KErrNone)
   137     if ( iAllowHS && (harvesterServer.Next(name) != KErrNone) )
    89         {
   138         {
    90         OstTrace0( TRACE_NORMAL, DUP1_CWDMONITOR_HANDLEWDTIMERL, "Harvester Server is down, Starting Harvester Server" );
   139         OstTrace0( TRACE_NORMAL, DUP1_CWDMONITOR_HANDLEWDTIMERL, "Harvester Server is down, Starting Harvester Server" );
    91         CPIXLOGSTRING("Harvester Server is down, Starting Harvester Server");
   140         CPIXLOGSTRING("Harvester Server is down, Starting Harvester Server");
    92         //Harvester server is not running. 
   141         //Harvester server is not running. 
    93         //Start Harvester server
   142         //Start Harvester server
    94         StartServer( KHarvesterServer , KHServerUid3 ,KHarvesterServerSemaphoreName);        
   143         StartServer( *iHSName , iHSUid ,KHarvesterServerSemaphoreName);        
    95         }
   144         }
    96     else if ( searchServer.Next( name ) != KErrNone)
   145     else if ( iAllowSS && (searchServer.Next( name ) != KErrNone) )
    97         {
   146         {
    98         OstTrace0( TRACE_NORMAL, DUP2_CWDMONITOR_HANDLEWDTIMERL, "Search Server is down, Starting Search Server" );
   147         OstTrace0( TRACE_NORMAL, DUP2_CWDMONITOR_HANDLEWDTIMERL, "Search Server is down, Starting Search Server" );
    99         CPIXLOGSTRING("Search Server is down, Starting Search Server");
   148         CPIXLOGSTRING("Search Server is down, Starting Search Server");
   100         //Search server is not running.
   149         //Search server is not running.
   101         //Start search server
   150         //Start search server
   102         StartServer( KSearchServer , KSServerUid3 ,KSearchServerSemaphoreName);
   151         StartServer( *iSSName , iSSUid ,KSearchServerSemaphoreName);
   103         }
   152         }
   104     return;
   153     return;
   105     }
   154     }
   106 // -----------------------------------------------------------------------------
   155 // -----------------------------------------------------------------------------
   107 // CWDMonitor::StartMonitor()
   156 // CWDMonitor::StartMonitor()
   161     server.Resume();
   210     server.Resume();
   162     server.Close();
   211     server.Close();
   163     return KErrNone;
   212     return KErrNone;
   164     }
   213     }
   165 
   214 
       
   215 // -----------------------------------------------------------------------------
       
   216 // CWDMonitor::HandlecentrepL()
       
   217 // -----------------------------------------------------------------------------
       
   218 //
       
   219 void CWDMonitor::HandlecentrepL( TUint32 aKey )
       
   220     {
       
   221     CRepository* wdrepo = CRepository::NewL( KWDrepoUidMenu );        
       
   222     if ( KHarvesterServerKey == aKey )
       
   223         {
       
   224         // get the harvester server status
       
   225         wdrepo->Get( KHarvesterServerKey , iAllowHS );        
       
   226         }
       
   227     else if ( KSearchServerKey == aKey )
       
   228         {
       
   229         // get the Search server status
       
   230         wdrepo->Get( KSearchServerKey , iAllowSS );        
       
   231         }
       
   232     delete wdrepo;
       
   233     }
   166 //End of file
   234 //End of file