version 1.15, 2008/11/12 17:22:32
|
version 1.16, 2008/11/25 19:27:27
|
|
|
// | // |
//%//////////////////////////////////////////////////////////////////////////// | //%//////////////////////////////////////////////////////////////////////////// |
| |
#if defined(PEGASUS_ENABLE_INTERNAL_BINARY_PROTOCOL) |
#if defined(PEGASUS_ENABLE_PROTOCOL_INTERNAL_BINARY) |
# include <Pegasus/Common/CIMBinMsgSerializer.h> | # include <Pegasus/Common/CIMBinMsgSerializer.h> |
# include <Pegasus/Common/CIMBinMsgDeserializer.h> | # include <Pegasus/Common/CIMBinMsgDeserializer.h> |
#else | #else |
|
|
// | // |
// Serialize the request | // Serialize the request |
// | // |
#if defined(PEGASUS_ENABLE_INTERNAL_BINARY_PROTOCOL) |
#if defined(PEGASUS_ENABLE_PROTOCOL_INTERNAL_BINARY) |
CIMBuffer messageBuffer(4096); | CIMBuffer messageBuffer(4096); |
#else | #else |
Buffer messageBuffer; | Buffer messageBuffer; |
|
|
| |
try | try |
{ | { |
#if defined(PEGASUS_ENABLE_INTERNAL_BINARY_PROTOCOL) |
#if defined(PEGASUS_ENABLE_PROTOCOL_INTERNAL_BINARY) |
CIMBinMsgSerializer::serialize(messageBuffer, message); | CIMBinMsgSerializer::serialize(messageBuffer, message); |
#else | #else |
CIMMessageSerializer::serialize (messageBuffer, message); | CIMMessageSerializer::serialize (messageBuffer, message); |
|
|
// | // |
// Read the message data | // Read the message data |
// | // |
#if defined(PEGASUS_ENABLE_INTERNAL_BINARY_PROTOCOL) |
#if defined(PEGASUS_ENABLE_PROTOCOL_INTERNAL_BINARY) |
// CIMBuffer uses realloc() and free() so the buffer must be allocated | // CIMBuffer uses realloc() and free() so the buffer must be allocated |
// with malloc(). | // with malloc(). |
AutoPtr<char, FreeCharPtr> messageBuffer((char*)malloc(messageLength + 1)); | AutoPtr<char, FreeCharPtr> messageBuffer((char*)malloc(messageLength + 1)); |
|
|
// | // |
// De-serialize the message | // De-serialize the message |
// | // |
#if defined(PEGASUS_ENABLE_INTERNAL_BINARY_PROTOCOL) |
#if defined(PEGASUS_ENABLE_PROTOCOL_INTERNAL_BINARY) |
// CIMBuffer frees messageBuffer upon destruction. | // CIMBuffer frees messageBuffer upon destruction. |
CIMBuffer buf(messageBuffer.release(), messageLength); | CIMBuffer buf(messageBuffer.release(), messageLength); |
message = CIMBinMsgDeserializer::deserialize(buf, messageLength); | message = CIMBinMsgDeserializer::deserialize(buf, messageLength); |