OW_NAMESPACE::PerlProviderIFC Class Reference

This class implements a bridge from the CIMOM's ProviderManager to the C++ providers. More...

#include <OW_PerlProviderIFC.hpp>

Inheritance diagram for OW_NAMESPACE::PerlProviderIFC:

Inheritance graph
[legend]
Collaboration diagram for OW_NAMESPACE::PerlProviderIFC:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 PerlProviderIFC ()
 ~PerlProviderIFC ()

Static Public Attributes

static const char *const CREATIONFUNC = "createProvider"

Protected Member Functions

virtual const char * getName () const
 Return the provider's name.
virtual void doInit (const ProviderEnvironmentIFCRef &env, InstanceProviderInfoArray &i, SecondaryInstanceProviderInfoArray &si, AssociatorProviderInfoArray &a, MethodProviderInfoArray &m, IndicationProviderInfoArray &ind)
 The derived classes must override these functions to implement the desired functionality.
virtual InstanceProviderIFCRef doGetInstanceProvider (const ProviderEnvironmentIFCRef &env, const char *provIdString)
virtual MethodProviderIFCRef doGetMethodProvider (const ProviderEnvironmentIFCRef &env, const char *provIdString)
virtual AssociatorProviderIFCRef doGetAssociatorProvider (const ProviderEnvironmentIFCRef &env, const char *provIdString)
virtual IndicationProviderIFCRef doGetIndicationProvider (const ProviderEnvironmentIFCRef &env, const char *provIdString)
virtual IndicationExportProviderIFCRefArray doGetIndicationExportProviders (const ProviderEnvironmentIFCRef &env)
virtual PolledProviderIFCRefArray doGetPolledProviders (const ProviderEnvironmentIFCRef &env)
void loadProviders (const ProviderEnvironmentIFCRef &env, InstanceProviderInfoArray &i, AssociatorProviderInfoArray &a, MethodProviderInfoArray &m, IndicationProviderInfoArray &ind)
virtual void doUnloadProviders (const ProviderEnvironmentIFCRef &env)

Private Types

typedef Map< String, FTABLERefProviderMap
typedef Array< FTABLERefLoadedProviderArray

Private Member Functions

FTABLERef getProvider (const ProviderEnvironmentIFCRef &env, const char *provIdString)
void loadNoIdProviders (const ProviderEnvironmentIFCRef &env)

Private Attributes

ProviderMap m_provs
Mutex m_guard
LoadedProviderArray m_noidProviders
bool m_loadDone

Detailed Description

This class implements a bridge from the CIMOM's ProviderManager to the C++ providers.

It's main function is location and creation of providers.

Definition at line 46 of file OW_PerlProviderIFC.hpp.


Member Typedef Documentation

typedef Array<FTABLERef > OW_NAMESPACE::PerlProviderIFC::LoadedProviderArray [private]
 

Definition at line 96 of file OW_PerlProviderIFC.hpp.

typedef Map<String, FTABLERef> OW_NAMESPACE::PerlProviderIFC::ProviderMap [private]
 

Definition at line 94 of file OW_PerlProviderIFC.hpp.


Constructor & Destructor Documentation

OW_NAMESPACE::PerlProviderIFC::PerlProviderIFC  ) 
 

Definition at line 63 of file OW_PerlProviderIFC.cpp.

OW_NAMESPACE::PerlProviderIFC::~PerlProviderIFC  ) 
 

Definition at line 72 of file OW_PerlProviderIFC.cpp.

References OW_NAMESPACE::Map< Key, T, Compare >::begin(), OW_NAMESPACE::Map< Key, T, Compare >::end(), and m_provs.


Member Function Documentation

AssociatorProviderIFCRef OW_NAMESPACE::PerlProviderIFC::doGetAssociatorProvider const ProviderEnvironmentIFCRef env,
const char *  provIdString
[protected, virtual]
 

Reimplemented from OW_NAMESPACE::ProviderIFCBaseIFC.

Definition at line 204 of file OW_PerlProviderIFC.cpp.

References OW_NAMESPACE::COMPONENT_NAME, env, getProvider(), OW_LOG_DEBUG, OW_LOG_ERROR, and OW_THROW.

IndicationExportProviderIFCRefArray OW_NAMESPACE::PerlProviderIFC::doGetIndicationExportProviders const ProviderEnvironmentIFCRef env  )  [protected, virtual]
 

Reimplemented from OW_NAMESPACE::ProviderIFCBaseIFC.

Definition at line 143 of file OW_PerlProviderIFC.cpp.

IndicationProviderIFCRef OW_NAMESPACE::PerlProviderIFC::doGetIndicationProvider const ProviderEnvironmentIFCRef env,
const char *  provIdString
[protected, virtual]
 

Reimplemented from OW_NAMESPACE::ProviderIFCBaseIFC.

Definition at line 227 of file OW_PerlProviderIFC.cpp.

References OW_NAMESPACE::COMPONENT_NAME, env, getProvider(), OW_LOG_DEBUG, OW_LOG_ERROR, and OW_THROW.

InstanceProviderIFCRef OW_NAMESPACE::PerlProviderIFC::doGetInstanceProvider const ProviderEnvironmentIFCRef env,
const char *  provIdString
[protected, virtual]
 

Reimplemented from OW_NAMESPACE::ProviderIFCBaseIFC.

Definition at line 121 of file OW_PerlProviderIFC.cpp.

References OW_NAMESPACE::COMPONENT_NAME, env, getProvider(), OW_LOG_DEBUG, OW_LOG_ERROR, and OW_THROW.

