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

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

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2