(file) Return to ResponseHandler.h CVS log (file) (dir) Up to [Pegasus] / pegasus / src / Pegasus / Common

Diff for /pegasus/src/Pegasus/Common/ResponseHandler.h between version 1.11 and 1.25

version 1.11, 2003/07/20 14:40:35 version 1.25, 2006/01/30 16:17:07
Line 1 
Line 1 
 //%/////////////////////////////////////////////////////////////////////////////  //%2006////////////////////////////////////////////////////////////////////////
 // //
 // Copyright (c) 2000, 2001, 2002 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 21 
Line 29 
 // //
 //============================================================================== //==============================================================================
 // //
 // Author: Chip Vincent (cvincent@us.ibm.com)  
 //  
 // Modified By: Roger Kumpf, Hewlett-Packard Company (roger_kumpf@hp.com)  
 //  
 //%///////////////////////////////////////////////////////////////////////////// //%/////////////////////////////////////////////////////////////////////////////
  
 #ifndef Pegasus_ResponseHandler_h #ifndef Pegasus_ResponseHandler_h
Line 42 
Line 46 
 #include <Pegasus/Common/CIMObject.h> #include <Pegasus/Common/CIMObject.h>
 #include <Pegasus/Common/CIMClass.h> #include <Pegasus/Common/CIMClass.h>
 #include <Pegasus/Common/OperationContext.h> #include <Pegasus/Common/OperationContext.h>
 #include <Pegasus/Common/ContentLanguages.h>  //l10n  
   
  
  
 PEGASUS_NAMESPACE_BEGIN PEGASUS_NAMESPACE_BEGIN
Line 77 
Line 79 
 public: public:
  
     /**     /**
     Destructor.      ResponseHandler destructor.
     */     */
     virtual ~ResponseHandler(void);     virtual ~ResponseHandler(void);
  
