OW_NAMESPACE::ProviderIFCBaseIFC Class Reference

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

#include <OW_ProviderIFCBaseIFC.hpp>

Inheritance diagram for OW_NAMESPACE::ProviderIFCBaseIFC:

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

Collaboration graph
[legend]
List of all members.

Public Member Functions

 ProviderIFCBaseIFC ()
virtual ~ProviderIFCBaseIFC ()
virtual const char * getName () const =0
 Return the provider's name.
void init (const ProviderEnvironmentIFCRef &env, InstanceProviderInfoArray &i, SecondaryInstanceProviderInfoArray &si, AssociatorProviderInfoArray &a, MethodProviderInfoArray &m, IndicationProviderInfoArray &ind)
 Called when the provider manager loads the interface.
InstanceProviderIFCRef getInstanceProvider (const ProviderEnvironmentIFCRef &env, const char *provIdString)
 Locate an Instance provider.
SecondaryInstanceProviderIFCRef getSecondaryInstanceProvider (const ProviderEnvironmentIFCRef &env, const char *provIdString)
 Locate an Secondary Instance provider.
MethodProviderIFCRef getMethodProvider (const ProviderEnvironmentIFCRef &env, const char *provIdString)
 Locate a Method provider.
AssociatorProviderIFCRef getAssociatorProvider (const ProviderEnvironmentIFCRef &env, const char *provIdString)
 Locate an Associator provider.
IndicationExportProviderIFCRefArray getIndicationExportProviders (const ProviderEnvironmentIFCRef &env)
PolledProviderIFCRefArray getPolledProviders (const ProviderEnvironmentIFCRef &env)
void unloadProviders (const ProviderEnvironmentIFCRef &env)
 Unload providers in memory that haven't been used for a while.
IndicationProviderIFCRef getIndicationProvider (const ProviderEnvironmentIFCRef &env, const char *provIdString)
 Locate an Indication provider.
void shuttingDown (const ProviderEnvironmentIFCRef &env)

Public Attributes

const UInt32 signature
 This public data member is to allow openwbem to easily check to make sure that the provider interface is valid.

Protected Member Functions

virtual void doInit (const ProviderEnvironmentIFCRef &env, InstanceProviderInfoArray &i, SecondaryInstanceProviderInfoArray &si, AssociatorProviderInfoArray &a, MethodProviderInfoArray &m, IndicationProviderInfoArray &ind)=0
 The derived classes must override these functions to implement the desired functionality.
virtual InstanceProviderIFCRef doGetInstanceProvider (const ProviderEnvironmentIFCRef &env, const char *provIdString)
virtual SecondaryInstanceProviderIFCRef doGetSecondaryInstanceProvider (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 IndicationExportProviderIFCRefArray doGetIndicationExportProviders (const ProviderEnvironmentIFCRef &env)
virtual PolledProviderIFCRefArray doGetPolledProviders (const ProviderEnvironmentIFCRef &env)
virtual IndicationProviderIFCRef doGetIndicationProvider (const ProviderEnvironmentIFCRef &env, const char *provIdString)
virtual void doUnloadProviders (const ProviderEnvironmentIFCRef &env)
virtual void doShuttingDown (const ProviderEnvironmentIFCRef &env)

Detailed Description

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

It's main function is location and creation. This is a base class, and the derived classes each will implement a certain interface to different providers, such as perl, java, python, etc. The derived classes have to be built into shared libraries that will then be loaded at runtime.

Each Derived ProviderIFC must implement the following code:

OW_PROVIDERIFCFACTORY(DerivedProviderIFC);

Each provider interface must be compiled into it's own shared library.

It is recommended that all type and data declarations in the provider be declared inside an anonymous namespace to prevent possible identifier collisions between providers or the openwbem libraries.

Definition at line 80 of file OW_ProviderIFCBaseIFC.hpp.


Constructor & Destructor Documentation

OW_NAMESPACE::ProviderIFCBaseIFC::ProviderIFCBaseIFC  ) 
 

Definition at line 43 of file OW_ProviderIFCBaseIFC.cpp.

OW_NAMESPACE::ProviderIFCBaseIFC::~ProviderIFCBaseIFC  )  [virtual]
 

Definition at line 48 of file OW_ProviderIFCBaseIFC.cpp.


Member Function Documentation

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

Reimplemented in OW_NAMESPACE::CMPIProviderIFC, OW_NAMESPACE::CppProviderIFC, OW_NAMESPACE::NPIProviderIFC, OW_NAMESPACE::PerlProviderIFC, and OW_NAMESPACE::RemoteProviderInterface.

