(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 marek          1.14.4.3     //CIMInstanceResponseData responseData;
110 schuur         1.1      };
111                         
112 kumpf          1.12     class PEGASUS_PPM_LINKAGE SimpleObjectPathResponseHandler :
113                             public SimpleResponseHandler, public ObjectPathResponseHandler
114 schuur         1.1      {
115                         public:
116 kumpf          1.12         SimpleObjectPathResponseHandler();
117 r.kieninger    1.14.4.1     ~SimpleObjectPathResponseHandler();
118 chip           1.9      
119 kumpf          1.12         virtual void processing();
120 chip           1.9      
121 kumpf          1.12         virtual void complete();
122 chip           1.9      
123 kumpf          1.12         virtual Uint32 size() const;
124 chip           1.9      
125 kumpf          1.12         virtual void clear();
126 chip           1.9      
127 kumpf          1.12         virtual void deliver(const CIMObjectPath& objectPath);
128 chip           1.9      
129 r.kieninger    1.14.4.1     virtual void deliver(const SCMOInstance& objectPath);
130                         
131 kumpf          1.12         virtual void deliver(const Array<CIMObjectPath>& objectPaths);
132 chip           1.9      
133 kumpf          1.12         const Array<CIMObjectPath> getObjects() const;
134 r.kieninger    1.14.4.1     const Array<SCMOInstance> getSCMOObjects() const;
135 schuur         1.1      
136                         private:
137                             Array<CIMObjectPath> _objects;
138 r.kieninger    1.14.4.1     Array<SCMOInstance> _scmoObjects;
139                             //CIMInstanceNamesResponseData responseData;
140 schuur         1.1      };
141                         
142 kumpf          1.12     class PEGASUS_PPM_LINKAGE SimpleMethodResultResponseHandler :
143                             public SimpleResponseHandler, public MethodResultResponseHandler
144 schuur         1.1      {
145                         public:
146 kumpf          1.12         SimpleMethodResultResponseHandler();
147 chip           1.9      
148 kumpf          1.12         virtual void processing();
149 chip           1.9      
150 kumpf          1.12         virtual void complete();
151 chip           1.8      
152                             // NOTE: this is the total size (count) of ALL parameters!
153 kumpf          1.12         virtual Uint32 size() const;
154 chip           1.9      
155 kumpf          1.12         virtual void clear();
156 chip           1.9      
157 kumpf          1.12         virtual void deliverParamValue(const CIMParamValue& outParamValue);
158 chip           1.9      
159 kumpf          1.12         virtual void deliverParamValue(const Array<CIMParamValue>& outParamValues);
160 chip           1.9      
161 kumpf          1.12         virtual void deliver(const CIMValue& returnValue);
162 chip           1.9      
163 kumpf          1.12         const Array<CIMParamValue> getParamValues() const;
164 chip           1.9      
165 kumpf          1.12         const CIMValue getReturnValue() const;
166 schuur         1.1      
167                         private:
168                             Array<CIMParamValue> _objects;
169                         
170                             CIMValue _returnValue;
171                         
172                         };
173                         
174 kumpf          1.12     class PEGASUS_PPM_LINKAGE SimpleIndicationResponseHandler :
175                             public SimpleResponseHandler, public IndicationResponseHandler
176 schuur         1.1      {
177                         public:
178 kumpf          1.12         SimpleIndicationResponseHandler();
179 chip           1.9      
180 kumpf          1.12         virtual void processing();
181 chip           1.9      
182 kumpf          1.12         virtual void complete();
183 chip           1.9      
184 kumpf          1.12         virtual Uint32 size() const;
185 chip           1.9      
186 kumpf          1.12         virtual void clear();
187 chip           1.9      
188 kumpf          1.12         virtual void deliver(const CIMIndication& indication);
189 chip           1.9      
190 kumpf          1.12         virtual void deliver(const Array<CIMIndication>& indications);
191 schuur         1.1      
192                             virtual void deliver(
193 kumpf          1.12             const OperationContext& context,
194                                 const CIMIndication& indication);
195 schuur         1.1      
196                             virtual void deliver(
197 kumpf          1.12             const OperationContext& context,
198                                 const Array<CIMIndication>& indications);
199 chip           1.9      
200 kumpf          1.12         const Array<CIMIndication> getObjects() const;
201 schuur         1.1      
202 chip           1.8          // ATTN: why is this variable public?
203 schuur         1.1          CIMInstance _provider;
204                         
205                         private:
206                             Array<CIMIndication> _objects;
207                         
208                         };
209                         
210 kumpf          1.12     class PEGASUS_PPM_LINKAGE SimpleObjectResponseHandler :
211                             public SimpleResponseHandler, public ObjectResponseHandler
212 schuur         1.1      {
213                         public:
214 kumpf          1.12         SimpleObjectResponseHandler();
215 chip           1.9      
216 kumpf          1.12         virtual void processing();
217 chip           1.9      
218 kumpf          1.12         virtual void complete();
219 chip           1.9      
220 kumpf          1.12         virtual Uint32 size() const;
221 chip           1.9      
222 kumpf          1.12         virtual void clear();
223 chip           1.9      
224 kumpf          1.12         virtual void deliver(const CIMObject& object);
225 chip           1.9      
226 r.kieninger    1.14.4.2     virtual void deliver(const SCMOInstance& object);
227                         
228 kumpf          1.12         virtual void deliver(const Array<CIMObject>& objects);
229 chip           1.9      
230 kumpf          1.12         const Array<CIMObject> getObjects() const;
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 marek          1.14.4.3     const Array<SCMOInstance> getSCMOObjects() const;
260 schuur         1.1      
261                         private:
262                             Array<CIMObject> _objects;
263 marek          1.14.4.3     Array<SCMOInstance> _scmoObjects;
264 schuur         1.1      };
265                         
266 kumpf          1.12     class PEGASUS_PPM_LINKAGE SimpleValueResponseHandler :
267                             public SimpleResponseHandler, public ValueResponseHandler
268 schuur         1.1      {
269                         public:
270 kumpf          1.12         SimpleValueResponseHandler();
271 chip           1.9      
272 kumpf          1.12         virtual void processing();
273 chip           1.9      
274 kumpf          1.12         virtual void complete();
275 chip           1.9      
276 kumpf          1.12         virtual Uint32 size() const;
277 chip           1.9      
278 kumpf          1.12         virtual void clear();
279 chip           1.9      
280 kumpf          1.12         virtual void deliver(const CIMValue& value);
281 chip           1.9      
282 kumpf          1.12         virtual void deliver(const Array<CIMValue>& values);
283 chip           1.9      
284 kumpf          1.12         const Array<CIMValue> getObjects() const;
285 schuur         1.1      
286                         private:
287                             Array<CIMValue> _objects;
288                         
289                         };
290                         
291                         PEGASUS_NAMESPACE_END
292                         
293                         #endif

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2