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

Diff for /pegasus/src/Pegasus/ProviderManager2/JMPI/JMPIProviderManager.h between version 1.16.8.1 and 1.24

version 1.16.8.1, 2006/02/10 16:12:03 version 1.24, 2006/09/20 20:47:44
Line 29 
Line 29 
 // //
 //============================================================================== //==============================================================================
 // //
 // Author:      Adrian Schuur, schuur@de.ibm.com  
 //  
 // Modified By:  
 //  
 //%///////////////////////////////////////////////////////////////////////////// //%/////////////////////////////////////////////////////////////////////////////
  
 #ifndef Pegasus_JMPIProviderManager_h #ifndef Pegasus_JMPIProviderManager_h
Line 40 
Line 36 
  
 #include <Pegasus/Common/Config.h> #include <Pegasus/Common/Config.h>
 #include <Pegasus/Common/HashTable.h> #include <Pegasus/Common/HashTable.h>
 #include <Pegasus/ProviderManager2/ProviderRegistrarInitializer.h>  
 #include <Pegasus/ProviderManager2/ProviderName.h> #include <Pegasus/ProviderManager2/ProviderName.h>
 #include <Pegasus/ProviderManager2/ProviderManager.h> #include <Pegasus/ProviderManager2/ProviderManager.h>
 #include <Pegasus/Server/Linkage.h> #include <Pegasus/Server/Linkage.h>
 #include <Pegasus/Config/ConfigManager.h> #include <Pegasus/Config/ConfigManager.h>
 #include <Pegasus/ProviderManager2/OperationResponseHandler.h> #include <Pegasus/ProviderManager2/OperationResponseHandler.h>
 #include <Pegasus/Common/OperationContextInternal.h> #include <Pegasus/Common/OperationContextInternal.h>
   #include <Pegasus/ProviderManager2/JMPI/Linkage.h>
   #include <Pegasus/ProviderManager2/JMPI/JMPIProvider.h>
 #include <Pegasus/ProviderManager2/JMPI/JMPILocalProviderManager.h> #include <Pegasus/ProviderManager2/JMPI/JMPILocalProviderManager.h>
 #include <Pegasus/Provider/CIMOMHandleQueryContext.h> #include <Pegasus/Provider/CIMOMHandleQueryContext.h>
   #include <Pegasus/WQL/WQLSelectStatement.h>
   #include <Pegasus/WQL/WQLParser.h>
  
 PEGASUS_NAMESPACE_BEGIN PEGASUS_NAMESPACE_BEGIN
  
 struct CMPI_SelectExp;  class PEGASUS_JMPIPM_LINKAGE JMPIProviderManager : public ProviderManager
   
 class PEGASUS_SERVER_LINKAGE JMPIProviderManager : public ProviderManager  
 { {
 public: public:
     enum Mode {      JMPIProviderManager();
        CMPI_MODE,  
        CMPI_R_MODE,  
        CMPI_O_MODE  
     };  
   
     Mode getMode() { return mode; }  
     JMPIProviderManager(Mode=CMPI_MODE);  
     virtual ~JMPIProviderManager(void);     virtual ~JMPIProviderManager(void);
  
     virtual Boolean insertProvider(const ProviderName & providerName,     virtual Boolean insertProvider(const ProviderName & providerName,
Line 77 
Line 67 
     virtual Boolean hasActiveProviders();     virtual Boolean hasActiveProviders();
     virtual void unloadIdleProviders();     virtual void unloadIdleProviders();
  
    struct indProvRecord {      class indProvRecord
       indProvRecord() : enabled(false), count(1), handler(NULL), ctx(NULL) {}      {
       public:
           indProvRecord ()
           {
              enabled   = false;
              count     = 0;
              ctx       = NULL;
              handler   = NULL;
           }
   
           mutable Mutex                     mutex;
       Boolean enabled;       Boolean enabled;
       int count;       int count;
       EnableIndicationsResponseHandler* handler;  
       OperationContext* ctx;       OperationContext* ctx;
           EnableIndicationsResponseHandler *handler;
    };    };
  
       class indSelectRecord
       {
       public:
           indSelectRecord ()
           {
               qContext = NULL;
           }
  
    struct indSelectRecord {  
       indSelectRecord() : eSelx(NULL) {}  
       CMPI_SelectExp *eSelx;  
           CIMOMHandleQueryContext *qContext;           CIMOMHandleQueryContext *qContext;
           String                   query;
           String                   queryLanguage;
           CIMPropertyList          propertyList;
    };    };
  
    typedef HashTable<String,indProvRecord*,  EqualFunc<String>,HashFunc<String> > IndProvTab;    typedef HashTable<String,indProvRecord*,  EqualFunc<String>,HashFunc<String> > IndProvTab;
    typedef HashTable<String,indSelectRecord*,EqualFunc<String>,HashFunc<String> > IndSelectTab;    typedef HashTable<String,indSelectRecord*,EqualFunc<String>,HashFunc<String> > IndSelectTab;
    typedef HashTable<String,ProviderName,EqualFunc<String>,HashFunc<String> > ProvRegistrar;    typedef HashTable<String,ProviderName,EqualFunc<String>,HashFunc<String> > ProvRegistrar;
  
       static Mutex         mutexProvTab;
    static IndProvTab provTab;    static IndProvTab provTab;
       static Mutex         mutexSelxTab;
    static IndSelectTab selxTab;    static IndSelectTab selxTab;
       static Mutex         mutexProvReg;
    static ProvRegistrar provReg;    static ProvRegistrar provReg;
  
 protected: protected:
     JMPILocalProviderManager providerManager;     JMPILocalProviderManager providerManager;
     Mode mode;  
  
     Message * handleUnsupportedRequest(const Message * message) throw();     Message * handleUnsupportedRequest(const Message * message) throw();
  
Line 142 
Line 151 
  
 private: private:
     void debugPrintMethodPointers (JNIEnv *env, jclass jc);     void debugPrintMethodPointers (JNIEnv *env, jclass jc);
       bool getInterfaceType         (ProviderIdContainer pidc,
                                      String&             interfaceType,
                                      String&             interfaceVersion);
       bool interfaceIsUsed          (JNIEnv             *env,
                                      jobject             jObject,
                                      String              searchInterfaceName);
  
     static int trace;     static int trace;
 }; };


Legend:
Removed from v.1.16.8.1  
changed lines
  Added in v.1.24

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2