version 1.11.4.4, 2004/03/18 20:38:36
|
version 1.12, 2004/01/27 13:48:11
|
|
|
#include <Pegasus/Common/Logger.h> | #include <Pegasus/Common/Logger.h> |
#include <Pegasus/Common/MessageLoader.h> //l10n | #include <Pegasus/Common/MessageLoader.h> //l10n |
| |
//#include <Pegasus/Common/QueryExpression.h> |
#include <Pegasus/Common/QueryExpression.h> |
//#include <Pegasus/ProviderManager2/QueryExpressionFactory.h> |
#include <Pegasus/ProviderManager2/QueryExpressionFactory.h> |
| |
#include <Pegasus/Config/ConfigManager.h> | #include <Pegasus/Config/ConfigManager.h> |
| |
#include <Pegasus/ProviderManager2/Default/Provider.h> | #include <Pegasus/ProviderManager2/Default/Provider.h> |
#include <Pegasus/ProviderManager2/OperationResponseHandler.h> |
#include <Pegasus/ProviderManager2/Default/OperationResponseHandler.h> |
| |
#include <Pegasus/Server/ProviderRegistrationManager/ProviderRegistrationManager.h> | #include <Pegasus/Server/ProviderRegistrationManager/ProviderRegistrationManager.h> |
#include <Pegasus/ProviderManager2/ProviderManagerService.h> |
|
| |
PEGASUS_NAMESPACE_BEGIN | PEGASUS_NAMESPACE_BEGIN |
| |
|
|
{ | { |
} | } |
| |
Message * DefaultProviderManager::processMessage(Message * request) |
Message * DefaultProviderManager::processMessage(Message * request) throw() |
{ | { |
PEG_METHOD_ENTER(TRC_PROVIDERMANAGER, | PEG_METHOD_ENTER(TRC_PROVIDERMANAGER, |
"DefaultProviderManager::processMessage()"); | "DefaultProviderManager::processMessage()"); |
|
|
response = handleDeleteInstanceRequest(request); | response = handleDeleteInstanceRequest(request); |
| |
break; | break; |
// case CIM_EXEC_QUERY_REQUEST_MESSAGE: |
case CIM_EXEC_QUERY_REQUEST_MESSAGE: |
// response = handleExecQueryRequest(request); |
response = handleExecQueryRequest(request); |
| |
// break; |
break; |
case CIM_ASSOCIATORS_REQUEST_MESSAGE: | case CIM_ASSOCIATORS_REQUEST_MESSAGE: |
response = handleAssociatorsRequest(request); | response = handleAssociatorsRequest(request); |
| |
|
|
response = handleConsumeIndicationRequest(request); | response = handleConsumeIndicationRequest(request); |
break; | break; |
| |
case CIM_EXPORT_INDICATION_REQUEST_MESSAGE: |
|
response = handleExportIndicationRequest(request); |
|
break; |
|
|
|
case CIM_DISABLE_MODULE_REQUEST_MESSAGE: | case CIM_DISABLE_MODULE_REQUEST_MESSAGE: |
response = handleDisableModuleRequest(request); | response = handleDisableModuleRequest(request); |
| |
|
|
return(response); | return(response); |
} | } |
| |
Message * DefaultProviderManager::handleUnsupportedRequest(const Message * message) |
Message * DefaultProviderManager::handleUnsupportedRequest(const Message * message) throw() |
{ | { |
PEG_METHOD_ENTER(TRC_PROVIDERMANAGER, "DefaultProviderManager::handleUnsupportedRequest"); | PEG_METHOD_ENTER(TRC_PROVIDERMANAGER, "DefaultProviderManager::handleUnsupportedRequest"); |
| |
|
|
return(0); | return(0); |
} | } |
| |
Message * DefaultProviderManager::handleGetInstanceRequest(const Message * message) |
Message * DefaultProviderManager::handleGetInstanceRequest(const Message * message) throw() |
{ | { |
PEG_METHOD_ENTER(TRC_PROVIDERMANAGER, "DefaultProviderManager::handleGetInstanceRequest"); | PEG_METHOD_ENTER(TRC_PROVIDERMANAGER, "DefaultProviderManager::handleGetInstanceRequest"); |
| |
|
|
request->instanceName.getKeyBindings()); | request->instanceName.getKeyBindings()); |
| |
ProviderName name( | ProviderName name( |
objectPath, |
objectPath.toString(), |
|
String::EMPTY, |
|
String::EMPTY, |
|
String::EMPTY, |
ProviderType::INSTANCE); | ProviderType::INSTANCE); |
| |
// resolve provider name | // resolve provider name |
|
|
return(response); | return(response); |
} | } |
| |
Message * DefaultProviderManager::handleEnumerateInstancesRequest(const Message * message) |
Message * DefaultProviderManager::handleEnumerateInstancesRequest(const Message * message) throw() |
{ | { |
PEG_METHOD_ENTER(TRC_PROVIDERMANAGER, "DefaultProviderManager::handleEnumerateInstanceRequest"); | PEG_METHOD_ENTER(TRC_PROVIDERMANAGER, "DefaultProviderManager::handleEnumerateInstanceRequest"); |
| |
|
|
request->className); | request->className); |
| |
ProviderName name( | ProviderName name( |
objectPath, |
objectPath.toString(), |
|
String::EMPTY, |
|
String::EMPTY, |
|
String::EMPTY, |
ProviderType::INSTANCE); | ProviderType::INSTANCE); |
| |
// resolve provider name | // resolve provider name |
|
|
return(response); | return(response); |
} | } |
| |
Message * DefaultProviderManager::handleEnumerateInstanceNamesRequest(const Message * message) |
Message * DefaultProviderManager::handleEnumerateInstanceNamesRequest(const Message * message) throw() |
{ | { |
PEG_METHOD_ENTER(TRC_PROVIDERMANAGER, "DefaultProviderManager::handleEnumerateInstanceNamesRequest"); | PEG_METHOD_ENTER(TRC_PROVIDERMANAGER, "DefaultProviderManager::handleEnumerateInstanceNamesRequest"); |
| |
|
|
| |
// build an internal provider name from the request arguments | // build an internal provider name from the request arguments |
ProviderName name( | ProviderName name( |
objectPath, |
objectPath.toString(), |
|
String::EMPTY, |
|
String::EMPTY, |
|
String::EMPTY, |
ProviderType::INSTANCE); | ProviderType::INSTANCE); |
| |
// resolve provider name | // resolve provider name |
|
|
return(response); | return(response); |
} | } |
| |
Message * DefaultProviderManager::handleCreateInstanceRequest(const Message * message) |
Message * DefaultProviderManager::handleCreateInstanceRequest(const Message * message) throw() |
{ | { |
PEG_METHOD_ENTER(TRC_PROVIDERMANAGER, "DefaultProviderManager::handleCreateInstanceRequest"); | PEG_METHOD_ENTER(TRC_PROVIDERMANAGER, "DefaultProviderManager::handleCreateInstanceRequest"); |
| |
|
|
request->newInstance.getPath().getKeyBindings()); | request->newInstance.getPath().getKeyBindings()); |
| |
ProviderName name( | ProviderName name( |
objectPath, |
objectPath.toString(), |
|
String::EMPTY, |
|
String::EMPTY, |
|
String::EMPTY, |
ProviderType::INSTANCE); | ProviderType::INSTANCE); |
| |
// resolve provider name | // resolve provider name |
|
|
return(response); | return(response); |
} | } |
| |
Message * DefaultProviderManager::handleModifyInstanceRequest(const Message * message) |
Message * DefaultProviderManager::handleModifyInstanceRequest(const Message * message) throw() |
{ | { |
PEG_METHOD_ENTER(TRC_PROVIDERMANAGER, "DefaultProviderManager::handleModifyInstanceRequest"); | PEG_METHOD_ENTER(TRC_PROVIDERMANAGER, "DefaultProviderManager::handleModifyInstanceRequest"); |
| |
|
|
request->modifiedInstance.getPath ().getKeyBindings()); | request->modifiedInstance.getPath ().getKeyBindings()); |
| |
ProviderName name( | ProviderName name( |
objectPath, |
objectPath.toString(), |
|
String::EMPTY, |
|
String::EMPTY, |
|
String::EMPTY, |
ProviderType::INSTANCE); | ProviderType::INSTANCE); |
| |
// resolve provider name | // resolve provider name |
|
|
return(response); | return(response); |
} | } |
| |
Message * DefaultProviderManager::handleDeleteInstanceRequest(const Message * message) |
Message * DefaultProviderManager::handleDeleteInstanceRequest(const Message * message) throw() |
{ | { |
PEG_METHOD_ENTER(TRC_PROVIDERMANAGER, "DefaultProviderManager::handleDeleteInstanceRequest"); | PEG_METHOD_ENTER(TRC_PROVIDERMANAGER, "DefaultProviderManager::handleDeleteInstanceRequest"); |
| |
|
|
request->instanceName.getKeyBindings()); | request->instanceName.getKeyBindings()); |
| |
ProviderName name( | ProviderName name( |
objectPath, |
objectPath.toString(), |
|
String::EMPTY, |
|
String::EMPTY, |
|
String::EMPTY, |
ProviderType::INSTANCE); | ProviderType::INSTANCE); |
| |
// resolve provider name | // resolve provider name |
|
|
| |
return(response); | return(response); |
} | } |
/* |
|
Message * DefaultProviderManager::handleExecQueryRequest(const Message * message) |
Message * DefaultProviderManager::handleExecQueryRequest(const Message * message) throw() |
{ | { |
PEG_METHOD_ENTER(TRC_PROVIDERMANAGER, "DefaultProviderManager::handleExecQueryRequest"); | PEG_METHOD_ENTER(TRC_PROVIDERMANAGER, "DefaultProviderManager::handleExecQueryRequest"); |
| |
|
|
request->className); | request->className); |
| |
ProviderName name( | ProviderName name( |
objectPath, |
objectPath.toString(), |
|
String::EMPTY, |
|
String::EMPTY, |
|
String::EMPTY, |
ProviderType::QUERY); | ProviderType::QUERY); |
| |
// resolve provider name | // resolve provider name |
|
|
| |
return(response); | return(response); |
} | } |
*/ |
|
Message * DefaultProviderManager::handleAssociatorsRequest(const Message * message) |
Message * DefaultProviderManager::handleAssociatorsRequest(const Message * message) throw() |
{ | { |
PEG_METHOD_ENTER(TRC_PROVIDERMANAGER, "DefaultProviderManager::handleAssociatorsRequest"); | PEG_METHOD_ENTER(TRC_PROVIDERMANAGER, "DefaultProviderManager::handleAssociatorsRequest"); |
| |
|
|
| |
objectPath.setKeyBindings(request->objectName.getKeyBindings()); | objectPath.setKeyBindings(request->objectName.getKeyBindings()); |
| |
CIMObjectPath assocPath( |
|
System::getHostName(), |
|
request->nameSpace, |
|
request->assocClass.getString()); |
|
|
|
ProviderName name( | ProviderName name( |
assocPath, |
objectPath.toString(), |
|
String::EMPTY, |
|
String::EMPTY, |
|
String::EMPTY, |
ProviderType::ASSOCIATION); | ProviderType::ASSOCIATION); |
| |
// resolve provider name | // resolve provider name |
|
|
return(response); | return(response); |
} | } |
| |
Message * DefaultProviderManager::handleAssociatorNamesRequest(const Message * message) |
Message * DefaultProviderManager::handleAssociatorNamesRequest(const Message * message) throw() |
{ | { |
PEG_METHOD_ENTER(TRC_PROVIDERMANAGER, "DefaultProviderManager::handleAssociatorNamesRequest"); | PEG_METHOD_ENTER(TRC_PROVIDERMANAGER, "DefaultProviderManager::handleAssociatorNamesRequest"); |
| |
|
|
| |
objectPath.setKeyBindings(request->objectName.getKeyBindings()); | objectPath.setKeyBindings(request->objectName.getKeyBindings()); |
| |
CIMObjectPath assocPath( |
|
System::getHostName(), |
|
request->nameSpace, |
|
request->assocClass.getString()); |
|
|
|
ProviderName name( | ProviderName name( |
assocPath, |
objectPath.toString(), |
|
String::EMPTY, |
|
String::EMPTY, |
|
String::EMPTY, |
ProviderType::ASSOCIATION); | ProviderType::ASSOCIATION); |
| |
// resolve provider name | // resolve provider name |
|
|
return(response); | return(response); |
} | } |
| |
Message * DefaultProviderManager::handleReferencesRequest(const Message * message) |
Message * DefaultProviderManager::handleReferencesRequest(const Message * message) throw() |
{ | { |
PEG_METHOD_ENTER(TRC_PROVIDERMANAGER, "DefaultProviderManager::handleReferencesRequest"); | PEG_METHOD_ENTER(TRC_PROVIDERMANAGER, "DefaultProviderManager::handleReferencesRequest"); |
| |
|
|
| |
objectPath.setKeyBindings(request->objectName.getKeyBindings()); | objectPath.setKeyBindings(request->objectName.getKeyBindings()); |
| |
CIMObjectPath resultPath( |
|
System::getHostName(), |
|
request->nameSpace, |
|
request->resultClass.getString()); |
|
|
|
ProviderName name( | ProviderName name( |
resultPath, |
objectPath.toString(), |
|
String::EMPTY, |
|
String::EMPTY, |
|
String::EMPTY, |
ProviderType::ASSOCIATION); | ProviderType::ASSOCIATION); |
| |
// resolve provider name | // resolve provider name |
|
|
return(response); | return(response); |
} | } |
| |
Message * DefaultProviderManager::handleReferenceNamesRequest(const Message * message) |
Message * DefaultProviderManager::handleReferenceNamesRequest(const Message * message) throw() |
{ | { |
PEG_METHOD_ENTER(TRC_PROVIDERMANAGER, "DefaultProviderManager::handleReferenceNamesRequest"); | PEG_METHOD_ENTER(TRC_PROVIDERMANAGER, "DefaultProviderManager::handleReferenceNamesRequest"); |
| |
|
|
| |
objectPath.setKeyBindings(request->objectName.getKeyBindings()); | objectPath.setKeyBindings(request->objectName.getKeyBindings()); |
| |
CIMObjectPath resultPath( |
|
System::getHostName(), |
|
request->nameSpace, |
|
request->resultClass.getString()); |
|
|
|
ProviderName name( | ProviderName name( |
resultPath, |
objectPath.toString(), |
|
String::EMPTY, |
|
String::EMPTY, |
|
String::EMPTY, |
ProviderType::ASSOCIATION); | ProviderType::ASSOCIATION); |
| |
// resolve provider name | // resolve provider name |
|
|
return(response); | return(response); |
} | } |
| |
Message * DefaultProviderManager::handleGetPropertyRequest(const Message * message) |
Message * DefaultProviderManager::handleGetPropertyRequest(const Message * message) throw() |
{ | { |
PEG_METHOD_ENTER(TRC_PROVIDERMANAGER, "DefaultProviderManager::handleGetPropertyRequest"); | PEG_METHOD_ENTER(TRC_PROVIDERMANAGER, "DefaultProviderManager::handleGetPropertyRequest"); |
| |
|
|
request->instanceName.getKeyBindings()); | request->instanceName.getKeyBindings()); |
| |
ProviderName name( | ProviderName name( |
objectPath, |
objectPath.toString(), |
|
String::EMPTY, |
|
String::EMPTY, |
|
String::EMPTY, |
0); | 0); |
| |
// resolve provider name | // resolve provider name |
|
|
return(response); | return(response); |
} | } |
| |
Message * DefaultProviderManager::handleSetPropertyRequest(const Message * message) |
Message * DefaultProviderManager::handleSetPropertyRequest(const Message * message) throw() |
{ | { |
PEG_METHOD_ENTER(TRC_PROVIDERMANAGER, "DefaultProviderManager::handleSetPropertyRequest"); | PEG_METHOD_ENTER(TRC_PROVIDERMANAGER, "DefaultProviderManager::handleSetPropertyRequest"); |
| |
|
|
request->instanceName.getKeyBindings()); | request->instanceName.getKeyBindings()); |
| |
ProviderName name( | ProviderName name( |
objectPath, |
objectPath.toString(), |
|
String::EMPTY, |
|
String::EMPTY, |
|
String::EMPTY, |
0); | 0); |
| |
// resolve provider name | // resolve provider name |
|
|
return(response); | return(response); |
} | } |
| |
Message * DefaultProviderManager::handleInvokeMethodRequest(const Message * message) |
Message * DefaultProviderManager::handleInvokeMethodRequest(const Message * message) throw() |
{ | { |
PEG_METHOD_ENTER(TRC_PROVIDERMANAGER, "DefaultProviderManager::handleInvokeMethodRequest"); | PEG_METHOD_ENTER(TRC_PROVIDERMANAGER, "DefaultProviderManager::handleInvokeMethodRequest"); |
| |
|
|
request->instanceName.getKeyBindings()); | request->instanceName.getKeyBindings()); |
| |
ProviderName name( | ProviderName name( |
objectPath, |
objectPath.toString(), |
ProviderType::METHOD, |
String::EMPTY, |
request->methodName); |
String::EMPTY, |
|
String::EMPTY, |
|
0); |
| |
// resolve provider name | // resolve provider name |
name = _resolveProviderName(name); | name = _resolveProviderName(name); |
|
|
return(response); | return(response); |
} | } |
| |
Message * DefaultProviderManager::handleCreateSubscriptionRequest(const Message * message) |
Message * DefaultProviderManager::handleCreateSubscriptionRequest(const Message * message) throw() |
{ | { |
PEG_METHOD_ENTER(TRC_PROVIDERMANAGER, "DefaultProviderManager::handleCreateSubscriptionRequest"); | PEG_METHOD_ENTER(TRC_PROVIDERMANAGER, "DefaultProviderManager::handleCreateSubscriptionRequest"); |
| |
|
|
request->nameSpace.getString(), | request->nameSpace.getString(), |
temp); | temp); |
| |
String physicalName=_resolvePhysicalName( |
// NOTE: the provider and provider module name are embedded in the request, presumably to reduce |
request->providerModule.getProperty( |
// the number of provider lookups (but this should be trivial if the data is cached and accessed |
request->providerModule.findProperty("Location")).getValue().toString()); |
// from the same source). to keep the lookups consistent, use the first class name, combined |
|
// with the other information in the request, and create an object path that can be used to |
|
// resolve the provider using the ProviderRegistrar. |
|
|
|
// make target object path |
|
CIMObjectPath objectPath( |
|
System::getHostName(), |
|
request->nameSpace, |
|
request->classNames[0].getString()); |
| |
ProviderName name( | ProviderName name( |
request->provider.getProperty(request->provider.findProperty |
objectPath.toString(), |
("Name")).getValue ().toString (), |
String::EMPTY, |
physicalName, |
String::EMPTY, |
request->providerModule.getProperty(request->providerModule.findProperty |
String::EMPTY, |
("InterfaceType")).getValue().toString(), |
|
0); | 0); |
| |
|
// resolve provider name |
|
name = _resolveProviderName(name); |
|
|
// get cached or load new provider module | // get cached or load new provider module |
OpProviderHolder ph = | OpProviderHolder ph = |
providerManager.getProvider(name.getPhysicalName(), name.getLogicalName(), String::EMPTY); | providerManager.getProvider(name.getPhysicalName(), name.getLogicalName(), String::EMPTY); |
|
|
return(response); | return(response); |
} | } |
| |
Message * DefaultProviderManager::handleModifySubscriptionRequest( const Message * message) |
Message * DefaultProviderManager::handleModifySubscriptionRequest( const Message * message) throw() |
{ | { |
PEG_METHOD_ENTER(TRC_PROVIDERMANAGER, "DefaultProviderManager::handleModifySubscriptionRequest"); | PEG_METHOD_ENTER(TRC_PROVIDERMANAGER, "DefaultProviderManager::handleModifySubscriptionRequest"); |
| |
|
|
} | } |
| |
Logger::put(Logger::STANDARD_LOG, System::CIMSERVER, Logger::TRACE, | Logger::put(Logger::STANDARD_LOG, System::CIMSERVER, Logger::TRACE, |
"DefaultProviderManager::handleCreateSubscriptionRequest - Host name: $0 Name space: $1 Class name(s): $2", |
"DefaultProviderManager::handleModifySubscriptionRequest - Host name: $0 Name space: $1 Class name(s): $2", |
System::getHostName(), | System::getHostName(), |
request->nameSpace.getString(), | request->nameSpace.getString(), |
temp); | temp); |
| |
String physicalName=_resolvePhysicalName( |
// NOTE: the provider and provider module name are embedded in the request, presumably to reduce |
request->providerModule.getProperty( |
// the number of provider lookups (but this should be trivial if the data is cached and accessed |
request->providerModule.findProperty("Location")).getValue().toString()); |
// from the same source). to keep the lookups consistent, use the first class name, combined |
|
// with the other information in the request, and create an object path that can be used to |
|
// resolve the provider using the ProviderRegistrar. |
|
|
|
// make target object path |
|
CIMObjectPath objectPath( |
|
System::getHostName(), |
|
request->nameSpace, |
|
request->classNames[0].getString()); |
| |
ProviderName name( | ProviderName name( |
request->provider.getProperty(request->provider.findProperty |
objectPath.toString(), |
("Name")).getValue ().toString (), |
String::EMPTY, |
physicalName, |
String::EMPTY, |
request->providerModule.getProperty(request->providerModule.findProperty |
String::EMPTY, |
("InterfaceType")).getValue().toString(), |
|
0); | 0); |
| |
|
// resolve provider name |
|
name = _resolveProviderName(name); |
|
|
// get cached or load new provider module | // get cached or load new provider module |
OpProviderHolder ph = | OpProviderHolder ph = |
providerManager.getProvider(name.getPhysicalName(), name.getLogicalName(), String::EMPTY); | providerManager.getProvider(name.getPhysicalName(), name.getLogicalName(), String::EMPTY); |
|
|
return(response); | return(response); |
} | } |
| |
Message * DefaultProviderManager::handleDeleteSubscriptionRequest(const Message * message) |
Message * DefaultProviderManager::handleDeleteSubscriptionRequest(const Message * message) throw() |
{ | { |
PEG_METHOD_ENTER(TRC_PROVIDERMANAGER, "DefaultProviderManager::handleDeleteSubscriptionRequest"); | PEG_METHOD_ENTER(TRC_PROVIDERMANAGER, "DefaultProviderManager::handleDeleteSubscriptionRequest"); |
| |
|
|
request->nameSpace.getString(), | request->nameSpace.getString(), |
temp); | temp); |
| |
String physicalName=_resolvePhysicalName( |
// NOTE: the provider and provider module name are embedded in the request, presumably to reduce |
request->providerModule.getProperty( |
// the number of provider lookups (but this should be trivial if the data is cached and accessed |
request->providerModule.findProperty("Location")).getValue().toString()); |
// from the same source). to keep the lookups consistent, use the first class name, combined |
|
// with the other information in the request, and create an object path that can be used to |
|
// resolve the provider using the ProviderRegistrar. |
|
|
|
// make target object path |
|
CIMObjectPath objectPath( |
|
System::getHostName(), |
|
request->nameSpace, |
|
request->classNames[0].getString()); |
| |
ProviderName name( | ProviderName name( |
request->provider.getProperty(request->provider.findProperty |
objectPath.toString(), |
("Name")).getValue ().toString (), |
String::EMPTY, |
physicalName, |
String::EMPTY, |
request->providerModule.getProperty(request->providerModule.findProperty |
String::EMPTY, |
("InterfaceType")).getValue().toString(), |
|
0); | 0); |
| |
|
// resolve provider name |
|
name = _resolveProviderName(name); |
|
|
// get cached or load new provider module | // get cached or load new provider module |
OpProviderHolder ph = | OpProviderHolder ph = |
providerManager.getProvider(name.getPhysicalName(), name.getLogicalName(), String::EMPTY); | providerManager.getProvider(name.getPhysicalName(), name.getLogicalName(), String::EMPTY); |
|
|
return(response); | return(response); |
} | } |
| |
Message * DefaultProviderManager::handleEnableIndicationsRequest(const Message * message) |
Message * DefaultProviderManager::handleEnableIndicationsRequest(const Message * message) throw() |
{ | { |
PEG_METHOD_ENTER(TRC_PROVIDERMANAGER, "DefaultProviderManager:: handleEnableIndicationsRequest"); | PEG_METHOD_ENTER(TRC_PROVIDERMANAGER, "DefaultProviderManager:: handleEnableIndicationsRequest"); |
| |
|
|
| |
response->dest = request->queueIds.top(); | response->dest = request->queueIds.top(); |
| |
|
/* |
// ATTN: need pointer to Provider Manager Server! | // ATTN: need pointer to Provider Manager Server! |
EnableIndicationsResponseHandler *handler = |
//EnableIndicationsResponseHandler *handler = |
new EnableIndicationsResponseHandler(request, response, |
// new EnableIndicationsResponseHandler(request, response, this); |
request->provider, ProviderManagerService::providerManagerService); |
|
| |
try | try |
{ | { |
String physicalName=_resolvePhysicalName( |
// get the provider file name and logical name |
request->providerModule.getProperty( |
Triad<String, String, String> triad = |
request->providerModule.findProperty("Location")).getValue().toString()); |
_getProviderRegPair(request->provider, request->providerModule); |
|
|
ProviderName name( |
|
request->provider.getProperty(request->provider.findProperty |
|
("Name")).getValue ().toString (), |
|
physicalName, |
|
request->providerModule.getProperty(request->providerModule.findProperty |
|
("InterfaceType")).getValue().toString(), |
|
0); |
|
| |
// get cached or load new provider module | // get cached or load new provider module |
|
//Provider provider = |
OpProviderHolder ph = | OpProviderHolder ph = |
providerManager.getProvider(name.getPhysicalName(), name.getLogicalName(), String::EMPTY); |
providerManager.getProvider(triad.first, triad.second, triad.third); |
| |
PEG_TRACE_STRING(TRC_PROVIDERMANAGER, Tracer::LEVEL4, | PEG_TRACE_STRING(TRC_PROVIDERMANAGER, Tracer::LEVEL4, |
"Calling provider.enableIndications: " + | "Calling provider.enableIndications: " + |
ph.GetProvider().getName()); | ph.GetProvider().getName()); |
|
ph.GetProvider().protect(); |
pm_service_op_lock op_lock(&ph.GetProvider()); |
|
|
|
ph.GetProvider().enableIndications(*handler); | ph.GetProvider().enableIndications(*handler); |
| |
| |
|
|
{ | { |
PEG_TRACE_STRING(TRC_PROVIDERMANAGER, Tracer::LEVEL4, | PEG_TRACE_STRING(TRC_PROVIDERMANAGER, Tracer::LEVEL4, |
"Exception: " + e.getMessage()); | "Exception: " + e.getMessage()); |
|
|
response->cimException = CIMException(e); | response->cimException = CIMException(e); |
} | } |
catch(Exception & e) | catch(Exception & e) |
{ | { |
PEG_TRACE_STRING(TRC_PROVIDERMANAGER, Tracer::LEVEL4, | PEG_TRACE_STRING(TRC_PROVIDERMANAGER, Tracer::LEVEL4, |
"Exception: " + e.getMessage()); | "Exception: " + e.getMessage()); |
|
//l10n |
|
//response->cimException = CIMException(CIM_ERR_FAILED, "Internal Error"); |
response->cimException = CIMException(CIM_ERR_FAILED, MessageLoaderParms( | response->cimException = CIMException(CIM_ERR_FAILED, MessageLoaderParms( |
"ProviderManager.DefaultProviderManager.INTERNAL_ERROR", | "ProviderManager.DefaultProviderManager.INTERNAL_ERROR", |
"Internal Error")); | "Internal Error")); |
|
|
{ | { |
PEG_TRACE_STRING(TRC_PROVIDERMANAGER, Tracer::LEVEL4, | PEG_TRACE_STRING(TRC_PROVIDERMANAGER, Tracer::LEVEL4, |
"Exception: Unknown"); | "Exception: Unknown"); |
|
//l10n |
|
//response->cimException = CIMException(CIM_ERR_FAILED, "Unknown Error"); |
response->cimException = CIMException(CIM_ERR_FAILED, MessageLoaderParms( | response->cimException = CIMException(CIM_ERR_FAILED, MessageLoaderParms( |
"ProviderManager.DefaultProviderManager.UNKNOWN_ERROR", | "ProviderManager.DefaultProviderManager.UNKNOWN_ERROR", |
"Unknown Error")); | "Unknown Error")); |
} | } |
|
*/ |
| |
PEG_METHOD_EXIT(); | PEG_METHOD_EXIT(); |
| |
return(response); | return(response); |
} | } |
| |
Message * DefaultProviderManager::handleDisableIndicationsRequest(const Message * message) |
Message * DefaultProviderManager::handleDisableIndicationsRequest(const Message * message) throw() |
{ | { |
PEG_METHOD_ENTER(TRC_PROVIDERMANAGER, "DefaultProviderManager::handleDisableIndicationsRequest"); | PEG_METHOD_ENTER(TRC_PROVIDERMANAGER, "DefaultProviderManager::handleDisableIndicationsRequest"); |
| |
|
|
CIMException(), | CIMException(), |
request->queueIds.copyAndPop()); | request->queueIds.copyAndPop()); |
| |
|
PEGASUS_ASSERT(response != 0); |
|
|
// preserve message key | // preserve message key |
response->setKey(request->getKey()); | response->setKey(request->getKey()); |
| |
|
|
| |
try | try |
{ | { |
String physicalName=_resolvePhysicalName( |
|
request->providerModule.getProperty( |
|
request->providerModule.findProperty("Location")).getValue().toString()); |
|
|
|
ProviderName name( | ProviderName name( |
request->provider.getProperty(request->provider.findProperty |
String::EMPTY, |
("Name")).getValue ().toString (), |
String::EMPTY, |
physicalName, |
String::EMPTY, |
request->providerModule.getProperty(request->providerModule.findProperty |
String::EMPTY, |
("InterfaceType")).getValue().toString(), |
|
0); | 0); |
|
/* |
|
ProviderName name( |
|
String::EMPTY, |
|
String::EMPTY, |
|
objectPath.toString()); |
|
|
|
// resolve provider name |
|
name = _resolveProviderName(name); |
|
*/ |
| |
// get cached or load new provider module | // get cached or load new provider module |
OpProviderHolder ph = | OpProviderHolder ph = |
providerManager.getProvider(name.getPhysicalName(), name.getLogicalName(), String::EMPTY); | providerManager.getProvider(name.getPhysicalName(), name.getLogicalName(), String::EMPTY); |
| |
|
/* |
|
// get the provider file name and logical name |
|
Triad<String, String, String> triad = |
|
getProviderRegistrar()->_getProviderRegPair(request->provider, request->providerModule); |
|
|
|
// get cached or load new provider module |
|
//Provider provider = |
|
OpProviderHolder ph = |
|
providerManager.getProvider(triad.first, triad.second, triad.third); |
|
*/ |
|
|
PEG_TRACE_STRING(TRC_PROVIDERMANAGER, Tracer::LEVEL4, | PEG_TRACE_STRING(TRC_PROVIDERMANAGER, Tracer::LEVEL4, |
"Calling provider.disableIndications: " + | "Calling provider.disableIndications: " + |
ph.GetProvider().getName()); | ph.GetProvider().getName()); |
|
|
return(response); | return(response); |
} | } |
| |
Message * DefaultProviderManager::handleConsumeIndicationRequest(const Message *message) |
Message * DefaultProviderManager::handleConsumeIndicationRequest(const Message *message) throw() |
{ | { |
PEG_METHOD_ENTER(TRC_PROVIDERMANAGER, "DefaultProviderManager::handlConsumeIndicationRequest"); | PEG_METHOD_ENTER(TRC_PROVIDERMANAGER, "DefaultProviderManager::handlConsumeIndicationRequest"); |
| |
|
|
String::EMPTY, | String::EMPTY, |
String::EMPTY, | String::EMPTY, |
String::EMPTY, | String::EMPTY, |
|
String::EMPTY, |
0); | 0); |
| |
/* | /* |
|
|
return(response); | return(response); |
} | } |
| |
|
|
Message *DefaultProviderManager::handleExportIndicationRequest(const Message *message) |
|
{ |
|
PEG_METHOD_ENTER(TRC_PROVIDERMANAGER, "DefaultProviderManagerService::handlExportIndicationRequest"); |
|
|
|
CIMExportIndicationRequestMessage * request = |
|
dynamic_cast<CIMExportIndicationRequestMessage *>(const_cast<Message *>(message)); |
|
|
|
PEGASUS_ASSERT(request != 0); |
|
|
|
CIMExportIndicationResponseMessage * response = |
|
new CIMExportIndicationResponseMessage( |
|
request->messageId, |
|
CIMException(), |
|
request->queueIds.copyAndPop()); |
|
|
|
PEGASUS_ASSERT(response != 0); |
|
|
|
// preserve message key |
|
response->setKey(request->getKey()); |
|
|
|
// Set HTTP method in response from request |
|
response->setHttpMethod (request->getHttpMethod ()); |
|
|
|
OperationResponseHandler handler(request, response); |
|
|
|
try |
|
{ |
|
ProviderName name( |
|
String::EMPTY, |
|
String::EMPTY, |
|
String::EMPTY, |
|
0); |
|
|
|
// resolve provider name |
|
name = _resolveProviderName(request->destinationPath); |
|
|
|
// get cached or load new provider module |
|
OpProviderHolder ph = |
|
providerManager.getProvider(name.getPhysicalName(), name.getLogicalName(), String::EMPTY); |
|
|
|
PEG_TRACE_STRING(TRC_PROVIDERMANAGER, Tracer::LEVEL4, |
|
"Calling provider.: " + |
|
ph.GetProvider().getName()); |
|
|
|
OperationContext context; |
|
|
|
//L10N_TODO |
|
//l10n |
|
// ATTN-CEC 06/04/03 NOTE: I can't find where the consume msg is sent. This |
|
// does not appear to be hooked-up. When it is added, need to |
|
// make sure that Content-Language is set in the consume msg. |
|
// NOTE: A-L is not needed to be set in the consume msg. |
|
// add the langs to the context |
|
context.insert(ContentLanguageListContainer(request->contentLanguages)); |
|
|
|
CIMInstance indication_copy = request->indicationInstance; |
|
pm_service_op_lock op_lock(&ph.GetProvider()); |
|
|
|
ph.GetProvider().consumeIndication(context, |
|
request->destinationPath, |
|
indication_copy); |
|
|
|
} |
|
|
|
catch(CIMException & e) |
|
{ |
|
PEG_TRACE_STRING(TRC_PROVIDERMANAGER, Tracer::LEVEL4, |
|
"Exception: " + e.getMessage()); |
|
|
|
handler.setStatus(e.getCode(), e.getContentLanguages(), e.getMessage()); // l10n |
|
} |
|
catch(Exception & e) |
|
{ |
|
PEG_TRACE_STRING(TRC_PROVIDERMANAGER, Tracer::LEVEL4, |
|
"Exception: " + e.getMessage()); |
|
|
|
handler.setStatus(CIM_ERR_FAILED, e.getContentLanguages(), e.getMessage()); // l10n |
|
} |
|
catch(...) |
|
{ |
|
PEG_TRACE_STRING(TRC_PROVIDERMANAGER, Tracer::LEVEL4, |
|
"Exception: Unknown"); |
|
|
|
handler.setStatus(CIM_ERR_FAILED, "Unknown Error"); |
|
} |
|
|
|
PEG_METHOD_EXIT(); |
|
|
|
return(response); |
|
} |
|
|
|
|
|
|
|
|
|
// | // |
// This function disables a provider module if disableProviderOnly is not true, | // This function disables a provider module if disableProviderOnly is not true, |
// otherwise, disables a provider. Disable provider module means that | // otherwise, disables a provider. Disable provider module means that |
|
|
// | // |
// ATTN-YZ-P2-20030519: Provider needs to be blocked when disable a provider. | // ATTN-YZ-P2-20030519: Provider needs to be blocked when disable a provider. |
// | // |
Message * DefaultProviderManager::handleDisableModuleRequest(const Message * message) |
Message * DefaultProviderManager::handleDisableModuleRequest(const Message * message) throw() |
{ | { |
|
// HACK |
|
ProviderRegistrationManager * _providerRegistrationManager = GetProviderRegistrationManager(); |
|
|
PEG_METHOD_ENTER(TRC_PROVIDERMANAGER, "DefaultProviderManager::handleDisableModuleRequest"); | PEG_METHOD_ENTER(TRC_PROVIDERMANAGER, "DefaultProviderManager::handleDisableModuleRequest"); |
| |
CIMDisableModuleRequestMessage * request = | CIMDisableModuleRequestMessage * request = |
|
|
| |
PEGASUS_ASSERT(request != 0); | PEGASUS_ASSERT(request != 0); |
| |
Array<Uint16> operationalStatus; |
|
Boolean disableProviderOnly = request->disableProviderOnly; |
|
CIMException cimException; |
|
|
|
ProviderRegistrationManager * _providerRegistrationManager = GetProviderRegistrationManager(); |
|
|
|
try { |
|
// get provider module name | // get provider module name |
String moduleName; | String moduleName; |
CIMInstance mInstance = request->providerModule; | CIMInstance mInstance = request->providerModule; |
Uint32 pos = mInstance.findProperty(CIMName ("Name")); | Uint32 pos = mInstance.findProperty(CIMName ("Name")); |
| |
if(pos != PEG_NOT_FOUND) { |
if(pos != PEG_NOT_FOUND) |
|
{ |
mInstance.getProperty(pos).getValue().get(moduleName); | mInstance.getProperty(pos).getValue().get(moduleName); |
} | } |
| |
|
|
// | // |
// get operational status | // get operational status |
// | // |
if (!disableProviderOnly) { |
Array<Uint16> operationalStatus; |
|
|
|
if(!disableProviderOnly) |
|
{ |
Uint32 pos2 = mInstance.findProperty(CIMName ("OperationalStatus")); | Uint32 pos2 = mInstance.findProperty(CIMName ("OperationalStatus")); |
if (pos2 != PEG_NOT_FOUND) { |
|
|
if(pos2 != PEG_NOT_FOUND) |
|
{ |
// | // |
// ATTN-CAKG-P2-20020821: Check for null status? | // ATTN-CAKG-P2-20020821: Check for null status? |
// | // |
|
|
// | // |
// update module status from OK to Stopping | // update module status from OK to Stopping |
// | // |
for (Uint32 i=0, n = operationalStatus.size(); i < n; i++) { |
for(Uint32 i=0, n = operationalStatus.size(); i < n; i++) |
if (operationalStatus[i] == _MODULE_OK) { |
{ |
|
if(operationalStatus[i] == _MODULE_OK) |
|
{ |
operationalStatus.remove(i); | operationalStatus.remove(i); |
} | } |
} | } |
|
|
operationalStatus.append(_MODULE_STOPPING); | operationalStatus.append(_MODULE_STOPPING); |
| |
if(_providerRegistrationManager->setProviderModuleStatus | if(_providerRegistrationManager->setProviderModuleStatus |
(moduleName, operationalStatus) == false) { |
(moduleName, operationalStatus) == false) |
|
{ |
//l10n | //l10n |
//throw PEGASUS_CIM_EXCEPTION(CIM_ERR_FAILED, "set module status failed."); | //throw PEGASUS_CIM_EXCEPTION(CIM_ERR_FAILED, "set module status failed."); |
throw PEGASUS_CIM_EXCEPTION_L( |
throw PEGASUS_CIM_EXCEPTION_L(CIM_ERR_FAILED, MessageLoaderParms( |
CIM_ERR_FAILED, |
"ProviderManager.DefaultProviderManager.SET_MODULE_STATUS_FAILED", |
MessageLoaderParms("ProviderManager.ProviderManagerService." |
"set module status failed.")); |
"SET_MODULE_STATUS_FAILED","set module status failed.")); |
|
} | } |
} | } |
| |
// Unload providers | // Unload providers |
Array<CIMInstance> _pInstances = request->providers; | Array<CIMInstance> _pInstances = request->providers; |
Array<Boolean> _indicationProviders = request->indicationProviders; |
|
| |
String physicalName=_resolvePhysicalName( |
for(Uint32 i = 0, n = _pInstances.size(); i < n; i++) |
mInstance.getProperty( |
{ |
mInstance.findProperty("Location")).getValue().toString()); |
/* temp disabled by Chip |
|
// get the provider file name and logical name |
for (Uint32 i = 0, n = _pInstances.size(); i < n; i++) { |
Triad<String, String, String> triad = |
String pName(_pInstances[i].getProperty( |
getProviderRegistrar()->_getProviderRegPair(_pInstances[i], mInstance); |
_pInstances[i].findProperty("Name")).getValue().toString()); |
|
|
|
Sint16 ret_value = providerManager.disableProvider(physicalName,pName); |
|
|
|
if (ret_value == 0) { |
|
// disable failed since there are pending requests, |
|
// update module status from Stopping to OK if |
|
// disableProviderOnly is not true |
|
if (!disableProviderOnly) { |
|
for(Uint32 j=0, m = operationalStatus.size(); j < m; j++) { |
|
if (operationalStatus[j] == _MODULE_STOPPING) { |
|
operationalStatus.remove(j); |
|
} |
|
} |
|
|
|
operationalStatus.append(_MODULE_OK); |
|
|
|
if (_providerRegistrationManager->setProviderModuleStatus |
|
(moduleName, operationalStatus) == false) { |
|
throw PEGASUS_CIM_EXCEPTION_L(CIM_ERR_FAILED, |
|
MessageLoaderParms("ProviderManager.ProviderManagerService." |
|
"SET_MODULE_STATUS_FAILED","set module status failed.")); |
|
} |
|
} |
|
} |
|
| |
else if (ret_value == 1) { |
providerManager.unloadProvider(triad.first, triad.second); |
// if It is an indication provider |
*/ |
// remove the entry from the table since the |
|
// provider has been disabled |
|
if (_indicationProviders[i]) { |
|
_removeEntry(_generateKey(pName,physicalName)); |
|
} |
|
} |
|
else { |
|
// disable failed for other reason, throw exception |
|
// update module status from Stopping to OK if |
|
// disableProviderOnly is not true |
|
if (!disableProviderOnly) { |
|
for (Uint32 j=0, m = operationalStatus.size(); j < m; j++) { |
|
if (operationalStatus[j] == _MODULE_STOPPING) { |
|
operationalStatus.remove(j); |
|
} |
|
} | } |
| |
operationalStatus.append(_MODULE_OK); |
if(!disableProviderOnly) |
|
{ |
if (_providerRegistrationManager->setProviderModuleStatus |
// update module status from Stopping to Stopped |
(moduleName, operationalStatus) == false) { |
for(Uint32 i=0, n = operationalStatus.size(); i < n; i++) |
throw PEGASUS_CIM_EXCEPTION_L(CIM_ERR_FAILED, |
{ |
MessageLoaderParms("ProviderManager.ProviderManagerService." |
if(operationalStatus[i] == _MODULE_STOPPING) |
"SET_MODULE_STATUS_FAILED","set module status failed.")); |
{ |
|
operationalStatus.remove(i); |
} | } |
} | } |
| |
throw PEGASUS_CIM_EXCEPTION_L(CIM_ERR_FAILED, |
|
MessageLoaderParms("ProviderManager.ProviderManagerService." |
|
"DISABLE_PROVIDER_FAILED","Failed to disable the provider.")); |
|
} |
|
} |
|
// disable succeed |
|
// update module status from Stopping to Stopped if |
|
// disableProviderOnly is not true |
|
if (!disableProviderOnly) { |
|
// update module status from Stopping to Stopped |
|
for (Uint32 j=0, m = operationalStatus.size(); j < m; j++) { |
|
if (operationalStatus[j] == _MODULE_STOPPING) { |
|
operationalStatus.remove(j); |
|
operationalStatus.append(_MODULE_STOPPED); | operationalStatus.append(_MODULE_STOPPED); |
} |
|
} |
|
| |
if (_providerRegistrationManager->setProviderModuleStatus | if (_providerRegistrationManager->setProviderModuleStatus |
(moduleName, operationalStatus) == false) { |
(moduleName, operationalStatus) == false) |
|
{ |
//l10n | //l10n |
//throw PEGASUS_CIM_EXCEPTION(CIM_ERR_FAILED, | //throw PEGASUS_CIM_EXCEPTION(CIM_ERR_FAILED, |
//"set module status failed."); | //"set module status failed."); |
throw PEGASUS_CIM_EXCEPTION_L(CIM_ERR_FAILED, |
throw PEGASUS_CIM_EXCEPTION_L(CIM_ERR_FAILED, MessageLoaderParms( |
MessageLoaderParms("ProviderManager.ProviderManagerService." |
"ProviderManager.DefaultProviderManager.SET_MODULE_STATUS_FAILED", |
"SET_MODULE_STATUS_FAILED","set module status failed.")); |
"set module status failed.")); |
} |
|
} |
|
} |
|
catch(CIMException & e) |
|
{ |
|
PEG_TRACE_STRING(TRC_PROVIDERMANAGER, Tracer::LEVEL4, |
|
"Exception: " + e.getMessage()); |
|
cimException = e; |
|
} |
|
catch(Exception & e) |
|
{ |
|
PEG_TRACE_STRING(TRC_PROVIDERMANAGER, Tracer::LEVEL4, |
|
"Exception: " + e.getMessage()); |
|
cimException = CIMException(CIM_ERR_FAILED, e.getMessage()); |
|
} | } |
catch(...) { |
|
PEG_TRACE_STRING(TRC_PROVIDERMANAGER, Tracer::LEVEL4, |
|
"Exception: Unknown"); |
|
//l10n |
|
//response->cimException = CIMException(CIM_ERR_FAILED, "Unknown Error"); |
|
cimException = PEGASUS_CIM_EXCEPTION_L( |
|
CIM_ERR_FAILED, |
|
MessageLoaderParms( |
|
"ProviderManager.ProviderManagerService.UNKNOWN_ERROR", |
|
"Unknown Error")); |
|
} | } |
| |
CIMDisableModuleResponseMessage * response = | CIMDisableModuleResponseMessage * response = |
|
|
request->queueIds.copyAndPop(), | request->queueIds.copyAndPop(), |
operationalStatus); | operationalStatus); |
| |
|
PEGASUS_ASSERT(response != 0); |
|
|
// preserve message key | // preserve message key |
response->setKey(request->getKey()); | response->setKey(request->getKey()); |
| |
|
// |
// Set HTTP method in response from request | // Set HTTP method in response from request |
|
// |
response->setHttpMethod (request->getHttpMethod ()); | response->setHttpMethod (request->getHttpMethod ()); |
| |
PEG_METHOD_EXIT(); | PEG_METHOD_EXIT(); |
|
|
return(response); | return(response); |
} | } |
| |
Message * DefaultProviderManager::handleEnableModuleRequest(const Message * message) |
Message * DefaultProviderManager::handleEnableModuleRequest(const Message * message) throw() |
{ | { |
// HACK | // HACK |
ProviderRegistrationManager * _providerRegistrationManager = GetProviderRegistrationManager(); | ProviderRegistrationManager * _providerRegistrationManager = GetProviderRegistrationManager(); |
|
|
return(response); | return(response); |
} | } |
| |
Message * DefaultProviderManager::handleStopAllProvidersRequest(const Message * message) |
Message * DefaultProviderManager::handleStopAllProvidersRequest(const Message * message) throw() |
{ | { |
PEG_METHOD_ENTER(TRC_PROVIDERMANAGER, "DefaultProviderManager::handleStopAllProvidersRequest"); | PEG_METHOD_ENTER(TRC_PROVIDERMANAGER, "DefaultProviderManager::handleStopAllProvidersRequest"); |
| |
|
|
EnableIndicationsResponseHandler *ret = 0; | EnableIndicationsResponseHandler *ret = 0; |
| |
_responseTable.lookup(key, ret); | _responseTable.lookup(key, ret); |
_responseTable.remove(key); // why is this needed ? - we get killed when removed... |
|
| |
PEG_METHOD_EXIT(); | PEG_METHOD_EXIT(); |
| |
|
|
return(tableKey); | return(tableKey); |
} | } |
| |
String DefaultProviderManager::_generateKey ( |
|
const String & providerName, |
|
const String & providerFileName) |
|
{ |
|
String tableKey; |
|
|
|
PEG_METHOD_ENTER (TRC_INDICATION_SERVICE, |
|
"DefaultProviderManagerService::_generateKey"); |
|
|
|
// |
|
// Append providerName and providerFileName to key |
|
// |
|
tableKey.append (providerName); |
|
tableKey.append (providerFileName); |
|
|
|
PEG_METHOD_EXIT (); |
|
return tableKey; |
|
} |
|
|
|
ProviderName DefaultProviderManager::_resolveProviderName(const ProviderName & providerName) | ProviderName DefaultProviderManager::_resolveProviderName(const ProviderName & providerName) |
{ | { |
ProviderName temp = findProvider(providerName); | ProviderName temp = findProvider(providerName); |
String physicalName = _resolvePhysicalName(temp.getPhysicalName()); |
|
temp.setPhysicalName(physicalName); |
|
| |
return(temp); |
String physicalName = temp.getPhysicalName(); |
} |
|
| |
ProviderName DefaultProviderManager::_resolveProviderName(String & destinationPath) |
// fully qualify physical provider name (module), if not already done so. |
{ |
#if defined(PEGASUS_PLATFORM_WIN32_IX86_MSVC) |
ProviderName temp = findProvider(destinationPath); |
physicalName = physicalName + String(".dll"); |
|
#elif defined(PEGASUS_PLATFORM_LINUX_IX86_GNU) || defined(PEGASUS_PLATFORM_LINUX_IA86_GNU) |
|
String root = ConfigManager::getHomedPath(ConfigManager::getInstance()->getCurrentValue("providerDir")); |
|
physicalName = root + String("/lib") + physicalName + String(".so"); |
|
#elif defined(PEGASUS_OS_HPUX) |
|
String root = ConfigManager::getHomedPath(ConfigManager::getInstance()->getCurrentValue("providerDir")); |
|
physicalName = root + String("/lib") + moduleLocation + String(".sl"); |
|
#elif defined(PEGASUS_OS_OS400) |
|
// do nothing |
|
#else |
|
String root = ConfigManager::getHomedPath(ConfigManager::getInstance()->getCurrentValue("providerDir")); |
|
physicalName = root + String("/lib") + physicalName + String(".so"); |
| |
String physicalName = _resolvePhysicalName(temp.getPhysicalName()); |
#endif |
| |
temp.setPhysicalName(physicalName); | temp.setPhysicalName(physicalName); |
| |