OWBI1::BI1ProviderIFC Class Reference

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

#include <OWBI1_ProviderIFC.hpp>

List of all members.

Public Member Functions

 BI1ProviderIFC ()
 ~BI1ProviderIFC ()

Static Public Member Functions

static BI1ProviderBaseIFCRef loadProvider (const OpenWBEM::String &libName, OpenWBEM::LoggerRef logger)

Static Public Attributes

static const char *const CREATIONFUNC = "createProvider"

Protected Member Functions

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

Private Types

typedef OpenWBEM::IntrusiveReference<
BI1ProviderInitializationHelper
BI1ProviderInitializationHelperRef
typedef Map< OpenWBEM::String,
BI1ProviderInitializationHelperRef
ProviderMap
typedef Map< OpenWBEM::String,
OpenWBEM::IndicationProviderIFCRef
IndicationProviderMap
enum  StoreProviderFlag { dontStoreProvider, storeProvider }
enum  InitializeProviderFlag { dontInitializeProvider, initializeProvider }

Private Member Functions

BI1ProviderBaseIFCRef getProvider (const OpenWBEM::ProviderEnvironmentIFCRef &env, const char *provIdString, StoreProviderFlag=storeProvider, InitializeProviderFlag=initializeProvider)
void loadProviders (const OpenWBEM::ProviderEnvironmentIFCRef &env, OpenWBEM::InstanceProviderInfoArray &i, OpenWBEM::SecondaryInstanceProviderInfoArray &si, OpenWBEM::AssociatorProviderInfoArray &a, OpenWBEM::MethodProviderInfoArray &m, OpenWBEM::IndicationProviderInfoArray &ind)

Private Attributes

ProviderMap m_provs
IndicationProviderMap m_indicationProviders
OpenWBEM::Mutex m_guard
OpenWBEM::IndicationExportProviderIFCRefArray m_indicationExportProviders
OpenWBEM::PolledProviderIFCRefArray m_polledProviders
bool m_loadDone

Classes

class  BI1ProviderInitializationHelper


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 63 of file OWBI1_ProviderIFC.hpp.


Member Typedef Documentation

typedef OpenWBEM::IntrusiveReference<BI1ProviderInitializationHelper> OWBI1::BI1ProviderIFC::BI1ProviderInitializationHelperRef [private]
 

Definition at line 114 of file OWBI1_ProviderIFC.hpp.

typedef Map<OpenWBEM::String, OpenWBEM::IndicationProviderIFCRef> OWBI1::BI1ProviderIFC::IndicationProviderMap [private]
 

Definition at line 118 of file OWBI1_ProviderIFC.hpp.

typedef Map<OpenWBEM::String, BI1ProviderInitializationHelperRef> OWBI1::BI1ProviderIFC::ProviderMap [private]
 

Definition at line 117 of file OWBI1_ProviderIFC.hpp.


Member Enumeration Documentation

enum OWBI1::BI1ProviderIFC::InitializeProviderFlag [private]
 

Enumerator:
dontInitializeProvider 
initializeProvider 

Definition at line 125 of file OWBI1_ProviderIFC.hpp.

enum OWBI1::BI1ProviderIFC::StoreProviderFlag [private]
 

Enumerator:
dontStoreProvider 
storeProvider 

Definition at line 120 of file OWBI1_ProviderIFC.hpp.


Constructor & Destructor Documentation

OWBI1::BI1ProviderIFC::BI1ProviderIFC  ) 
 

Definition at line 267 of file OWBI1_ProviderIFC.cpp.

OWBI1::BI1ProviderIFC::~BI1ProviderIFC  ) 
 

Definition at line 272 of file OWBI1_ProviderIFC.cpp.

References m_indicationExportProviders, m_polledProviders, and m_provs.


Member Function Documentation

OpenWBEM::AssociatorProviderIFCRef OWBI1::BI1ProviderIFC::doGetAssociatorProvider const OpenWBEM::ProviderEnvironmentIFCRef env,
const char *  provIdString
[protected, virtual]
 

Definition at line 418 of file OWBI1_ProviderIFC.cpp.

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