Definition at line 158 of file OW_ProviderIFCBaseIFC.cpp.

References OW_THROW.

Referenced by getAssociatorProvider().

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

Reimplemented in OW_NAMESPACE::CMPIProviderIFC, OW_NAMESPACE::CppProviderIFC, OW_NAMESPACE::NPIProviderIFC, and OW_NAMESPACE::PerlProviderIFC.

Definition at line 167 of file OW_ProviderIFCBaseIFC.cpp.

Referenced by getIndicationExportProviders().

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

Reimplemented in OW_NAMESPACE::CMPIProviderIFC, OW_NAMESPACE::CppProviderIFC, OW_NAMESPACE::NPIProviderIFC, and OW_NAMESPACE::PerlProviderIFC.

Definition at line 183 of file OW_ProviderIFCBaseIFC.cpp.

References OW_THROW.

Referenced by getIndicationProvider().

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

Reimplemented in OW_NAMESPACE::CMPIProviderIFC, OW_NAMESPACE::CppProviderIFC, OW_NAMESPACE::NPIProviderIFC, OW_NAMESPACE::PerlProviderIFC, and OW_NAMESPACE::RemoteProviderInterface.

Definition at line 136 of file OW_ProviderIFCBaseIFC.cpp.

References OW_THROW.

Referenced by getInstanceProvider().

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

Reimplemented in OW_NAMESPACE::CMPIProviderIFC, OW_NAMESPACE::CppProviderIFC, OW_NAMESPACE::NPIProviderIFC, OW_NAMESPACE::PerlProviderIFC, and OW_NAMESPACE::RemoteProviderInterface.

Definition at line 150 of file OW_ProviderIFCBaseIFC.cpp.

References OW_THROW.

Referenced by getMethodProvider().

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

Reimplemented in OW_NAMESPACE::CMPIProviderIFC, OW_NAMESPACE::CppProviderIFC, OW_NAMESPACE::NPIProviderIFC, and OW_NAMESPACE::PerlProviderIFC.

Definition at line 175 of file OW_ProviderIFCBaseIFC.cpp.

Referenced by getPolledProviders().

SecondaryInstanceProviderIFCRef OW_NAMESPACE::ProviderIFCBaseIFC::doGetSecondaryInstanceProvider const ProviderEnvironmentIFCRef env,
const char *  provIdString
[protected, virtual]
 

Reimplemented in OW_NAMESPACE::CppProviderIFC, and OW_NAMESPACE::RemoteProviderInterface.

Definition at line 143 of file OW_ProviderIFCBaseIFC.cpp.

References OW_THROW.

Referenced by getSecondaryInstanceProvider().

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

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

Implemented in OW_NAMESPACE::CMPIProviderIFC, OW_NAMESPACE::CppProviderIFC, OW_NAMESPACE::NPIProviderIFC, OW_NAMESPACE::PerlProviderIFC, and OW_NAMESPACE::RemoteProviderInterface.

Referenced by init().

void OW_NAMESPACE::ProviderIFCBaseIFC::doShuttingDown const ProviderEnvironmentIFCRef env  )  [protected, virtual]
 

Reimplemented in OW_NAMESPACE::CppProviderIFC.

Definition at line 196 of file OW_ProviderIFCBaseIFC.cpp.

Referenced by shuttingDown().

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

Reimplemented in OW_NAMESPACE::CMPIProviderIFC, OW_NAMESPACE::CppProviderIFC, OW_NAMESPACE::NPIProviderIFC, and OW_NAMESPACE::PerlProviderIFC.

Definition at line 191 of file OW_ProviderIFCBaseIFC.cpp.

Referenced by unloadProviders().

AssociatorProviderIFCRef OW_NAMESPACE::ProviderIFCBaseIFC::getAssociatorProvider const ProviderEnvironmentIFCRef env,
const char *  provIdString
 

Locate an Associator provider.

Parameters:
provIdString The provider interface specific string. The provider interface will use this to identify the provider being requested.
Returns:
A ref counted AssociatorProvider. If the provider is not found, then an NoSuchProviderException is thrown.

Definition at line 94 of file OW_ProviderIFCBaseIFC.cpp.

References doGetAssociatorProvider(), and env.

IndicationExportProviderIFCRefArray OW_NAMESPACE::ProviderIFCBaseIFC::getIndicationExportProviders const ProviderEnvironmentIFCRef env  ) 
 

Returns:
all available indication export providers from the available provider interfaces.

