(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 thilo.boehm 1.15 #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 thilo.boehm    1.15     ~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 thilo.boehm    1.15     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 thilo.boehm    1.15     const Array<SCMOInstance> getSCMOObjects() const;
105 schuur         1.1  
106                     private:
107                         Array<CIMInstance> _objects;
108 thilo.boehm    1.15     Array<SCMOInstance> _scmoObjects;
109                         //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 thilo.boehm    1.15     ~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 thilo.boehm    1.15     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 thilo.boehm    1.15     const Array<SCMOInstance> getSCMOObjects() const;
135 schuur         1.1  
136                     private:
137                         Array<CIMObjectPath> _objects;
138 thilo.boehm    1.15     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 thilo.boehm    1.15     virtual void deliver(const SCMOInstance& object);
227                     
228                         virtual void deliver(const CIMInstance& instance);
229                     
230 kumpf          1.12     virtual void deliver(const Array<CIMObject>& objects);
231 chip           1.9  
232 kumpf          1.12     const Array<CIMObject> getObjects() const;
233 thilo.boehm    1.15     const Array<SCMOInstance> getSCMOObjects() const;
234 schuur         1.1  
235                     private:
236                         Array<CIMObject> _objects;
237 thilo.boehm    1.15     Array<SCMOInstance> _scmoObjects;
238 schuur         1.1  };
239                     
240 kumpf          1.12 class PEGASUS_PPM_LINKAGE SimpleInstance2ObjectResponseHandler :
241                         public SimpleResponseHandler, public InstanceResponseHandler
242 schuur         1.1  {
243                     public:
244 kumpf          1.12     SimpleInstance2ObjectResponseHandler();
245 chip           1.9  
246 kumpf          1.12     virtual void processing();
247 chip           1.9  
248 kumpf          1.12     virtual void complete();
249 chip           1.9  
250 kumpf          1.12     virtual Uint32 size() const;
251 chip           1.9  
252 kumpf          1.12     virtual void clear();
253 chip           1.9  
254 kumpf          1.12     virtual void deliver(const CIMInstance& object);
255 chip           1.9  
256 thilo.boehm    1.15     virtual void deliver(const SCMOInstance& object);
257                     
258 kumpf          1.12     virtual void deliver(const Array<CIMInstance>& objects);
259 chip           1.9  
260 kumpf          1.12     const Array<CIMObject> getObjects() const;
261 thilo.boehm    1.15     const Array<SCMOInstance> getSCMOObjects() const;
262 schuur         1.1  
263                     private:
264                         Array<CIMObject> _objects;
265 thilo.boehm    1.15     Array<SCMOInstance> _scmoObjects;
266 schuur         1.1  };
267                     
268 kumpf          1.12 class PEGASUS_PPM_LINKAGE SimpleValueResponseHandler :
269                         public SimpleResponseHandler, public ValueResponseHandler
270 schuur         1.1  {
271                     public:
272 kumpf          1.12     SimpleValueResponseHandler();
273 chip           1.9  
274 kumpf          1.12     virtual void processing();
275 chip           1.9  
276 kumpf          1.12     virtual void complete();
277 chip           1.9  
278 kumpf          1.12     virtual Uint32 size() const;
279 chip           1.9  
280 kumpf          1.12     virtual void clear();
281 chip           1.9  
282 kumpf          1.12     virtual void deliver(const CIMValue& value);
283 chip           1.9  
284 kumpf          1.12     virtual void deliver(const Array<CIMValue>& values);
285 chip           1.9  
286 kumpf          1.12     const Array<CIMValue> getObjects() const;
287 schuur         1.1  
288                     private:
289                         Array<CIMValue> _objects;
290                     
291                     };
292                     
293                     PEGASUS_NAMESPACE_END
294                     
295                     #endif

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2