#include <OW_ProviderAgent.hpp>
Inheritance diagram for OW_NAMESPACE::ProviderAgent:
Public Member Functions | |
ProviderAgent (const ConfigFile::ConfigMap &configMap, const Array< CppProviderBaseIFCRef > &providers, const Array< CIMClass > &classes, const Array< RequestHandlerIFCRef > &requestHandlers, const AuthenticatorIFCRef &authenticator, const LoggerRef &logger=LoggerRef(), const String &callbackURL=String(""), const ProviderAgentLockerIFCRef &locker=ProviderAgentLockerIFCRef(), const ProviderAgentLifecycleCallbackIFCRef &lifecycleCB=ProviderAgentLifecycleCallbackIFCRef()) | |
Create a new provider agent, and start the HTTP server. | |
virtual | ~ProviderAgent () |
void | shutdownHttpServer () |
Shut down the http server embedded within the ProviderAgent. | |
Static Public Attributes | |
static const char *const | LockingType_opt = "provider_agent.locking_type" |
static const char *const | LockingTypeNone = "none" |
static const char *const | LockingTypeSWMR = "swmr" |
static const char *const | LockingTypeSingleThreaded = "single_threaded" |
static const char *const | LockingTimeout_opt = "provider_agent.locking_timeout" |
static const char *const | DynamicClassRetrieval_opt = "provider_agent.dynamic_class_retrieval" |
static const char *const | UseConnectionCredentials_opt = "provider_agent.use_connection_credentials" |
Private Attributes | |
HTTPServerRef | m_httpServer |
ThreadRef | m_httpThread |
UnnamedPipeRef | m_stopHttpPipe |
ProviderAgentLifecycleCallbackIFCRef | m_lifecycleCB |
Definition at line 59 of file OW_ProviderAgent.hpp.
|
Create a new provider agent, and start the HTTP server. The ProviderAgent can be used as a stand alone process by creating a ProviderAgent within a fairly simple main(), or it can be embedded within an existing daemon or service. A note about the CIMClasses. The ProviderAgent can work in a variety of situations: 1. No classes are available. PA ctor params: classes.empty() && (callbackURL.empty() || configMap[DynamicClassRetrieval_opt] != "true"). A CIMNULL CIMClass will be passed to the providers. 2. All classes are provided initially. PA ctor params: classes contains all the CIM classes which may be needed by the providers. The appropriate class will be passed to the provider as necessary. 3. Classes are retrieved as needed. PA ctor params: !callbackURL.empty() && configMap[DynamicClassRetrieval_opt] == "true". When a request comes in, if the appropriate class cannot be found in the cache, then it will be retrieved from the WBEM server identified by callbackURL.
Definition at line 145 of file OW_ProviderAgent.cpp. References env, logger, m_httpServer, and m_httpThread. |
|
Definition at line 174 of file OW_ProviderAgent.cpp. References shutdownHttpServer(). |
|
Shut down the http server embedded within the ProviderAgent. This function blocks until all threads which may be processing requests have terminated. Definition at line 188 of file OW_ProviderAgent.cpp. References m_httpServer, and m_httpThread. Referenced by ~ProviderAgent(). |
|
Definition at line 84 of file OW_ProviderAgent.hpp. |
|
Definition at line 79 of file OW_ProviderAgent.hpp. |
|
Definition at line 65 of file OW_ProviderAgent.hpp. |
|
Definition at line 68 of file OW_ProviderAgent.hpp. |
|
Definition at line 74 of file OW_ProviderAgent.hpp. |
|
Definition at line 71 of file OW_ProviderAgent.hpp. |
|
Definition at line 166 of file OW_ProviderAgent.hpp. Referenced by ProviderAgent(), and shutdownHttpServer(). |
|
Definition at line 167 of file OW_ProviderAgent.hpp. Referenced by ProviderAgent(), and shutdownHttpServer(). |
|
Definition at line 169 of file OW_ProviderAgent.hpp. |
|
Definition at line 168 of file OW_ProviderAgent.hpp. |
|
Definition at line 89 of file OW_ProviderAgent.hpp. |