version 1.21, 2006/01/30 16:17:59
|
version 1.22, 2006/07/11 18:39:34
|
|
|
: MessageQueue(PEGASUS_QUEUENAME_INTERNALCLIENT), | : MessageQueue(PEGASUS_QUEUENAME_INTERNALCLIENT), |
_output_qid(0), | _output_qid(0), |
_return_qid(0), | _return_qid(0), |
_response(true, 1) |
_response(0) |
{ | { |
// output queue is the binary message handler | // output queue is the binary message handler |
MessageQueue* out = MessageQueue::lookup(PEGASUS_QUEUENAME_BINARY_HANDLER); | MessageQueue* out = MessageQueue::lookup(PEGASUS_QUEUENAME_BINARY_HANDLER); |
|
|
| |
for(Uint32 i = 0, n = _response.count(); i < n; i++) | for(Uint32 i = 0, n = _response.count(); i < n; i++) |
{ | { |
Message* message = _response.remove_first(); |
Message* message = _response.dequeue(); |
| |
delete message; | delete message; |
} | } |
|
|
case CIM_GET_PROPERTY_RESPONSE_MESSAGE: | case CIM_GET_PROPERTY_RESPONSE_MESSAGE: |
case CIM_SET_PROPERTY_RESPONSE_MESSAGE: | case CIM_SET_PROPERTY_RESPONSE_MESSAGE: |
case CIM_INVOKE_METHOD_RESPONSE_MESSAGE: | case CIM_INVOKE_METHOD_RESPONSE_MESSAGE: |
_response.insert_last(message); |
_response.enqueue(message); |
| |
break; | break; |
default: | default: |
|
|
| |
// wait for response | // wait for response |
CIMResponseMessage* response = | CIMResponseMessage* response = |
dynamic_cast<CIMResponseMessage *>(_response.remove_first_wait()); |
dynamic_cast<CIMResponseMessage *>(_response.dequeue_wait()); |
| |
PEG_METHOD_EXIT(); | PEG_METHOD_EXIT(); |
return(response); | return(response); |