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

Diff for /pegasus/src/Pegasus/ProviderManager2/JMPI/JMPIProvider.h between version 1.1 and 1.8

version 1.1, 2004/04/30 10:27:25 version 1.8, 2006/02/08 23:17:23
Line 1 
Line 1 
 //%/////////////////////////////////////////////////////////////////////////////  //%2006////////////////////////////////////////////////////////////////////////
 // //
 // Copyright (c) 2000 - 2003 BMC Software, Hewlett-Packard Company, IBM,  // Copyright (c) 2000, 2001, 2002 BMC Software; Hewlett-Packard Development
 // The Open Group, Tivoli Systems  // Company, L.P.; IBM Corp.; The Open Group; Tivoli Systems.
   // Copyright (c) 2003 BMC Software; Hewlett-Packard Development Company, L.P.;
   // IBM Corp.; EMC Corporation, The Open Group.
   // Copyright (c) 2004 BMC Software; Hewlett-Packard Development Company, L.P.;
   // 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 16 
Line 24 
 // LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR // LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
 // PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT // PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
 // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
 // ACTION OF CONTRgACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION  // ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 // //
 //============================================================================== //==============================================================================
Line 122 
Line 130 
 // allow provider manager to unload when idle // allow provider manager to unload when idle
     virtual void unprotect(void);     virtual void unprotect(void);
  
       /**
           Increments the count of current subscriptions for this provider, and
           determines if there were no current subscriptions before the increment.
           If there were no current subscriptions before the increment, the first
           subscription has been created, and the provider's enableIndications
           method should be called.
   
           @return  True, if before the increment there were no current
                          subscriptions for this provider;
                    False, otherwise
        */
       Boolean testIfZeroAndIncrementSubscriptions ();
   
       /**
           Decrements the count of current subscriptions for this provider, and
           determines if there are no current subscriptions after the decrement.
           If there are no current subscriptions after the decrement, the last
           subscription has been deleted, and the provider's disableIndications
           method should be called.
   
           @return  True, if after the decrement there are no current subscriptions
                          for this provider;
                    False, otherwise
        */
       Boolean decrementSubscriptionsAndTestIfZero ();
   
       /**
           Determines if there are current subscriptions for this provider.
   
           @return  True, if there is at least one current subscription
                          for this provider;
                    False, otherwise
        */
       Boolean testSubscriptions ();
   
       /**
           Resets the count of current subscriptions for the indication provider.
        */
       void resetSubscriptions ();
   
       /**
           Sets the provider instance for the provider.
   
           Note: the provider instance is set only for an indication provider, and
           is set when a Create Subscription request is processed for the provider.
   
           @param  instance  the Provider CIMInstance for the provider
        */
       void setProviderInstance (const CIMInstance & instance);
   
       /**
           Gets the provider instance for the provider.
   
           Note: the provider instance is set only for an indication provider, and
           only if a Create Subscription request has been processed for the
           provider.
   
           @return  the Provider CIMInstance for the provider
        */
       CIMInstance getProviderInstance ();
   
 protected: protected:
     Status _status;     Status _status;
     JMPIProviderModule *_module;     JMPIProviderModule *_module;
Line 133 
Line 202 
     friend class JMPILocalProviderManager;     friend class JMPILocalProviderManager;
     friend class JMPIProviderManager;     friend class JMPIProviderManager;
     friend class ProviderManagerService;     friend class ProviderManagerService;
 //    friend class OpProviderHolder;      class OpProviderHolder;
       friend class OpProviderHolder;
       mutable Mutex _cimomMutex;
       /* NOTE:  This is a C++ provider only handle which is currently
       **        used for calls to ->getClass ().  getClass returns
       **        immediately with data and is therefore safe to lock.
       */
     CIMOMHandle *_cimom_handle;     CIMOMHandle *_cimom_handle;
       /* NOTE:  This is the java provider's handle and is left
       **        untouched.
       */
       CIMOMHandle *_java_cimom_handle;
     void *jProviderClass,*jProvider;     void *jProviderClass,*jProvider;
     String _name;     String _name;
     AtomicInt _no_unload;     AtomicInt _no_unload;
     CMPIResolverModule *_rm;     CMPIResolverModule *_rm;
     Uint32 _quantum;     Uint32 _quantum;
     AtomicInt _current_operations;     AtomicInt _current_operations;
       mutable Mutex _statusMutex;
   
       /**
           Count of current subscriptions for this provider.  Access to this
           data member is controlled by the _currentSubscriptionsLock.
        */
       Uint32 _currentSubscriptions;
   
       /**
           A mutex to control access to the _currentSubscriptions member variable.
           Before any access (test, increment, decrement or reset) of the
           _currentSubscriptions member variable, the _currentSubscriptionsMutex is
           first locked.
        */
       Mutex _currentSubscriptionsMutex;
   
       /**
           The Provider CIMInstance for the provider.
           The Provider CIMInstance is set only for indication providers, and only
           if a Create Subscription request has been processed for the provider.
           The Provider CIMInstance is needed in order to construct the
           EnableIndicationsResponseHandler to send to the indication provider
           when the provider's enableIndications() method is called.
           The Provider CIMInstance is needed in the
           EnableIndicationsResponseHandler in order to construct the Process
           Indication request when an indication is delivered by the provider.
           The Provider CIMInstance is needed in the Process Indication request
           to enable the Indication Service to determine if the provider that
           generated the indication accepted a matching subscription.
        */
       CIMInstance _providerInstance;
 //}; //};
  
  


Legend:
Removed from v.1.1  
changed lines
  Added in v.1.8

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2