(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.9 and 1.17.2.2

version 1.9, 2004/10/17 20:40:04 version 1.17.2.2, 2006/05/17 20:57:39
Line 1 
Line 1 
 //%2004////////////////////////////////////////////////////////////////////////  //%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 6 
Line 6 
 // IBM Corp.; EMC Corporation, The Open Group. // IBM Corp.; EMC Corporation, The Open Group.
 // Copyright (c) 2004 BMC Software; Hewlett-Packard Development Company, L.P.; // Copyright (c) 2004 BMC Software; Hewlett-Packard Development Company, L.P.;
 // 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.;
   // 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 36 
Line 40 
  
 #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>
Line 44 
Line 47 
 #include <Pegasus/ProviderManager2/OperationResponseHandler.h> #include <Pegasus/ProviderManager2/OperationResponseHandler.h>
 #include <Pegasus/Common/OperationContextInternal.h> #include <Pegasus/Common/OperationContextInternal.h>
 #include <Pegasus/ProviderManager2/JMPI/JMPILocalProviderManager.h> #include <Pegasus/ProviderManager2/JMPI/JMPILocalProviderManager.h>
   #include <Pegasus/Provider/CIMOMHandleQueryContext.h>
  
 PEGASUS_NAMESPACE_BEGIN PEGASUS_NAMESPACE_BEGIN
  
 class CMPI_SelectExp;  struct CMPI_SelectExp;
  
 class PEGASUS_SERVER_LINKAGE JMPIProviderManager : public ProviderManager class PEGASUS_SERVER_LINKAGE JMPIProviderManager : public ProviderManager
 { {
Line 72 
Line 76 
     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 ()
           {
               eSelx    = NULL;
               qContext = NULL;
           }
  
    struct indSelectRecord {  
       indSelectRecord() : eSelx(NULL) {}  
       CMPI_SelectExp *eSelx;       CMPI_SelectExp *eSelx;
                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:
Line 107 
Line 134 
     Message * handleModifyInstanceRequest(const Message * message) throw();     Message * handleModifyInstanceRequest(const Message * message) throw();
     Message * handleDeleteInstanceRequest(const Message * message) throw();     Message * handleDeleteInstanceRequest(const Message * message) throw();
  
 /*    Message * handleExecuteQueryRequest(const Message * message) throw();      Message * handleExecQueryRequest(const Message * message) throw();
  
 */    Message * handleAssociatorsRequest(const Message * message) throw();      Message * handleAssociatorsRequest(const Message * message) throw();
     Message * handleAssociatorNamesRequest(const Message * message) throw();     Message * handleAssociatorNamesRequest(const Message * message) throw();
     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();
  
     Message * handleCreateSubscriptionRequest(const Message * message) throw();     Message * handleCreateSubscriptionRequest(const Message * message) throw();
 //    Message * handleModifySubscriptionRequest(const Message * message) throw();  ////Message * handleModifySubscriptionRequest(const Message * message) throw();
     Message * handleDeleteSubscriptionRequest(const Message * message) throw();     Message * handleDeleteSubscriptionRequest(const Message * message) throw();
     Message * handleEnableIndicationsRequest(const Message * message) throw();  
     Message * handleDisableIndicationsRequest(const Message * message) throw();  
  
 //  Not supported by CMPI  ////Not supported by JMPI
 //    Message * handleExportIndicationRequest(const Message * message) throw();  ////Message * handleExportIndicationRequest(const Message * message) throw();
  
     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 * handleInitializeProviderRequest(const Message * message);
       Message * handleSubscriptionInitCompleteRequest (const Message * message);
  
     ProviderName _resolveProviderName(const ProviderIdContainer & providerId);     ProviderName _resolveProviderName(const ProviderIdContainer & providerId);
   
   private:
       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;
 }; };
  
 PEGASUS_NAMESPACE_END PEGASUS_NAMESPACE_END


Legend:
Removed from v.1.9  
changed lines
  Added in v.1.17.2.2

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2