OpenWBEM::IndicationExportProviderIFCRefArray OWBI1::BI1ProviderIFC::doGetIndicationExportProviders const OpenWBEM::ProviderEnvironmentIFCRef env  )  [protected, virtual]
 

Definition at line 355 of file OWBI1_ProviderIFC.cpp.

References m_indicationExportProviders.

OpenWBEM::IndicationProviderIFCRef OWBI1::BI1ProviderIFC::doGetIndicationProvider const OpenWBEM::ProviderEnvironmentIFCRef env,
const char *  provIdString
[protected, virtual]
 

Definition at line 440 of file OWBI1_ProviderIFC.cpp.

References OWBI1::COMPONENT_NAME(), getProvider(), m_indicationProviders, OW_LOG_DEBUG, and OW_LOG_ERROR.

OpenWBEM::InstanceProviderIFCRef OWBI1::BI1ProviderIFC::doGetInstanceProvider const OpenWBEM::ProviderEnvironmentIFCRef env,
const char *  provIdString
[protected, virtual]
 

Definition at line 313 of file OWBI1_ProviderIFC.cpp.

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

OpenWBEM::MethodProviderIFCRef OWBI1::BI1ProviderIFC::doGetMethodProvider const OpenWBEM::ProviderEnvironmentIFCRef env,
const char *  provIdString
[protected, virtual]
 

Definition at line 396 of file OWBI1_ProviderIFC.cpp.

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

OpenWBEM::PolledProviderIFCRefArray OWBI1::BI1ProviderIFC::doGetPolledProviders const OpenWBEM::ProviderEnvironmentIFCRef env  )  [protected, virtual]
 

Definition at line 376 of file OWBI1_ProviderIFC.cpp.

References m_polledProviders.

OpenWBEM::SecondaryInstanceProviderIFCRef OWBI1::BI1ProviderIFC::doGetSecondaryInstanceProvider const OpenWBEM::ProviderEnvironmentIFCRef env,
const char *  provIdString
[protected, virtual]
 

Definition at line 334 of file OWBI1_ProviderIFC.cpp.

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

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

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

Definition at line 294 of file OWBI1_ProviderIFC.cpp.

References loadProviders().

void OWBI1::BI1ProviderIFC::doShuttingDown const OpenWBEM::ProviderEnvironmentIFCRef env  )  [protected, virtual]
 

Definition at line 847 of file OWBI1_ProviderIFC.cpp.

References m_guard, m_provs, and OWBI1::wrapProvEnv().

void OWBI1::BI1ProviderIFC::doUnloadProviders const OpenWBEM::ProviderEnvironmentIFCRef env  )  [protected, virtual]
 

Definition at line 811 of file OWBI1_ProviderIFC.cpp.

References OWBI1::COMPONENT_NAME(), m_guard, m_provs, OW_DEFAULT_OWBI1IFC_PROV_TTL, OW_LOG_INFO, OW_NAMESPACE::ConfigOpts::OWBI1IFC_PROV_TTL_opt, and OWBI1::DateTime::setToCurrent().

virtual const char* OWBI1::BI1ProviderIFC::getName  )  const [inline, protected, virtual]
 

Definition at line 74 of file OWBI1_ProviderIFC.hpp.

BI1ProviderBaseIFCRef OWBI1::BI1ProviderIFC::getProvider const OpenWBEM::ProviderEnvironmentIFCRef env,
const char *  provIdString,
StoreProviderFlag  = storeProvider,
InitializeProviderFlag  = initializeProvider
[private]
 

Definition at line 707 of file OWBI1_ProviderIFC.cpp.

References dontInitializeProvider, dontStoreProvider, initializeProvider, m_guard, m_provs, OW_ASSERT, and storeProvider.

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

BI1ProviderBaseIFCRef OWBI1::BI1ProviderIFC::loadProvider const OpenWBEM::String &  libName,
OpenWBEM::LoggerRef  logger
[static]
 

Definition at line 648 of file OWBI1_ProviderIFC.cpp.

