OW_NAMESPACE::NPIProviderIFC Class Reference

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

#include <OW_NPIProviderIFC.hpp>

Inheritance diagram for OW_NAMESPACE::NPIProviderIFC:

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

Collaboration graph
[legend]
List of all members.

Public Member Functions

 NPIProviderIFC ()
 ~NPIProviderIFC ()

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)
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_NPIProviderIFC.hpp.


Member Typedef Documentation

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

Definition at line 89 of file OW_NPIProviderIFC.hpp.

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

Definition at line 87 of file OW_NPIProviderIFC.hpp.


Constructor & Destructor Documentation

OW_NAMESPACE::NPIProviderIFC::NPIProviderIFC  ) 
 

Definition at line 61 of file OW_NPIProviderIFC.cpp.

OW_NAMESPACE::NPIProviderIFC::~NPIProviderIFC  ) 
 

Definition at line 70 of file OW_NPIProviderIFC.cpp.

References OW_NAMESPACE::Map< Key, T, Compare >::begin(), OW_NAMESPACE::Map< Key, T, Compare >::clear(), OW_NAMESPACE::Map< Key, T, Compare >::end(), i, m_noidProviders, m_provs, and OW_NAMESPACE::Array< T >::size().


Member Function Documentation

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

Reimplemented from OW_NAMESPACE::ProviderIFCBaseIFC.

Definition at line 185 of file OW_NPIProviderIFC.cpp.

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

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

Reimplemented from OW_NAMESPACE::ProviderIFCBaseIFC.

Definition at line 135 of file OW_NPIProviderIFC.cpp.

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

Reimplemented from OW_NAMESPACE::ProviderIFCBaseIFC.

Definition at line 208 of file OW_NPIProviderIFC.cpp.

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

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

Reimplemented from OW_NAMESPACE::ProviderIFCBaseIFC.

Definition at line 113 of file OW_NPIProviderIFC.cpp.

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

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

Reimplemented from OW_NAMESPACE::ProviderIFCBaseIFC.

Definition at line 162 of file OW_NPIProviderIFC.cpp.

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

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

Reimplemented from OW_NAMESPACE::ProviderIFCBaseIFC.

Definition at line 154 of file OW_NPIProviderIFC.cpp.

void OW_NAMESPACE::NPIProviderIFC::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 100 of file OW_NPIProviderIFC.cpp.

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

Reimplemented from OW_NAMESPACE::ProviderIFCBaseIFC.

Definition at line 82 of file OW_NPIProviderIFC.hpp.

virtual const char* OW_NAMESPACE::NPIProviderIFC::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_NPIProviderIFC.hpp.

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

Definition at line 334 of file OW_NPIProviderIFC.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::NPIProviderIFC::loadNoIdProviders const ProviderEnvironmentIFCRef env  )  [private]
 

Definition at line 230 of file OW_NPIProviderIFC.cpp.

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


Member Data Documentation

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

Definition at line 49 of file OW_NPIProviderIFC.hpp.

Mutex OW_NAMESPACE::NPIProviderIFC::m_guard [private]
 

Definition at line 94 of file OW_NPIProviderIFC.hpp.

Referenced by getProvider(), and loadNoIdProviders().

bool OW_NAMESPACE::NPIProviderIFC::m_loadDone [private]
 

Definition at line 96 of file OW_NPIProviderIFC.hpp.

Referenced by loadNoIdProviders().

LoadedProviderArray OW_NAMESPACE::NPIProviderIFC::m_noidProviders [private]
 

Definition at line 95 of file OW_NPIProviderIFC.hpp.

Referenced by ~NPIProviderIFC().

ProviderMap OW_NAMESPACE::NPIProviderIFC::m_provs [private]
 

Definition at line 93 of file OW_NPIProviderIFC.hpp.

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


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