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

Diff for /pegasus/src/Pegasus/ProviderManager2/SimpleResponseHandler.h between version 1.2 and 1.6

version 1.2, 2004/07/28 01:24:50 version 1.6, 2004/10/25 18:26:00
Line 1 
Line 1 
 //%2003////////////////////////////////////////////////////////////////////////  //%2004////////////////////////////////////////////////////////////////////////
 // //
 // 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.
 // Copyright (c) 2003 BMC Software; Hewlett-Packard Development Company, L. P.; // Copyright (c) 2003 BMC Software; Hewlett-Packard Development Company, L. P.;
 // 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.;
   // IBM Corp.; EMC Corporation; VERITAS Software 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 
 // //
 // Modified By: Roger Kumpf, Hewlett-Packard Company (roger_kumpf@hp.com) // Modified By: Roger Kumpf, Hewlett-Packard Company (roger_kumpf@hp.com)
 //              Dave Rosckes (rosckes@us.ibm.com) //              Dave Rosckes (rosckes@us.ibm.com)
   //              Brian G. Campbell, EMC (campbell_brian@emc.com) - PEP140/phase2
 // //
 //%///////////////////////////////////////////////////////////////////////////// //%/////////////////////////////////////////////////////////////////////////////
  
Line 41 
Line 44 
  
 PEGASUS_NAMESPACE_BEGIN PEGASUS_NAMESPACE_BEGIN
  
   //
   // ValueResponseHandler (used internally to implement property operations)
   //
   class PEGASUS_PPM_LINKAGE ValueResponseHandler : virtual public ResponseHandler
   {
   public:
       virtual void deliver(const CIMValue & value) = 0;
   
       virtual void deliver(const Array<CIMValue> & values) = 0;
   };
   
   
   //
   // SimpleResponseHandler
   //
 class PEGASUS_PPM_LINKAGE SimpleResponseHandler : virtual public ResponseHandler class PEGASUS_PPM_LINKAGE SimpleResponseHandler : virtual public ResponseHandler
 { {
 public: public:
Line 64 
Line 82 
         Logger::put(Logger::STANDARD_LOG, System::CIMSERVER, Logger::TRACE,         Logger::put(Logger::STANDARD_LOG, System::CIMSERVER, Logger::TRACE,
                     "SimpleResponseHandler: complete()");                     "SimpleResponseHandler: complete()");
  
         // do nothing          send(true);
     }     }
  
                   // return the number of objects in this handler
           virtual Uint32 size() const { return 0; }
   
                   // clear any objects in this handler
             virtual void clear() {}
   
 // l10n // l10n
     ContentLanguages getLanguages(void)      ContentLanguages getLanguages(void);
     {  
         Logger::put(Logger::STANDARD_LOG, System::CIMSERVER, Logger::TRACE,  
                     "SimpleResponseHandler: getLanguages()");  
  
         ContentLanguages langs;  protected:
         try          // send (deliver) asynchronously with restrictions
         {          virtual void send(Boolean isComplete);
             // Try to get the ContentLanguages out of the OperationContext  
             // in the base ResponseHandler.  
             OperationContext context = getContext();  
             ContentLanguageListContainer cntr = context.get  
                            (ContentLanguageListContainer::NAME);  
             langs = cntr.getLanguages();  
         }  
         catch (const Exception &)  
         {  
             // The content language container must not exist.  
             // Return the empty ContentLanguages.  
         }  
  
         return langs;  
     }  
 }; };
  
 class PEGASUS_PPM_LINKAGE SimpleInstanceResponseHandler : public SimpleResponseHandler, public InstanceResponseHandler class PEGASUS_PPM_LINKAGE SimpleInstanceResponseHandler : public SimpleResponseHandler, public InstanceResponseHandler
