1 mike 1.1 /*
2 **==============================================================================
3 **
4 ** Open Management Infrastructure (OMI)
5 **
6 ** Copyright (c) Microsoft Corporation
7 **
8 ** Licensed under the Apache License, Version 2.0 (the "License"); you may not
9 ** use this file except in compliance with the License. You may obtain a copy
10 ** of the License at
11 **
12 ** http://www.apache.org/licenses/LICENSE-2.0
13 **
14 ** THIS CODE IS PROVIDED *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15 ** KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
16 ** WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
17 ** MERCHANTABLITY OR NON-INFRINGEMENT.
18 **
19 ** See the Apache 2 License for the specific language governing permissions
20 ** and limitations under the License.
21 **
22 mike 1.1 **==============================================================================
23 */
24
25 #include <stdarg.h>
26 #include "result.h"
27
28 const MI_Char* Result_ToString(MI_Result result)
29 {
30 size_t i;
31 struct Pair
32 {
33 MI_Result result;
34 const MI_Char* str;
35 };
36 static struct Pair _pairs[] =
37 {
38 {
39 MI_RESULT_OK,
40 MI_T("MI_RESULT_OK")
41 },
42 {
43 mike 1.1 MI_RESULT_FAILED,
44 MI_T("MI_RESULT_FAILED")
45 },
46 {
47 MI_RESULT_ACCESS_DENIED,
48 MI_T("MI_RESULT_ACCESS_DENIED")
49 },
50 {
51 MI_RESULT_INVALID_NAMESPACE,
52 MI_T("MI_RESULT_INVALID_NAMESPACE")
53 },
54 {
55 MI_RESULT_INVALID_PARAMETER,
56 MI_T("MI_RESULT_INVALID_PARAMETER")
57 },
58 {
59 MI_RESULT_INVALID_CLASS,
60 MI_T("MI_RESULT_INVALID_CLASS")
61 },
62 {
63 MI_RESULT_NOT_FOUND,
64 mike 1.1 MI_T("MI_RESULT_NOT_FOUND")
65 },
66 {
67 MI_RESULT_NOT_SUPPORTED,
68 MI_T("MI_RESULT_NOT_SUPPORTED")
69 },
70 {
71 MI_RESULT_CLASS_HAS_CHILDREN,
72 MI_T("MI_RESULT_CLASS_HAS_CHILDREN")
73 },
74 {
75 MI_RESULT_CLASS_HAS_INSTANCES,
76 MI_T("MI_RESULT_CLASS_HAS_INSTANCES")
77 },
78 {
79 MI_RESULT_INVALID_SUPERCLASS,
80 MI_T("MI_RESULT_INVALID_SUPERCLASS")
81 },
82 {
83 MI_RESULT_ALREADY_EXISTS,
84 MI_T("MI_RESULT_ALREADY_EXISTS")
85 mike 1.1 },
86 {
87 MI_RESULT_NO_SUCH_PROPERTY,
88 MI_T("MI_RESULT_NO_SUCH_PROPERTY")
89 },
90 {
91 MI_RESULT_TYPE_MISMATCH,
92 MI_T("MI_RESULT_TYPE_MISMATCH")
93 },
94 {
95 MI_RESULT_QUERY_LANGUAGE_NOT_SUPPORTED,
96 MI_T("MI_RESULT_QUERY_LANGUAGE_NOT_SUPPORTED")
97 },
98 {
99 MI_RESULT_INVALID_QUERY,
100 MI_T("MI_RESULT_INVALID_QUERY")
101 },
102 {
103 MI_RESULT_METHOD_NOT_AVAILABLE,
104 MI_T("MI_RESULT_METHOD_NOT_AVAILABLE")
105 },
106 mike 1.1 {
107 MI_RESULT_METHOD_NOT_FOUND,
108 MI_T("MI_RESULT_METHOD_NOT_FOUND")
109 },
110 {
111 MI_RESULT_NAMESPACE_NOT_EMPTY,
112 MI_T("MI_RESULT_NAMESPACE_NOT_EMPTY")
113 },
114 {
115 MI_RESULT_INVALID_ENUMERATION_CONTEXT,
116 MI_T("MI_RESULT_INVALID_ENUMERATION_CONTEXT")
117 },
118 {
119 MI_RESULT_INVALID_OPERATION_TIMEOUT,
120 MI_T("MI_RESULT_INVALID_OPERATION_TIMEOUT")
121 },
122 {
123 MI_RESULT_PULL_HAS_BEEN_ABANDONED,
124 MI_T("MI_RESULT_PULL_HAS_BEEN_ABANDONED")
125 },
126 {
127 mike 1.1 MI_RESULT_PULL_CANNOT_BE_ABANDONED,
128 MI_T("MI_RESULT_PULL_CANNOT_BE_ABANDONED")
129 },
130 {
131 MI_RESULT_FILTERED_ENUMERATION_NOT_SUPPORTED,
132 MI_T("MI_RESULT_FILTERED_ENUMERATION_NOT_SUPPORTED")
133 },
134 {
135 MI_RESULT_CONTINUATION_ON_ERROR_NOT_SUPPORTED,
136 MI_T("MI_RESULT_CONTINUATION_ON_ERROR_NOT_SUPPORTED")
137 },
138 {
139 MI_RESULT_SERVER_LIMITS_EXCEEDED,
140 MI_T("MI_RESULT_SERVER_LIMITS_EXCEEDED")
141 },
142 {
143 MI_RESULT_SERVER_IS_SHUTTING_DOWN,
144 MI_T("MI_RESULT_SERVER_IS_SHUTTING_DOWN")
145 },
146 {
147 MI_RESULT_CANCELED,
148 mike 1.1 MI_T("MI_RESULT_CANCELED")
149 },
150 {
151 MI_RESULT_OPEN_FAILED,
152 MI_T("MI_RESULT_OPEN_FAILED")
153 },
154 {
155 MI_RESULT_INVALID_CLASS_HIERARCHY,
156 MI_T("MI_RESULT_INVALID_CLASS_HIERARCHY")
157 },
158 {
159 MI_RESULT_WOULD_BLOCK,
160 MI_T("MI_RESULT_WOULD_BLOCK")
161 },
162 {
163 MI_RESULT_TIME_OUT,
164 MI_T("MI_RESULT_TIME_OUT")
165 },
166 };
167
168 for (i = 0; i < MI_COUNT(_pairs); i++)
169 mike 1.1 {
170 if (result == _pairs[i].result)
171 return _pairs[i].str;
172 }
173
174 /* Not found! */
175 return MI_T("");
176 }
|