MethodProviderIFCRef OW_NAMESPACE::PerlProviderIFC::doGetMethodProvider const ProviderEnvironmentIFCRef env,
const char *  provIdString
[protected, virtual]
 

Reimplemented from OW_NAMESPACE::ProviderIFCBaseIFC.

Definition at line 181 of file OW_PerlProviderIFC.cpp.

References OW_NAMESPACE::COMPONENT_NAME, env, getProvider(), OW_LOG_DEBUG, OW_LOG_ERROR, and OW_THROW.

PolledProviderIFCRefArray OW_NAMESPACE::PerlProviderIFC::doGetPolledProviders const ProviderEnvironmentIFCRef env  )  [protected, virtual]
 

Reimplemented from OW_NAMESPACE::ProviderIFCBaseIFC.

Definition at line 162 of file OW_PerlProviderIFC.cpp.

void OW_NAMESPACE::PerlProviderIFC::doInit const ProviderEnvironmentIFCRef env,
InstanceProviderInfoArray i,
SecondaryInstanceProviderInfoArray si,
AssociatorProviderInfoArray a,
MethodProviderInfoArray m,
IndicationProviderInfoArray ind
[protected, virtual]
 

The derived classes must override these functions to implement the desired functionality.

Implements OW_NAMESPACE::ProviderIFCBaseIFC.

Definition at line 107 of file OW_PerlProviderIFC.cpp.

References env, i, and loadProviders().

virtual void OW_NAMESPACE::PerlProviderIFC::doUnloadProviders const ProviderEnvironmentIFCRef env  )  [inline, protected, virtual]
 

Reimplemented from OW_NAMESPACE::ProviderIFCBaseIFC.

Definition at line 89 of file OW_PerlProviderIFC.hpp.

virtual const char* OW_NAMESPACE::PerlProviderIFC::getName  )  const [inline, protected, virtual]
 

Return the provider's name.

The name will be used to identify this provider interface from other provider interfaces.

Returns:
The name of the provider interface.

Implements OW_NAMESPACE::ProviderIFCBaseIFC.

Definition at line 53 of file OW_PerlProviderIFC.hpp.

FTABLERef OW_NAMESPACE::PerlProviderIFC::getProvider const ProviderEnvironmentIFCRef env,
const char *  provIdString
[private]
 

Definition at line 493 of file OW_PerlProviderIFC.cpp.

References OW_NAMESPACE::Map< Key, T, Compare >::end(), OW_NAMESPACE::Map< Key, T, Compare >::find(), m_guard, and m_provs.

Referenced by doGetAssociatorProvider(), doGetIndicationProvider(), doGetInstanceProvider(), and doGetMethodProvider().

void OW_NAMESPACE::PerlProviderIFC::loadNoIdProviders const ProviderEnvironmentIFCRef env  )  [private]
 

Definition at line 376 of file OW_PerlProviderIFC.cpp.

References OW_NAMESPACE::COMPONENT_NAME, OW_NAMESPACE::SharedLibraryLoader::createSharedLibraryLoader(), env, OW_NAMESPACE::FileSystem::getDirectoryContents(), i, m_guard, m_loadDone, OW_DEFAULT_PERLPROVIFC_PROV_LOCATION, OW_FILENAME_SEPARATOR, OW_LOG_ERROR, OW_PATHNAME_SEPARATOR, OW_SHAREDLIB_EXTENSION, OW_NAMESPACE::ConfigOpts::PERLPROVIFC_PROV_LOCATION_opt, and OW_NAMESPACE::Array< T >::size().

void OW_NAMESPACE::PerlProviderIFC::loadProviders const ProviderEnvironmentIFCRef env,
InstanceProviderInfoArray i,
AssociatorProviderInfoArray a,
MethodProviderInfoArray m,
IndicationProviderInfoArray ind
[protected]
 

Definition at line 251 of file OW_PerlProviderIFC.cpp.

References OW_NAMESPACE::COMPONENT_NAME, OW_NAMESPACE::SharedLibraryLoader::createSharedLibraryLoader(), env, OW_NAMESPACE::FileSystem::getDirectoryContents(), i, m_guard, m_loadDone, OW_DEFAULT_PERLPROVIFC_PROV_LOCATION, OW_FILENAME_SEPARATOR, OW_LOG_ERROR, OW_PATHNAME_SEPARATOR, OW_SHAREDLIB_EXTENSION, OW_NAMESPACE::ConfigOpts::PERLPROVIFC_PROV_LOCATION_opt, and OW_NAMESPACE::Array< T >::size().

Referenced by doInit().


Member Data Documentation

const char *const OW_NAMESPACE::PerlProviderIFC::CREATIONFUNC = "createProvider" [static]
 

Definition at line 49 of file OW_PerlProviderIFC.hpp.

Mutex OW_NAMESPACE::PerlProviderIFC::m_guard [private]
 

Definition at line 101 of file OW_PerlProviderIFC.hpp.

Referenced by getProvider(), loadNoIdProviders(), and loadProviders().

bool OW_NAMESPACE::PerlProviderIFC::m_loadDone [private]
 

Definition at line 103 of file OW_PerlProviderIFC.hpp.

Referenced by loadNoIdProviders(), and loadProviders().

LoadedProviderArray OW_NAMESPACE::PerlProviderIFC::m_noidProviders [private]
 

Definition at line 102 of file OW_PerlProviderIFC.hpp.

ProviderMap OW_NAMESPACE::PerlProviderIFC::m_provs [private]
 

Definition at line 100 of file OW_PerlProviderIFC.hpp.

Referenced by getProvider(), and ~PerlProviderIFC().


The documentation for this class was generated from the following files:
Generated on Thu Feb 9 09:16:14 2006 for openwbem by  doxygen 1.4.6