Line 100 
Line 107 
     {     {
     }     }
  
     void processing(void) { SimpleResponseHandler::processing(); }      virtual void processing(void) { SimpleResponseHandler::processing(); }
     void complete(void) { SimpleResponseHandler::complete(); }      virtual void complete(void) { SimpleResponseHandler::complete(); }
                   virtual Uint32 size() const { return _objects.size(); }
                   virtual void clear() { _objects.clear(); }
  
     virtual void deliver(const CIMInstance & instance)     virtual void deliver(const CIMInstance & instance)
     {     {
Line 109 
Line 118 
                     "SimpleResponseHandler: deliver()");                     "SimpleResponseHandler: deliver()");
  
         _objects.append(instance);         _objects.append(instance);
                                   send(false);
     }     }
  
     virtual void deliver(const Array<CIMInstance> & instances)     virtual void deliver(const Array<CIMInstance> & instances)
Line 137 
Line 147 
     {     {
     }     }
  
     void processing(void) { SimpleResponseHandler::processing(); }      virtual void processing(void) { SimpleResponseHandler::processing(); }
     void complete(void) { SimpleResponseHandler::complete(); }      virtual void complete(void) { SimpleResponseHandler::complete(); }
             virtual Uint32 size() const { return _objects.size(); }
                   virtual void clear() { _objects.clear(); }
  
     virtual void deliver(const CIMObjectPath & objectPath)     virtual void deliver(const CIMObjectPath & objectPath)
     {     {
         Logger::put(Logger::STANDARD_LOG, System::CIMSERVER, Logger::TRACE,         Logger::put(Logger::STANDARD_LOG, System::CIMSERVER, Logger::TRACE,
                     "SimpleResponseHandler: deliver()");                     "SimpleResponseHandler: deliver()");
         _objects.append(objectPath);         _objects.append(objectPath);
                                   send(false);
     }     }
  
     virtual void deliver(const Array<CIMObjectPath> & objectPaths)     virtual void deliver(const Array<CIMObjectPath> & objectPaths)
Line 173 
Line 186 
     {     {
     }     }
  
     void processing(void) { SimpleResponseHandler::processing(); }      virtual void processing(void) { SimpleResponseHandler::processing(); }
     void complete(void) { SimpleResponseHandler::complete(); }      virtual void complete(void) { SimpleResponseHandler::complete(); }
             // NOTE: this is the total size (count) of ALL parameters!
                   virtual Uint32 size() const { return _objects.size(); }
                   virtual void clear() { _objects.clear(); _returnValue.clear(); }
  
     virtual void deliverParamValue(const CIMParamValue & outParamValue)     virtual void deliverParamValue(const CIMParamValue & outParamValue)
     {     {
         _objects.append(outParamValue);         _objects.append(outParamValue);
                                   // async delivers not yet supported for parameters
                                   //send(false);
     }     }
  
     virtual void deliverParamValue(const Array<CIMParamValue> & outParamValues)     virtual void deliverParamValue(const Array<CIMParamValue> & outParamValues)
Line 195 
Line 213 
         Logger::put(Logger::STANDARD_LOG, System::CIMSERVER, Logger::TRACE,         Logger::put(Logger::STANDARD_LOG, System::CIMSERVER, Logger::TRACE,
                     "SimpleResponseHandler: deliver()");                     "SimpleResponseHandler: deliver()");
         _returnValue = returnValue;         _returnValue = returnValue;
                                   send(false);
     }     }
  
     const Array<CIMParamValue> getParamValues(void) const     const Array<CIMParamValue> getParamValues(void) const
Line 221 
Line 240 
     {     {
     }     }
  
     void processing(void) { SimpleResponseHandler::processing(); }      virtual void processing(void) { SimpleResponseHandler::processing(); }
     void complete(void) { SimpleResponseHandler::complete(); }      virtual void complete(void) { SimpleResponseHandler::complete(); }
             virtual Uint32 size() const { return _objects.size(); }
                   virtual void clear() { _objects.clear(); }
  
     virtual void deliver(const CIMIndication & indication)     virtual void deliver(const CIMIndication & indication)
     {     {
Line 230 
Line 251 
                     "SimpleResponseHandler: deliver()");                     "SimpleResponseHandler: deliver()");
  
         _objects.append(indication);         _objects.append(indication);
                                   send(false);
     }     }
  
     virtual void deliver(const Array<CIMIndication> & indications)     virtual void deliver(const Array<CIMIndication> & indications)
