version 1.3.4.1, 2004/03/02 21:34:42
|
version 1.7, 2004/03/23 15:51:32
|
|
|
// | // |
// Author: Chip Vincent (cvincent@us.ibm.com) | // Author: Chip Vincent (cvincent@us.ibm.com) |
// | // |
// Modified By: |
// Modified By: Dan Gorey, djgorey@us.ibm.com |
// | // |
//%///////////////////////////////////////////////////////////////////////////// | //%///////////////////////////////////////////////////////////////////////////// |
| |
#include "ProviderManager.h" | #include "ProviderManager.h" |
|
#include <Pegasus/Common/FileSystem.h> |
| |
PEGASUS_NAMESPACE_BEGIN | PEGASUS_NAMESPACE_BEGIN |
| |
|
|
{ | { |
} | } |
| |
Message * ProviderManager::processMessage(Message * message) |
Message * ProviderManager::processMessage(Message * message, ProviderName managerName) |
{ | { |
// subclasses should implement this method. if not implented, the base | // subclasses should implement this method. if not implented, the base |
// classes generates a generic failure. | // classes generates a generic failure. |
|
|
String ProviderManager::_resolvePhysicalName(String physicalName) | String ProviderManager::_resolvePhysicalName(String physicalName) |
{ | { |
String temp; | String temp; |
|
String root = "."; |
| |
// fully qualify physical provider name (module), if not already done so. | // fully qualify physical provider name (module), if not already done so. |
#if defined(PEGASUS_PLATFORM_WIN32_IX86_MSVC) | #if defined(PEGASUS_PLATFORM_WIN32_IX86_MSVC) |
temp = physicalName + String(".dll"); | temp = physicalName + String(".dll"); |
#elif defined(PEGASUS_PLATFORM_LINUX_IX86_GNU) || defined(PEGASUS_PLATFORM_LINUX_IA86_GNU) |
#elif defined(PEGASUS_PLATFORM_LINUX_GENERIC_GNU) |
String root = ConfigManager::getHomedPath(ConfigManager::getInstance()->getCurrentValue("providerDir")); |
temp = String("lib") + physicalName + String(".so"); |
temp = root + String("/lib") + physicalName + String(".so"); |
|
#elif defined(PEGASUS_OS_HPUX) | #elif defined(PEGASUS_OS_HPUX) |
String root = ConfigManager::getHomedPath(ConfigManager::getInstance()->getCurrentValue("providerDir")); |
|
# ifdef PEGASUS_PLATFORM_HPUX_PARISC_ACC | # ifdef PEGASUS_PLATFORM_HPUX_PARISC_ACC |
temp = root + String("/lib") + physicalName + String(".sl"); |
temp = String("lib") + physicalName + String(".sl"); |
# else | # else |
temp = root + String("/lib") + physicalName + String(".so"); |
temp = String("lib") + physicalName + String(".so"); |
# endif | # endif |
#elif defined(PEGASUS_OS_OS400) | #elif defined(PEGASUS_OS_OS400) |
// do nothing | // do nothing |
#else | #else |
String root = ConfigManager::getHomedPath(ConfigManager::getInstance()->getCurrentValue("providerDir")); |
temp = String("lib") + physicalName + String(".so"); |
temp = root + String("/lib") + physicalName + String(".so"); |
|
#endif | #endif |
| |
|
temp = FileSystem::getAbsoluteFileName( |
|
ConfigManager::getHomedPath(ConfigManager::getInstance()->getCurrentValue("providerDir")), temp); |
return temp; | return temp; |
} | } |
| |