(file) Return to DefaultProviderManager.h CVS log (file) (dir) Up to [Pegasus] / pegasus / src / Pegasus / ProviderManager2 / Default

Diff for /pegasus/src/Pegasus/ProviderManager2/Default/DefaultProviderManager.h between version 1.27 and 1.28

version 1.27, 2006/08/25 18:00:06 version 1.28, 2006/08/29 17:48:56
Line 44 
Line 44 
  
 #include <Pegasus/ProviderManager2/ProviderManager.h> #include <Pegasus/ProviderManager2/ProviderManager.h>
 #include <Pegasus/ProviderManager2/ProviderName.h> #include <Pegasus/ProviderManager2/ProviderName.h>
 #include <Pegasus/ProviderManager2/OperationResponseHandler.h>  
   
 #include <Pegasus/ProviderManager2/Default/LocalProviderManager.h>  
 #include <Pegasus/ProviderManager2/Default/ProviderFacade.h>  
  
   #include <Pegasus/ProviderManager2/Default/ProviderMessageHandler.h>
 #include <Pegasus/ProviderManager2/Default/Linkage.h> #include <Pegasus/ProviderManager2/Default/Linkage.h>
  
 PEGASUS_NAMESPACE_BEGIN PEGASUS_NAMESPACE_BEGIN
  
 typedef HashTable<String,  
         EnableIndicationsResponseHandler *,  
         EqualFunc<String>,  
         HashFunc<String> > IndicationResponseTable;  
   
 class PEGASUS_DEFPM_LINKAGE DefaultProviderManager : public ProviderManager class PEGASUS_DEFPM_LINKAGE DefaultProviderManager : public ProviderManager
 { {
 public: public:
     DefaultProviderManager(void);      DefaultProviderManager();
     virtual ~DefaultProviderManager(void);      virtual ~DefaultProviderManager();
  
     virtual Message * processMessage(Message * request);     virtual Message * processMessage(Message * request);
  
Line 76 
Line 68 
     // each library would contain a reference to the other).     // each library would contain a reference to the other).
     static ProviderManager* createDefaultProviderManagerCallback();     static ProviderManager* createDefaultProviderManagerCallback();
  
 protected:  private:
     Message * handleUnsupportedRequest(const Message * message);      Message* _handleDisableModuleRequest(Message* message);
       Message* _handleEnableModuleRequest(Message* message);
       Message* _handleStopAllProvidersRequest(Message* message);
       Message* _handleInitializeProviderRequest(Message* message);
       Message* _handleSubscriptionInitCompleteRequest(Message* message);
  
     Message * handleGetInstanceRequest(const Message * message);      ProviderName _resolveProviderName(const ProviderIdContainer & providerId);
     Message * handleEnumerateInstancesRequest(const Message * message);  
     Message * handleEnumerateInstanceNamesRequest(const Message * message);  
     Message * handleCreateInstanceRequest(const Message * message);  
     Message * handleModifyInstanceRequest(const Message * message);  
     Message * handleDeleteInstanceRequest(const Message * message);  
   
     Message * handleExecQueryRequest(const Message * message);  
   
     Message * handleAssociatorsRequest(const Message * message);  
     Message * handleAssociatorNamesRequest(const Message * message);  
     Message * handleReferencesRequest(const Message * message);  
     Message * handleReferenceNamesRequest(const Message * message);  
   
     Message * handleGetPropertyRequest(const Message * message);  
     Message * handleSetPropertyRequest(const Message * message);  
   
     Message * handleInvokeMethodRequest(const Message * message);  
   
     Message * handleCreateSubscriptionRequest(const Message * message);  
     Message * handleModifySubscriptionRequest(const Message * message);  
     Message * handleDeleteSubscriptionRequest(const Message * message);  
   
     Message * handleExportIndicationRequest(const Message * message);  
   
     Message * handleDisableModuleRequest(const Message * message);  
     Message * handleEnableModuleRequest(const Message * message);  
     Message * handleStopAllProvidersRequest(const Message * message);  
     Message * handleInitializeProviderRequest(const Message * message);  
     Message * handleSubscriptionInitCompleteRequest  
         (const Message * message);  
   
     void _insertEntry(  
         const ProviderFacade& provider,  
         EnableIndicationsResponseHandler* handler);  
     EnableIndicationsResponseHandler * _removeEntry(const String & key);  
  
     String _generateKey(const ProviderFacade& provider);      ProviderOperationCounter _getProvider(
     String _generateKey(const String & providerName,const String & providerFileName);          const String& moduleFileName,
           const String& providerName);
  
     ProviderName _resolveProviderName(const ProviderIdContainer & providerId);      ProviderMessageHandler* _lookupProvider(const String& providerName);
  
 protected:      ProviderMessageHandler* _initProvider(
     IndicationResponseTable _responseTable;          ProviderMessageHandler* provider,
     Mutex _responseTableMutex;          const String& moduleFileName);
     LocalProviderManager providerManager;  
  
 private:      ProviderModule* _lookupModule(const String& moduleFileName);
   
       void _shutdownAllProviders();
   
       Sint16 _disableProvider(const String& providerName);
   
       void _unloadProvider(ProviderMessageHandler* provider);
  
     /**     /**
         Calls the provider's enableIndications() method.          The _providerTableMutex must be locked whenever accessing the
         If successful, the indications response handler is stored in the          _providers table or the _modules table.  It is okay to lock a
         _responseTable.          ProviderStatus::_statusMutex while holding the _providerTableMutex,
           but one should never lock the _providerTableMutex while holding
         @param  req_provider  CIMInstance for the provider to be enabled          a ProviderStatus::_statusMutex.
         @param  _indicationCallback  PEGASUS_INDICATION_CALLBACK_T for  
             indications  
         @param  ph  OpProviderHolder for the provider to be enabled  
   
         Note that since an exception thrown by the provider's  
         enableIndications() method is considered a provider error, any such  
         exception is ignored, and no exceptions are thrown by this method.  
      */      */
     void _callEnableIndications      Mutex _providerTableMutex;
         (CIMInstance & req_provider,  
          PEGASUS_INDICATION_CALLBACK_T _indicationCallback,      typedef HashTable<String, ProviderMessageHandler*,
          OpProviderHolder & ph);          EqualFunc<String>,  HashFunc<String> > ProviderTable;
   
       typedef HashTable<String, ProviderModule*,
           EqualFunc<String>, HashFunc<String> > ModuleTable;
   
       ProviderTable _providers;
       ModuleTable _modules;
 }; };
  
 PEGASUS_NAMESPACE_END PEGASUS_NAMESPACE_END


Legend:
Removed from v.1.27  
changed lines
  Added in v.1.28

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2