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

  1 karl  1.4 //%2003////////////////////////////////////////////////////////////////////////
  2 chip  1.1 //
  3 karl  1.4 // 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           // IBM Corp.; EMC Corporation, The Open Group.
  7 chip  1.1 //
  8           // Permission is hereby granted, free of charge, to any person obtaining a copy
  9           // of this software and associated documentation files (the "Software"), to
 10           // deal in the Software without restriction, including without limitation the
 11           // rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
 12           // sell copies of the Software, and to permit persons to whom the Software is
 13           // furnished to do so, subject to the following conditions:
 14 karl  1.4 // 
 15 chip  1.1 // THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN
 16           // ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS PROVIDED
 17           // "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
 18           // LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
 19           // PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
 20           // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
 21           // ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
 22           // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 23           //
 24           //==============================================================================
 25           //
 26           // Author: Chip Vincent (cvincent@us.ibm.com)
 27           //
 28           // Modified By: Roger Kumpf, Hewlett-Packard Company (roger_kumpf@hp.com)
 29           //              Dave Rosckes (rosckes@us.ibm.com)
 30           //
 31           //%/////////////////////////////////////////////////////////////////////////////
 32           
 33           #ifndef Pegasus_SimpleResponseHandler_h
 34           #define Pegasus_SimpleResponseHandler_h
 35           
 36 chip  1.1 #include <Pegasus/Common/Config.h>
 37           #include <Pegasus/Common/ResponseHandler.h>
 38           #include <Pegasus/Common/Logger.h>
 39           
 40 schuur 1.4.4.2 #include <Pegasus/ProviderManager2/Default/Linkage.h>
 41 chip   1.1     
 42                PEGASUS_NAMESPACE_BEGIN
 43                
 44 schuur 1.4.4.2 class PEGASUS_DEFPM_LINKAGE SimpleResponseHandler : virtual public ResponseHandler
 45 chip   1.1     {
 46                public:
 47                    SimpleResponseHandler(void)
 48                    {
 49                    }
 50                
 51                    virtual ~SimpleResponseHandler(void)
 52                    {
 53                    }
 54                
 55                    virtual void processing(void)
 56                    {
 57                	Logger::put(Logger::STANDARD_LOG, System::CIMSERVER, Logger::TRACE,
 58                		    "SimpleResponseHandler: processing()");
 59                        // do nothing
 60                    }
 61                
 62                    virtual void complete(void)
 63                    {
 64                	Logger::put(Logger::STANDARD_LOG, System::CIMSERVER, Logger::TRACE,
 65                		    "SimpleResponseHandler: complete()");
 66 chip   1.1     
 67                        // do nothing
 68                    }
 69                
 70                // l10n
 71 chuck  1.2         ContentLanguages getLanguages(void)
 72                    {
 73                        Logger::put(Logger::STANDARD_LOG, System::CIMSERVER, Logger::TRACE,
 74                                    "SimpleResponseHandler: getLanguages()");
 75                
 76                        ContentLanguages langs;
 77                        try
 78                        {
 79                            // Try to get the ContentLanguages out of the OperationContext
 80                            // in the base ResponseHandler.
 81                            OperationContext context = getContext();
 82                            ContentLanguageListContainer cntr = context.get
 83                                           (ContentLanguageListContainer::NAME);
 84                            langs = cntr.getLanguages();
 85                        }
 86                        catch (Exception & e)
 87                        {
 88                            // The content language container must not exist.
 89                            // Return the empty ContentLanguages.
 90                        }
 91                
 92 chuck  1.2             return langs;
 93                    }
 94 chip   1.1     };
 95                
 96 schuur 1.4.4.2 class PEGASUS_DEFPM_LINKAGE SimpleInstanceResponseHandler : public SimpleResponseHandler, public InstanceResponseHandler
 97 chip   1.1     {
 98                public:
 99                    SimpleInstanceResponseHandler(void)
100                    {
101                    }
102                
103                    void processing(void) { SimpleResponseHandler::processing(); }
104                    void complete(void) { SimpleResponseHandler::complete(); }
105                
106                    virtual void deliver(const CIMInstance & instance)
107                    {
108                	Logger::put(Logger::STANDARD_LOG, System::CIMSERVER, Logger::TRACE,
109                		    "SimpleResponseHandler: deliver()");
110                
111                        _objects.append(instance);
112                    }
113                
114                    virtual void deliver(const Array<CIMInstance> & instances)
115                    {
116                        // call deliver for each object in the array
117                        for(Uint32 i = 0, n = instances.size(); i < n; i++)
118 chip   1.1             {
119                            deliver(instances[i]);
120                        }
121                    }
122                
123                    const Array<CIMInstance> getObjects(void) const
124                    {
125                        return _objects;
126                    }
127                
128                private:
129                    Array<CIMInstance> _objects;
130                
131                };
132                
133 schuur 1.4.4.2 class PEGASUS_DEFPM_LINKAGE SimpleObjectPathResponseHandler : public SimpleResponseHandler, public ObjectPathResponseHandler
134 chip   1.1     {
135                public:
136                    SimpleObjectPathResponseHandler(void)
137                    {
138                    }
139                
140                    void processing(void) { SimpleResponseHandler::processing(); }
141                    void complete(void) { SimpleResponseHandler::complete(); }
142                
143                    virtual void deliver(const CIMObjectPath & objectPath)
144                    {
145                	Logger::put(Logger::STANDARD_LOG, System::CIMSERVER, Logger::TRACE,
146                		    "SimpleResponseHandler: deliver()");
147                        _objects.append(objectPath);
148                    }
149                
150                    virtual void deliver(const Array<CIMObjectPath> & objectPaths)
151                    {
152                        // call deliver for each object in the array
153                        for(Uint32 i = 0, n = objectPaths.size(); i < n; i++)
154                        {
155 chip   1.1                 deliver(objectPaths[i]);
156                        }
157                    }
158                
159                    const Array<CIMObjectPath> getObjects(void) const
160                    {
161                        return _objects;
162                    }
163                
164                private:
165                    Array<CIMObjectPath> _objects;
166                
167                };
168                
169 schuur 1.4.4.2 class PEGASUS_DEFPM_LINKAGE SimpleMethodResultResponseHandler : public SimpleResponseHandler, public MethodResultResponseHandler
170 chip   1.1     {
171                public:
172                    SimpleMethodResultResponseHandler(void)
173                    {
174                    }
175                
176                    void processing(void) { SimpleResponseHandler::processing(); }
177                    void complete(void) { SimpleResponseHandler::complete(); }
178                
179                    virtual void deliverParamValue(const CIMParamValue & outParamValue)
180                    {
181                        _objects.append(outParamValue);
182                    }
183                
184                    virtual void deliverParamValue(const Array<CIMParamValue> & outParamValues)
185                    {
186                        // call deliver for each object in the array
187                        for(Uint32 i = 0, n = outParamValues.size(); i < n; i++)
188                        {
189                            deliverParamValue(outParamValues[i]);
190                        }
191 chip   1.1         }
192                
193                    virtual void deliver(const CIMValue & returnValue)
194                    {
195                	Logger::put(Logger::STANDARD_LOG, System::CIMSERVER, Logger::TRACE,
196                		    "SimpleResponseHandler: deliver()");
197                        _returnValue = returnValue;
198                    }
199                
200                    const Array<CIMParamValue> getParamValues(void) const
201                    {
202                        return _objects;
203                    }
204                
205                    const CIMValue getReturnValue(void) const
206                    {
207                        return _returnValue;
208                    }
209                
210                private:
211                    Array<CIMParamValue> _objects;
212 chip   1.1     
213                    CIMValue _returnValue;
214                
215                };
216                
217 schuur 1.4.4.2 class PEGASUS_DEFPM_LINKAGE SimpleIndicationResponseHandler : public SimpleResponseHandler, public IndicationResponseHandler
218 chip   1.1     {
219                public:
220                    SimpleIndicationResponseHandler(void)
221                    {
222                    }
223                
224                    void processing(void) { SimpleResponseHandler::processing(); }
225                    void complete(void) { SimpleResponseHandler::complete(); }
226                
227                    virtual void deliver(const CIMIndication & indication)
228                    {
229                	Logger::put(Logger::STANDARD_LOG, System::CIMSERVER, Logger::TRACE,
230                		    "SimpleResponseHandler: deliver()");
231                
232                        _objects.append(indication);
233                    }
234                
235                    virtual void deliver(const Array<CIMIndication> & indications)
236                    {
237                        // call deliver for each object in the array
238                        for(Uint32 i = 0, n = indications.size(); i < n; i++)
239 chip   1.1             {
240                            deliver(indications[i]);
241                        }
242                    }
243                
244                    virtual void deliver(
245                        const OperationContext & context,
246                        const CIMIndication & indication)
247                    {
248                	Logger::put(Logger::STANDARD_LOG, System::CIMSERVER, Logger::TRACE,
249                		    "SimpleResponseHandler: deliver()");
250                
251                        _objects.append(indication);
252                    }
253                
254                    virtual void deliver(
255                        const OperationContext & context,
256                        const Array<CIMIndication> & indications)
257                    {
258                        // call deliver for each object in the array
259                        for(Uint32 i = 0, n = indications.size(); i < n; i++)
260 chip   1.1             {
261                            deliver(indications[i]);
262                        }
263                    }
264                
265                    const Array<CIMIndication> getObjects(void) const
266                    {
267                        return _objects;
268                    }
269                
270 chip   1.3         CIMInstance _provider;
271                
272 chip   1.1     private:
273                    Array<CIMIndication> _objects;
274                
275                };
276                
277 schuur 1.4.4.2 class PEGASUS_DEFPM_LINKAGE SimpleObjectResponseHandler : public SimpleResponseHandler, public ObjectResponseHandler
278 chip   1.1     {
279                public:
280                    SimpleObjectResponseHandler(void)
281                    {
282                    }
283                
284                    void processing(void) { SimpleResponseHandler::processing(); }
285                    void complete(void) { SimpleResponseHandler::complete(); }
286                
287                    virtual void deliver(const CIMObject & object)
288                    {
289                	Logger::put(Logger::STANDARD_LOG, System::CIMSERVER, Logger::TRACE,
290                		    "SimpleResponseHandler: deliver()");
291                
292                        _objects.append(object);
293                    }
294                
295                    virtual void deliver(const Array<CIMObject> & objects)
296                    {
297                        // call deliver for each object in the array
298                        for(Uint32 i = 0, n = objects.size(); i < n; i++)
299 chip   1.1             {
300                            deliver(objects[i]);
301                        }
302                    }
303                
304                    const Array<CIMObject> getObjects(void) const
305                    {
306                        return _objects;
307                    }
308                
309                private:
310                    Array<CIMObject> _objects;
311                
312                };
313                
314 schuur 1.4.4.2 class PEGASUS_DEFPM_LINKAGE SimpleInstance2ObjectResponseHandler : public SimpleResponseHandler, public InstanceResponseHandler
315 schuur 1.4.4.1 {
316                public:
317                    SimpleInstance2ObjectResponseHandler(void)
318                    {
319                    }
320                
321                    void processing(void) { SimpleResponseHandler::processing(); }
322                    void complete(void) { SimpleResponseHandler::complete(); }
323                
324                    virtual void deliver(const CIMInstance & object)
325                    {
326                	Logger::put(Logger::STANDARD_LOG, System::CIMSERVER, Logger::TRACE,
327                		    "SimpleResponseHandler: deliver()");
328                
329                        _objects.append(CIMObject(object));
330                    }
331                
332                    virtual void deliver(const Array<CIMInstance> & objects)
333                    {
334                        // call deliver for each object in the array
335                        for(Uint32 i = 0, n = objects.size(); i < n; i++)
336 schuur 1.4.4.1         {
337                            deliver(objects[i]);
338                        }
339                    }
340                
341                    const Array<CIMObject> getObjects(void) const
342                    {
343                        return _objects;
344                    }
345                
346                private:
347                    Array<CIMObject> _objects;
348                
349                };
350                
351 schuur 1.4.4.2 class PEGASUS_DEFPM_LINKAGE SimpleValueResponseHandler : public SimpleResponseHandler, public ValueResponseHandler
352 chip   1.1     {
353                public:
354                    SimpleValueResponseHandler(void)
355                    {
356                    }
357                
358                    void processing(void) { SimpleResponseHandler::processing(); }
359                    void complete(void) { SimpleResponseHandler::complete(); }
360                
361                    virtual void deliver(const CIMValue & value)
362                    {
363                	Logger::put(Logger::STANDARD_LOG, System::CIMSERVER, Logger::TRACE,
364                		    "SimpleResponseHandler: deliver()");
365                
366                        _objects.append(value);
367                    }
368                
369                    virtual void deliver(const Array<CIMValue> & values)
370                    {
371                        // call deliver for each object in the array
372                        for(Uint32 i = 0, n = values.size(); i < n; i++)
373 chip   1.1             {
374                            deliver(values[i]);
375                        }
376                    }
377                
378                    const Array<CIMValue> getObjects(void) const
379                    {
380                        return _objects;
381                    }
382                
383                private:
384                    Array<CIMValue> _objects;
385                
386                };
387                
388 schuur 1.4.4.2 class PEGASUS_DEFPM_LINKAGE SimpleClassResponseHandler : public SimpleResponseHandler, public ClassResponseHandler
389 chip   1.1     {
390                public:
391                    SimpleClassResponseHandler(void)
392                    {
393                    }
394                
395                    void processing(void) { SimpleResponseHandler::processing(); }
396                    void complete(void) { SimpleResponseHandler::complete(); }
397                
398                    virtual void deliver(const CIMClass & classObj)
399                    {
400                	Logger::put(Logger::STANDARD_LOG, System::CIMSERVER, Logger::TRACE,
401                		    "SimpleResponseHandler: deliver()");
402                
403                        _objects.append(classObj);
404                    }
405                
406                    virtual void deliver(const Array<CIMClass> & classObjs)
407                    {
408                        // call deliver for each object in the array
409                        for(Uint32 i = 0, n = classObjs.size(); i < n; i++)
410 chip   1.1             {
411                            deliver(classObjs[i]);
412                        }
413                    }
414                
415                    const Array<CIMClass> getObjects(void) const
416                    {
417                        return _objects;
418                    }
419                
420                private:
421                    Array<CIMClass> _objects;
422                
423                };
424                
425                PEGASUS_NAMESPACE_END
426                
427                #endif

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2