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() |