Definition at line 102 of file OW_ProviderIFCBaseIFC.cpp.

References doGetIndicationExportProviders(), and env.

IndicationProviderIFCRef OW_NAMESPACE::ProviderIFCBaseIFC::getIndicationProvider const ProviderEnvironmentIFCRef env,
const char *  provIdString
 

Locate an Indication provider.

Parameters:
provIdString The provider interface specific string. The provider interface will use this to identify the provider being requested.
Returns:
A ref counted IndicationProvider. If the provider is not found, then an NoSuchProviderException is thrown.

Definition at line 123 of file OW_ProviderIFCBaseIFC.cpp.

References doGetIndicationProvider(), and env.

InstanceProviderIFCRef OW_NAMESPACE::ProviderIFCBaseIFC::getInstanceProvider const ProviderEnvironmentIFCRef env,
const char *  provIdString
 

Locate an Instance provider.

Parameters:
provIdString The provider interface specific string. The provider interface will use this to identify the provider being requested.
Returns:
A ref counted InstanceProvider. If the provider is not found, then an NoSuchProviderException is thrown.

Definition at line 72 of file OW_ProviderIFCBaseIFC.cpp.

References doGetInstanceProvider(), and env.

MethodProviderIFCRef OW_NAMESPACE::ProviderIFCBaseIFC::getMethodProvider const ProviderEnvironmentIFCRef env,
const char *  provIdString
 

Locate a Method provider.

Parameters:
provIdString The provider interface specific string. The provider interface will use this to identify the provider being requested.
Returns:
A ref counted MethodProvider. If the provider is not found, then an NoSuchProviderException is thrown.

Definition at line 86 of file OW_ProviderIFCBaseIFC.cpp.

References doGetMethodProvider(), and env.

virtual const char* OW_NAMESPACE::ProviderIFCBaseIFC::getName  )  const [pure 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.

Implemented in OW_NAMESPACE::CMPIProviderIFC, OW_NAMESPACE::CppProviderIFC, OW_NAMESPACE::NPIProviderIFC, OW_NAMESPACE::PerlProviderIFC, and OW_NAMESPACE::RemoteProviderInterface.

PolledProviderIFCRefArray OW_NAMESPACE::ProviderIFCBaseIFC::getPolledProviders const ProviderEnvironmentIFCRef env  ) 
 

Returns:
all available indication trigger providers from the available provider interfaces.

Definition at line 110 of file OW_ProviderIFCBaseIFC.cpp.

References doGetPolledProviders(), and env.

SecondaryInstanceProviderIFCRef OW_NAMESPACE::ProviderIFCBaseIFC::getSecondaryInstanceProvider const ProviderEnvironmentIFCRef env,
const char *  provIdString
 

Locate an Secondary Instance provider.

Parameters:
provIdString The provider interface specific string. The provider interface will use this to identify the provider being requested.
Returns:
A ref counted SecondaryInstanceProvider. If the provider is not found, then an NoSuchProviderException is thrown.

Definition at line 79 of file OW_ProviderIFCBaseIFC.cpp.

References doGetSecondaryInstanceProvider(), and env.

void OW_NAMESPACE::ProviderIFCBaseIFC::init const ProviderEnvironmentIFCRef env,
InstanceProviderInfoArray i,
SecondaryInstanceProviderInfoArray si,
AssociatorProviderInfoArray a,
MethodProviderInfoArray m,
IndicationProviderInfoArray ind
 

Called when the provider manager loads the interface.

Definition at line 53 of file OW_ProviderIFCBaseIFC.cpp.

References doInit(), env, and i.

void OW_NAMESPACE::ProviderIFCBaseIFC::shuttingDown const ProviderEnvironmentIFCRef env  ) 
 

Definition at line 129 of file OW_ProviderIFCBaseIFC.cpp.

References doShuttingDown(), and env.

void OW_NAMESPACE::ProviderIFCBaseIFC::unloadProviders const ProviderEnvironmentIFCRef env  ) 
 

Unload providers in memory that haven't been used for a while.

Definition at line 117 of file OW_ProviderIFCBaseIFC.cpp.

References doUnloadProviders(), and env.


Member Data Documentation

const UInt32 OW_NAMESPACE::ProviderIFCBaseIFC::signature
 

This public data member is to allow openwbem to easily check to make sure that the provider interface is valid.

Since it will be compiled into a shared library, openwbem cannot trust the code it loads.

Definition at line 97 of file OW_ProviderIFCBaseIFC.hpp.


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