1 //%/////////////////////////////////////////////////////////////////////////////
3 // Copyright (c) 2000, 2001 The Open group, BMC Software, Tivoli Systems, IBM
5 // Permission is hereby granted, free of charge, to any person obtaining a copy
6 // of this software and associated documentation files (the "Software"), to
7 // deal in the Software without restriction, including without limitation the
8 // rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
9 // sell copies of the Software, and to permit persons to whom the Software is
10 // furnished to do so, subject to the following conditions:
12 // THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN
13 // ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS PROVIDED
14 // "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
15 // LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
16 // PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
17 // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
18 // ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
19 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
21 //==============================================================================
23 // Author: Mike Brasher (mbrasher@bmc.com)
27 //%/////////////////////////////////////////////////////////////////////////////
33 PEGASUS_NAMESPACE_BEGIN
35 Uint32 Message::_nextKey = 0;
42 void Message::print(ostream& os) const
44 os << "Message[" << "type=" << MessageTypeToString(_type) << ", ";
45 os << "key=" << _key << "]" << endl;
48 static const char* _MESSAGE_TYPE_STRINGS[] =
50 "CIM_GET_CLASS_REQUEST_MESSAGE",
51 "CIM_GET_INSTANCE_REQUEST_MESSAGE",
52 "CIM_DELETE_CLASS_REQUEST_MESSAGE",
53 "CIM_DELETE_INSTANCE_REQUEST_MESSAGE",
54 "CIM_CREATE_CLASS_REQUEST_MESSAGE",
55 "CIM_CREATE_INSTANCE_REQUEST_MESSAGE",
56 "CIM_MODIFY_CLASS_REQUEST_MESSAGE",
57 "CIM_MODIFY_INSTANCE_REQUEST_MESSAGE",
58 "CIM_ENUMERATE_CLASSES_REQUEST_MESSAGE",
59 "CIM_ENUMERATE_CLASS_NAMES_REQUEST_MESSAGE",
60 "CIM_ENUMERATE_INSTANCES_REQUEST_MESSAGE",
61 "CIM_ENUMERATE_INSTANCE_NAMES_REQUEST_MESSAGE",
62 "CIM_EXEC_QUERY_REQUEST_MESSAGE",
63 "CIM_ASSOCIATORS_REQUEST_MESSAGE",
64 "CIM_ASSOCIATOR_NAMES_REQUEST_MESSAGE",
65 "CIM_REFERENCES_REQUEST_MESSAGE",
66 "CIM_REFERENCE_NAMES_REQUEST_MESSAGE",
67 "CIM_GET_PROPERTY_REQUEST_MESSAGE",
68 "CIM_SET_PROPERTY_REQUEST_MESSAGE",
69 "CIM_GET_QUALIFIER_REQUEST_MESSAGE",
70 "CIM_SET_QUALIFIER_REQUEST_MESSAGE",
71 "CIM_DELETE_QUALIFIER_REQUEST_MESSAGE",
72 "CIM_ENUMERATE_QUALIFIERS_REQUEST_MESSAGE",
73 "CIM_INVOKE_METHOD_REQUEST_MESSAGE",
74 "CIM_GET_CLASS_RESPONSE_MESSAGE",
75 "CIM_GET_INSTANCE_RESPONSE_MESSAGE",
76 "CIM_DELETE_CLASS_RESPONSE_MESSAGE",
77 "CIM_DELETE_INSTANCE_RESPONSE_MESSAGE",
78 "CIM_CREATE_CLASS_RESPONSE_MESSAGE",
79 "CIM_CREATE_INSTANCE_RESPONSE_MESSAGE",
80 "CIM_MODIFY_CLASS_RESPONSE_MESSAGE",
81 "CIM_MODIFY_INSTANCE_RESPONSE_MESSAGE",
82 "CIM_ENUMERATE_CLASSES_RESPONSE_MESSAGE",
83 "CIM_ENUMERATE_CLASS_NAMES_RESPONSE_MESSAGE",
84 "CIM_ENUMERATE_INSTANCES_RESPONSE_MESSAGE",
85 "CIM_ENUMERATE_INSTANCE_NAMES_RESPONSE_MESSAGE",
86 "CIM_EXEC_QUERY_RESPONSE_MESSAGE",
87 "CIM_ASSOCIATORS_RESPONSE_MESSAGE",
88 "CIM_ASSOCIATOR_NAMES_RESPONSE_MESSAGE",
89 "CIM_REFERENCES_RESPONSE_MESSAGE",
90 "CIM_REFERENCE_NAMES_RESPONSE_MESSAGE",
91 "CIM_GET_PROPERTY_RESPONSE_MESSAGE",
92 "CIM_SET_PROPERTY_RESPONSE_MESSAGE",
93 "CIM_GET_QUALIFIER_RESPONSE_MESSAGE",
94 "CIM_SET_QUALIFIER_RESPONSE_MESSAGE",
95 "CIM_DELETE_QUALIFIER_RESPONSE_MESSAGE",
96 "CIM_ENUMERATE_QUALIFIERS_RESPONSE_MESSAGE",
97 "CIM_INVOKE_METHOD_RESPONSE_MESSAGE"
100 const char* MessageTypeToString(Uint32 messageType)
102 if (messageType > DUMMY_MESSAGE && messageType < NUMBER_OF_MESSAGES)
103 return _MESSAGE_TYPE_STRINGS[messageType - 1];
105 return "Unknown message type";
108 PEGASUS_NAMESPACE_END