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

Diff for /pegasus/src/Pegasus/ProviderManager2/OperationResponseHandler.cpp between version 1.22 and 1.23

version 1.22, 2006/11/09 18:15:29 version 1.23, 2006/11/14 18:34:56
Line 93 
Line 93 
         _response = 0;         _response = 0;
 } }
  
 CIMRequestMessage * OperationResponseHandler::getRequest(void) const  CIMRequestMessage* OperationResponseHandler::getRequest() const
 { {
     return(_request);      return _request;
 } }
  
 CIMResponseMessage * OperationResponseHandler::getResponse(void) const  CIMResponseMessage* OperationResponseHandler::getResponse() const
 { {
     return(_response);      return _response;
 } }
  
 void OperationResponseHandler::setStatus( void OperationResponseHandler::setStatus(
     const Uint32 code,     const Uint32 code,
     const String & message)     const String & message)
 { {
     _response->cimException = PEGASUS_CIM_EXCEPTION(CIMStatusCode(code), message);      _response->cimException =
           PEGASUS_CIM_EXCEPTION(CIMStatusCode(code), message);
 } }
  
 void OperationResponseHandler::setStatus( void OperationResponseHandler::setStatus(
Line 133 
Line 134 
     _response->cimException = cimException;     _response->cimException = cimException;
 } }
  
 Boolean OperationResponseHandler::isAsync(void) const  Boolean OperationResponseHandler::isAsync() const
 { {
     return _responseChunkCallback != 0;     return _responseChunkCallback != 0;
 } }
Line 201 
Line 202 
         _response->setComplete(isComplete);         _response->setComplete(isComplete);
         _responseObjectTotal += objectCount;         _responseObjectTotal += objectCount;
  
         // since we are reusing response for every chunk,keep track of original count      // since we are reusing response for every chunk, keep track of original
       // count
         _response->setIndex(_responseMessageTotal++);         _response->setIndex(_responseMessageTotal++);
  
         // set the originally allocated response to one more than the current.         // set the originally allocated response to one more than the current.
Line 230 
Line 232 
         transfer();         transfer();
         simple.clear();         simple.clear();
  
         // l10n      _response->operationContext.set(
         _response->operationContext.set(ContentLanguageListContainer(simple.getLanguages()));          ContentLanguageListContainer(simple.getLanguages()));
  
         // call thru ProviderManager to get externally declared entry point         // call thru ProviderManager to get externally declared entry point
  
Line 246 
Line 248 
         _response = response;         _response = response;
 } }
  
 void OperationResponseHandler::transfer(void)  void OperationResponseHandler::transfer()
 { {
 } }
  
 void OperationResponseHandler::validate(void)  void OperationResponseHandler::validate()
 { {
 } }
  
 String OperationResponseHandler::getClass(void) const  String OperationResponseHandler::getClass() const
 { {
     return(String("OperationResponseHandler"));      return String("OperationResponseHandler");
 } }
  
 Uint32 OperationResponseHandler::getResponseObjectTotal(void) const  Uint32 OperationResponseHandler::getResponseObjectTotal() const
 { {
     return(_responseObjectTotal);      return _responseObjectTotal;
 } }
  
 Uint32 OperationResponseHandler::getResponseMessageTotal(void) const  Uint32 OperationResponseHandler::getResponseMessageTotal() const
 { {
     return(_responseMessageTotal);      return _responseMessageTotal;
 } }
  
 Uint32 OperationResponseHandler::getResponseObjectThreshold(void) const  Uint32 OperationResponseHandler::getResponseObjectThreshold() const
 { {
     return(_responseObjectThreshold);      return _responseObjectThreshold;
 } }
  
 // //