References OW_FILENAME_SEPARATOR, OW_LOG_DEBUG, OW_LOG_ERROR, and OW_SHAREDLIB_EXTENSION.

void OWBI1::BI1ProviderIFC::loadProviders const OpenWBEM::ProviderEnvironmentIFCRef env,
OpenWBEM::InstanceProviderInfoArray i,
OpenWBEM::SecondaryInstanceProviderInfoArray si,
OpenWBEM::AssociatorProviderInfoArray a,
OpenWBEM::MethodProviderInfoArray m,
OpenWBEM::IndicationProviderInfoArray ind
[private]
 

Definition at line 472 of file OWBI1_ProviderIFC.cpp.

References OWBI1::COMPONENT_NAME(), OWBI1::convertAssociatorProviderInfo(), OWBI1::convertIndicationProviderInfo(), OWBI1::convertInstanceProviderInfo(), OWBI1::convertMethodProviderInfo(), OWBI1::convertSecondaryInstanceProviderInfo(), dontInitializeProvider, dontStoreProvider, OWBI1::BI1AssociatorProviderIFC::getAssociatorProviderInfo(), OW_NAMESPACE::FileSystem::getDirectoryContents(), OWBI1::BI1IndicationProviderIFC::getIndicationProviderInfo(), OWBI1::BI1InstanceProviderIFC::getInstanceProviderInfo(), OWBI1::BI1MethodProviderIFC::getMethodProviderInfo(), getProvider(), OWBI1::BI1SecondaryInstanceProviderIFC::getSecondaryInstanceProviderInfo(), i, OW_NAMESPACE::FileSystem::isLink(), m_guard, m_indicationExportProviders, m_loadDone, m_polledProviders, m_provs, OW_DEFAULT_OWBI1IFC_PROV_LOCATION, OW_FILENAME_SEPARATOR, OW_LOG_DEBUG, OW_LOG_ERROR, OW_LOG_INFO, OW_PATHNAME_SEPARATOR, OW_SHAREDLIB_EXTENSION, OW_THROW, OW_NAMESPACE::ConfigOpts::OWBI1IFC_PROV_LOCATION_opt, OWBI1::MethodProviderInfo::setProviderName(), OWBI1::ProviderInfoBase< ClassInfoT >::setProviderName(), and OWBI1::wrapProvEnv().

Referenced by doInit().


Member Data Documentation

const char *const OWBI1::BI1ProviderIFC::CREATIONFUNC = "createProvider" [static]
 

Definition at line 66 of file OWBI1_ProviderIFC.hpp.

OpenWBEM::Mutex OWBI1::BI1ProviderIFC::m_guard [private]
 

Definition at line 148 of file OWBI1_ProviderIFC.hpp.

Referenced by doShuttingDown(), doUnloadProviders(), getProvider(), and loadProviders().

OpenWBEM::IndicationExportProviderIFCRefArray OWBI1::BI1ProviderIFC::m_indicationExportProviders [private]
 

Definition at line 149 of file OWBI1_ProviderIFC.hpp.

Referenced by doGetIndicationExportProviders(), loadProviders(), and ~BI1ProviderIFC().

IndicationProviderMap OWBI1::BI1ProviderIFC::m_indicationProviders [private]
 

Definition at line 147 of file OWBI1_ProviderIFC.hpp.

Referenced by doGetIndicationProvider().

bool OWBI1::BI1ProviderIFC::m_loadDone [private]
 

Definition at line 151 of file OWBI1_ProviderIFC.hpp.

Referenced by loadProviders().

OpenWBEM::PolledProviderIFCRefArray OWBI1::BI1ProviderIFC::m_polledProviders [private]
 

Definition at line 150 of file OWBI1_ProviderIFC.hpp.

Referenced by doGetPolledProviders(), loadProviders(), and ~BI1ProviderIFC().

ProviderMap OWBI1::BI1ProviderIFC::m_provs [private]
 

Definition at line 146 of file OWBI1_ProviderIFC.hpp.

Referenced by doShuttingDown(), doUnloadProviders(), getProvider(), loadProviders(), and ~BI1ProviderIFC().


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