Line 90 
Line 92 
     //virtual void deliver(const Array<T> & objects);     //virtual void deliver(const Array<T> & objects);
  
     /**     /**
     Inform the CIM Server that delivery of results will begin.      Inform the CIM server that delivery of results will begin.
     <p>The provider must call <tt>processing</tt> before     <p>The provider must call <tt>processing</tt> before
     attempting to call <tt>deliver</tt>.     attempting to call <tt>deliver</tt>.
     */     */
     virtual void processing(void) = 0;     virtual void processing(void) = 0;
  
 // l10n  
     /**     /**
     Inform the CIM Server of the language(s) of the results.      Inform the CIM server that delivery of results is complete.
     <p>The provider may call, but is not required to call,  
     <tt>setLanguages</tt> before attempting to call <tt>deliver</tt>.  
     */  
     virtual void setLanguages(const ContentLanguages & languages) = 0;  
   
     /**  
     Inform the CIM Server that delivery of results is complete.  
     <p>The provider must call <tt>complete</tt> when all     <p>The provider must call <tt>complete</tt> when all
     results have been delivered. It must not call <tt>deliver</tt>      results have been delivered. The provider must not call <tt>deliver</tt>
     after calling <tt>complete</tt>.</p>     after calling <tt>complete</tt>.</p>
     */     */
     virtual void complete(void) = 0;     virtual void complete(void) = 0;
   
   #ifdef PEGASUS_USE_EXPERIMENTAL_INTERFACES
       /** <I><B>Experimental Interface</B></I><BR>
       Set the context for the results delivered to the CIM Server.
       <p>The <tt>setContext</tt> function is used by providers to
       set a context for the response, in the form of an OperationContext
       object.  The context of the response contains the settings that
       apply to all the results delivered to the CIM Server.  An example
       context is the language of the response, in the form of a
       ContentLanguageListContainer in the OperationContext.</p>
       <p>This method may be called at any point in the response
       processing before <tt>complete</tt> is called.</p>
       <p>Currently supported OperationContext containers:
       <li>
       ContentLanguageListContainer: used to set the ContentLanguageList of the
       results.
       </li>
       </p>
       <p>Implementation Note:  This method is concrete to preserve
       binary compatibility with previous releases of the CIMServer</p>
       */
   #ifdef PEGASUS_OS_OS400
   virtual
   #endif
       void setContext(const OperationContext & context);
   #endif  // PEGASUS_USE_EXPERIMENTAL_INTERFACES
   
   protected:
   
       ResponseHandler();
   
       ResponseHandler(const ResponseHandler& handler);
   
       ResponseHandler& operator=(const ResponseHandler& handler);
   
       /**
       Gets the context for the results delivered to the CIM server.
       */
       OperationContext getContext(void) const;
 }; };
  
  
 //  /**
 // InstanceResponseHandler  The InstanceResponseHandler class is a subclass to the ResponseHandler class.
 ///  The InstanceResponseHandler class contains functions that are specific to an
   instance of the ResponseHandler class.
   */
 class PEGASUS_COMMON_LINKAGE InstanceResponseHandler : virtual public ResponseHandler class PEGASUS_COMMON_LINKAGE InstanceResponseHandler : virtual public ResponseHandler
 { {
 public: public:
Line 172 
Line 207 
 }; };
  
  
 //  /**
 // MethodResultResponseHandler  The MethodResultResponseHandler class is a subclass to the ResponseHandler class.
 ///  */
 class PEGASUS_COMMON_LINKAGE MethodResultResponseHandler : virtual public ResponseHandler class PEGASUS_COMMON_LINKAGE MethodResultResponseHandler : virtual public ResponseHandler
 { {
 public: public:
     ///      /**
           Add documentation here.
           */
     virtual void deliverParamValue(const CIMParamValue & outParamValue) = 0;     virtual void deliverParamValue(const CIMParamValue & outParamValue) = 0;
  
     ///      /**
           Add documentation here.
           */
     virtual void deliverParamValue(const Array<CIMParamValue> & outParamValues) = 0;     virtual void deliverParamValue(const Array<CIMParamValue> & outParamValues) = 0;
  
     ///      /**
           Add documentation here.
           */
     virtual void deliver(const CIMValue & returnValue) = 0;     virtual void deliver(const CIMValue & returnValue) = 0;
 }; };
  
  
 //  /**
 // IndicationResponseHandler  The IndicationResponseHandler class is a subclass to the ResponseHandler class.
 //  <p> NOTE: This class definition should not be considered complete until indication
 // NOTE: This class definition should not be considered complete until  support has been completed in Pegasus.  Implementation of indication support may
 // indication support has been completed in Pegasus.  Implementation of  reveal a need for API changes in this class.</p>
 // indication support may reveal a need for API changes in this class.  */
 class PEGASUS_COMMON_LINKAGE IndicationResponseHandler : virtual public ResponseHandler class PEGASUS_COMMON_LINKAGE IndicationResponseHandler : virtual public ResponseHandler
 { {
 public: public:
       /**
           Add documentation here.
           */
     virtual void deliver(const CIMIndication & indication) = 0;     virtual void deliver(const CIMIndication & indication) = 0;
  
           /**
           Add documentation here.
           */
     virtual void deliver(const Array<CIMIndication> & indications) = 0;     virtual void deliver(const Array<CIMIndication> & indications) = 0;
  
           /**
           Add documentation here.
           */
     virtual void deliver(     virtual void deliver(
         const OperationContext & context,         const OperationContext & context,
         const CIMIndication & indication) = 0;         const CIMIndication & indication) = 0;
  
           /**
           Add documentation here.
           */
     virtual void deliver(     virtual void deliver(
         const OperationContext & context,         const OperationContext & context,
         const Array<CIMIndication> & indications) = 0;         const Array<CIMIndication> & indications) = 0;
Line 246 
Line 299 
     virtual void deliver(const Array<CIMObject> & objects) = 0;     virtual void deliver(const Array<CIMObject> & objects) = 0;
 }; };
  
   
 #ifdef PEGASUS_INTERNALONLY  
 // This type is used in CIMPropertyProvider which Pegasus does not support  
 //  
 // ValueResponseHandler  
 //  
 class PEGASUS_COMMON_LINKAGE ValueResponseHandler : virtual public ResponseHandler  
 {  
 public:  
     virtual void deliver(const CIMValue & value) = 0;  
   
     virtual void deliver(const Array<CIMValue> & values) = 0;  
 };  
 #endif  
   
   
 #ifdef PEGASUS_INTERNALONLY  
 // This type is used in CIMClassProvider which Pegasus does not support  
 //  
 // ClassResponseHandler  
 //  
 class PEGASUS_COMMON_LINKAGE ClassResponseHandler : virtual public ResponseHandler  
 {  
 public:  
     virtual void deliver(const CIMClass & classObj) = 0;  
   
     virtual void deliver(const Array<CIMClass> & classObjs) = 0;  
 };  
 #endif  
   
 PEGASUS_NAMESPACE_END PEGASUS_NAMESPACE_END
  
 #endif #endif


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

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2