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

  1 karl  1.11 //%2006////////////////////////////////////////////////////////////////////////
  2 schuur 1.1  //
  3 karl   1.5  // Copyright (c) 2000, 2001, 2002 BMC Software; Hewlett-Packard Development
  4             // Company, L.P.; IBM Corp.; The Open Group; Tivoli Systems.
  5             // Copyright (c) 2003 BMC Software; Hewlett-Packard Development Company, L.P.;
  6 schuur 1.1  // IBM Corp.; EMC Corporation, The Open Group.
  7 karl   1.5  // Copyright (c) 2004 BMC Software; Hewlett-Packard Development Company, L.P.;
  8             // IBM Corp.; EMC Corporation; VERITAS Software Corporation; The Open Group.
  9 karl   1.7  // Copyright (c) 2005 Hewlett-Packard Development Company, L.P.; IBM Corp.;
 10             // EMC Corporation; VERITAS Software Corporation; The Open Group.
 11 karl   1.11 // Copyright (c) 2006 Hewlett-Packard Development Company, L.P.; IBM Corp.;
 12             // EMC Corporation; Symantec Corporation; The Open Group.
 13 schuur 1.1  //
 14             // Permission is hereby granted, free of charge, to any person obtaining a copy
 15             // of this software and associated documentation files (the "Software"), to
 16             // deal in the Software without restriction, including without limitation the
 17             // rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
 18             // sell copies of the Software, and to permit persons to whom the Software is
 19             // furnished to do so, subject to the following conditions:
 20 karl   1.11 // 
 21 schuur 1.1  // THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN
 22             // ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS PROVIDED
 23             // "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
 24             // LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
 25             // PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
 26             // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
 27             // ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
 28             // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 29             //
 30             //==============================================================================
 31             //
 32             // Author: Chip Vincent (cvincent@us.ibm.com)
 33             //
 34 chip   1.8  // Modified By:
 35             //      Roger Kumpf, Hewlett-Packard Company (roger_kumpf@hp.com)
 36             //      Dave Rosckes (rosckes@us.ibm.com)
 37             //      Brian G. Campbell, EMC (campbell_brian@emc.com) - PEP140/phase2
 38 schuur 1.1  //
 39             //%/////////////////////////////////////////////////////////////////////////////
 40             
 41             #ifndef Pegasus_SimpleResponseHandler_h
 42             #define Pegasus_SimpleResponseHandler_h
 43             
 44             #include <Pegasus/Common/Config.h>
 45             #include <Pegasus/Common/ResponseHandler.h>
 46             
 47             #include <Pegasus/ProviderManager2/Linkage.h>
 48             
 49             PEGASUS_NAMESPACE_BEGIN
 50             
 51 kumpf  1.3  //
 52             // ValueResponseHandler (used internally to implement property operations)
 53             //
 54             class PEGASUS_PPM_LINKAGE ValueResponseHandler : virtual public ResponseHandler
 55             {
 56             public:
 57                 virtual void deliver(const CIMValue & value) = 0;
 58             
 59                 virtual void deliver(const Array<CIMValue> & values) = 0;
 60             };
 61             
 62             
 63             //
 64             // SimpleResponseHandler
 65             //
 66 schuur 1.1  class PEGASUS_PPM_LINKAGE SimpleResponseHandler : virtual public ResponseHandler
 67             {
 68             public:
 69 chip   1.9      SimpleResponseHandler(void);
 70                 virtual ~SimpleResponseHandler(void);
 71 schuur 1.1  
 72 chip   1.9      virtual void processing(void);
 73             
 74                 virtual void complete(void);
 75 schuur 1.1  
 76 chip   1.8      // return the number of objects in this handler
 77 chip   1.9      virtual Uint32 size(void) const;
 78 brian.campbell 1.6  
 79 chip           1.8      // clear any objects in this handler
 80 chip           1.9      virtual void clear(void);
 81 brian.campbell 1.6  
 82 kumpf          1.10     ContentLanguageList getLanguages(void);
 83 schuur         1.1  
 84 brian.campbell 1.6  protected:
 85 chip           1.8      virtual void send(Boolean isComplete);
 86 schuur         1.1  
 87                     };
 88                     
 89                     class PEGASUS_PPM_LINKAGE SimpleInstanceResponseHandler : public SimpleResponseHandler, public InstanceResponseHandler
 90                     {
 91                     public:
 92 chip           1.9      SimpleInstanceResponseHandler(void);
 93                     
 94                         virtual void processing(void);
 95                     
 96                         virtual void complete(void);
 97                     
 98                         virtual Uint32 size(void) const;
 99                     
100                         virtual void clear(void);
101                     
102                         virtual void deliver(const CIMInstance & instance);
103                     
104                         virtual void deliver(const Array<CIMInstance> & instances);
105                     
106                         const Array<CIMInstance> getObjects(void) const;
107 schuur         1.1  
108                     private:
109                         Array<CIMInstance> _objects;
110                     
111                     };
112                     
113                     class PEGASUS_PPM_LINKAGE SimpleObjectPathResponseHandler : public SimpleResponseHandler, public ObjectPathResponseHandler
114                     {
115                     public:
116 chip           1.9      SimpleObjectPathResponseHandler(void);
117                     
118                         virtual void processing(void);
119                     
120                         virtual void complete(void);
121                     
122                         virtual Uint32 size(void) const;
123                     
124                         virtual void clear(void);
125                     
126                         virtual void deliver(const CIMObjectPath & objectPath);
127                     
128                         virtual void deliver(const Array<CIMObjectPath> & objectPaths);
129                     
130                         const Array<CIMObjectPath> getObjects(void) const;
131 schuur         1.1  
132                     private:
133                         Array<CIMObjectPath> _objects;
134                     
135                     };
136                     
137                     class PEGASUS_PPM_LINKAGE SimpleMethodResultResponseHandler : public SimpleResponseHandler, public MethodResultResponseHandler
138                     {
139                     public:
140 chip           1.9      SimpleMethodResultResponseHandler(void);
141                     
142                         virtual void processing(void);
143                     
144                         virtual void complete(void);
145 chip           1.8  
146                         // NOTE: this is the total size (count) of ALL parameters!
147 chip           1.9      virtual Uint32 size(void) const;
148                     
149                         virtual void clear(void);
150                     
151                         virtual void deliverParamValue(const CIMParamValue & outParamValue);
152                     
153                         virtual void deliverParamValue(const Array<CIMParamValue> & outParamValues);
154                     
155                         virtual void deliver(const CIMValue & returnValue);
156                     
157                         const Array<CIMParamValue> getParamValues(void) const;
158                     
159                         const CIMValue getReturnValue(void) const;
160 schuur         1.1  
161                     private:
162                         Array<CIMParamValue> _objects;
163                     
164                         CIMValue _returnValue;
165                     
166                     };
167                     
168                     class PEGASUS_PPM_LINKAGE SimpleIndicationResponseHandler : public SimpleResponseHandler, public IndicationResponseHandler
169                     {
170                     public:
171 chip           1.9      SimpleIndicationResponseHandler(void);
172                     
173                         virtual void processing(void);
174                     
175                         virtual void complete(void);
176                     
177                         virtual Uint32 size(void) const;
178                     
179                         virtual void clear(void);
180                     
181                         virtual void deliver(const CIMIndication & indication);
182                     
183                         virtual void deliver(const Array<CIMIndication> & indications);
184 schuur         1.1  
185                         virtual void deliver(
186                             const OperationContext & context,
187 chip           1.9          const CIMIndication & indication);
188 schuur         1.1  
189                         virtual void deliver(
190                             const OperationContext & context,
191 chip           1.9          const Array<CIMIndication> & indications);
192                     
193                         const Array<CIMIndication> getObjects(void) const;
194 schuur         1.1  
195 chip           1.8      // ATTN: why is this variable public?
196 schuur         1.1      CIMInstance _provider;
197                     
198                     private:
199                         Array<CIMIndication> _objects;
200                     
201                     };
202                     
203                     class PEGASUS_PPM_LINKAGE SimpleObjectResponseHandler : public SimpleResponseHandler, public ObjectResponseHandler
204                     {
205                     public:
206 chip           1.9      SimpleObjectResponseHandler(void);
207                     
208                         virtual void processing(void);
209                     
210                         virtual void complete(void);
211                     
212                         virtual Uint32 size(void) const;
213                     
214                         virtual void clear(void);
215                     
216                         virtual void deliver(const CIMObject & object);
217                     
218                         virtual void deliver(const Array<CIMObject> & objects);
219                     
220                         const Array<CIMObject> getObjects(void) const;
221 schuur         1.1  
222                     private:
223                         Array<CIMObject> _objects;
224                     
225                     };
226                     
227                     class PEGASUS_PPM_LINKAGE SimpleInstance2ObjectResponseHandler : public SimpleResponseHandler, public InstanceResponseHandler
228                     {
229                     public:
230 chip           1.9      SimpleInstance2ObjectResponseHandler(void);
231                     
232                         virtual void processing(void);
233                     
234                         virtual void complete(void);
235                     
236                         virtual Uint32 size(void) const;
237                     
238                         virtual void clear(void);
239                     
240                         virtual void deliver(const CIMInstance & object);
241                     
242                         virtual void deliver(const Array<CIMInstance> & objects);
243                     
244                         const Array<CIMObject> getObjects(void) const;
245 schuur         1.1  
246                     private:
247                         Array<CIMObject> _objects;
248                     
249                     };
250                     
251                     class PEGASUS_PPM_LINKAGE SimpleValueResponseHandler : public SimpleResponseHandler, public ValueResponseHandler
252                     {
253                     public:
254 chip           1.9      SimpleValueResponseHandler(void);
255                     
256                         virtual void processing(void);
257                     
258                         virtual void complete(void);
259                     
260                         virtual Uint32 size(void) const;
261                     
262                         virtual void clear(void);
263                     
264                         virtual void deliver(const CIMValue & value);
265                     
266                         virtual void deliver(const Array<CIMValue> & values);
267                     
268                         const Array<CIMValue> getObjects(void) const;
269 schuur         1.1  
270                     private:
271                         Array<CIMValue> _objects;
272                     
273                     };
274                     
275                     PEGASUS_NAMESPACE_END
276                     
277                     #endif

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2