version 1.251, 2009/05/27 11:48:47
|
version 1.252, 2009/12/15 11:39:42
|
|
|
} | } |
#endif | #endif |
| |
|
|
CIMServer::CIMServer() | CIMServer::CIMServer() |
: _dieNow(false) | : _dieNow(false) |
{ | { |
|
|
_monitor->tickle(); | _monitor->tickle(); |
} | } |
| |
|
SCMOClass CIMServer::_scmoClassCache_GetClass( |
|
const CIMNamespaceName& nameSpace, |
|
const CIMName& className) |
|
{ |
|
CIMClass cc; |
|
|
|
PEG_METHOD_ENTER(TRC_SERVER, "CIMServer::_scmoClassCache_GetClass()"); |
|
try |
|
{ |
|
cc = _cimserver->_repository->getClass( |
|
nameSpace, |
|
className, |
|
false, // localOnly |
|
true, // includeQualifiers |
|
true, // includeClassOrigin |
|
CIMPropertyList()); |
|
} |
|
catch (Exception& e) |
|
{ |
|
PEG_TRACE((TRC_DISCARDED_DATA, Tracer::LEVEL2, |
|
"Exception from the repositroy: %s", |
|
(const char*)e.getMessage().getCString())); |
|
// Return a empty class. |
|
PEG_METHOD_EXIT(); |
|
return SCMOClass("",""); |
|
} |
|
|
|
if (cc.isUninitialized()) |
|
{ |
|
// The requested class was not found ! |
|
// Return a empty class. |
|
PEG_METHOD_EXIT(); |
|
return SCMOClass("",""); |
|
} |
|
PEG_METHOD_EXIT(); |
|
return SCMOClass(cc,(const char*)nameSpace.getString().getCString()); |
|
|
|
} |
|
|
|
|
void CIMServer::_init() | void CIMServer::_init() |
{ | { |
_monitor.reset(new Monitor()); | _monitor.reset(new Monitor()); |
|
|
| |
UserManager* userManager = UserManager::getInstance(_repository); | UserManager* userManager = UserManager::getInstance(_repository); |
| |
|
// -- Create a SCMOClass Cache and set call back for the repository |
|
|
|
SCMOClassCache::getInstance()->setCallBack(_scmoClassCache_GetClass); |
|
|
// -- Create a CIMServerState object: | // -- Create a CIMServerState object: |
| |
_serverState.reset(new CIMServerState()); | _serverState.reset(new CIMServerState()); |
|
|
delete _repository; | delete _repository; |
| |
// Destroy the singleton services | // Destroy the singleton services |
|
SCMOClassCache::destroy(); |
UserManager::destroy(); | UserManager::destroy(); |
ShutdownService::destroy(); | ShutdownService::destroy(); |
| |
|
|
| |
#ifdef PEGASUS_DEBUG | #ifdef PEGASUS_DEBUG |
_repository->DisplayCacheStatistics(); | _repository->DisplayCacheStatistics(); |
|
SCMOClassCache::getInstance()->DisplayCacheStatistics(); |
#endif | #endif |
| |
_dieNow = true; | _dieNow = true; |