(file) Return to SimpleResponseHandler.h CVS log (file) (dir) Up to [Pegasus] / pegasus / src / Pegasus / ProviderManager2

  1 martin 1.13 //%LICENSE////////////////////////////////////////////////////////////////
  2 martin 1.14 //
  3 martin 1.13 // Licensed to The Open Group (TOG) under one or more contributor license
  4             // agreements.  Refer to the OpenPegasusNOTICE.txt file distributed with
  5             // this work for additional information regarding copyright ownership.
  6             // Each contributor licenses this file to you under the OpenPegasus Open
  7             // Source License; you may not use this file except in compliance with the
  8             // License.
  9 martin 1.14 //
 10 martin 1.13 // Permission is hereby granted, free of charge, to any person obtaining a
 11             // copy of this software and associated documentation files (the "Software"),
 12             // to deal in the Software without restriction, including without limitation
 13             // the rights to use, copy, modify, merge, publish, distribute, sublicense,
 14             // and/or sell copies of the Software, and to permit persons to whom the
 15             // Software is furnished to do so, subject to the following conditions:
 16 martin 1.14 //
 17 martin 1.13 // The above copyright notice and this permission notice shall be included
 18             // in all copies or substantial portions of the Software.
 19 martin 1.14 //
 20 martin 1.13 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
 21 martin 1.14 // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
 22 martin 1.13 // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
 23             // IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
 24             // CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
 25             // TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
 26             // SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 27 martin 1.14 //
 28 martin 1.13 //////////////////////////////////////////////////////////////////////////
 29 schuur 1.1  //
 30             //%/////////////////////////////////////////////////////////////////////////////
 31             
 32             #ifndef Pegasus_SimpleResponseHandler_h
 33             #define Pegasus_SimpleResponseHandler_h
 34             
 35             #include <Pegasus/Common/Config.h>
 36             #include <Pegasus/Common/ResponseHandler.h>
 37 r.kieninger 1.14.4.1 #include <Pegasus/Common/CIMResponseData.h>
 38                      #include <Pegasus/Common/SCMO.h>
 39 schuur      1.1      
 40                      #include <Pegasus/ProviderManager2/Linkage.h>
 41                      
 42                      PEGASUS_NAMESPACE_BEGIN
 43                      
 44 kumpf       1.3      //
 45                      // ValueResponseHandler (used internally to implement property operations)
 46                      //
 47                      class PEGASUS_PPM_LINKAGE ValueResponseHandler : virtual public ResponseHandler
 48                      {
 49                      public:
 50 kumpf       1.12         virtual void deliver(const CIMValue& value) = 0;
 51 kumpf       1.3      
 52 kumpf       1.12         virtual void deliver(const Array<CIMValue>& values) = 0;
 53 kumpf       1.3      };
 54                      
 55                      
 56                      //
 57                      // SimpleResponseHandler
 58                      //
 59 schuur      1.1      class PEGASUS_PPM_LINKAGE SimpleResponseHandler : virtual public ResponseHandler
 60                      {
 61                      public:
 62 kumpf       1.12         SimpleResponseHandler();
 63                          virtual ~SimpleResponseHandler();
 64 schuur      1.1      
 65 kumpf       1.12         virtual void processing();
 66 chip        1.9      
 67 kumpf       1.12         virtual void complete();
 68 schuur      1.1      
 69 chip        1.8          // return the number of objects in this handler
 70 kumpf       1.12         virtual Uint32 size() const;
 71 brian.campbell 1.6      
 72 chip           1.8          // clear any objects in this handler
 73 kumpf          1.12         virtual void clear();
 74 brian.campbell 1.6      
 75 kumpf          1.12         ContentLanguageList getLanguages();
 76 schuur         1.1      
 77 brian.campbell 1.6      protected:
 78 chip           1.8          virtual void send(Boolean isComplete);
 79 schuur         1.1      
 80                         };
 81                         
 82 kumpf          1.12     class PEGASUS_PPM_LINKAGE SimpleInstanceResponseHandler :
 83                             public SimpleResponseHandler, public InstanceResponseHandler
 84 schuur         1.1      {
 85                         public:
 86 kumpf          1.12         SimpleInstanceResponseHandler();
 87 r.kieninger    1.14.4.1     ~SimpleInstanceResponseHandler();
 88 chip           1.9      
 89 kumpf          1.12         virtual void processing();
 90 chip           1.9      
 91 kumpf          1.12         virtual void complete();
 92 chip           1.9      
 93 kumpf          1.12         virtual Uint32 size() const;
 94 chip           1.9      
 95 kumpf          1.12         virtual void clear();
 96 chip           1.9      
 97 kumpf          1.12         virtual void deliver(const CIMInstance& instance);
 98 chip           1.9      
 99 r.kieninger    1.14.4.1     virtual void deliver(const SCMOInstance& instance);
100                         
101 kumpf          1.12         virtual void deliver(const Array<CIMInstance>& instances);
102 chip           1.9      
103 kumpf          1.12         const Array<CIMInstance> getObjects() const;
104 r.kieninger    1.14.4.1     const Array<SCMOInstance> getSCMOObjects() const;
105 schuur         1.1      
106                         private:
107                             Array<CIMInstance> _objects;
108 r.kieninger    1.14.4.1     Array<SCMOInstance> _scmoObjects;
109 schuur         1.1      };
110                         
111 kumpf          1.12     class PEGASUS_PPM_LINKAGE SimpleObjectPathResponseHandler :
112                             public SimpleResponseHandler, public ObjectPathResponseHandler
113 schuur         1.1      {
114                         public:
115 kumpf          1.12         SimpleObjectPathResponseHandler();
116 r.kieninger    1.14.4.1     ~SimpleObjectPathResponseHandler();
117 chip           1.9      
118 kumpf          1.12         virtual void processing();
119 chip           1.9      
120 kumpf          1.12         virtual void complete();
121 chip           1.9      
122 kumpf          1.12         virtual Uint32 size() const;
123 chip           1.9      
124 kumpf          1.12         virtual void clear();
125 chip           1.9      
126 kumpf          1.12         virtual void deliver(const CIMObjectPath& objectPath);
127 chip           1.9      
128 r.kieninger    1.14.4.1     virtual void deliver(const SCMOInstance& objectPath);
129                         
130 kumpf          1.12         virtual void deliver(const Array<CIMObjectPath>& objectPaths);
131 chip           1.9      
132 kumpf          1.12         const Array<CIMObjectPath> getObjects() const;
133 r.kieninger    1.14.4.1     const Array<SCMOInstance> getSCMOObjects() const;
134 schuur         1.1      
135                         private:
136                             Array<CIMObjectPath> _objects;
137 r.kieninger    1.14.4.1     Array<SCMOInstance> _scmoObjects;
138                             //CIMInstanceNamesResponseData responseData;
139 schuur         1.1      };
140                         
141 kumpf          1.12     class PEGASUS_PPM_LINKAGE SimpleMethodResultResponseHandler :
142                             public SimpleResponseHandler, public MethodResultResponseHandler
143 schuur         1.1      {
144                         public:
145 kumpf          1.12         SimpleMethodResultResponseHandler();
146 chip           1.9      
147 kumpf          1.12         virtual void processing();
148 chip           1.9      
149 kumpf          1.12         virtual void complete();
150 chip           1.8      
151                             // NOTE: this is the total size (count) of ALL parameters!
152 kumpf          1.12         virtual Uint32 size() const;
153 chip           1.9      
154 kumpf          1.12         virtual void clear();
155 chip           1.9      
156 kumpf          1.12         virtual void deliverParamValue(const CIMParamValue& outParamValue);
157 chip           1.9      
158 kumpf          1.12         virtual void deliverParamValue(const Array<CIMParamValue>& outParamValues);
159 chip           1.9      
160 kumpf          1.12         virtual void deliver(const CIMValue& returnValue);
161 chip           1.9      
162 kumpf          1.12         const Array<CIMParamValue> getParamValues() const;
163 chip           1.9      
164 kumpf          1.12         const CIMValue getReturnValue() const;
165 schuur         1.1      
166                         private:
167                             Array<CIMParamValue> _objects;
168                         
169                             CIMValue _returnValue;
170                         
171                         };
172                         
173 kumpf          1.12     class PEGASUS_PPM_LINKAGE SimpleIndicationResponseHandler :
174                             public SimpleResponseHandler, public IndicationResponseHandler
175 schuur         1.1      {
176                         public:
177 kumpf          1.12         SimpleIndicationResponseHandler();
178 chip           1.9      
179 kumpf          1.12         virtual void processing();
180 chip           1.9      
181 kumpf          1.12         virtual void complete();
182 chip           1.9      
183 kumpf          1.12         virtual Uint32 size() const;
184 chip           1.9      
185 kumpf          1.12         virtual void clear();
186 chip           1.9      
187 kumpf          1.12         virtual void deliver(const CIMIndication& indication);
188 chip           1.9      
189 kumpf          1.12         virtual void deliver(const Array<CIMIndication>& indications);
190 schuur         1.1      
191                             virtual void deliver(
192 kumpf          1.12             const OperationContext& context,
193                                 const CIMIndication& indication);
194 schuur         1.1      
195                             virtual void deliver(
196 kumpf          1.12             const OperationContext& context,
197                                 const Array<CIMIndication>& indications);
198 chip           1.9      
199 kumpf          1.12         const Array<CIMIndication> getObjects() const;
200 schuur         1.1      
201 chip           1.8          // ATTN: why is this variable public?
202 schuur         1.1          CIMInstance _provider;
203                         
204                         private:
205                             Array<CIMIndication> _objects;
206                         
207                         };
208                         
209 kumpf          1.12     class PEGASUS_PPM_LINKAGE SimpleObjectResponseHandler :
210                             public SimpleResponseHandler, public ObjectResponseHandler
211 schuur         1.1      {
212                         public:
213 kumpf          1.12         SimpleObjectResponseHandler();
214 chip           1.9      
215 kumpf          1.12         virtual void processing();
216 chip           1.9      
217 kumpf          1.12         virtual void complete();
218 chip           1.9      
219 kumpf          1.12         virtual Uint32 size() const;
220 chip           1.9      
221 kumpf          1.12         virtual void clear();
222 chip           1.9      
223 kumpf          1.12         virtual void deliver(const CIMObject& object);
224 chip           1.9      
225 r.kieninger    1.14.4.2     virtual void deliver(const SCMOInstance& object);
226                         
227 kumpf          1.12         virtual void deliver(const Array<CIMObject>& objects);
228 chip           1.9      
229 kumpf          1.12         const Array<CIMObject> getObjects() const;
230 schuur         1.1      
231 r.kieninger    1.14.4.2     const Array<SCMOInstance> getSCMOObjects() const;
232                         
233 schuur         1.1      private:
234                             Array<CIMObject> _objects;
235 r.kieninger    1.14.4.2     Array<SCMOInstance> _scmoObjects;
236 schuur         1.1      };
237                         
238 kumpf          1.12     class PEGASUS_PPM_LINKAGE SimpleInstance2ObjectResponseHandler :
239                             public SimpleResponseHandler, public InstanceResponseHandler
240 schuur         1.1      {
241                         public:
242 kumpf          1.12         SimpleInstance2ObjectResponseHandler();
243 chip           1.9      
244 kumpf          1.12         virtual void processing();
245 chip           1.9      
246 kumpf          1.12         virtual void complete();
247 chip           1.9      
248 kumpf          1.12         virtual Uint32 size() const;
249 chip           1.9      
250 kumpf          1.12         virtual void clear();
251 chip           1.9      
252 kumpf          1.12         virtual void deliver(const CIMInstance& object);
253 chip           1.9      
254 r.kieninger    1.14.4.1     virtual void deliver(const SCMOInstance& object);
255                         
256 kumpf          1.12         virtual void deliver(const Array<CIMInstance>& objects);
257 chip           1.9      
258 kumpf          1.12         const Array<CIMObject> getObjects() const;
259 schuur         1.1      
260                         private:
261                             Array<CIMObject> _objects;
262                         
263                         };
264                         
265 kumpf          1.12     class PEGASUS_PPM_LINKAGE SimpleValueResponseHandler :
266                             public SimpleResponseHandler, public ValueResponseHandler
267 schuur         1.1      {
268                         public:
269 kumpf          1.12         SimpleValueResponseHandler();
270 chip           1.9      
271 kumpf          1.12         virtual void processing();
272 chip           1.9      
273 kumpf          1.12         virtual void complete();
274 chip           1.9      
275 kumpf          1.12         virtual Uint32 size() const;
276 chip           1.9      
277 kumpf          1.12         virtual void clear();
278 chip           1.9      
279 kumpf          1.12         virtual void deliver(const CIMValue& value);
280 chip           1.9      
281 kumpf          1.12         virtual void deliver(const Array<CIMValue>& values);
282 chip           1.9      
283 kumpf          1.12         const Array<CIMValue> getObjects() const;
284 schuur         1.1      
285                         private:
286                             Array<CIMValue> _objects;
287                         
288                         };
289                         
290                         PEGASUS_NAMESPACE_END
291                         
292                         #endif

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2