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

   1 karl  1.16 //%2006////////////////////////////////////////////////////////////////////////
   2 mday  1.2  //
   3 karl  1.9  // Copyright (c) 2000, 2001, 2002 BMC Software; Hewlett-Packard Development
   4            // Company, L.P.; IBM Corp.; The Open Group; Tivoli Systems.
   5            // Copyright (c) 2003 BMC Software; Hewlett-Packard Development Company, L.P.;
   6 karl  1.5  // IBM Corp.; EMC Corporation, The Open Group.
   7 karl  1.9  // Copyright (c) 2004 BMC Software; Hewlett-Packard Development Company, L.P.;
   8            // IBM Corp.; EMC Corporation; VERITAS Software Corporation; The Open Group.
   9 karl  1.10 // Copyright (c) 2005 Hewlett-Packard Development Company, L.P.; IBM Corp.;
  10            // EMC Corporation; VERITAS Software Corporation; The Open Group.
  11 karl  1.16 // Copyright (c) 2006 Hewlett-Packard Development Company, L.P.; IBM Corp.;
  12            // EMC Corporation; Symantec Corporation; The Open Group.
  13 mday  1.2  //
  14            // Permission is hereby granted, free of charge, to any person obtaining a copy
  15            // of this software and associated documentation files (the "Software"), to
  16            // deal in the Software without restriction, including without limitation the
  17            // rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
  18            // sell copies of the Software, and to permit persons to whom the Software is
  19            // furnished to do so, subject to the following conditions:
  20            // 
  21            // THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN
  22            // ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS PROVIDED
  23            // "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
  24            // LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
  25            // PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
  26            // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
  27            // ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
  28            // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  29            //
  30            //==============================================================================
  31            //
  32            //%/////////////////////////////////////////////////////////////////////////////
  33            
  34 mday  1.2  #include "BinaryMessageHandler.h"
  35            #include <Pegasus/Common/Thread.h>
  36            
  37            PEGASUS_NAMESPACE_BEGIN
  38            
  39 kumpf 1.24 BinaryMessageHandler::BinaryMessageHandler(MessageQueueService* output_q)
  40 mday  1.2     : Base(PEGASUS_QUEUENAME_BINARY_HANDLER),
  41                 _outputQueue(output_q),
  42 mike  1.19      _msg_q()
  43 mday  1.2  {
  44            }
  45            
  46 kumpf 1.24 BinaryMessageHandler::~BinaryMessageHandler()
  47 mday  1.2  {
  48            }
  49            
  50 kumpf 1.24 Boolean BinaryMessageHandler::messageOK(const Message* msg)
  51 mday  1.2  {
  52 kumpf 1.24     return Base::messageOK(msg);
  53 mday  1.2  }
  54            
  55 kumpf 1.24 void BinaryMessageHandler::handleEnqueue()
  56 mday  1.2  {
  57 kumpf 1.24     Message* msg = dequeue();
  58                handleEnqueue(msg);
  59 mday  1.2  }
  60            
  61 kumpf 1.24 void BinaryMessageHandler::handleEnqueue(Message* message)
  62 mday  1.2  {
  63 kumpf 1.24     PEG_METHOD_ENTER(TRC_BINARY_MSG_HANDLER,
  64                    "BinaryMessageHandler::handleEnqueue(Message*)");
  65                PEGASUS_ASSERT(message != 0);
  66            
  67                AsyncRequest* asyncRequest;
  68                AsyncOpNode* op;
  69 mday  1.2  
  70 kumpf 1.27     message->put_async(0);
  71 mday  1.2  
  72 marek 1.25     PEG_TRACE_CSTRING(TRC_BINARY_MSG_HANDLER, Tracer::LEVEL4,
  73 kumpf 1.24         "Converting legacy message to AsyncLegacyOperationStart");
  74                op = this->get_op();
  75                asyncRequest = new AsyncLegacyOperationStart(
  76                    op,
  77                    this->getQueueId(),
  78                    message,
  79                    this->getQueueId());
  80                op->_flags |= ASYNC_OPFLAGS_FIRE_AND_FORGET;
  81            
  82                _handle_async_request(asyncRequest);
  83                PEG_METHOD_EXIT();
  84 mday  1.2  }
  85            
  86 kumpf 1.24 void BinaryMessageHandler::_handle_async_request(AsyncRequest* request)
  87 mday  1.2  {
  88 kumpf 1.24     PEG_METHOD_ENTER(TRC_BINARY_MSG_HANDLER,
  89                    "BinaryMessageHandler::_handle_async_request");
  90 mday  1.2  
  91 kumpf 1.24     PEGASUS_ASSERT(request != 0 && request->op != 0 );
  92 mday  1.2  
  93 kumpf 1.26     if (request->getType() == ASYNC_ASYNC_LEGACY_OP_START ||
  94                    request->getType() == ASYNC_ASYNC_LEGACY_OP_RESULT)
  95 kumpf 1.24     {
  96 marek 1.25         PEG_TRACE_CSTRING(TRC_BINARY_MSG_HANDLER, Tracer::LEVEL4,
  97 kumpf 1.24             "Processing ASYNC_LEGACY_OP_* Message.");
  98                    request->op->processing();
  99            
 100                    try
 101                    {
 102                        _msg_q.enqueue(request->op);
 103                    }
 104                    catch (ListFull&)
 105                    {
 106 marek 1.25             PEG_TRACE_CSTRING(TRC_BINARY_MSG_HANDLER, Tracer::LEVEL4,
 107 kumpf 1.24                 "List Full.");
 108                        Base::_handle_async_request(request);
 109                        PEG_METHOD_EXIT();
 110                        return;
 111                    }
 112                    catch (...)
 113                    {
 114 marek 1.25             PEG_TRACE_CSTRING(TRC_BINARY_MSG_HANDLER, Tracer::LEVEL4,
 115 kumpf 1.24                 "List Error.");
 116                        Base::_handle_async_request(request);
 117                        PEG_METHOD_EXIT();
 118                        return;
 119                    }
 120            
 121 marek 1.25         PEG_TRACE_CSTRING(TRC_BINARY_MSG_HANDLER, Tracer::LEVEL4,
 122 kumpf 1.24             "Allocating pooled thread to handle binary message.");
 123                    if (_thread_pool->allocate_and_awaken(
 124                            (void*)this, BinaryMessageHandler::handle_binary_message) !=
 125                        PEGASUS_THREAD_OK)
 126                    {
 127 marek 1.29             PEG_TRACE((
 128                            TRC_BINARY_MSG_HANDLER,
 129 marek 1.30                 Tracer::LEVEL1,
 130 marek 1.29                 "Not enough threads to handle binary message."
 131                                "Could not allocate thread for %s. "
 132                                "Queue has %d messages waiting. ",
 133 konrad.r 1.14                 getQueueName(),
 134 marek    1.25                 _msg_q.count()));
 135 kumpf    1.24         }
 136                   }
 137 kumpf    1.26     else if (request->getType() == ASYNC_CIMSERVICE_STOP)
 138 kumpf    1.24     {
 139 marek    1.25         PEG_TRACE_CSTRING(TRC_BINARY_MSG_HANDLER, Tracer::LEVEL4,
 140 kumpf    1.24             "Handling CIMServer Stop Message");
 141                       Base::_handle_async_request(request);
 142                   }
 143                   else
 144                   {
 145                       // pass all other operations to the default handler
 146 marek    1.25         PEG_TRACE_CSTRING(TRC_BINARY_MSG_HANDLER, Tracer::LEVEL4,
 147 kumpf    1.24             "Passing message to parent.");
 148 kumpf    1.3  #ifdef BINARYMESSAGEHANDLER_DEBUG
 149 kumpf    1.24         PEGASUS_STD(cout) << "Unexpected Message: type " <<
 150 kumpf    1.26             MessageTypeToString(request->getType()) << PEGASUS_STD(endl);
 151 kumpf    1.3  #endif
 152 mday     1.2  
 153 kumpf    1.24         Base::_handle_async_request(request);
 154                   }
 155 mday     1.2  
 156 kumpf    1.24     PEG_METHOD_EXIT();
 157 mday     1.2  }
 158               
 159 mike     1.22 ThreadReturnType PEGASUS_THREAD_CDECL
 160 kumpf    1.12 BinaryMessageHandler::handle_binary_message(void* parm)
 161 mday     1.2  {
 162 kumpf    1.24     PEG_METHOD_ENTER(TRC_BINARY_MSG_HANDLER,
 163                       "BinaryMessageHandler::handle_binary_message");
 164 kumpf    1.12 
 165 kumpf    1.24     BinaryMessageHandler* myself =
 166                       reinterpret_cast<BinaryMessageHandler*>(parm);
 167                   PEGASUS_ASSERT(myself != 0);
 168               
 169                   AsyncOpNode* op;
 170                   try
 171                   {
 172                       op = myself->_msg_q.dequeue();
 173                   }
 174                   catch (...)
 175                   {
 176 marek    1.25         PEG_TRACE_CSTRING(TRC_BINARY_MSG_HANDLER, Tracer::LEVEL2,
 177 kumpf    1.24             "Internal DQueue Error.");
 178                       PEG_METHOD_EXIT();
 179                       return 0;
 180                   }
 181               
 182                   PEGASUS_ASSERT(op != 0);
 183               
 184                   // we only receive ASYNC_LEGACY_OP_START and
 185                   // ASYNC_LEGACY_OP_RESULT messages
 186               
 187                   Message* legacy = 0;
 188                   AsyncMessage* msg = 0;
 189               
 190                   try
 191                   {
 192                       // if there is a response, dispatch the response
 193                       if (op->_response.get() != 0)
 194                       {
 195                           msg = static_cast<AsyncMessage*>(op->_response.get());
 196                           legacy =
 197                               static_cast<AsyncLegacyOperationResult*>(msg)->get_result();
 198 kumpf    1.24         }
 199                       else
 200                       {
 201                           // there is no response so there has to be a request
 202                           if (op->_request.get() == 0)
 203                           {
 204 marek    1.25                 PEG_TRACE_CSTRING(TRC_BINARY_MSG_HANDLER, Tracer::LEVEL2,
 205 kumpf    1.24                     "Received OpNode with no messages.");
 206                               PEG_METHOD_EXIT();
 207                               return 0;
 208                           }
 209               
 210                           // dispatch the request
 211                           msg = static_cast<AsyncMessage*>(op->_request.get());
 212                           legacy =
 213                               static_cast<AsyncLegacyOperationStart*>(msg)->get_action();
 214                       }
 215                       if (msg && legacy)
 216                       {
 217 kumpf    1.27             legacy->put_async(0);
 218 kumpf    1.24 
 219                           switch(legacy->getType())
 220                           {
 221                               case CIM_CREATE_CLASS_REQUEST_MESSAGE:
 222                                   myself->handleCreateClassRequest(
 223                                       op, (CIMCreateClassRequestMessage*)legacy);
 224                                   break;
 225                               case CIM_CREATE_INSTANCE_REQUEST_MESSAGE:
 226                                   myself->handleCreateInstanceRequest(
 227                                       op, (CIMCreateInstanceRequestMessage*)legacy);
 228                                   break;
 229                               case CIM_MODIFY_CLASS_REQUEST_MESSAGE:
 230                                   myself->handleModifyClassRequest(
 231                                       op, (CIMModifyClassRequestMessage*)legacy);
 232                                   break;
 233 kumpf    1.12             case CIM_MODIFY_INSTANCE_REQUEST_MESSAGE:
 234 kumpf    1.24                     myself->handleModifyInstanceRequest(
 235                                       op, (CIMModifyInstanceRequestMessage*)legacy);
 236                                   break;
 237                           case CIM_ENUMERATE_CLASSES_REQUEST_MESSAGE:
 238                                   myself->handleEnumerateClassesRequest(
 239                                       op, (CIMEnumerateClassesRequestMessage*)legacy);
 240                                   break;
 241 kumpf    1.12             case CIM_ENUMERATE_CLASS_NAMES_REQUEST_MESSAGE:
 242 kumpf    1.24                     myself->handleEnumerateClassNamesRequest(
 243                                       op, (CIMEnumerateClassNamesRequestMessage*)legacy);
 244                                   break;
 245 kumpf    1.12             case CIM_ENUMERATE_INSTANCES_REQUEST_MESSAGE:
 246 kumpf    1.24                     myself->handleEnumerateInstancesRequest(
 247                                       op, (CIMEnumerateInstancesRequestMessage*)legacy);
 248                                   break;
 249 kumpf    1.12             case CIM_ENUMERATE_INSTANCE_NAMES_REQUEST_MESSAGE:
 250 kumpf    1.24                     myself->handleEnumerateInstanceNamesRequest(
 251                                       op, (CIMEnumerateInstanceNamesRequestMessage*)legacy);
 252                                   break;
 253 kumpf    1.12             case CIM_EXEC_QUERY_REQUEST_MESSAGE:
 254 kumpf    1.24                     myself->handleExecQueryRequest(
 255                                       op, (CIMExecQueryRequestMessage*)legacy);
 256                                   break;
 257 kumpf    1.12             case CIM_ASSOCIATORS_REQUEST_MESSAGE:
 258 kumpf    1.24                     myself->handleAssociatorsRequest(
 259                                       op, (CIMAssociatorsRequestMessage*)legacy);
 260                                   break;
 261 kumpf    1.12             case CIM_ASSOCIATOR_NAMES_REQUEST_MESSAGE:
 262 kumpf    1.24                     myself->handleAssociatorNamesRequest(
 263                                       op, (CIMAssociatorNamesRequestMessage*)legacy);
 264                                   break;
 265 kumpf    1.12             case CIM_REFERENCES_REQUEST_MESSAGE:
 266 kumpf    1.24                     myself->handleReferencesRequest(
 267                                       op, (CIMReferencesRequestMessage*)legacy);
 268                                   break;
 269 kumpf    1.12             case CIM_REFERENCE_NAMES_REQUEST_MESSAGE:
 270 kumpf    1.24                     myself->handleReferenceNamesRequest(
 271                                       op, (CIMReferenceNamesRequestMessage*)legacy);
 272                                   break;
 273 kumpf    1.12             case CIM_GET_PROPERTY_REQUEST_MESSAGE:
 274 kumpf    1.24                     myself->handleGetPropertyRequest(
 275                                       op, (CIMGetPropertyRequestMessage*)legacy);
 276                                   break;
 277 kumpf    1.18             case CIM_SET_PROPERTY_REQUEST_MESSAGE:
 278 kumpf    1.24                     myself->handleSetPropertyRequest(
 279                                       op, (CIMSetPropertyRequestMessage*)legacy);
 280                                   break;
 281 kumpf    1.12             case CIM_GET_QUALIFIER_REQUEST_MESSAGE:
 282 kumpf    1.24                     myself->handleGetQualifierRequest(
 283                                       op, (CIMGetQualifierRequestMessage*)legacy);
 284                                   break;
 285 kumpf    1.12             case CIM_SET_QUALIFIER_REQUEST_MESSAGE:
 286 kumpf    1.24                     myself->handleSetQualifierRequest(
 287                                       op, (CIMSetQualifierRequestMessage*)legacy);
 288                                   break;
 289 kumpf    1.12             case CIM_DELETE_QUALIFIER_REQUEST_MESSAGE:
 290 kumpf    1.24                     myself->handleDeleteQualifiersRequest(
 291                                       op, (CIMDeleteQualifierRequestMessage*)legacy);
 292                                   break;
 293 kumpf    1.12             case CIM_ENUMERATE_QUALIFIERS_REQUEST_MESSAGE:
 294 kumpf    1.24                     myself->handleEnumerateQualifiersRequest(
 295                                       op, (CIMEnumerateQualifiersRequestMessage*)legacy);
 296                                   break;
 297 kumpf    1.12             case CIM_INVOKE_METHOD_REQUEST_MESSAGE:
 298 kumpf    1.24                     myself->handleInvokeMethodRequest(
 299                                       op, (CIMInvokeMethodRequestMessage*)legacy);
 300                                   break;
 301 kumpf    1.12             //**** response messages ****//
 302                           case CIM_GET_CLASS_RESPONSE_MESSAGE:
 303 kumpf    1.24                     myself->handleGetClassResponse(
 304                                       op, (CIMGetClassResponseMessage*)legacy);
 305                                   break;
 306 kumpf    1.12             case CIM_GET_INSTANCE_RESPONSE_MESSAGE:
 307 kumpf    1.24                     myself->handleGetInstanceResponse(
 308                                       op, (CIMGetInstanceResponseMessage*)legacy);
 309                                   break;
 310 kumpf    1.12             case CIM_DELETE_CLASS_RESPONSE_MESSAGE:
 311 kumpf    1.24                     myself->handleDeleteClassResponse(
 312                                       op, (CIMDeleteClassResponseMessage*)legacy);
 313                                   break;
 314 kumpf    1.12             case CIM_DELETE_INSTANCE_RESPONSE_MESSAGE:
 315 kumpf    1.24                     myself->handleDeleteInstanceResponse(
 316                                       op, (CIMDeleteInstanceResponseMessage*)legacy);
 317                                   break;
 318 kumpf    1.12             case CIM_CREATE_CLASS_RESPONSE_MESSAGE:
 319 kumpf    1.24                     myself->handleCreateClassResponse(
 320                                       op, (CIMCreateClassResponseMessage*)legacy);
 321                                   break;
 322 kumpf    1.12             case CIM_CREATE_INSTANCE_RESPONSE_MESSAGE:
 323 kumpf    1.24                     myself->handleCreateInstanceResponse(
 324                                       op, (CIMCreateInstanceResponseMessage*)legacy);
 325                                   break;
 326 kumpf    1.12             case CIM_MODIFY_CLASS_RESPONSE_MESSAGE:
 327 kumpf    1.24                     myself->handleModifyClassResponse(
 328                                       op, (CIMModifyClassResponseMessage*)legacy);
 329                                   break;
 330 kumpf    1.12             case CIM_MODIFY_INSTANCE_RESPONSE_MESSAGE:
 331 kumpf    1.24                     myself->handleModifyInstanceResponse(
 332                                       op, (CIMModifyInstanceResponseMessage*)legacy);
 333                                   break;
 334 kumpf    1.12             case CIM_ENUMERATE_CLASSES_RESPONSE_MESSAGE:
 335 kumpf    1.24                     myself->handleEnumerateClassesResponse(
 336                                       op, (CIMEnumerateClassesResponseMessage*)legacy);
 337                                   break;
 338 kumpf    1.12             case CIM_ENUMERATE_CLASS_NAMES_RESPONSE_MESSAGE:
 339 kumpf    1.24                     myself->handleEnumerateClassNamesResponse(
 340                                       op, (CIMEnumerateClassNamesResponseMessage*)legacy);
 341                                   break;
 342 kumpf    1.12             case CIM_ENUMERATE_INSTANCES_RESPONSE_MESSAGE:
 343 kumpf    1.24                     myself->handleEnumerateInstancesResponse(
 344                                       op, (CIMEnumerateInstancesResponseMessage*)legacy);
 345                                   break;
 346 kumpf    1.12             case CIM_ENUMERATE_INSTANCE_NAMES_RESPONSE_MESSAGE:
 347 kumpf    1.24                     myself->handleEnumerateInstanceNamesResponse(
 348                                       op, (CIMEnumerateInstanceNamesResponseMessage*)legacy);
 349                                   break;
 350 kumpf    1.12             case CIM_EXEC_QUERY_RESPONSE_MESSAGE:
 351 kumpf    1.24                     myself->handleExecQueryResponse(
 352                                       op, (CIMExecQueryResponseMessage*)legacy);
 353                                   break;
 354 kumpf    1.12             case CIM_ASSOCIATORS_RESPONSE_MESSAGE:
 355 kumpf    1.24                     myself->handleAssociatorsResponse(
 356                                       op, (CIMAssociatorsResponseMessage*)legacy);
 357                                   break;
 358 kumpf    1.12             case CIM_ASSOCIATOR_NAMES_RESPONSE_MESSAGE:
 359 kumpf    1.24                     myself->handleAssociatorNamesResponse(
 360                                       op, (CIMAssociatorNamesResponseMessage*)legacy);
 361                                   break;
 362 kumpf    1.12             case CIM_REFERENCES_RESPONSE_MESSAGE:
 363 kumpf    1.24                     myself->handleReferencesResponse(
 364                                       op, (CIMReferencesResponseMessage*)legacy);
 365                                   break;
 366 kumpf    1.12             case CIM_REFERENCE_NAMES_RESPONSE_MESSAGE:
 367 kumpf    1.24                     myself->handleReferenceNamesResponse(
 368                                       op, (CIMReferenceNamesResponseMessage*)legacy);
 369                                   break;
 370 kumpf    1.12             case CIM_GET_PROPERTY_RESPONSE_MESSAGE:
 371 kumpf    1.24                     myself->handleGetPropertyResponse(
 372                                       op, (CIMGetPropertyResponseMessage*)legacy);
 373                                   break;
 374 kumpf    1.12             case CIM_SET_PROPERTY_RESPONSE_MESSAGE:
 375 kumpf    1.24                     myself->handleSetPropertyResponse(
 376                                       op, (CIMSetPropertyResponseMessage*)legacy);
 377                                   break;
 378 kumpf    1.12             case CIM_GET_QUALIFIER_RESPONSE_MESSAGE:
 379 kumpf    1.24                     myself->handleGetQualifierResponse(
 380                                       op, (CIMGetQualifierResponseMessage*)legacy);
 381                                   break;
 382 kumpf    1.12             case CIM_SET_QUALIFIER_RESPONSE_MESSAGE:
 383 kumpf    1.24                     myself->handleSetQualifierResponse(
 384                                       op, (CIMSetQualifierResponseMessage*)legacy);
 385                                   break;
 386 kumpf    1.12             case CIM_DELETE_QUALIFIER_RESPONSE_MESSAGE:
 387 kumpf    1.24                     myself->handleDeleteQualifierResponse(
 388                                       op, (CIMDeleteQualifierResponseMessage*)legacy);
 389                                   break;
 390 kumpf    1.12             case CIM_ENUMERATE_QUALIFIERS_RESPONSE_MESSAGE:
 391 kumpf    1.24                     myself->handleEnumerateQualifiersResponse(
 392                                       op, (CIMEnumerateQualifiersResponseMessage*)legacy);
 393                                   break;
 394 kumpf    1.12             case CIM_INVOKE_METHOD_RESPONSE_MESSAGE:
 395 kumpf    1.24                     myself->handleInvokeMethodResponse(
 396                                       op, (CIMInvokeMethodResponseMessage*)legacy);
 397                                   break;
 398 kumpf    1.12 
 399                           // unexpected requests
 400                           case CIM_PROCESS_INDICATION_REQUEST_MESSAGE:
 401 kumpf    1.17             case CIM_HANDLE_INDICATION_REQUEST_MESSAGE:
 402 kumpf    1.18             case CIM_NOTIFY_PROVIDER_REGISTRATION_REQUEST_MESSAGE:
 403 kumpf    1.12             case CIM_NOTIFY_PROVIDER_TERMINATION_REQUEST_MESSAGE:
 404                           case CIM_NOTIFY_PROVIDER_ENABLE_REQUEST_MESSAGE:
 405                           case CIM_CREATE_SUBSCRIPTION_REQUEST_MESSAGE:
 406                           case CIM_MODIFY_SUBSCRIPTION_REQUEST_MESSAGE:
 407                           case CIM_DELETE_SUBSCRIPTION_REQUEST_MESSAGE:
 408                           case CIM_SUBSCRIPTION_INIT_COMPLETE_REQUEST_MESSAGE:
 409                           case CIM_DISABLE_MODULE_REQUEST_MESSAGE:
 410                           case CIM_ENABLE_MODULE_REQUEST_MESSAGE:
 411               
 412                           case CIM_NOTIFY_CONFIG_CHANGE_REQUEST_MESSAGE:
 413               
 414                           case CIM_STOP_ALL_PROVIDERS_REQUEST_MESSAGE:
 415                           case CIM_GET_CLASS_REQUEST_MESSAGE:
 416                           case CIM_GET_INSTANCE_REQUEST_MESSAGE:
 417                           case CIM_EXPORT_INDICATION_REQUEST_MESSAGE:
 418                           case CIM_DELETE_CLASS_REQUEST_MESSAGE:
 419                           case CIM_DELETE_INSTANCE_REQUEST_MESSAGE:
 420 marek    1.25                 PEG_TRACE_CSTRING(TRC_BINARY_MSG_HANDLER, Tracer::LEVEL4,
 421 kumpf    1.24                     "Received Unexpected legacy request message.");
 422                               myself->_handleRequest(op, legacy);
 423                               break;
 424 kumpf    1.12 
 425                           // unexpected replies
 426                           case CIM_PROCESS_INDICATION_RESPONSE_MESSAGE:
 427                           case CIM_NOTIFY_PROVIDER_REGISTRATION_RESPONSE_MESSAGE:
 428                           case CIM_NOTIFY_PROVIDER_TERMINATION_RESPONSE_MESSAGE:
 429                           case CIM_HANDLE_INDICATION_RESPONSE_MESSAGE:
 430                           case CIM_CREATE_SUBSCRIPTION_RESPONSE_MESSAGE:
 431                           case CIM_MODIFY_SUBSCRIPTION_RESPONSE_MESSAGE:
 432                           case CIM_DELETE_SUBSCRIPTION_RESPONSE_MESSAGE:
 433                           case CIM_SUBSCRIPTION_INIT_COMPLETE_RESPONSE_MESSAGE:
 434                           case CIM_DISABLE_MODULE_RESPONSE_MESSAGE:
 435                           case CIM_ENABLE_MODULE_RESPONSE_MESSAGE:
 436                           case CIM_STOP_ALL_PROVIDERS_RESPONSE_MESSAGE:
 437                           case CIM_NOTIFY_PROVIDER_ENABLE_RESPONSE_MESSAGE:
 438                           case CIM_NOTIFY_CONFIG_CHANGE_RESPONSE_MESSAGE:
 439 kumpf    1.24                 break;
 440 kumpf    1.18             case CIM_EXPORT_INDICATION_RESPONSE_MESSAGE:
 441 kumpf    1.12             default:
 442 marek    1.25                 PEG_TRACE_CSTRING(TRC_BINARY_MSG_HANDLER, Tracer::LEVEL4,
 443 kumpf    1.24                     "Received Unexpected legacy response message.");
 444                               myself->_handleResponse(op, legacy);
 445                               break;
 446                           }
 447                       }
 448                       else
 449                       {
 450 marek    1.25             PEG_TRACE_CSTRING(TRC_BINARY_MSG_HANDLER, Tracer::LEVEL4,
 451 kumpf    1.24                 "Damaged or uninitialized AsyncOpNode received.");
 452                       }
 453                   }
 454                   catch (const Exception& e)
 455                   {
 456                       PEG_TRACE_STRING(TRC_DISCARDED_DATA, Tracer::LEVEL2,
 457                           "Caught exception: \"" + e.getMessage() +
 458                               "\".  Exiting handle_binary_message.");
 459                   }
 460                   catch (...)
 461                   {
 462 marek    1.25        PEG_TRACE_CSTRING(TRC_DISCARDED_DATA, Tracer::LEVEL2,
 463 kumpf    1.24            "Caught unrecognized exception.  Exiting handle_binary_message.");
 464                   }
 465               
 466                   PEG_METHOD_EXIT();
 467                   return 0;
 468               }
 469               
 470               // requests always go to the output queue
 471               void BinaryMessageHandler::_handleRequest(
 472                   AsyncOpNode* op,
 473                   Message* msg) throw()
 474               {
 475                   PEG_METHOD_ENTER(TRC_BINARY_MSG_HANDLER,
 476                       "BinaryMessageHandler::_handleRequest(AsyncOpNode*, Message*)");
 477               
 478                   AsyncRequest* async_request =
 479                       static_cast<AsyncRequest*>(op->removeRequest());
 480               
 481 kumpf    1.27     msg->put_async(0);
 482 kumpf    1.24     try
 483                   {
 484                       _outputQueue->enqueue(msg);
 485                   }
 486                   catch (...)
 487                   {
 488                       // Should this exception really just be ignored?
 489                       // It seems like binary_message_handler should catch it.
 490 marek    1.25         PEG_TRACE_CSTRING(TRC_DISCARDED_DATA, Tracer::LEVEL2,
 491 kumpf    1.24             "Unrecognized exception caught and ignored by _handleRequest().");
 492                   }
 493 mday     1.2  
 494 kumpf    1.24     delete async_request;
 495 mday     1.2  
 496 kumpf    1.24     _complete_op_node(op, ASYNC_OPSTATE_COMPLETE, 0, 0);
 497                   PEG_METHOD_EXIT();
 498 mday     1.2  }
 499               
 500               // responses have their destination queue id in the message
 501 kumpf    1.24 void BinaryMessageHandler::_handleResponse(
 502                   AsyncOpNode* op,
 503                   Message* msg) throw()
 504               {
 505                   PEG_METHOD_ENTER(TRC_BINARY_MSG_HANDLER,
 506                       "BinaryMessageHandler::_handleResponse(AsyncOpNode*, Message*)");
 507               
 508                   if (op->_response.get() != 0)
 509                   {
 510                       AsyncReply* asyncReply =
 511                           static_cast<AsyncReply*>(op->removeResponse());
 512                       delete asyncReply;
 513                   }
 514 kumpf    1.27     msg->put_async(0);
 515 kumpf    1.24 
 516                   MessageQueue* dest =
 517                       MessageQueue::lookup(((CIMRequestMessage*)msg)->queueIds.top());
 518                   if (dest == 0)
 519                   {
 520 marek    1.25         PEG_TRACE_CSTRING(TRC_BINARY_MSG_HANDLER, Tracer::LEVEL4,
 521 kumpf    1.24             "Bad or non-existent Queue ID for desination in legacy message.");
 522                       delete msg;
 523                   }
 524                   else
 525                   {
 526                       try
 527                       {
 528                           dest->enqueue(msg);
 529                       }
 530                       catch (...)
 531                       {
 532                           // Should this exception really just be ignored?
 533                           // It seems like binary_message_handler should catch it.
 534 marek    1.25             PEG_TRACE_CSTRING(TRC_DISCARDED_DATA, Tracer::LEVEL2,
 535 kumpf    1.24                 "Unrecognized exception caught and ignored by "
 536                                   "_handleResponse().");
 537                       }
 538                   }
 539               
 540 mday     1.2     _complete_op_node(op, ASYNC_OPSTATE_COMPLETE, 0, 0);
 541                  PEG_METHOD_EXIT();
 542               }
 543               
 544               void BinaryMessageHandler::handleCreateClassRequest(
 545 kumpf    1.24     AsyncOpNode* op,
 546                   CIMCreateClassRequestMessage* msg) throw()
 547 mday     1.2  {
 548 kumpf    1.24     PEG_METHOD_ENTER(TRC_BINARY_MSG_HANDLER,
 549                       "BinaryMessageHandler::handleCreateClassRequest()");
 550                   _handleRequest(op, msg);
 551                   PEG_METHOD_EXIT();
 552 mday     1.2  }
 553               
 554               void BinaryMessageHandler::handleGetClassRequest(
 555 kumpf    1.24     AsyncOpNode* op,
 556                   CIMGetClassRequestMessage* msg) throw()
 557 mday     1.2  {
 558 kumpf    1.24     PEG_METHOD_ENTER(TRC_BINARY_MSG_HANDLER,
 559                       "BinaryMessageHandler::handleGetClassRequest()");
 560                   _handleRequest(op, msg);
 561                   PEG_METHOD_EXIT();
 562 mday     1.2  }
 563               
 564               void BinaryMessageHandler::handleModifyClassRequest(
 565 kumpf    1.24    AsyncOpNode* op,
 566                  CIMModifyClassRequestMessage* msg) throw()
 567 mday     1.2  {
 568 kumpf    1.24     PEG_METHOD_ENTER(TRC_BINARY_MSG_HANDLER,
 569                       "BinaryMessageHandler::handleModifyClassRequest()");
 570                   _handleRequest(op, msg);
 571                   PEG_METHOD_EXIT();
 572 mday     1.2  }
 573               
 574               void BinaryMessageHandler::handleEnumerateClassNamesRequest(
 575 kumpf    1.24     AsyncOpNode* op,
 576                   CIMEnumerateClassNamesRequestMessage* msg) throw()
 577 mday     1.2  {
 578 kumpf    1.24     PEG_METHOD_ENTER(TRC_BINARY_MSG_HANDLER,
 579                       "BinaryMessageHandler::handleEnumerateClassNamesRequest()");
 580                   _handleRequest(op, msg);
 581                   PEG_METHOD_EXIT();
 582 mday     1.2  }
 583               
 584               void BinaryMessageHandler::handleEnumerateClassesRequest(
 585 kumpf    1.24    AsyncOpNode* op,
 586                  CIMEnumerateClassesRequestMessage* msg) throw()
 587 mday     1.2  {
 588 kumpf    1.24     PEG_METHOD_ENTER(TRC_BINARY_MSG_HANDLER,
 589                       "BinaryMessageHandler::handleEnumerateClassRequest()");
 590                   _handleRequest(op, msg);
 591                   PEG_METHOD_EXIT();
 592 mday     1.2  }
 593               
 594               
 595               void BinaryMessageHandler::handleDeleteClassRequest(
 596 kumpf    1.24    AsyncOpNode* op,
 597                  CIMDeleteClassRequestMessage* msg) throw()
 598 mday     1.2  {
 599 kumpf    1.24     PEG_METHOD_ENTER(TRC_BINARY_MSG_HANDLER,
 600                       "BinaryMessageHandler::handleDeleteClassRequest()");
 601                   _handleRequest(op, msg);
 602                   PEG_METHOD_EXIT();
 603 mday     1.2  }
 604               
 605               void BinaryMessageHandler::handleCreateInstanceRequest(
 606 kumpf    1.24     AsyncOpNode* op,
 607                   CIMCreateInstanceRequestMessage* msg) throw()
 608 mday     1.2  {
 609 kumpf    1.24     PEG_METHOD_ENTER(TRC_BINARY_MSG_HANDLER,
 610                       "BinaryMessageHandler::handleCreateInstanceRequest()");
 611                   _handleRequest(op, msg);
 612                   PEG_METHOD_EXIT();
 613 mday     1.2  }
 614               
 615               void BinaryMessageHandler::handleGetInstanceRequest(
 616 kumpf    1.24     AsyncOpNode* op,
 617                   CIMGetInstanceRequestMessage* msg) throw()
 618 mday     1.2  {
 619 kumpf    1.24     PEG_METHOD_ENTER(TRC_BINARY_MSG_HANDLER,
 620                       "BinaryMessageHandler::handleGetInstanceRequest()");
 621                   _handleRequest(op, msg);
 622                   PEG_METHOD_EXIT();
 623 mday     1.2  }
 624               
 625               void BinaryMessageHandler::handleModifyInstanceRequest(
 626 kumpf    1.24     AsyncOpNode* op,
 627                   CIMModifyInstanceRequestMessage* msg) throw()
 628 mday     1.2  {
 629 kumpf    1.24     PEG_METHOD_ENTER(TRC_BINARY_MSG_HANDLER,
 630                       "BinaryMessageHandler::handleModifyInstanceRequest()");
 631                   _handleRequest(op, msg);
 632                   PEG_METHOD_EXIT();
 633 mday     1.2  }
 634               
 635               void BinaryMessageHandler::handleEnumerateInstanceNamesRequest(
 636 kumpf    1.24     AsyncOpNode* op,
 637                   CIMEnumerateInstanceNamesRequestMessage* msg) throw()
 638 mday     1.2  {
 639 kumpf    1.24     PEG_METHOD_ENTER(TRC_BINARY_MSG_HANDLER,
 640                       "BinaryMessageHandler::handleEnumerateInstanceNamesRequest()");
 641                   _handleRequest(op, msg);
 642                   PEG_METHOD_EXIT();
 643 mday     1.2  }
 644               
 645               void BinaryMessageHandler::handleEnumerateInstancesRequest(
 646 kumpf    1.24     AsyncOpNode* op,
 647                   CIMEnumerateInstancesRequestMessage* msg) throw()
 648 mday     1.2  {
 649 kumpf    1.24     PEG_METHOD_ENTER(TRC_BINARY_MSG_HANDLER,
 650                       "BinaryMessageHandler::handleEnumerateInstancesRequest()");
 651                   _handleRequest(op, msg);
 652                   PEG_METHOD_EXIT();
 653 mday     1.2  }
 654               
 655               void BinaryMessageHandler::handleDeleteInstanceRequest(
 656 kumpf    1.24     AsyncOpNode* op,
 657                   CIMDeleteInstanceRequestMessage* msg) throw()
 658 mday     1.2  {
 659 kumpf    1.24     PEG_METHOD_ENTER(TRC_BINARY_MSG_HANDLER,
 660                       "BinaryMessageHandler::handleDeleteInstanceRequest()");
 661                   _handleRequest(op, msg);
 662                   PEG_METHOD_EXIT();
 663 mday     1.2  }
 664 kumpf    1.24 
 665 mday     1.2  void BinaryMessageHandler::handleSetQualifierRequest(
 666 kumpf    1.24     AsyncOpNode* op,
 667                   CIMSetQualifierRequestMessage* msg) throw()
 668 mday     1.2  {
 669 kumpf    1.24     PEG_METHOD_ENTER(TRC_BINARY_MSG_HANDLER,
 670                       "BinaryMessageHandler::handleSetQualifierRequest()");
 671                   _handleRequest(op, msg);
 672                   PEG_METHOD_EXIT();
 673 mday     1.2  }
 674 kumpf    1.24 
 675 mday     1.2  void BinaryMessageHandler::handleGetQualifierRequest(
 676 kumpf    1.24     AsyncOpNode* op,
 677                   CIMGetQualifierRequestMessage* msg) throw()
 678 mday     1.2  {
 679 kumpf    1.24     PEG_METHOD_ENTER(TRC_BINARY_MSG_HANDLER,
 680                       "BinaryMessageHandler::handleGetQualifierRequest()");
 681                   _handleRequest(op, msg);
 682                   PEG_METHOD_EXIT();
 683 mday     1.2  }
 684 kumpf    1.24 
 685 mday     1.2  void BinaryMessageHandler::handleEnumerateQualifiersRequest(
 686 kumpf    1.24     AsyncOpNode* op,
 687                   CIMEnumerateQualifiersRequestMessage* msg) throw()
 688 mday     1.2  {
 689 kumpf    1.24     PEG_METHOD_ENTER(TRC_BINARY_MSG_HANDLER,
 690                       "BinaryMessageHandler::handleEnumerateQualifiersRequest()");
 691                   _handleRequest(op, msg);
 692                   PEG_METHOD_EXIT();
 693 mday     1.2  }
 694 kumpf    1.24 
 695 mday     1.2  void BinaryMessageHandler::handleDeleteQualifiersRequest(
 696 kumpf    1.24     AsyncOpNode* op,
 697                   CIMDeleteQualifierRequestMessage* msg) throw()
 698 mday     1.2  {
 699 kumpf    1.24     PEG_METHOD_ENTER(TRC_BINARY_MSG_HANDLER,
 700                       "BinaryMessageHandler::handleDeleteQualifiersRequest()");
 701                   _handleRequest(op, msg);
 702                   PEG_METHOD_EXIT();
 703 mday     1.2  }
 704 kumpf    1.24 
 705 mday     1.2  void BinaryMessageHandler::handleReferenceNamesRequest(
 706 kumpf    1.24     AsyncOpNode* op,
 707                   CIMReferenceNamesRequestMessage* msg) throw()
 708 mday     1.2  {
 709 kumpf    1.24     PEG_METHOD_ENTER(TRC_BINARY_MSG_HANDLER,
 710                       "BinaryMessageHandler::handleReferenceNamesRequest()");
 711                   _handleRequest(op, msg);
 712                   PEG_METHOD_EXIT();
 713 mday     1.2  }
 714               
 715               void BinaryMessageHandler::handleReferencesRequest(
 716 kumpf    1.24     AsyncOpNode* op,
 717                   CIMReferencesRequestMessage* msg) throw()
 718 mday     1.2  {
 719 kumpf    1.24     PEG_METHOD_ENTER(TRC_BINARY_MSG_HANDLER,
 720                       "BinaryMessageHandler::handleReferencesRequest()");
 721                   _handleRequest(op, msg);
 722                   PEG_METHOD_EXIT();
 723 mday     1.2  }
 724               
 725               void BinaryMessageHandler::handleAssociatorNamesRequest(
 726 kumpf    1.24     AsyncOpNode* op,
 727                   CIMAssociatorNamesRequestMessage* msg) throw()
 728 mday     1.2  {
 729 kumpf    1.24     PEG_METHOD_ENTER(TRC_BINARY_MSG_HANDLER,
 730                       "BinaryMessageHandler::handleAssociatorNamesRequest()");
 731                   _handleRequest(op, msg);
 732                   PEG_METHOD_EXIT();
 733 mday     1.2  }
 734               
 735               void BinaryMessageHandler::handleAssociatorsRequest(
 736 kumpf    1.24    AsyncOpNode* op,
 737                  CIMAssociatorsRequestMessage* msg) throw()
 738 mday     1.2  {
 739 kumpf    1.24     PEG_METHOD_ENTER(TRC_BINARY_MSG_HANDLER,
 740                       "BinaryMessageHandler::handleAssociatorsRequest()");
 741                   _handleRequest(op, msg);
 742                   PEG_METHOD_EXIT();
 743 mday     1.2  }
 744               
 745               void BinaryMessageHandler::handleGetPropertyRequest(
 746 kumpf    1.24     AsyncOpNode* op,
 747                   CIMGetPropertyRequestMessage* msg) throw()
 748 mday     1.2  {
 749 kumpf    1.24     PEG_METHOD_ENTER(TRC_BINARY_MSG_HANDLER,
 750                       "BinaryMessageHandler::handleGetPropertyRequest()");
 751                   _handleRequest(op, msg);
 752                   PEG_METHOD_EXIT();
 753 mday     1.2  }
 754               
 755               void BinaryMessageHandler::handleSetPropertyRequest(
 756 kumpf    1.24     AsyncOpNode* op,
 757                   CIMSetPropertyRequestMessage* msg) throw()
 758 mday     1.2  {
 759 kumpf    1.24     PEG_METHOD_ENTER(TRC_BINARY_MSG_HANDLER,
 760                       "BinaryMessageHandler::handleSetPropertyRequest()");
 761                   _handleRequest(op, msg);
 762                   PEG_METHOD_EXIT();
 763 mday     1.2  }
 764               
 765               void BinaryMessageHandler::handleExecQueryRequest(
 766 kumpf    1.24     AsyncOpNode* op,
 767                   CIMExecQueryRequestMessage* msg) throw()
 768 mday     1.2  {
 769 kumpf    1.24     PEG_METHOD_ENTER(TRC_BINARY_MSG_HANDLER,
 770                       "BinaryMessageHandler::handleExecQueryRequest()");
 771                   _handleRequest(op, msg);
 772                   PEG_METHOD_EXIT();
 773 mday     1.2  }
 774 kumpf    1.24 
 775 mday     1.2  void BinaryMessageHandler::handleInvokeMethodRequest(
 776 kumpf    1.24     AsyncOpNode* op,
 777                   CIMInvokeMethodRequestMessage* msg) throw()
 778 mday     1.2  {
 779 kumpf    1.24     PEG_METHOD_ENTER(TRC_BINARY_MSG_HANDLER,
 780                       "BinaryMessageHandler::handleInvokeMethodRequest()");
 781                   _handleRequest(op, msg);
 782                   PEG_METHOD_EXIT();
 783 mday     1.2  }
 784 kumpf    1.24 
 785 mday     1.2  // **** Response Messages **** //
 786 kumpf    1.24 
 787 mday     1.2  void BinaryMessageHandler::handleCreateClassResponse(
 788 kumpf    1.24     AsyncOpNode* op,
 789                   CIMCreateClassResponseMessage* msg) throw()
 790 mday     1.2  {
 791 kumpf    1.24     PEG_METHOD_ENTER(TRC_BINARY_MSG_HANDLER,
 792                       "BinaryMessageHandler::handleCreateClassResponse()");
 793                   _handleResponse(op, msg);
 794                   PEG_METHOD_EXIT();
 795 mday     1.2  }
 796               
 797               void BinaryMessageHandler::handleGetClassResponse(
 798 kumpf    1.24     AsyncOpNode* op,
 799                   CIMGetClassResponseMessage* msg) throw()
 800 mday     1.2  {
 801 kumpf    1.24     PEG_METHOD_ENTER(TRC_BINARY_MSG_HANDLER,
 802                       "BinaryMessageHandler::handleGetClassResponse()");
 803                   _handleResponse(op, msg);
 804                   PEG_METHOD_EXIT();
 805 mday     1.2  }
 806               
 807               void BinaryMessageHandler::handleModifyClassResponse(
 808 kumpf    1.24     AsyncOpNode* op,
 809                   CIMModifyClassResponseMessage* msg) throw()
 810 mday     1.2  {
 811 kumpf    1.24     PEG_METHOD_ENTER(TRC_BINARY_MSG_HANDLER,
 812                       "BinaryMessageHandler::handleModifyClassResponse()");
 813                   _handleResponse(op, msg);
 814                   PEG_METHOD_EXIT();
 815 mday     1.2  }
 816 kumpf    1.24 
 817 mday     1.2  void BinaryMessageHandler::handleEnumerateClassNamesResponse(
 818 kumpf    1.24     AsyncOpNode* op,
 819                   CIMEnumerateClassNamesResponseMessage* msg) throw()
 820 mday     1.2  {
 821 kumpf    1.24     PEG_METHOD_ENTER(TRC_BINARY_MSG_HANDLER,
 822                       "BinaryMessageHandler::handleEnumerateClassNamesResponse()");
 823                   _handleResponse(op, msg);
 824                   PEG_METHOD_EXIT();
 825 mday     1.2  }
 826               
 827               void BinaryMessageHandler::handleEnumerateClassesResponse(
 828 kumpf    1.24     AsyncOpNode* op,
 829                   CIMEnumerateClassesResponseMessage* msg) throw()
 830 mday     1.2  {
 831 kumpf    1.24     PEG_METHOD_ENTER(TRC_BINARY_MSG_HANDLER,
 832                       "BinaryMessageHandler::handleEnumerateClassesResponse()");
 833                   _handleResponse(op, msg);
 834                   PEG_METHOD_EXIT();
 835 mday     1.2  }
 836               
 837               void BinaryMessageHandler::handleDeleteClassResponse(
 838 kumpf    1.24     AsyncOpNode* op,
 839                   CIMDeleteClassResponseMessage* msg) throw()
 840 mday     1.2  {
 841 kumpf    1.24     PEG_METHOD_ENTER(TRC_BINARY_MSG_HANDLER,
 842                       "BinaryMessageHandler::handleDeleteClassResponse()");
 843                   _handleResponse(op, msg);
 844                   PEG_METHOD_EXIT();
 845 mday     1.2  }
 846               
 847               void BinaryMessageHandler::handleCreateInstanceResponse(
 848 kumpf    1.24     AsyncOpNode* op,
 849                   CIMCreateInstanceResponseMessage* msg) throw()
 850 mday     1.2  {
 851 kumpf    1.24     PEG_METHOD_ENTER(TRC_BINARY_MSG_HANDLER,
 852                       "BinaryMessageHandler::handleCreateInstanceResponse()");
 853                   _handleResponse(op, msg);
 854                   PEG_METHOD_EXIT();
 855 mday     1.2  }
 856               
 857               void BinaryMessageHandler::handleGetInstanceResponse(
 858 kumpf    1.24     AsyncOpNode* op,
 859                   CIMGetInstanceResponseMessage* msg) throw()
 860 mday     1.2  {
 861 kumpf    1.24     PEG_METHOD_ENTER(TRC_BINARY_MSG_HANDLER,
 862                       "BinaryMessageHandler::handleGetInstanceResponse()");
 863                   _handleResponse(op, msg);
 864                   PEG_METHOD_EXIT();
 865 mday     1.2  }
 866               
 867               void BinaryMessageHandler::handleModifyInstanceResponse(
 868 kumpf    1.24     AsyncOpNode* op,
 869                   CIMModifyInstanceResponseMessage* msg) throw()
 870 mday     1.2  {
 871 kumpf    1.24     PEG_METHOD_ENTER(TRC_BINARY_MSG_HANDLER,
 872                       "BinaryMessageHandler::handleModifyInstanceResponse()");
 873                   _handleResponse(op, msg);
 874                   PEG_METHOD_EXIT();
 875 mday     1.2  }
 876               
 877               void BinaryMessageHandler::handleEnumerateInstanceNamesResponse(
 878 kumpf    1.24     AsyncOpNode* op,
 879                   CIMEnumerateInstanceNamesResponseMessage* msg) throw()
 880 mday     1.2  {
 881 kumpf    1.24     PEG_METHOD_ENTER(TRC_BINARY_MSG_HANDLER,
 882                       "BinaryMessageHandler::handleEnumerateInstanceNamesResponse()");
 883                   _handleResponse(op, msg);
 884                   PEG_METHOD_EXIT();
 885 mday     1.2  }
 886               
 887               void BinaryMessageHandler::handleEnumerateInstancesResponse(
 888 kumpf    1.24     AsyncOpNode* op,
 889                   CIMEnumerateInstancesResponseMessage* msg) throw()
 890 mday     1.2  {
 891 kumpf    1.24     PEG_METHOD_ENTER(TRC_BINARY_MSG_HANDLER,
 892                       "BinaryMessageHandler::handleEnumerateInstancesResponse()");
 893                   _handleResponse(op, msg);
 894                   PEG_METHOD_EXIT();
 895 mday     1.2  }
 896               
 897               void BinaryMessageHandler::handleDeleteInstanceResponse(
 898 kumpf    1.24     AsyncOpNode* op,
 899                   CIMDeleteInstanceResponseMessage* msg) throw()
 900 mday     1.2  {
 901 kumpf    1.24     PEG_METHOD_ENTER(TRC_BINARY_MSG_HANDLER,
 902                       "BinaryMessageHandler::handleDeleteInstanceResponse()");
 903                   _handleResponse(op, msg);
 904                   PEG_METHOD_EXIT();
 905 mday     1.2  }
 906               
 907               void BinaryMessageHandler::handleGetPropertyResponse(
 908 kumpf    1.24     AsyncOpNode* op,
 909                   CIMGetPropertyResponseMessage* msg) throw()
 910 mday     1.2  {
 911 kumpf    1.24     PEG_METHOD_ENTER(TRC_BINARY_MSG_HANDLER,
 912                       "BinaryMessageHandler::handleGetPropertyResponse()");
 913                   _handleResponse(op, msg);
 914                   PEG_METHOD_EXIT();
 915 mday     1.2  }
 916               
 917               void BinaryMessageHandler::handleSetPropertyResponse(
 918 kumpf    1.24     AsyncOpNode* op,
 919                   CIMSetPropertyResponseMessage* msg) throw()
 920 mday     1.2  {
 921 kumpf    1.24     PEG_METHOD_ENTER(TRC_BINARY_MSG_HANDLER,
 922                       "BinaryMessageHandler::handleSetPropertyResponse()");
 923                   _handleResponse(op, msg);
 924                   PEG_METHOD_EXIT();
 925 mday     1.2  }
 926               
 927               
 928               void BinaryMessageHandler::handleSetQualifierResponse(
 929 kumpf    1.24     AsyncOpNode* op,
 930                   CIMSetQualifierResponseMessage* msg) throw()
 931 mday     1.2  {
 932 kumpf    1.24     PEG_METHOD_ENTER(TRC_BINARY_MSG_HANDLER,
 933                       "BinaryMessageHandler::handleSetQualifierResponse()");
 934                   _handleResponse(op, msg);
 935                   PEG_METHOD_EXIT();
 936 mday     1.2  }
 937               
 938               void BinaryMessageHandler::handleGetQualifierResponse(
 939 kumpf    1.24     AsyncOpNode* op,
 940                   CIMGetQualifierResponseMessage* msg) throw()
 941 mday     1.2  {
 942 kumpf    1.24     PEG_METHOD_ENTER(TRC_BINARY_MSG_HANDLER,
 943                       "BinaryMessageHandler::handleGetQualifierResponse()");
 944                   _handleResponse(op, msg);
 945                   PEG_METHOD_EXIT();
 946 mday     1.2  }
 947 kumpf    1.24 
 948 mday     1.2  void BinaryMessageHandler::handleEnumerateQualifiersResponse(
 949 kumpf    1.24     AsyncOpNode* op,
 950                   CIMEnumerateQualifiersResponseMessage* msg) throw()
 951 mday     1.2  {
 952 kumpf    1.24     PEG_METHOD_ENTER(TRC_BINARY_MSG_HANDLER,
 953                       "BinaryMessageHandler::handleEnumerateQualifiersResponse()");
 954                   _handleResponse(op, msg);
 955                   PEG_METHOD_EXIT();
 956 mday     1.2  }
 957               
 958               void BinaryMessageHandler::handleDeleteQualifierResponse(
 959 kumpf    1.24     AsyncOpNode* op,
 960                   CIMDeleteQualifierResponseMessage* msg) throw()
 961 mday     1.2  {
 962 kumpf    1.24     PEG_METHOD_ENTER(TRC_BINARY_MSG_HANDLER,
 963                       "BinaryMessageHandler::handleDeleteQualifierResponse()");
 964                   _handleResponse(op, msg);
 965                   PEG_METHOD_EXIT();
 966 mday     1.2  }
 967               
 968               void BinaryMessageHandler::handleReferenceNamesResponse(
 969 kumpf    1.24     AsyncOpNode* op,
 970                   CIMReferenceNamesResponseMessage* msg) throw()
 971 mday     1.2  {
 972 kumpf    1.24     PEG_METHOD_ENTER(TRC_BINARY_MSG_HANDLER,
 973                       "BinaryMessageHandler::handleReferenceNamesResponse()");
 974                   _handleResponse(op, msg);
 975                   PEG_METHOD_EXIT();
 976 mday     1.2  }
 977               
 978               void BinaryMessageHandler::handleReferencesResponse(
 979 kumpf    1.24     AsyncOpNode* op,
 980                   CIMReferencesResponseMessage* msg) throw()
 981 mday     1.2  {
 982 kumpf    1.24     PEG_METHOD_ENTER(TRC_BINARY_MSG_HANDLER,
 983                       "BinaryMessageHandler::handleReferencesResponse()");
 984                   _handleResponse(op, msg);
 985                   PEG_METHOD_EXIT();
 986 mday     1.2  }
 987               
 988               void BinaryMessageHandler::handleAssociatorNamesResponse(
 989 kumpf    1.24     AsyncOpNode* op,
 990                   CIMAssociatorNamesResponseMessage* msg) throw()
 991 mday     1.2  {
 992 kumpf    1.24     PEG_METHOD_ENTER(TRC_BINARY_MSG_HANDLER,
 993                       "BinaryMessageHandler::handleAssociatorNamesResponse()");
 994                   _handleResponse(op, msg);
 995                   PEG_METHOD_EXIT();
 996 mday     1.2  }
 997               
 998               void BinaryMessageHandler::handleAssociatorsResponse(
 999 kumpf    1.24     AsyncOpNode* op,
1000                   CIMAssociatorsResponseMessage* msg) throw()
1001 mday     1.2  {
1002 kumpf    1.24     PEG_METHOD_ENTER(TRC_BINARY_MSG_HANDLER,
1003                       "BinaryMessageHandler::handleAssociatorsResponse()");
1004                   _handleResponse(op, msg);
1005                   PEG_METHOD_EXIT();
1006 mday     1.2  }
1007               
1008               void BinaryMessageHandler::handleExecQueryResponse(
1009 kumpf    1.24     AsyncOpNode* op,
1010                   CIMExecQueryResponseMessage* msg) throw()
1011 mday     1.2  {
1012 kumpf    1.24     PEG_METHOD_ENTER(TRC_BINARY_MSG_HANDLER,
1013                       "BinaryMessageHandler::handleExecQueryResponse()");
1014                   _handleResponse(op, msg);
1015                   PEG_METHOD_EXIT();
1016 mday     1.2  }
1017               
1018               
1019               void BinaryMessageHandler::handleInvokeMethodResponse(
1020 kumpf    1.24     AsyncOpNode* op,
1021                   CIMInvokeMethodResponseMessage* msg) throw()
1022 mday     1.2  {
1023 kumpf    1.24     PEG_METHOD_ENTER(TRC_BINARY_MSG_HANDLER,
1024                       "BinaryMessageHandler::handleInvokeMethodResponse()");
1025                   _handleResponse(op, msg);
1026                   PEG_METHOD_EXIT();
1027 mday     1.2  }
1028               
1029               PEGASUS_NAMESPACE_END

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2