6e9a0b952ea443c8c15ef96692a0cdacfd2bf264
[tpot/pegasus/.git] / src / Pegasus / Common / Message.cpp
1 //%/////////////////////////////////////////////////////////////////////////////
2 //
3 // Copyright (c) 2000, 2001 The Open group, BMC Software, Tivoli Systems, IBM
4 //
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:
11 // 
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.
20 //
21 //==============================================================================
22 //
23 // Author: Mike Brasher (mbrasher@bmc.com)
24 //
25 // Modified By:
26 //
27 //%/////////////////////////////////////////////////////////////////////////////
28
29 #include "Message.h"
30
31 PEGASUS_USING_STD;
32
33 PEGASUS_NAMESPACE_BEGIN
34
35 Uint32 Message::_nextKey = 0;
36
37 Message::~Message() 
38
39
40 }
41
42 void Message::print(ostream& os) const
43 {
44     os << "Message[" << "type=" << MessageTypeToString(_type) << ", ";
45     os << "key=" << _key << "]" << endl;
46 }
47
48 static const char* _MESSAGE_TYPE_STRINGS[] =
49 {
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"
98 };
99
100 const char* MessageTypeToString(Uint32 messageType)
101 {
102     if (messageType > DUMMY_MESSAGE && messageType < NUMBER_OF_MESSAGES)
103         return _MESSAGE_TYPE_STRINGS[messageType - 1];
104
105     return "Unknown message type";
106 }
107
108 PEGASUS_NAMESPACE_END