Line 285 
Line 287 
     : OperationResponseHandler(request, response, responseChunkCallback)     : OperationResponseHandler(request, response, responseChunkCallback)
 { {
     #ifdef PEGASUS_ENABLE_OBJECT_NORMALIZATION     #ifdef PEGASUS_ENABLE_OBJECT_NORMALIZATION
     // Attempt to get the cached class definition used to validate results of this      // Attempt to get the cached class definition used to validate results of
     // operation. If it does not exist, then this feature is disabled for this      // this operation. If it does not exist, then this feature is disabled
     // operation.      // for this operation.
     CIMClass cimClass;     CIMClass cimClass;
  
     if(request->operationContext.contains(CachedClassDefinitionContainer::NAME))      if (request->operationContext.contains(
               CachedClassDefinitionContainer::NAME))
     {     {
         CachedClassDefinitionContainer container =         CachedClassDefinitionContainer container =
             request->operationContext.get(             request->operationContext.get(
Line 339 
Line 342 
     if(localInstance.getPath().getKeyBindings().size() == 0)     if(localInstance.getPath().getKeyBindings().size() == 0)
     {     {
         // ATTN: should clone before modification         // ATTN: should clone before modification
         localInstance.setPath(static_cast<CIMGetInstanceRequestMessage *>(getRequest())->instanceName);          localInstance.setPath(static_cast<CIMGetInstanceRequestMessage*>(
               getRequest())->instanceName);
     }     }
  
     SimpleInstanceResponseHandler::deliver(_normalizer.processInstance(localInstance));      SimpleInstanceResponseHandler::deliver(
           _normalizer.processInstance(localInstance));
     #else     #else
     SimpleInstanceResponseHandler::deliver(cimInstance);     SimpleInstanceResponseHandler::deliver(cimInstance);
     #endif     #endif
 } }
  
 void GetInstanceResponseHandler::complete(void)  void GetInstanceResponseHandler::complete()
 { {
     if(SimpleInstanceResponseHandler::size() == 0)     if(SimpleInstanceResponseHandler::size() == 0)
     {     {
Line 363 
Line 368 
     SimpleInstanceResponseHandler::complete();     SimpleInstanceResponseHandler::complete();
 } }
  
 String GetInstanceResponseHandler::getClass(void) const  String GetInstanceResponseHandler::getClass() const
 { {
     return(String("GetInstanceResponseHandler"));      return String("GetInstanceResponseHandler");
 } }
  
 void GetInstanceResponseHandler::transfer(void)  void GetInstanceResponseHandler::transfer()
 { {
     if(size() > 0)     if(size() > 0)
     {     {
Line 379 
Line 384 
     }     }
 } }
  
 void GetInstanceResponseHandler::validate(void)  void GetInstanceResponseHandler::validate()
 { {
     if(getResponseObjectTotal() == 0)     if(getResponseObjectTotal() == 0)
     {     {
Line 400 
Line 405 
     : OperationResponseHandler(request, response, responseChunkCallback)     : OperationResponseHandler(request, response, responseChunkCallback)
 { {
     #ifdef PEGASUS_ENABLE_OBJECT_NORMALIZATION     #ifdef PEGASUS_ENABLE_OBJECT_NORMALIZATION
     // Attempt to get the cached class definition used to validate results of this      // Attempt to get the cached class definition used to validate results of
     // operation. If it does not exist, then this feature is disabled for this      // this operation. If it does not exist, then this feature is disabled
     // operation.      // for this operation.
     CIMClass cimClass;     CIMClass cimClass;
  
     if(request->operationContext.contains(CachedClassDefinitionContainer::NAME))      if (request->operationContext.contains(
               CachedClassDefinitionContainer::NAME))
     {     {
         CachedClassDefinitionContainer container =         CachedClassDefinitionContainer container =
             request->operationContext.get(             request->operationContext.get(
Line 436 
Line 442 
     }     }
  
     #ifdef PEGASUS_ENABLE_OBJECT_NORMALIZATION     #ifdef PEGASUS_ENABLE_OBJECT_NORMALIZATION
     SimpleInstanceResponseHandler::deliver(_normalizer.processInstance(cimInstance));      SimpleInstanceResponseHandler::deliver(
           _normalizer.processInstance(cimInstance));
     #else     #else
     SimpleInstanceResponseHandler::deliver(cimInstance);     SimpleInstanceResponseHandler::deliver(cimInstance);
     #endif     #endif
 } }
  
 String EnumerateInstancesResponseHandler::getClass(void) const  String EnumerateInstancesResponseHandler::getClass() const
 { {
     return(String("EnumerateInstancesResponseHandler"));      return String("EnumerateInstancesResponseHandler");
 } }
  
 void EnumerateInstancesResponseHandler::transfer(void)  void EnumerateInstancesResponseHandler::transfer()
 { {
     CIMEnumerateInstancesResponseMessage & msg =     CIMEnumerateInstancesResponseMessage & msg =
         *static_cast<CIMEnumerateInstancesResponseMessage *>(getResponse());         *static_cast<CIMEnumerateInstancesResponseMessage *>(getResponse());
Line 466 
Line 473 
     : OperationResponseHandler(request, response, responseChunkCallback)     : OperationResponseHandler(request, response, responseChunkCallback)
 { {
     #ifdef PEGASUS_ENABLE_OBJECT_NORMALIZATION     #ifdef PEGASUS_ENABLE_OBJECT_NORMALIZATION
     // Attempt to get the cached class definition used to validate results of this      // Attempt to get the cached class definition used to validate results of
     // operation. If it does not exist, then this feature is disabled for this      // this operation. If it does not exist, then this feature is disabled
     // operation.      // for this operation.
     CIMClass cimClass;     CIMClass cimClass;
  
     if(request->operationContext.contains(CachedClassDefinitionContainer::NAME))      if (request->operationContext.contains(
               CachedClassDefinitionContainer::NAME))
     {     {
         CachedClassDefinitionContainer container =         CachedClassDefinitionContainer container =
             request->operationContext.get(             request->operationContext.get(
Line 491 
Line 499 
 #endif #endif
 } }
  
 void EnumerateInstanceNamesResponseHandler::deliver(const CIMObjectPath & cimObjectPath)  void EnumerateInstanceNamesResponseHandler::deliver(
       const CIMObjectPath& cimObjectPath)
 { {
     if(cimObjectPath.getClassName().isNull())     if(cimObjectPath.getClassName().isNull())
     {     {
Line 503 
Line 512 
     }     }
  
     #ifdef PEGASUS_ENABLE_OBJECT_NORMALIZATION     #ifdef PEGASUS_ENABLE_OBJECT_NORMALIZATION
     SimpleObjectPathResponseHandler::deliver(_normalizer.processInstanceObjectPath(cimObjectPath));      SimpleObjectPathResponseHandler::deliver(
           _normalizer.processInstanceObjectPath(cimObjectPath));
     #else     #else
     SimpleObjectPathResponseHandler::deliver(cimObjectPath);     SimpleObjectPathResponseHandler::deliver(cimObjectPath);
     #endif     #endif
 } }
  
 String EnumerateInstanceNamesResponseHandler::getClass(void) const  String EnumerateInstanceNamesResponseHandler::getClass() const
 { {
     return(String("EnumerateInstanceNamesResponseHandler"));      return String("EnumerateInstanceNamesResponseHandler");
 } }
  
 void EnumerateInstanceNamesResponseHandler::transfer(void)  void EnumerateInstanceNamesResponseHandler::transfer()
 { {
     CIMEnumerateInstanceNamesResponseMessage & msg =     CIMEnumerateInstanceNamesResponseMessage & msg =
         *static_cast<CIMEnumerateInstanceNamesResponseMessage *>(getResponse());         *static_cast<CIMEnumerateInstanceNamesResponseMessage *>(getResponse());
Line 557 
Line 567 
     SimpleObjectPathResponseHandler::deliver(cimObjectPath);     SimpleObjectPathResponseHandler::deliver(cimObjectPath);
 } }
  
 void CreateInstanceResponseHandler::complete(void)  void CreateInstanceResponseHandler::complete()
 { {
     if(SimpleObjectPathResponseHandler::size() == 0)     if(SimpleObjectPathResponseHandler::size() == 0)
     {     {
Line 571 
Line 581 
     SimpleObjectPathResponseHandler::complete();     SimpleObjectPathResponseHandler::complete();
 } }
  
 String CreateInstanceResponseHandler::getClass(void) const  String CreateInstanceResponseHandler::getClass() const
 { {
     return(String("CreateInstanceResponseHandler"));      return String("CreateInstanceResponseHandler");
 } }
  
 #if 0 #if 0
 // ATTN: is it an error to not return instance name? // ATTN: is it an error to not return instance name?
 void CreateInstanceResponseHandler::validate(void)  void CreateInstanceResponseHandler::validate()
 { {
     if(getResponseObjectTotal() == 0)     if(getResponseObjectTotal() == 0)
     {     {
Line 587 
Line 597 
 } }
 #endif #endif
  
 void CreateInstanceResponseHandler::transfer(void)  void CreateInstanceResponseHandler::transfer()
 { {
     if(size() > 0)     if(size() > 0)
     {     {
Line 610 
Line 620 
 { {
 } }
  
 String ModifyInstanceResponseHandler::getClass(void) const  String ModifyInstanceResponseHandler::getClass() const
 { {
     return(String("ModifyInstanceResponseHandler"));      return String("ModifyInstanceResponseHandler");
 } }
  
 // //
Line 627 
Line 637 
 { {
 } }
  
 String DeleteInstanceResponseHandler::getClass(void) const  String DeleteInstanceResponseHandler::getClass() const
 { {
     return(String("DeleteInstanceResponseHandler"));      return String("DeleteInstanceResponseHandler");
 } }
  
 // //
Line 658 
Line 668 
     SimpleValueResponseHandler::deliver(cimValue);     SimpleValueResponseHandler::deliver(cimValue);
 } }
  
 String GetPropertyResponseHandler::getClass(void) const  String GetPropertyResponseHandler::getClass() const
 { {
     return(String("GetPropertyResponseHandler"));      return String("GetPropertyResponseHandler");
 } }
  
 void GetPropertyResponseHandler::transfer(void)  void GetPropertyResponseHandler::transfer()
 { {
     if(size() > 0)     if(size() > 0)
     {     {
Line 674 
Line 684 
     }     }
 } }
  
 void GetPropertyResponseHandler::validate(void)  void GetPropertyResponseHandler::validate()
 { {
     // error? provider claims success,     // error? provider claims success,
     // but did not deliver an instance.     // but did not deliver an instance.
Line 696 
Line 706 
 { {
 } }
  
 String SetPropertyResponseHandler::getClass(void) const  String SetPropertyResponseHandler::getClass() const
 { {
     return(String("SetPropertyResponseHandler"));      return String("SetPropertyResponseHandler");
 } }
  
 // //
Line 727 
Line 737 
     SimpleInstance2ObjectResponseHandler::deliver(cimInstance);     SimpleInstance2ObjectResponseHandler::deliver(cimInstance);
 } }
  
 String ExecQueryResponseHandler::getClass(void) const  String ExecQueryResponseHandler::getClass() const
 { {
     return(String("ExecQueryResponseHandler"));      return String("ExecQueryResponseHandler");
 } }
  
 void ExecQueryResponseHandler::transfer(void)  void ExecQueryResponseHandler::transfer()
 { {
     CIMExecQueryResponseMessage & msg =     CIMExecQueryResponseMessage & msg =
         *static_cast<CIMExecQueryResponseMessage *>(getResponse());         *static_cast<CIMExecQueryResponseMessage *>(getResponse());
Line 740 
Line 750 
     msg.cimObjects = getObjects();     msg.cimObjects = getObjects();
 } }
  
 Boolean ExecQueryResponseHandler::isAsync(void) const  Boolean ExecQueryResponseHandler::isAsync() const
 { {
     return(false);      return false;
 } }
  
 // //
Line 771 
Line 781 
     SimpleObjectResponseHandler::deliver(cimObject);     SimpleObjectResponseHandler::deliver(cimObject);
 } }
  
 String AssociatorsResponseHandler::getClass(void) const  String AssociatorsResponseHandler::getClass() const
 { {
     return(String("AssociatorsResponseHandler"));      return String("AssociatorsResponseHandler");
 } }
  
 void AssociatorsResponseHandler::transfer(void)  void AssociatorsResponseHandler::transfer()
 { {
     CIMAssociatorsResponseMessage & msg =     CIMAssociatorsResponseMessage & msg =
         *static_cast<CIMAssociatorsResponseMessage *>(getResponse());         *static_cast<CIMAssociatorsResponseMessage *>(getResponse());
Line 810 
Line 820 
     SimpleObjectPathResponseHandler::deliver(cimObjectPath);     SimpleObjectPathResponseHandler::deliver(cimObjectPath);
 } }
  
 String AssociatorNamesResponseHandler::getClass(void) const  String AssociatorNamesResponseHandler::getClass() const
 { {
     return(String("AssociatorNamesResponseHandler"));      return String("AssociatorNamesResponseHandler");
 } }
  
 void AssociatorNamesResponseHandler::transfer(void)  void AssociatorNamesResponseHandler::transfer()
 { {
     CIMAssociatorNamesResponseMessage & msg =     CIMAssociatorNamesResponseMessage & msg =
         *static_cast<CIMAssociatorNamesResponseMessage *>(getResponse());         *static_cast<CIMAssociatorNamesResponseMessage *>(getResponse());
Line 849 
Line 859 
     SimpleObjectResponseHandler::deliver(cimObject);     SimpleObjectResponseHandler::deliver(cimObject);
 } }
  
 String ReferencesResponseHandler::getClass(void) const  String ReferencesResponseHandler::getClass() const
 { {
     return(String("ReferencesResponseHandler"));      return String("ReferencesResponseHandler");
 } }
  
 void ReferencesResponseHandler::transfer(void)  void ReferencesResponseHandler::transfer()
 { {
     CIMReferencesResponseMessage & msg =     CIMReferencesResponseMessage & msg =
         *static_cast<CIMReferencesResponseMessage *>(getResponse());         *static_cast<CIMReferencesResponseMessage *>(getResponse());
Line 888 
Line 898 
     SimpleObjectPathResponseHandler::deliver(cimObjectPath);     SimpleObjectPathResponseHandler::deliver(cimObjectPath);
 } }
  
 String ReferenceNamesResponseHandler::getClass(void) const  String ReferenceNamesResponseHandler::getClass() const
 { {
     return(String("ReferenceNamesResponseHandler"));      return String("ReferenceNamesResponseHandler");
 } }
  
 void ReferenceNamesResponseHandler::transfer(void)  void ReferenceNamesResponseHandler::transfer()
 { {
     CIMReferenceNamesResponseMessage & msg =     CIMReferenceNamesResponseMessage & msg =
         *static_cast<CIMReferenceNamesResponseMessage *>(getResponse());         *static_cast<CIMReferenceNamesResponseMessage *>(getResponse());
Line 913 
Line 923 
 { {
 } }
  
 void InvokeMethodResponseHandler::deliverParamValue(const CIMParamValue & cimParamValue)  void InvokeMethodResponseHandler::deliverParamValue(
       const CIMParamValue& cimParamValue)
 { {
     if(cimParamValue.isUninitialized())     if(cimParamValue.isUninitialized())
     {     {
Line 941 
Line 952 
     SimpleMethodResultResponseHandler::deliver(cimValue);     SimpleMethodResultResponseHandler::deliver(cimValue);
 } }
  
 String InvokeMethodResponseHandler::getClass(void) const  String InvokeMethodResponseHandler::getClass() const
 { {
     return(String("InvokeMethodResponseHandler"));      return String("InvokeMethodResponseHandler");
 } }
  
 void InvokeMethodResponseHandler::transfer(void)  void InvokeMethodResponseHandler::transfer()
 { {
     CIMInvokeMethodResponseMessage & msg =     CIMInvokeMethodResponseMessage & msg =
         *static_cast<CIMInvokeMethodResponseMessage *>(getResponse());         *static_cast<CIMInvokeMethodResponseMessage *>(getResponse());
Line 975 
Line 986 
     _provider = provider;     _provider = provider;
 } }
  
 void EnableIndicationsResponseHandler::deliver(const CIMIndication & cimIndication)  void EnableIndicationsResponseHandler::deliver(
       const CIMIndication& cimIndication)
 { {
     OperationContext context;     OperationContext context;
  
     Array<CIMObjectPath> subscriptionInstanceNames;     Array<CIMObjectPath> subscriptionInstanceNames;
  
     context.insert(SubscriptionInstanceNamesContainer(subscriptionInstanceNames));      context.insert(
           SubscriptionInstanceNamesContainer(subscriptionInstanceNames));
  
     deliver(context, cimIndication);     deliver(context, cimIndication);
 } }
  
 void EnableIndicationsResponseHandler::deliver(const OperationContext & context, const CIMIndication & cimIndication)  void EnableIndicationsResponseHandler::deliver(
       const OperationContext& context,
       const CIMIndication& cimIndication)
 { {
     if(cimIndication.isUninitialized())     if(cimIndication.isUninitialized())
     {     {
Line 1015 
Line 1030 
         subscriptionInstanceNames.clear();         subscriptionInstanceNames.clear();
     }     }
  
     // l10n  
     ContentLanguageList contentLangs;     ContentLanguageList contentLangs;
  
     if(context.contains(ContentLanguageListContainer::NAME))     if(context.contains(ContentLanguageListContainer::NAME))
Line 1033 
Line 1047 
         // the indication.  Fall back to the lang set in this object.         // the indication.  Fall back to the lang set in this object.
         contentLangs = getLanguages();         contentLangs = getLanguages();
     }     }
     // l10n -end  
  
     // create message     // create message
     // l10n  
     CIMProcessIndicationRequestMessage * request =     CIMProcessIndicationRequestMessage * request =
         new CIMProcessIndicationRequestMessage(         new CIMProcessIndicationRequestMessage(
         XmlWriter::getNextMessageId(),         XmlWriter::getNextMessageId(),
Line 1050 
Line 1062 
  
     if(request->operationContext.contains(ContentLanguageListContainer::NAME))     if(request->operationContext.contains(ContentLanguageListContainer::NAME))
     {     {
         request->operationContext.set(ContentLanguageListContainer(contentLangs));          request->operationContext.set(
               ContentLanguageListContainer(contentLangs));
     }     }
     else     else
     {     {
         request->operationContext.insert(ContentLanguageListContainer(contentLangs));          request->operationContext.insert(
               ContentLanguageListContainer(contentLangs));
     }     }
  
     _indicationCallback(request);     _indicationCallback(request);
 } }
  
 void EnableIndicationsResponseHandler::deliver(const Array<CIMIndication> & cimIndications)  void EnableIndicationsResponseHandler::deliver(
       const Array<CIMIndication>& cimIndications)
 { {
     OperationContext context;     OperationContext context;
  
     deliver(context, cimIndications);     deliver(context, cimIndications);
 } }
  
 void EnableIndicationsResponseHandler::deliver(const OperationContext & context, const Array<CIMIndication> & cimIndications)  void EnableIndicationsResponseHandler::deliver(
       const OperationContext& context,
       const Array<CIMIndication>& cimIndications)
 { {
     for(Uint32 i = 0, n = cimIndications.size(); i < n; i++)     for(Uint32 i = 0, n = cimIndications.size(); i < n; i++)
     {     {
Line 1075 
Line 1092 
     }     }
 } }
  
 String EnableIndicationsResponseHandler::getClass(void) const  String EnableIndicationsResponseHandler::getClass() const
 { {
     return(String("EnableIndicationsResponseHandler"));      return String("EnableIndicationsResponseHandler");
 } }
  
 Boolean EnableIndicationsResponseHandler::isAsync(void) const  Boolean EnableIndicationsResponseHandler::isAsync() const
 { {
     return(false);      return false;
 } }
  
 PEGASUS_NAMESPACE_END PEGASUS_NAMESPACE_END


Legend:
Removed from v.1.22  
changed lines
  Added in v.1.23

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2