version 1.3, 2003/10/22 14:26:12
|
version 1.9, 2004/04/13 17:55:15
|
|
|
//%///////////////////////////////////////////////////////////////////////////// | //%///////////////////////////////////////////////////////////////////////////// |
| |
#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 providerName) |
{ | { |
// 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. |
|
|
return(_registrar.findProvider(providerName)); | return(_registrar.findProvider(providerName)); |
} | } |
| |
|
ProviderName ProviderManager::findProvider(const String & destinationPath) |
|
{ |
|
return(_registrar.findConsumerProvider(destinationPath)); |
|
} |
|
|
Boolean ProviderManager::insertProvider(const ProviderName & providerName) | Boolean ProviderManager::insertProvider(const ProviderName & providerName) |
{ | { |
return(_registrar.insertProvider(providerName)); | return(_registrar.insertProvider(providerName)); |
|
|
return(_registrar.removeProvider(providerName)); | return(_registrar.removeProvider(providerName)); |
} | } |
| |
|
String ProviderManager::_resolvePhysicalName(String physicalName) |
|
{ |
|
String temp; |
|
String root = "."; |
|
|
|
// fully qualify physical provider name (module), if not already done so. |
|
#if defined(PEGASUS_PLATFORM_WIN32_IX86_MSVC) |
|
temp = physicalName + String(".dll"); |
|
#elif defined(PEGASUS_PLATFORM_LINUX_GENERIC_GNU) |
|
temp = String("lib") + physicalName + String(".so"); |
|
#elif defined(PEGASUS_OS_HPUX) |
|
# ifdef PEGASUS_PLATFORM_HPUX_PARISC_ACC |
|
temp = String("lib") + physicalName + String(".sl"); |
|
# else |
|
temp = String("lib") + physicalName + String(".so"); |
|
# endif |
|
#elif defined(PEGASUS_OS_OS400) |
|
// do nothing |
|
#else |
|
temp = String("lib") + physicalName + String(".so"); |
|
#endif |
|
|
|
temp = FileSystem::getAbsoluteFileName( |
|
ConfigManager::getHomedPath(ConfigManager::getInstance()->getCurrentValue("providerDir")), temp); |
|
return temp; |
|
} |
|
|
|
|
PEGASUS_NAMESPACE_END | PEGASUS_NAMESPACE_END |