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 #ifndef _mi_client_h
26 #define _mi_client_h
27
28 #include <micxx/micxx.h>
29 #include "linkage.h"
30 #include "handler.h"
31
32 MI_BEGIN_NAMESPACE
33
34 class ClientRep;
35
36 class OMICLIENT_LINKAGE Client
37 {
38 public:
39
40 Client(Handler* handler = 0);
41
42 ~Client();
43 mike 1.1
44 bool ConnectAsync(
45 const String& locator,
46 const String& user,
47 const String& password);
48
49 bool Connect(
50 const String& locator,
51 const String& user,
52 const String& password,
53 Uint64 timeOutUsec);
54
55 bool Disconnect();
56
57 bool Connected() const;
58
59 bool Run(Uint64 timeOutUsec);
60
61 bool NoOpAsync(
62 Uint64& msgID);
63
64 mike 1.1 bool GetInstanceAsync(
65 const String& nameSpace,
66 const DInstance& instanceName,
67 Uint64& msgID);
68
69 bool CreateInstanceAsync(
70 const String& nameSpace,
71 const DInstance& instance,
72 Uint64& msgID);
73
74 bool ModifyInstanceAsync(
75 const String& nameSpace,
76 const DInstance& instance,
77 Uint64& msgID);
78
79 bool DeleteInstanceAsync(
80 const String& nameSpace,
81 const DInstance& instanceName,
82 Uint64& msgID);
83
84 bool EnumerateInstancesAsync(
85 mike 1.1 const String& nameSpace,
86 const String& className,
87 bool deepInheritance,
88 const String& queryLanguage,
89 const String& queryExpression,
90 Uint64& msgID);
91
92 bool InvokeAsync(
93 const String& nameSpace,
94 const DInstance& instanceName,
95 const String& methodName,
96 const DInstance& inParameters,
97 DInstance& outParameters,
98 Uint64 msgID);
99
100 bool AssociatorInstancesAsync(
101 const String& nameSpace,
102 const DInstance& instanceName,
103 const String& assocClass,
104 const String& resultClass,
105 const String& role,
106 mike 1.1 const String& resultRole,
107 Uint64& msgID);
108
109 bool ReferenceInstancesAsync(
110 const String& nameSpace,
111 const DInstance& instanceName,
112 const String& assocClass,
113 const String& role,
114 Uint64& msgID);
115
116 bool NoOp(Uint64 timeOutUsec);
117
118 bool GetInstance(
119 const String& nameSpace,
120 const DInstance& instanceName,
121 Uint64 timeOutUsec,
122 DInstance& instance,
123 Result& result);
124
125 bool CreateInstance(
126 const String& nameSpace,
127 mike 1.1 const DInstance& instance,
128 Uint64 timeOutUsec,
129 DInstance& instanceName,
130 Result& result);
131
132 bool ModifyInstance(
133 const String& nameSpace,
134 const DInstance& instance,
135 Uint64 timeOutUsec,
136 Result& result);
137
138 bool DeleteInstance(
139 const String& nameSpace,
140 const DInstance& instanceName,
141 Uint64 timeOutUsec,
142 Result& result);
143
144 bool EnumerateInstances(
145 const String& nameSpace,
146 const String& className,
147 bool deepInheritance,
148 mike 1.1 Uint64 timeOutUsec,
149 Array<DInstance>& instances,
150 const String& queryLanguage,
151 const String& queryExpression,
152 Result& result);
153
154 bool Invoke(
155 const String& nameSpace,
156 const DInstance& instanceName,
157 const String& methodName,
158 const DInstance& inParameters,
159 Uint64 timeOutUsec,
160 DInstance& outParameters,
161 Result& result);
162
163 bool AssociatorInstances(
164 const String& nameSpace,
165 const DInstance& instanceName,
166 const String& assocClass,
167 const String& resultClass,
168 const String& role,
169 mike 1.1 const String& resultRole,
170 Uint64 timeOutUsec,
171 Array<DInstance>& instances,
172 Result& result);
173
174 bool ReferenceInstances(
175 const String& nameSpace,
176 const DInstance& instanceName,
177 const String& assocClass,
178 const String& role,
179 Uint64 timeOutUsec,
180 Array<DInstance>& instances,
181 Result& result);
182
183 private:
184 Client(const Client&);
185 Client& operator=(const Client&);
186 ClientRep* m_rep;
187 };
188
189 MI_END_NAMESPACE
190 mike 1.1
191 #endif /* _mi_client_h */
|