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

Diff for /pegasus/src/Pegasus/ProviderManager2/CMPI/CMPILocalProviderManager.h between version 1.25 and 1.26

version 1.25, 2009/03/23 07:44:25 version 1.26, 2009/11/16 09:42:17
Line 43 
Line 43 
  
 PEGASUS_NAMESPACE_BEGIN PEGASUS_NAMESPACE_BEGIN
  
   class ProviderKey
   {
   public:
       ProviderKey(
           const String &providerName,
           const String &providerModuleName):
                _providerName(providerName.getCString()),
                _providerModuleName(providerModuleName.getCString())
       {
           _providerNameLen = strlen((const char*)_providerName);
           _providerModuleNameLen = strlen((const char*)_providerModuleName);
       }
   
       ProviderKey( const ProviderKey& key)
       {
           _providerName = key._providerName;
           _providerModuleName = key._providerModuleName;
           _providerNameLen = key._providerNameLen;
           _providerModuleNameLen = key._providerModuleNameLen;
       }
   
       ~ProviderKey()
       {
       }
   
       static Boolean equal(const ProviderKey& key1, const ProviderKey& key2)
       {
           return key1._providerNameLen == key2._providerNameLen &&
               key1._providerModuleNameLen == key2._providerModuleNameLen &&
               !System::strcasecmp(
                    key1._providerName,
                    key2._providerName) &&
               !System::strcasecmp(
                    key1._providerModuleName,
                    key2._providerModuleName);
       }
   
       static Uint32 hash(const ProviderKey& key)
       {
           return (key._providerNameLen << 4) + key._providerModuleNameLen;
       }
   
   private:
       ProviderKey& operator =( const ProviderKey& key);
   
       CString _providerName;
       CString _providerModuleName;
       Uint32 _providerNameLen;
       Uint32 _providerModuleNameLen;
   };
   
 class PEGASUS_CMPIPM_LINKAGE CMPILocalProviderManager class PEGASUS_CMPIPM_LINKAGE CMPILocalProviderManager
 { {
  
Line 53 
Line 104 
 public: public:
     OpProviderHolder getProvider(     OpProviderHolder getProvider(
         const String & fileName,         const String & fileName,
         const String & providerName);          const String & providerName,
           const String & providerModuleName);
  
     OpProviderHolder getRemoteProvider(     OpProviderHolder getRemoteProvider(
         const String & fileName,         const String & fileName,
         const String & providerName);          const String & providerName,
           const String & providerModuleName);
  
     Boolean unloadProvider(     Boolean unloadProvider(
         const String & fileName,         const String & fileName,
         const String & providerName);          const String & providerName,
           const String & providerModuleName);
  
     void shutdownAllProviders();     void shutdownAllProviders();
  
     Boolean hasActiveProviders();     Boolean hasActiveProviders();
     void unloadIdleProviders();     void unloadIdleProviders();
     Boolean isProviderActive(const String &providerName);  
       Boolean isProviderActive(
           const String &providerName,
           const String &providerModuleName);
  
     /**     /**
          Gets list of indication providers to be enabled.          Gets list of indication providers to be enabled.
Line 84 
Line 141 
 private: private:
     enum CTRL     enum CTRL
     {     {
         INSERT_PROVIDER,  
         INSERT_MODULE,  
         LOOKUP_PROVIDER,  
         LOOKUP_MODULE,  
         GET_PROVIDER,         GET_PROVIDER,
         UNLOAD_PROVIDER,         UNLOAD_PROVIDER,
         UNLOAD_ALL_PROVIDERS,         UNLOAD_ALL_PROVIDERS,
Line 97 
Line 150 
     typedef HashTable<String, CMPIProvider *,     typedef HashTable<String, CMPIProvider *,
         EqualFunc<String>,  HashFunc<String> > ResolverTable;         EqualFunc<String>,  HashFunc<String> > ResolverTable;
  
     typedef HashTable<String, CMPIProvider *,      typedef HashTable<ProviderKey, CMPIProvider *,
         EqualFunc<String>,  HashFunc<String> > ProviderTable;          ProviderKey,  ProviderKey > ProviderTable;
  
     typedef HashTable<String, CMPIProviderModule *,     typedef HashTable<String, CMPIProviderModule *,
         EqualFunc<String>, HashFunc<String> > ModuleTable;         EqualFunc<String>, HashFunc<String> > ModuleTable;
Line 106 
Line 159 
     typedef struct     typedef struct
     {     {
         const String *providerName;         const String *providerName;
           const String *providerModuleName;
         const String *fileName;         const String *fileName;
         const String *location;         const String *location;
     } CTRL_STRINGS;     } CTRL_STRINGS;
Line 121 
Line 175 
  
     void _unloadProvider(CMPIProvider * provider, Boolean forceUnload = false);     void _unloadProvider(CMPIProvider * provider, Boolean forceUnload = false);
  
     CMPIProvider * _lookupProvider(const String & providerName);      CMPIProvider * _lookupProvider(
           const String & providerName,
           const String & providerModuleName);
   
       Boolean _removeProvider(
           const String & providerName,
           const String & providerModuleName);
  
     CMPIProviderModule * _lookupModule(const String & moduleFileName);     CMPIProviderModule * _lookupModule(const String & moduleFileName);
     Mutex _providerTableMutex;     Mutex _providerTableMutex;


Legend:
Removed from v.1.25  
changed lines
  Added in v.1.26

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2