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

Diff for /pegasus/src/Pegasus/ProviderManager2/OperationResponseHandler.h between version 1.12 and 1.22

version 1.12, 2005/01/24 15:31:50 version 1.22, 2005/03/11 01:51:56
Line 1 
Line 1 
 //%2004////////////////////////////////////////////////////////////////////////  //%2005////////////////////////////////////////////////////////////////////////
 // //
 // 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.
 // //
 // 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 169 
Line 171 
         // 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 this
         // operation. If it does not exist, then this feature is disabled for this         // operation. If it does not exist, then this feature is disabled for this
         // operation.         // operation.
           CIMClass cimClass;
   
         try         try
         {         {
             CachedClassDefinitionContainer container =             CachedClassDefinitionContainer container =
                 request->operationContext.get(CachedClassDefinitionContainer::NAME);                 request->operationContext.get(CachedClassDefinitionContainer::NAME);
  
             CIMClass cimClass = container.getClass();              cimClass = container.getClass();
  
             _normalizer =  
                 ObjectNormalizer(  
                     cimClass,  
                     request->localOnly,  
                     request->includeQualifiers,  
                     request->includeClassOrigin);  
         }         }
         catch(Exception &)         catch(Exception &)
         {         {
             // Do nothing. Container is missing, which implies normalization is disabled             // Do nothing. Container is missing, which implies normalization is disabled
             // for this operation.             // for this operation.
         }         }
   
           _normalizer =
               ObjectNormalizer(
                   cimClass,
                   request->includeQualifiers,
                   request->includeClassOrigin);
         #endif         #endif
     }     }
  
     virtual void deliver(const CIMInstance & cimInstance)     virtual void deliver(const CIMInstance & cimInstance)
     {     {
         // If the normalizer was seeded with a class definition, the results are          if(cimInstance.isUninitialized())
         // normalized. Otherwise, the normalizer does nothing.          {
         deliver(_normalizer.processInstance(cimInstance));              MessageLoaderParms message(
                   "Common.Exception.UNINITIALIZED_OBJECT_EXCEPTION",
                   "The object is not initialized.");
   
               throw CIMException(CIM_ERR_FAILED, message);
           }
   
           #ifdef PEGASUS_ENABLE_OBJECT_NORMALIZATION
           SimpleInstanceResponseHandler::deliver(_normalizer.processInstance(cimInstance));
           #else
           SimpleInstanceResponseHandler::deliver(cimInstance);
           #endif
     }     }
  
   protected:
     virtual String getClass(void) const     virtual String getClass(void) const
     {     {
         return(String("GetInstanceResponseHandler"));         return(String("GetInstanceResponseHandler"));
Line 241 
Line 257 
         // 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 this
         // operation. If it does not exist, then this feature is disabled for this         // operation. If it does not exist, then this feature is disabled for this
         // operation.         // operation.
           CIMClass cimClass;
   
         try         try
         {         {
             CachedClassDefinitionContainer container =             CachedClassDefinitionContainer container =
                 request->operationContext.get(CachedClassDefinitionContainer::NAME);                 request->operationContext.get(CachedClassDefinitionContainer::NAME);
  
             CIMClass cimClass = container.getClass();              cimClass = container.getClass();
   
             _normalizer =  
                 ObjectNormalizer(  
                     cimClass,  
                     request->localOnly,  
                     request->includeQualifiers,  
                     request->includeClassOrigin);  
         }         }
         catch(Exception &)         catch(Exception &)
         {         {
             // Do nothing. Container is missing, which implies normalization is disabled             // Do nothing. Container is missing, which implies normalization is disabled
             // for this operation.             // for this operation.
         }         }
   
           _normalizer =
               ObjectNormalizer(
                   cimClass,
                   request->includeQualifiers,
                   request->includeClassOrigin);
         #endif         #endif
     }     }
  
     virtual void deliver(const CIMInstance & cimInstance)     virtual void deliver(const CIMInstance & cimInstance)
     {     {
         // If the normalizer was seeded with a class definition, the results are          if(cimInstance.isUninitialized())
         // normalized. Otherwise, the normalizer does nothing.          {
         deliver(_normalizer.processInstance(cimInstance));              MessageLoaderParms message(
                   "Common.Exception.UNINITIALIZED_OBJECT_EXCEPTION",
                   "The object is not initialized.");
   
               throw CIMException(CIM_ERR_FAILED, message);
           }
   
           #ifdef PEGASUS_ENABLE_OBJECT_NORMALIZATION
           SimpleInstanceResponseHandler::deliver(_normalizer.processInstance(cimInstance));
           #else
           SimpleInstanceResponseHandler::deliver(cimInstance);
           #endif
     }     }
  
   protected:
     virtual String getClass(void) const     virtual String getClass(void) const
     {     {
         return(String("EnumerateInstancesResponseHandler"));         return(String("EnumerateInstancesResponseHandler"));
Line 300 
Line 329 
         // 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 this
         // operation. If it does not exist, then this feature is disabled for this         // operation. If it does not exist, then this feature is disabled for this
         // operation.         // operation.
           CIMClass cimClass;
   
         try         try
         {         {
             CachedClassDefinitionContainer container =             CachedClassDefinitionContainer container =
                 request->operationContext.get(CachedClassDefinitionContainer::NAME);                 request->operationContext.get(CachedClassDefinitionContainer::NAME);
  
             CIMClass cimClass = container.getClass();              cimClass = container.getClass();
   
             _normalizer =  
                 ObjectNormalizer(  
                     cimClass,  
                     false,  
                     false,  
                     false);  
         }         }
         catch(Exception &)         catch(Exception &)
         {         {
             // Do nothing. Container is missing, which implies normalization is disabled             // Do nothing. Container is missing, which implies normalization is disabled
             // for this operation.             // for this operation.
         }         }
   
           _normalizer =
               ObjectNormalizer(
                   cimClass,
                   false,
                   false);
         #endif         #endif
     }     }
  
     virtual void deliver(const CIMObjectPath & cimObjectPath)     virtual void deliver(const CIMObjectPath & cimObjectPath)
     {     {
         // If the normalizer was seeded with a class definition, the results are          if(cimObjectPath.getClassName().isNull())
         // normalized. Otherwise, the normalizer does nothing.          {
         deliver(_normalizer.processInstanceObjectPath(cimObjectPath));              MessageLoaderParms message(
                   "Common.Exception.UNINITIALIZED_OBJECT_EXCEPTION",
                   "The object is not initialized.");
   
               throw CIMException(CIM_ERR_FAILED, message);
           }
   
           #ifdef PEGASUS_ENABLE_OBJECT_NORMALIZATION
           SimpleObjectPathResponseHandler::deliver(_normalizer.processInstanceObjectPath(cimObjectPath));
           #else
           SimpleObjectPathResponseHandler::deliver(cimObjectPath);
           #endif
     }     }
  
   protected:
     virtual String getClass(void) const     virtual String getClass(void) const
     {     {
         return(String("EnumerateInstanceNamesResponseHandler"));         return(String("EnumerateInstanceNamesResponseHandler"));
Line 357 
Line 399 
     {     {
     }     }
  
       virtual void deliver(const CIMObjectPath & cimObjectPath)
       {
           if(cimObjectPath.getClassName().isNull())
           {
               MessageLoaderParms message(
                   "Common.Exception.UNINITIALIZED_OBJECT_EXCEPTION",
                   "The object is not initialized.");
   
               throw CIMException(CIM_ERR_FAILED, message);
           }
   
           SimpleObjectPathResponseHandler::deliver(cimObjectPath);
       }
   
   protected:
     virtual String getClass(void) const     virtual String getClass(void) const
     {     {
         return(String("CreateInstanceResponseHandler"));         return(String("CreateInstanceResponseHandler"));
Line 395 
Line 452 
     {     {
     }     }
  
   protected:
     virtual String getClass(void) const     virtual String getClass(void) const
     {     {
         return(String("ModifyInstanceResponseHandler"));         return(String("ModifyInstanceResponseHandler"));
     }     }
   
 }; };
  
 class DeleteInstanceResponseHandler : public OperationResponseHandler, public SimpleResponseHandler class DeleteInstanceResponseHandler : public OperationResponseHandler, public SimpleResponseHandler
Line 412 
Line 469 
     {     {
     }     }
  
   protected:
     virtual String getClass(void) const     virtual String getClass(void) const
     {     {
         return(String("DeleteInstanceResponseHandler"));         return(String("DeleteInstanceResponseHandler"));
Line 429 
Line 487 
     {     {
     }     }
  
       virtual void deliver(const CIMValue & cimValue)
       {
           if(cimValue.isNull())
           {
               MessageLoaderParms message(
                   "Common.Exception.UNINITIALIZED_OBJECT_EXCEPTION",
                   "The object is not initialized.");
   
               throw CIMException(CIM_ERR_FAILED, message);
           }
   
           SimpleValueResponseHandler::deliver(cimValue);
       }
   
   protected:
     virtual String getClass(void) const     virtual String getClass(void) const
     {     {
         return(String("GetPropertyResponseHandler"));         return(String("GetPropertyResponseHandler"));
Line 466 
Line 539 
     {     {
     }     }
  
   protected:
     virtual String getClass(void) const     virtual String getClass(void) const
     {     {
         return(String("SetPropertyResponseHandler"));         return(String("SetPropertyResponseHandler"));
Line 483 
Line 557 
     {     {
     }     }
  
       virtual void deliver(const CIMInstance & cimInstance)
       {
           if(cimInstance.isUninitialized())
           {
               MessageLoaderParms message(
                   "Common.Exception.UNINITIALIZED_OBJECT_EXCEPTION",
                   "The object is not initialized.");
   
               throw CIMException(CIM_ERR_FAILED, message);
           }
   
           SimpleInstance2ObjectResponseHandler::deliver(cimInstance);
       }
   
   protected:
     virtual String getClass(void) const     virtual String getClass(void) const
     {     {
         return(String("ExecQueryResponseHandler"));         return(String("ExecQueryResponseHandler"));
Line 496 
Line 585 
         msg.cimObjects = getObjects();         msg.cimObjects = getObjects();
     }     }
  
     // this handler will not send async  
     virtual Boolean isAsync(void) const     virtual Boolean isAsync(void) const
     {     {
         return(false);         return(false);
Line 513 
Line 601 
     {     {
     }     }
  
       virtual void deliver(const CIMObject & cimObject)
       {
           if(cimObject.isUninitialized())
           {
               MessageLoaderParms message(
                   "Common.Exception.UNINITIALIZED_OBJECT_EXCEPTION",
                   "The object is not initialized.");
   
               throw CIMException(CIM_ERR_FAILED, message);
           }
   
           SimpleObjectResponseHandler::deliver(cimObject);
       }
   
   protected:
     virtual String getClass(void) const     virtual String getClass(void) const
     {     {
         return(String("AssociatorsResponseHandler"));         return(String("AssociatorsResponseHandler"));
Line 537 
Line 640 
     {     {
     }     }
  
       virtual void deliver(const CIMObjectPath & cimObjectPath)
       {
           if(cimObjectPath.getClassName().isNull())
           {
               MessageLoaderParms message(
                   "Common.Exception.UNINITIALIZED_OBJECT_EXCEPTION",
                   "The object is not initialized.");
   
               throw CIMException(CIM_ERR_FAILED, message);
           }
   
           SimpleObjectPathResponseHandler::deliver(cimObjectPath);
       }
   
   protected:
     virtual String getClass(void) const     virtual String getClass(void) const
     {     {
         return(String("AssociatorNamesResponseHandler"));         return(String("AssociatorNamesResponseHandler"));
Line 561 
Line 679 
     {     {
     }     }
  
       virtual void deliver(const CIMObject & cimObject)
       {
           if(cimObject.isUninitialized())
           {
               MessageLoaderParms message(
                   "Common.Exception.UNINITIALIZED_OBJECT_EXCEPTION",
                   "The object is not initialized.");
   
               throw CIMException(CIM_ERR_FAILED, message);
           }
   
           SimpleObjectResponseHandler::deliver(cimObject);
       }
   
   protected:
     virtual String getClass(void) const     virtual String getClass(void) const
     {     {
         return(String("ReferencesResponseHandler"));         return(String("ReferencesResponseHandler"));
Line 585 
Line 718 
     {     {
     }     }
  
       virtual void deliver(const CIMObjectPath & cimObjectPath)
       {
           if(cimObjectPath.getClassName().isNull())
           {
               MessageLoaderParms message(
                   "Common.Exception.UNINITIALIZED_OBJECT_EXCEPTION",
                   "The object is not initialized.");
   
               throw CIMException(CIM_ERR_FAILED, message);
           }
   
           SimpleObjectPathResponseHandler::deliver(cimObjectPath);
       }
   
   protected:
     virtual String getClass(void) const     virtual String getClass(void) const
     {     {
         return(String("ReferenceNamesResponseHandler"));         return(String("ReferenceNamesResponseHandler"));
Line 609 
Line 757 
     {     {
     }     }
  
       virtual void deliverParamValue(const CIMParamValue & cimParamValue)
       {
           if(cimParamValue.isUninitialized())
           {
               MessageLoaderParms message(
                   "Common.Exception.UNINITIALIZED_OBJECT_EXCEPTION",
                   "The object is not initialized.");
   
               throw CIMException(CIM_ERR_FAILED, message);
           }
   
           SimpleMethodResultResponseHandler::deliverParamValue(cimParamValue);
       }
   
       virtual void deliver(const CIMValue & cimValue)
       {
           if(cimValue.isNull())
           {
               MessageLoaderParms message(
                   "Common.Exception.UNINITIALIZED_OBJECT_EXCEPTION",
                   "The object is not initialized.");
   
               throw CIMException(CIM_ERR_FAILED, message);
           }
   
           SimpleMethodResultResponseHandler::deliver(cimValue);
       }
   
   protected:
     virtual String getClass(void) const     virtual String getClass(void) const
     {     {
         return(String("InvokeMethodResponseHandler"));         return(String("InvokeMethodResponseHandler"));
Line 634 
Line 811 
 { {
 public: public:
     EnableIndicationsResponseHandler(     EnableIndicationsResponseHandler(
         CIMEnableIndicationsRequestMessage * request,          CIMRequestMessage * request,
         CIMEnableIndicationsResponseMessage * response,          CIMResponseMessage * response,
         CIMInstance & provider,         CIMInstance & provider,
         PEGASUS_INDICATION_CALLBACK indicationCallback)         PEGASUS_INDICATION_CALLBACK indicationCallback)
     : OperationResponseHandler(request, response),     : OperationResponseHandler(request, response),
         _request_copy(*request),  
         _response_copy(*response),  
         _indicationCallback(indicationCallback)         _indicationCallback(indicationCallback)
     {     {
         _provider = provider;         _provider = provider;
     }     }
  
     virtual String getClass(void) const  
     {  
         return(String("EnableIndicationsResponseHandler"));  
     }  
   
     // this handler will not send async  
     virtual Boolean isAsync(void) const  
     {  
         return(false);  
     }  
   
     virtual void deliver(const CIMIndication & cimIndication)     virtual void deliver(const CIMIndication & cimIndication)
     {     {
         OperationContext context;         OperationContext context;
Line 670 
Line 834 
  
     virtual void deliver(const OperationContext & context, const CIMIndication & cimIndication)     virtual void deliver(const OperationContext & context, const CIMIndication & cimIndication)
     {     {
           if(cimIndication.isUninitialized())
           {
               MessageLoaderParms message(
                   "Common.Exception.UNINITIALIZED_OBJECT_EXCEPTION",
                   "The object is not initialized.");
   
               throw CIMException(CIM_ERR_FAILED, message);
           }
   
         // ATTN: temporarily convert indication to instance         // ATTN: temporarily convert indication to instance
         CIMInstance cimInstance(cimIndication);         CIMInstance cimInstance(cimIndication);
  
Line 748 
Line 921 
         }         }
     }     }
  
   protected:
       virtual String getClass(void) const
       {
           return(String("EnableIndicationsResponseHandler"));
       }
   
       virtual Boolean isAsync(void) const
       {
           return(false);
       }
   
 private: private:
     CIMEnableIndicationsRequestMessage _request_copy;  
     CIMEnableIndicationsResponseMessage _response_copy;  
     PEGASUS_INDICATION_CALLBACK _indicationCallback;     PEGASUS_INDICATION_CALLBACK _indicationCallback;
  
 }; };


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

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2