version 1.11, 2004/05/13 13:52:50
|
version 1.14, 2004/08/26 03:23:14
|
|
|
// | // |
// Author: Chip Vincent (cvincent@us.ibm.com) | // Author: Chip Vincent (cvincent@us.ibm.com) |
// | // |
// Modified By: |
// Modified By: Roger Kumpf, Hewlett-Packard Company (roger_kumpf@hp.com) |
// | // |
//%///////////////////////////////////////////////////////////////////////////// | //%///////////////////////////////////////////////////////////////////////////// |
| |
#include "ProviderManager.h" | #include "ProviderManager.h" |
#include <Pegasus/Common/FileSystem.h> | #include <Pegasus/Common/FileSystem.h> |
|
#include <Pegasus/Config/ConfigManager.h> |
| |
PEGASUS_NAMESPACE_BEGIN | PEGASUS_NAMESPACE_BEGIN |
| |
|
|
{ | { |
} | } |
| |
Message * ProviderManager::processMessage(Message * message) |
String ProviderManager::_resolvePhysicalName(String physicalName) |
{ | { |
// subclasses should implement this method. if not implented, the base |
String fileName = FileSystem::buildLibraryFileName(physicalName); |
// classes generates a generic failure. |
|
|
|
return(message); |
|
} |
|
| |
ProviderName ProviderManager::findProvider(const ProviderName & providerName) |
fileName = FileSystem::getAbsoluteFileName( |
{ |
ConfigManager::getHomedPath( |
return(_registrar.findProvider(providerName)); |
ConfigManager::getInstance()->getCurrentValue("providerDir")), |
} |
fileName); |
| |
ProviderName ProviderManager::findProvider(const String & destinationPath) |
return fileName; |
{ |
|
return(_registrar.findConsumerProvider(destinationPath)); |
|
} | } |
| |
Boolean ProviderManager::insertProvider(const ProviderName & providerName) |
void ProviderManager::setIndicationCallback( |
|
PEGASUS_INDICATION_CALLBACK indicationCallback) |
{ | { |
return(_registrar.insertProvider(providerName)); |
_indicationCallback = indicationCallback; |
} | } |
| |
Boolean ProviderManager::removeProvider(const ProviderName & 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 |
|
#elif defined(PEGASUS_OS_DARWIN) |
|
temp = String("lib") + physicalName + String(".dylib"); |
|
#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 |