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

Diff for /pegasus/src/Pegasus/Common/BinaryCodec.cpp between version 1.14 and 1.15

version 1.14, 2011/02/17 14:23:34 version 1.15, 2011/02/23 09:41:09
Line 3042 
Line 3042 
 //============================================================================== //==============================================================================
  
 CIMOperationRequestMessage* BinaryCodec::decodeRequest( CIMOperationRequestMessage* BinaryCodec::decodeRequest(
     const Buffer& in,      CIMBuffer& in,
     Uint32 queueId,     Uint32 queueId,
     Uint32 returnQueueId)     Uint32 returnQueueId)
 { {
     CIMBuffer buf((char*)in.getData(), in.size());  
     CIMBufferReleaser buf_(buf);  
  
     // Turn on validation:     // Turn on validation:
 #if defined(ENABLE_VALIDATION) #if defined(ENABLE_VALIDATION)
     buf.setValidate(true);      in.setValidate(true);
 #endif #endif
  
     Uint32 flags;     Uint32 flags;
Line 3059 
Line 3057 
     Operation operation;     Operation operation;
  
  
     if (!_getHeader(buf, flags, messageId, operation))      if (!_getHeader(in, flags, messageId, operation))
     {     {
         return 0;         return 0;
     }     }
Line 3068 
Line 3066 
     {     {
         case OP_EnumerateInstances:         case OP_EnumerateInstances:
             return _decodeEnumerateInstancesRequest(             return _decodeEnumerateInstancesRequest(
                 buf, queueId, returnQueueId, flags, messageId);                  in, queueId, returnQueueId, flags, messageId);
         case OP_EnumerateInstanceNames:         case OP_EnumerateInstanceNames:
             return _decodeEnumerateInstanceNamesRequest(             return _decodeEnumerateInstanceNamesRequest(
                 buf, queueId, returnQueueId, messageId);                  in, queueId, returnQueueId, messageId);
         case OP_GetInstance:         case OP_GetInstance:
             return _decodeGetInstanceRequest(             return _decodeGetInstanceRequest(
                 buf, queueId, returnQueueId, flags, messageId);                  in, queueId, returnQueueId, flags, messageId);
         case OP_CreateInstance:         case OP_CreateInstance:
             return _decodeCreateInstanceRequest(             return _decodeCreateInstanceRequest(
                 buf, queueId, returnQueueId, messageId);                  in, queueId, returnQueueId, messageId);
         case OP_ModifyInstance:         case OP_ModifyInstance:
             return _decodeModifyInstanceRequest(             return _decodeModifyInstanceRequest(
                 buf, queueId, returnQueueId, flags, messageId);                  in, queueId, returnQueueId, flags, messageId);
         case OP_DeleteInstance:         case OP_DeleteInstance:
             return _decodeDeleteInstanceRequest(             return _decodeDeleteInstanceRequest(
                 buf, queueId, returnQueueId, messageId);                  in, queueId, returnQueueId, messageId);
         case OP_Associators:         case OP_Associators:
             return _decodeAssociatorsRequest(             return _decodeAssociatorsRequest(
                 buf, queueId, returnQueueId, flags, messageId);                  in, queueId, returnQueueId, flags, messageId);
         case OP_AssociatorNames:         case OP_AssociatorNames:
             return _decodeAssociatorNamesRequest(             return _decodeAssociatorNamesRequest(
                 buf, queueId, returnQueueId, messageId);                  in, queueId, returnQueueId, messageId);
         case OP_References:         case OP_References:
             return _decodeReferencesRequest(             return _decodeReferencesRequest(
                 buf, queueId, returnQueueId, flags, messageId);                  in, queueId, returnQueueId, flags, messageId);
         case OP_ReferenceNames:         case OP_ReferenceNames:
             return _decodeReferenceNamesRequest(             return _decodeReferenceNamesRequest(
                 buf, queueId, returnQueueId, messageId);                  in, queueId, returnQueueId, messageId);
         case OP_GetClass:         case OP_GetClass:
             return _decodeGetClassRequest(             return _decodeGetClassRequest(
                 buf, queueId, returnQueueId, flags, messageId);                  in, queueId, returnQueueId, flags, messageId);
         case OP_EnumerateClasses:         case OP_EnumerateClasses:
             return _decodeEnumerateClassesRequest(             return _decodeEnumerateClassesRequest(
                 buf, queueId, returnQueueId, flags, messageId);                  in, queueId, returnQueueId, flags, messageId);
         case OP_EnumerateClassNames:         case OP_EnumerateClassNames:
             return _decodeEnumerateClassNamesRequest(             return _decodeEnumerateClassNamesRequest(
                 buf, queueId, returnQueueId, flags, messageId);                  in, queueId, returnQueueId, flags, messageId);
         case OP_CreateClass:         case OP_CreateClass:
             return _decodeCreateClassRequest(             return _decodeCreateClassRequest(
                 buf, queueId, returnQueueId, messageId);                  in, queueId, returnQueueId, messageId);
         case OP_DeleteClass:         case OP_DeleteClass:
             return _decodeDeleteClassRequest(             return _decodeDeleteClassRequest(
                 buf, queueId, returnQueueId, messageId);                  in, queueId, returnQueueId, messageId);
         case OP_ModifyClass:         case OP_ModifyClass:
             return _decodeModifyClassRequest(             return _decodeModifyClassRequest(
                 buf, queueId, returnQueueId, messageId);                  in, queueId, returnQueueId, messageId);
         case OP_SetQualifier:         case OP_SetQualifier:
             return _decodeSetQualifierRequest(             return _decodeSetQualifierRequest(
                 buf, queueId, returnQueueId, messageId);                  in, queueId, returnQueueId, messageId);
         case OP_GetQualifier:         case OP_GetQualifier:
             return _decodeGetQualifierRequest(             return _decodeGetQualifierRequest(
                 buf, queueId, returnQueueId, messageId);                  in, queueId, returnQueueId, messageId);
         case OP_DeleteQualifier:         case OP_DeleteQualifier:
             return _decodeDeleteQualifierRequest(             return _decodeDeleteQualifierRequest(
                 buf, queueId, returnQueueId, messageId);                  in, queueId, returnQueueId, messageId);
         case OP_EnumerateQualifiers:         case OP_EnumerateQualifiers:
             return _decodeEnumerateQualifiersRequest(             return _decodeEnumerateQualifiersRequest(
                 buf, queueId, returnQueueId, messageId);                  in, queueId, returnQueueId, messageId);
         case OP_GetProperty:         case OP_GetProperty:
            return _decodeGetPropertyRequest(            return _decodeGetPropertyRequest(
                 buf, queueId, returnQueueId, messageId);                  in, queueId, returnQueueId, messageId);
         case OP_SetProperty:         case OP_SetProperty:
            return _decodeSetPropertyRequest(            return _decodeSetPropertyRequest(
                 buf, queueId, returnQueueId, messageId);                  in, queueId, returnQueueId, messageId);
         case OP_InvokeMethod:         case OP_InvokeMethod:
            return _decodeInvokeMethodRequest(            return _decodeInvokeMethodRequest(
                 buf, queueId, returnQueueId, messageId);                  in, queueId, returnQueueId, messageId);
         case OP_ExecQuery:         case OP_ExecQuery:
            return _decodeExecQueryRequest(            return _decodeExecQueryRequest(
                 buf, queueId, returnQueueId, messageId);                  in, queueId, returnQueueId, messageId);
         default:         default:
             // Unexpected message type             // Unexpected message type
             PEGASUS_ASSERT(0);             PEGASUS_ASSERT(0);
Line 3151 
Line 3149 
 // //
 //============================================================================== //==============================================================================
  
 CIMResponseMessage* BinaryCodec::decodeResponse(  
     const Buffer& in)  
 {  
     CIMBuffer buf((char*)in.getData(), in.size());  
     CIMBufferReleaser buf_(buf);  
   
     return decodeResponse(buf);  
 }  
  
 CIMResponseMessage* BinaryCodec::decodeResponse( CIMResponseMessage* BinaryCodec::decodeResponse(
     CIMBuffer& buf)     CIMBuffer& buf)
Line 3290 
Line 3280 
         XmlWriter::appendMethodResponseHeader(out, httpMethod,         XmlWriter::appendMethodResponseHeader(out, httpMethod,
             httpContentLanguages, 0, serverResponseTime, true);             httpContentLanguages, 0, serverResponseTime, true);
  
           for (size_t i=out.size(), k=CIMBuffer::round(i); i<k;i++)
           {
               out.append('\0');
           }
         // Binary message header:         // Binary message header:
         CIMBuffer cb(128);         CIMBuffer cb(128);
         _putHeader(cb, 0, messageId, _NameToOp(iMethodName));         _putHeader(cb, 0, messageId, _NameToOp(iMethodName));
Line 3512 
Line 3506 
         true, /* binaryRequest */         true, /* binaryRequest */
         binaryResponse);         binaryResponse);
  
       // Need to pad the Buffer to the 64bit border since CIMBuffer is 64bit
       // aligned, but Buffer only 8bit
       Uint32 extraAlignBytes = CIMBuffer::round(out.size()) - out.size();
       for (Uint32 i=0; i < extraAlignBytes;i++)
       {
           out.append('\0');
       }
       // Need fix-up Content-length value...
       char * contentLengthValueStart =
           (char*) strstr(out.getData(), "content-length");
       contentLengthValueStart += sizeof("content-length: ")-1;
       // using sprintf to stay equal to the macro OUTPUT_CONTENTLENGTH definition
       // defined in XMLGenerator.h
       char contentLengthP[11];
       sprintf(contentLengthP,"%.10u", (unsigned int)buf.size()+extraAlignBytes);
       memcpy(contentLengthValueStart,contentLengthP,10);
   
     out.append(buf.getData(), buf.size());     out.append(buf.getData(), buf.size());
  
     return true;     return true;


Legend:
Removed from v.1.14  
changed lines
  Added in v.1.15

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2