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

  1 karl  1.8 //%2006////////////////////////////////////////////////////////////////////////
  2 schuur 1.1 //
  3 karl   1.2 // 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.2 // 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.4 // Copyright (c) 2005 Hewlett-Packard Development Company, L.P.; IBM Corp.;
 10            // EMC Corporation; VERITAS Software Corporation; The Open Group.
 11 karl   1.8 // 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.8 // 
 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            // Modified By:
 35 brian.campbell 1.3 //         Brian G. Campbell, EMC (campbell_brian@emc.com) - PEP140/phase2
 36 schuur         1.1 //
 37                    //%/////////////////////////////////////////////////////////////////////////////
 38                    
 39 chip           1.5 #include "SimpleResponseHandler.h"
 40                    
 41                    #include <Pegasus/ProviderManager2/OperationResponseHandler.h>
 42                    
 43                    #include <Pegasus/Common/Logger.h>
 44 schuur         1.1 
 45                    PEGASUS_NAMESPACE_BEGIN
 46                    
 47 chip           1.5 //
 48                    // SimpleResponseHandler
 49                    //
 50                    
 51                    SimpleResponseHandler::SimpleResponseHandler(void)
 52                    {
 53                    }
 54                    
 55                    SimpleResponseHandler::~SimpleResponseHandler(void)
 56                    {
 57                    }
 58                    
 59                    void SimpleResponseHandler::processing(void)
 60                    {
 61                        Logger::put(
 62                            Logger::STANDARD_LOG,
 63                            System::CIMSERVER,
 64                            Logger::TRACE,
 65                            "SimpleResponseHandler::processing()");
 66                    
 67                        // do nothing
 68 chip           1.5 }
 69                    
 70                    void SimpleResponseHandler::complete(void)
 71 brian.campbell 1.3 {
 72 chip           1.5     Logger::put(
 73                            Logger::STANDARD_LOG,
 74                            System::CIMSERVER,
 75                            Logger::TRACE,
 76                            "SimpleResponseHandler::complete()");
 77 brian.campbell 1.3 
 78 chip           1.5     send(true);
 79                    }
 80 brian.campbell 1.3 
 81 chip           1.5 // return the number of objects in this handler
 82                    Uint32 SimpleResponseHandler::size(void) const
 83                    {
 84                        return(0);
 85 brian.campbell 1.3 }
 86                    
 87 chip           1.5 // clear any objects in this handler
 88                    void SimpleResponseHandler::clear(void)
 89                    {
 90                    }
 91 brian.campbell 1.3 
 92 kumpf          1.7 ContentLanguageList SimpleResponseHandler::getLanguages(void)
 93 brian.campbell 1.3 {
 94 chip           1.5 	Logger::put(
 95                            Logger::STANDARD_LOG,
 96                            System::CIMSERVER,
 97                            Logger::TRACE,
 98                            "SimpleResponseHandler: getLanguages()");
 99                    
100 kumpf          1.7 	ContentLanguageList langs;
101 chip           1.5 
102                        try
103 brian.campbell 1.3 	{
104 kumpf          1.7 		// Try to get the ContentLanguageList out of the
105                                    // OperationContext in the base ResponseHandler.
106 brian.campbell 1.3 		OperationContext context = getContext();
107 chip           1.5 
108                            ContentLanguageListContainer cntr = context.get(
109                                ContentLanguageListContainer::NAME);
110                    
111                            langs = cntr.getLanguages();
112 brian.campbell 1.3 	}
113                    	catch (const Exception &)
114                    	{
115                    		// The content language container must not exist.
116 kumpf          1.7 		// Return the empty ContentLanguageList.
117 brian.campbell 1.3 	}
118 chip           1.5 
119                    	return(langs);
120                    }
121                    
122                    void SimpleResponseHandler::send(Boolean isComplete)
123                    {
124                    	// If this was NOT instantiated as a derived OperationResponseHandle class,
125                    	// then this will be null but is NOT an error. In this case, there is no
126                    	// response attached, hence no data,so there is nothing to send. else we have
127                    	// a valid "cross-cast" to the operation side
128                    
129                    	OperationResponseHandler *operation =
130                    		dynamic_cast<OperationResponseHandler*>(this);
131                    
132                    	if (operation)
133                        {
134                            operation->send(isComplete);
135                        }
136                    }
137                    
138                    //
139 chip           1.5 // SimpleInstanceResponseHandler
140                    //
141                    
142                    SimpleInstanceResponseHandler::SimpleInstanceResponseHandler(void)
143                    {
144                    }
145                    
146                    void SimpleInstanceResponseHandler::processing(void)
147                    {
148                        SimpleResponseHandler::processing();
149                    }
150                    
151                    void SimpleInstanceResponseHandler::complete(void)
152                    {
153                        SimpleResponseHandler::complete();
154                    }
155                    
156                    Uint32 SimpleInstanceResponseHandler::size(void) const
157                    {
158                        return(_objects.size());
159                    }
160 chip           1.5 
161                    void SimpleInstanceResponseHandler::clear(void)
162                    {
163                        _objects.clear();
164                    }
165                    
166                    void SimpleInstanceResponseHandler::deliver(const CIMInstance & instance)
167                    {
168 mike           1.6     PEG_LOGGER_TRACE((
169 chip           1.5         Logger::STANDARD_LOG,
170                            System::CIMSERVER,
171                            Logger::TRACE,
172 mike           1.6         "SimpleInstanceResponseHandler::deliver()"));
173 chip           1.5 
174                        _objects.append(instance);
175                    
176                        send(false);
177                    }
178                    
179                    void SimpleInstanceResponseHandler::deliver(const Array<CIMInstance> & instances)
180                    {
181                        // call deliver for each object in the array
182                        for(Uint32 i = 0, n = instances.size(); i < n; i++)
183                        {
184                            deliver(instances[i]);
185                        }
186                    }
187                    
188                    const Array<CIMInstance> SimpleInstanceResponseHandler::getObjects(void) const
189                    {
190                        return(_objects);
191                    }
192                    
193                    //
194 chip           1.5 // SimpleObjectPathResponseHandler
195                    //
196                    
197                    SimpleObjectPathResponseHandler::SimpleObjectPathResponseHandler(void)
198                    {
199                    }
200                    
201                    void SimpleObjectPathResponseHandler::processing(void)
202                    {
203                        SimpleResponseHandler::processing();
204                    }
205                    
206                    void SimpleObjectPathResponseHandler::complete(void)
207                    {
208                        SimpleResponseHandler::complete();
209                    }
210                    
211                    Uint32 SimpleObjectPathResponseHandler::size(void) const
212                    {
213                        return(_objects.size());
214                    }
215 chip           1.5 
216                    void SimpleObjectPathResponseHandler::clear(void)
217                    {
218                        _objects.clear();
219                    }
220                    
221                    void SimpleObjectPathResponseHandler::deliver(const CIMObjectPath & objectPath)
222                    {
223                        Logger::put(
224                            Logger::STANDARD_LOG,
225                            System::CIMSERVER,
226                            Logger::TRACE,
227                            "SimpleObjectPathResponseHandler::deliver()");
228                    
229                        _objects.append(objectPath);
230                    
231                        send(false);
232                    }
233                    
234                    void SimpleObjectPathResponseHandler::deliver(const Array<CIMObjectPath> & objectPaths)
235                    {
236 chip           1.5     // call deliver for each object in the array
237                        for(Uint32 i = 0, n = objectPaths.size(); i < n; i++)
238                        {
239                            deliver(objectPaths[i]);
240                        }
241                    }
242                    
243                    const Array<CIMObjectPath> SimpleObjectPathResponseHandler::getObjects(void) const
244                    {
245                        return(_objects);
246                    }
247                    
248                    //
249                    // SimpleMethodResultResponseHandler
250                    //
251                    
252                    SimpleMethodResultResponseHandler::SimpleMethodResultResponseHandler(void)
253                    {
254                    }
255                    
256                    void SimpleMethodResultResponseHandler::processing(void)
257 chip           1.5 {
258                        SimpleResponseHandler::processing();
259                    }
260                    
261                    void SimpleMethodResultResponseHandler::complete(void)
262                    {
263                        SimpleResponseHandler::complete();
264                    }
265                    
266                    Uint32 SimpleMethodResultResponseHandler::size(void) const
267                    {
268                        return(_objects.size());
269                    }
270                    
271                    void SimpleMethodResultResponseHandler::clear(void)
272                    {
273                        _objects.clear();
274                    
275                        _returnValue.clear();
276                    }
277                    
278 chip           1.5 void SimpleMethodResultResponseHandler::deliverParamValue(const CIMParamValue & outParamValue)
279                    {
280                        _objects.append(outParamValue);
281                    
282                        // async delivers not yet supported for parameters
283                        //send(false);
284                    }
285                    
286                    void SimpleMethodResultResponseHandler::deliverParamValue(const Array<CIMParamValue> & outParamValues)
287                    {
288                        // call deliver for each object in the array
289                        for(Uint32 i = 0, n = outParamValues.size(); i < n; i++)
290                        {
291                            deliverParamValue(outParamValues[i]);
292                        }
293                    }
294                    
295                    void SimpleMethodResultResponseHandler::deliver(const CIMValue & returnValue)
296                    {
297                        Logger::put(
298                            Logger::STANDARD_LOG,
299 chip           1.5         System::CIMSERVER,
300                            Logger::TRACE,
301                            "SimpleMethodResultResponseHandler::deliver()");
302                    
303                        _returnValue = returnValue;
304                    
305                        send(false);
306                    }
307                    
308                    const Array<CIMParamValue> SimpleMethodResultResponseHandler::getParamValues(void) const
309                    {
310                        return(_objects);
311                    }
312                    
313                    const CIMValue SimpleMethodResultResponseHandler::getReturnValue(void) const
314                    {
315                        return(_returnValue);
316                    }
317                    
318                    //
319                    // SimpleIndicationResponseHandler
320 chip           1.5 //
321                    
322                    SimpleIndicationResponseHandler::SimpleIndicationResponseHandler(void)
323                    {
324                    }
325                    
326                    void SimpleIndicationResponseHandler::processing(void)
327                    {
328                        SimpleResponseHandler::processing();
329                    }
330                    
331                    void SimpleIndicationResponseHandler::complete(void)
332                    {
333                        SimpleResponseHandler::complete();
334                    }
335                    
336                    Uint32 SimpleIndicationResponseHandler::size(void) const
337                    {
338                        return(_objects.size());
339                    }
340                    
341 chip           1.5 void SimpleIndicationResponseHandler::clear(void)
342                    {
343                        _objects.clear();
344                    }
345                    
346                    void SimpleIndicationResponseHandler::deliver(const CIMIndication & indication)
347                    {
348                        Logger::put(
349                            Logger::STANDARD_LOG,
350                            System::CIMSERVER,
351                            Logger::TRACE,
352                            "SimpleIndicationResponseHandler::deliver()");
353                    
354                        _objects.append(indication);
355                    
356                        send(false);
357                    }
358                    
359                    void SimpleIndicationResponseHandler::deliver(const Array<CIMIndication> & indications)
360                    {
361                        // call deliver for each object in the array
362 chip           1.5     for(Uint32 i = 0, n = indications.size(); i < n; i++)
363                        {
364                            deliver(indications[i]);
365                        }
366                    }
367                    
368                    void SimpleIndicationResponseHandler::deliver(
369                        const OperationContext & context,
370                        const CIMIndication & indication)
371                    {
372                        Logger::put(
373                            Logger::STANDARD_LOG,
374                            System::CIMSERVER,
375                            Logger::TRACE,
376                            "SimpleIndicationResponseHandler::deliver()");
377                    
378                        _objects.append(indication);
379                    }
380                    
381                    void SimpleIndicationResponseHandler::deliver(
382                        const OperationContext & context,
383 chip           1.5     const Array<CIMIndication> & indications)
384                    {
385                        // call deliver for each object in the array
386                        for(Uint32 i = 0, n = indications.size(); i < n; i++)
387                        {
388                            deliver(indications[i]);
389                        }
390                    }
391                    
392                    const Array<CIMIndication> SimpleIndicationResponseHandler::getObjects(void) const
393                    {
394                        return(_objects);
395                    }
396                    
397                    
398                    //
399                    // SimpleObjectResponseHandler
400                    //
401                    
402                    SimpleObjectResponseHandler::SimpleObjectResponseHandler(void)
403                    {
404 chip           1.5 }
405                    
406                    void SimpleObjectResponseHandler::processing(void)
407                    {
408                        SimpleResponseHandler::processing();
409                    }
410                    
411                    void SimpleObjectResponseHandler::complete(void)
412                    {
413                        SimpleResponseHandler::complete();
414                    }
415                    
416                    Uint32 SimpleObjectResponseHandler::size(void) const
417                    {
418                        return(_objects.size());
419                    }
420                    
421                    void SimpleObjectResponseHandler::clear(void)
422                    {
423                        _objects.clear();
424                    }
425 chip           1.5 
426                    void SimpleObjectResponseHandler::deliver(const CIMObject & object)
427                    {
428                        Logger::put(
429                            Logger::STANDARD_LOG,
430                            System::CIMSERVER,
431                            Logger::TRACE,
432                            "SimpleObjectResponseHandler::deliver()");
433                    
434                        _objects.append(object);
435                    
436                        send(false);
437                    }
438                    
439                    void SimpleObjectResponseHandler::deliver(const Array<CIMObject> & objects)
440                    {
441                        // call deliver for each object in the array
442                        for(Uint32 i = 0, n = objects.size(); i < n; i++)
443                        {
444                            deliver(objects[i]);
445                        }
446 chip           1.5 }
447                    
448                    const Array<CIMObject> SimpleObjectResponseHandler::getObjects(void) const
449                    {
450                        return(_objects);
451                    }
452                    
453                    //
454                    // SimpleInstance2ObjectResponseHandler
455                    //
456                    
457                    SimpleInstance2ObjectResponseHandler::SimpleInstance2ObjectResponseHandler(void)
458                    {
459                    }
460                    
461                    void SimpleInstance2ObjectResponseHandler::processing(void)
462                    {
463                        SimpleResponseHandler::processing();
464                    }
465                    
466                    void SimpleInstance2ObjectResponseHandler::complete(void)
467 chip           1.5 {
468                        SimpleResponseHandler::complete();
469                    }
470                    
471                    Uint32 SimpleInstance2ObjectResponseHandler::size(void) const
472                    {
473                        return(_objects.size());
474                    }
475                    
476                    void SimpleInstance2ObjectResponseHandler::clear(void)
477                    {
478                        _objects.clear();
479                    }
480                    
481                    void SimpleInstance2ObjectResponseHandler::deliver(const CIMInstance & object)
482                    {
483                        Logger::put(
484                            Logger::STANDARD_LOG,
485                            System::CIMSERVER,
486                            Logger::TRACE,
487                            "SimpleInstance2ObjectResponseHandler::deliver()");
488 chip           1.5 
489                        _objects.append(CIMObject(object));
490                    
491                        // async delivers not yet supported
492                        //send(false);
493                    }
494                    
495                    void SimpleInstance2ObjectResponseHandler::deliver(const Array<CIMInstance> & objects)
496                    {
497                        // call deliver for each object in the array
498                        for(Uint32 i = 0, n = objects.size(); i < n; i++)
499                        {
500                            deliver(objects[i]);
501                        }
502                    }
503                    
504                    const Array<CIMObject> SimpleInstance2ObjectResponseHandler::getObjects(void) const
505                    {
506                        return(_objects);
507                    }
508                    
509 chip           1.5 //
510                    // SimpleValueResponseHandler
511                    //
512                    
513                    SimpleValueResponseHandler::SimpleValueResponseHandler(void)
514                    {
515                    }
516                    
517                    void SimpleValueResponseHandler::processing(void)
518                    {
519                        SimpleResponseHandler::processing();
520                    }
521                    
522                    void SimpleValueResponseHandler::complete(void)
523                    {
524                        SimpleResponseHandler::complete();
525                    }
526                    
527                    Uint32 SimpleValueResponseHandler::size(void) const
528                    {
529                        return(_objects.size());
530 chip           1.5 }
531                    
532                    void SimpleValueResponseHandler::clear(void)
533                    {
534                        _objects.clear();
535                    }
536                    
537                    void SimpleValueResponseHandler::deliver(const CIMValue & value)
538                    {
539                        Logger::put(
540                            Logger::STANDARD_LOG,
541                            System::CIMSERVER,
542                            Logger::TRACE,
543                            "SimpleValueResponseHandler::deliver()");
544                    
545                        _objects.append(value);
546                    
547                        send(false);
548                    }
549                    
550                    void SimpleValueResponseHandler::deliver(const Array<CIMValue> & values)
551 chip           1.5 {
552                        // call deliver for each object in the array
553                        for(Uint32 i = 0, n = values.size(); i < n; i++)
554                        {
555                            deliver(values[i]);
556                        }
557                    }
558                    
559                    const Array<CIMValue> SimpleValueResponseHandler::getObjects(void) const
560                    {
561                        return(_objects);
562 brian.campbell 1.3 }
563                    
564 schuur         1.1 PEGASUS_NAMESPACE_END

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2