Line 281 
Line 303 
     {     {
     }     }
  
     void processing(void) { SimpleResponseHandler::processing(); }      virtual void processing(void) { SimpleResponseHandler::processing(); }
     void complete(void) { SimpleResponseHandler::complete(); }      virtual void complete(void) { SimpleResponseHandler::complete(); }
             virtual Uint32 size() const { return _objects.size(); }
                   virtual void clear() { _objects.clear(); }
  
     virtual void deliver(const CIMObject & object)     virtual void deliver(const CIMObject & object)
     {     {
Line 290 
Line 314 
                     "SimpleResponseHandler: deliver()");                     "SimpleResponseHandler: deliver()");
  
         _objects.append(object);         _objects.append(object);
                                   send(false);
     }     }
  
     virtual void deliver(const Array<CIMObject> & objects)     virtual void deliver(const Array<CIMObject> & objects)
Line 318 
Line 343 
     {     {
     }     }
  
     void processing(void) { SimpleResponseHandler::processing(); }      virtual void processing(void) { SimpleResponseHandler::processing(); }
     void complete(void) { SimpleResponseHandler::complete(); }      virtual void complete(void) { SimpleResponseHandler::complete(); }
                   virtual Uint32 size() const { return _objects.size(); }
                   virtual void clear() { _objects.clear(); }
  
     virtual void deliver(const CIMInstance & object)     virtual void deliver(const CIMInstance & object)
     {     {
Line 327 
Line 354 
                     "SimpleResponseHandler: deliver()");                     "SimpleResponseHandler: deliver()");
  
         _objects.append(CIMObject(object));         _objects.append(CIMObject(object));
                                   // async delivers not yet supported
                                   //send(false);
     }     }
  
     virtual void deliver(const Array<CIMInstance> & objects)     virtual void deliver(const Array<CIMInstance> & objects)
Line 355 
Line 384 
     {     {
     }     }
  
     void processing(void) { SimpleResponseHandler::processing(); }      virtual void processing(void) { SimpleResponseHandler::processing(); }
     void complete(void) { SimpleResponseHandler::complete(); }      virtual void complete(void) { SimpleResponseHandler::complete(); }
                   virtual Uint32 size() const { return _objects.size(); }
                   virtual void clear() { _objects.clear(); }
  
     virtual void deliver(const CIMValue & value)     virtual void deliver(const CIMValue & value)
     {     {
Line 364 
Line 395 
                     "SimpleResponseHandler: deliver()");                     "SimpleResponseHandler: deliver()");
  
         _objects.append(value);         _objects.append(value);
                                   send(false);
     }     }
  
     virtual void deliver(const Array<CIMValue> & values)     virtual void deliver(const Array<CIMValue> & values)
Line 385 
Line 417 
  
 }; };
  
 class PEGASUS_PPM_LINKAGE SimpleClassResponseHandler : public SimpleResponseHandler, public ClassResponseHandler  
 {  
 public:  
     SimpleClassResponseHandler(void)  
     {  
     }  
   
     void processing(void) { SimpleResponseHandler::processing(); }  
     void complete(void) { SimpleResponseHandler::complete(); }  
   
     virtual void deliver(const CIMClass & classObj)  
     {  
         Logger::put(Logger::STANDARD_LOG, System::CIMSERVER, Logger::TRACE,  
                     "SimpleResponseHandler: deliver()");  
   
         _objects.append(classObj);  
     }  
   
     virtual void deliver(const Array<CIMClass> & classObjs)  
     {  
         // call deliver for each object in the array  
         for(Uint32 i = 0, n = classObjs.size(); i < n; i++)  
         {  
             deliver(classObjs[i]);  
         }  
     }  
   
     const Array<CIMClass> getObjects(void) const  
     {  
         return _objects;  
     }  
   
 private:  
     Array<CIMClass> _objects;  
   
 };  
   
 PEGASUS_NAMESPACE_END PEGASUS_NAMESPACE_END
  
 #endif #endif


Legend:
Removed from v.1.2  
changed lines
  Added in v.1.6

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2