(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.15 and 1.26

version 1.15, 2005/05/22 21:50:55 version 1.26, 2008/01/30 12:06:31
Line 1 
Line 1 
 //%2005////////////////////////////////////////////////////////////////////////  //%2006////////////////////////////////////////////////////////////////////////
 // //
 // Copyright (c) 2000, 2001, 2002 BMC Software; Hewlett-Packard Development // Copyright (c) 2000, 2001, 2002 BMC Software; Hewlett-Packard Development
 // Company, L.P.; IBM Corp.; The Open Group; Tivoli Systems. // Company, L.P.; IBM Corp.; The Open Group; Tivoli Systems.
Line 8 
Line 8 
 // IBM Corp.; EMC Corporation; VERITAS Software Corporation; The Open Group. // IBM Corp.; EMC Corporation; VERITAS Software Corporation; The Open Group.
 // Copyright (c) 2005 Hewlett-Packard Development Company, L.P.; IBM Corp.; // Copyright (c) 2005 Hewlett-Packard Development Company, L.P.; IBM Corp.;
 // EMC Corporation; VERITAS Software Corporation; The Open Group. // EMC Corporation; VERITAS Software Corporation; The Open Group.
   // Copyright (c) 2006 Hewlett-Packard Development Company, L.P.; IBM Corp.;
   // EMC Corporation; Symantec Corporation; The Open Group.
 // //
 // Permission is hereby granted, free of charge, to any person obtaining a copy // Permission is hereby granted, free of charge, to any person obtaining a copy
 // of this software and associated documentation files (the "Software"), to // of this software and associated documentation files (the "Software"), to
Line 27 
Line 29 
 // //
 //============================================================================== //==============================================================================
 // //
 // Author:      Adrian Schuur, schuur@de.ibm.com  
 //  
 // Modified By:  
 //  
 //%///////////////////////////////////////////////////////////////////////////// //%/////////////////////////////////////////////////////////////////////////////
  
   // NOCHKSRC
   
 #ifndef Pegasus_JMPIProviderManager_h #ifndef Pegasus_JMPIProviderManager_h
 #define Pegasus_JMPIProviderManager_h #define Pegasus_JMPIProviderManager_h
  
 #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 75 
Line 69 
     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();
  
     Message * handleGetInstanceRequest(const Message * message) throw();     Message * handleGetInstanceRequest(const Message * message) throw();
     Message * handleEnumerateInstancesRequest(const Message * message) throw();     Message * handleEnumerateInstancesRequest(const Message * message) throw();
     Message * handleEnumerateInstanceNamesRequest(const Message * message) throw();      Message * handleEnumerateInstanceNamesRequest(
                     const Message * message) throw();
     Message * handleCreateInstanceRequest(const Message * message) throw();     Message * handleCreateInstanceRequest(const Message * message) throw();
     Message * handleModifyInstanceRequest(const Message * message) throw();     Message * handleModifyInstanceRequest(const Message * message) throw();
     Message * handleDeleteInstanceRequest(const Message * message) throw();     Message * handleDeleteInstanceRequest(const Message * message) throw();
Line 118 
Line 132 
     Message * handleReferencesRequest(const Message * message) throw();     Message * handleReferencesRequest(const Message * message) throw();
     Message * handleReferenceNamesRequest(const Message * message) throw();     Message * handleReferenceNamesRequest(const Message * message) throw();
  
 ////Message * handleGetPropertyRequest(const Message * message) throw();      Message * handleGetPropertyRequest(const Message * message) throw();
 ////Message * handleSetPropertyRequest(const Message * message) throw();      Message * handleSetPropertyRequest(const Message * message) throw();
  
     Message * handleInvokeMethodRequest(const Message * message) throw();     Message * handleInvokeMethodRequest(const Message * message) throw();
  
Line 133 
Line 147 
     Message * handleDisableModuleRequest(const Message * message) throw();     Message * handleDisableModuleRequest(const Message * message) throw();
     Message * handleEnableModuleRequest(const Message * message) throw();     Message * handleEnableModuleRequest(const Message * message) throw();
     Message * handleStopAllProvidersRequest(const Message * message) throw();     Message * handleStopAllProvidersRequest(const Message * message) throw();
     Message * handleInitializeProviderRequest(const Message * message);  
     Message * handleSubscriptionInitCompleteRequest (const Message * message);     Message * handleSubscriptionInitCompleteRequest (const Message * message);
  
     ProviderName _resolveProviderName(const ProviderIdContainer & providerId);     ProviderName _resolveProviderName(const ProviderIdContainer & providerId);
  
 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.15  
changed lines
  Added in v.1.26

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2