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

  1 martin 1.4 //%LICENSE////////////////////////////////////////////////////////////////
  2 martin 1.5 //
  3 martin 1.4 // 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.5 //
 10 martin 1.4 // 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.5 //
 17 martin 1.4 // The above copyright notice and this permission notice shall be included
 18            // in all copies or substantial portions of the Software.
 19 martin 1.5 //
 20 martin 1.4 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
 21 martin 1.5 // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
 22 martin 1.4 // 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.5 //
 28 martin 1.4 //////////////////////////////////////////////////////////////////////////
 29 kumpf  1.2 //
 30            //%/////////////////////////////////////////////////////////////////////////////
 31            
 32            #ifndef Pegasus_WsmResponse_h
 33            #define Pegasus_WsmResponse_h
 34            
 35            #include <Pegasus/Common/Config.h>
 36            #include <Pegasus/Common/ArrayInternal.h>
 37            #include <Pegasus/Common/ContentLanguageList.h>
 38            #include <Pegasus/WsmServer/WsmRequest.h>
 39            #include <Pegasus/WsmServer/WsmFault.h>
 40            #include <Pegasus/WsmServer/WsmInstance.h>
 41            #include <Pegasus/WsmServer/WsmUtils.h>
 42            
 43            PEGASUS_NAMESPACE_BEGIN
 44            
 45            class WsmResponse
 46            {
 47            protected:
 48            
 49                WsmResponse(
 50 kumpf  1.2         WsmOperationType type,
 51                    const WsmRequest* request,
 52                    const ContentLanguageList& contentLanguages)
 53                    : _type(type),
 54                      _messageId(WsmUtils::getMessageId()),
 55                      _relatesTo(request->messageId),
 56                      _queueId(request->queueId),
 57                      _httpMethod(request->httpMethod),
 58                      _httpCloseConnect(request->httpCloseConnect),
 59 mike   1.7           _omitXMLProcessingInstruction(request->omitXMLProcessingInstruction),
 60 kumpf  1.2           _maxEnvelopeSize(request->maxEnvelopeSize),
 61                      _contentLanguages(contentLanguages)
 62                {
 63                }
 64            
 65                WsmResponse(
 66                    WsmOperationType type,
 67                    const String& relatesTo,
 68                    Uint32 queueId,
 69                    HttpMethod httpMethod,
 70                    Boolean httpCloseConnect,
 71 mike   1.7         Boolean omitXMLProcessingInstruction,
 72 kumpf  1.2         const ContentLanguageList& contentLanguages)
 73                    : _type(type),
 74                      _messageId(WsmUtils::getMessageId()),
 75                      _relatesTo(relatesTo),
 76                      _queueId(queueId),
 77                      _httpMethod(httpMethod),
 78                      _httpCloseConnect(httpCloseConnect),
 79 mike   1.7           _omitXMLProcessingInstruction(omitXMLProcessingInstruction),
 80 kumpf  1.2           _maxEnvelopeSize(0),
 81                      _contentLanguages(contentLanguages)
 82                {
 83                }
 84            
 85            public:
 86            
 87                virtual ~WsmResponse()
 88                {
 89                }
 90            
 91                WsmOperationType getType() const
 92                {
 93                    return _type;
 94                }
 95            
 96                String& getMessageId()
 97                {
 98                    return _messageId;
 99                }
100            
101 kumpf  1.2     String& getRelatesTo()
102                {
103                    return _relatesTo;
104                }
105            
106                Uint32 getQueueId() const
107                {
108                    return _queueId;
109                }
110            
111                HttpMethod getHttpMethod() const
112                {
113                    return _httpMethod;
114                }
115            
116                Boolean getHttpCloseConnect() const
117                {
118                    return _httpCloseConnect;
119                }
120            
121                Uint32 getMaxEnvelopeSize() const
122 kumpf  1.2     {
123                    return _maxEnvelopeSize;
124                }
125            
126                ContentLanguageList& getContentLanguages()
127                {
128                    return _contentLanguages;
129                }
130            
131 mike   1.7     Boolean getOmitXMLProcessingInstruction() const
132                {
133                    return _omitXMLProcessingInstruction;
134                }
135            
136 kumpf  1.2 private:
137            
138                WsmResponse(const WsmResponse&);
139                WsmResponse& operator=(const WsmResponse&);
140            
141                WsmOperationType _type;
142                String _messageId;
143                String _relatesTo;
144                Uint32 _queueId;
145                HttpMethod _httpMethod;
146                Boolean _httpCloseConnect;
147 mike   1.7     Boolean _omitXMLProcessingInstruction;
148 kumpf  1.2     Uint32 _maxEnvelopeSize;
149                ContentLanguageList _contentLanguages;
150            };
151            
152            class WsmFaultResponse : public WsmResponse
153            {
154            public:
155            
156                WsmFaultResponse(
157                    const String& relatesTo,
158                    Uint32 queueId,
159                    HttpMethod httpMethod,
160                    Boolean httpCloseConnect,
161 mike   1.7         Boolean omitXMLProcessingInstruction,
162 kumpf  1.2         const WsmFault& fault)
163                    : WsmResponse(
164                          WSM_FAULT,
165                          relatesTo,
166                          queueId,
167                          httpMethod,
168                          httpCloseConnect,
169 mike   1.7               omitXMLProcessingInstruction,
170 kumpf  1.2               fault.getReasonLanguage()),
171                      _fault(fault)
172                {
173                }
174            
175                WsmFaultResponse(
176                    const WsmRequest* request,
177                    const WsmFault& fault)
178                    : WsmResponse(
179                          WSM_FAULT,
180                          request,
181                          fault.getReasonLanguage()),
182                      _fault(fault)
183                {
184                }
185            
186                ~WsmFaultResponse()
187                {
188                }
189            
190                WsmFault& getFault()
191 kumpf  1.2     {
192                    return _fault;
193                }
194            
195            private:
196            
197                WsmFault _fault;
198            };
199            
200            class SoapFaultResponse : public WsmResponse
201            {
202            public:
203            
204                SoapFaultResponse(
205                    const String& relatesTo,
206                    Uint32 queueId,
207                    HttpMethod httpMethod,
208                    Boolean httpCloseConnect,
209 mike   1.7         Boolean omitXMLProcessingInstruction,
210 kumpf  1.2         const SoapNotUnderstoodFault& fault)
211                    : WsmResponse(
212                          SOAP_FAULT,
213                          relatesTo,
214                          queueId,
215                          httpMethod,
216                          httpCloseConnect,
217 mike   1.7               omitXMLProcessingInstruction,
218 kumpf  1.2               fault.getMessageLanguage()),
219                      _fault(fault)
220                {
221                }
222            
223                ~SoapFaultResponse()
224                {
225                }
226            
227                SoapNotUnderstoodFault& getFault()
228                {
229                    return _fault;
230                }
231            
232            private:
233            
234                SoapNotUnderstoodFault _fault;
235            };
236            
237 kumpf  1.3 class WxfGetResponse : public WsmResponse
238 kumpf  1.2 {
239            public:
240            
241 kumpf  1.3     WxfGetResponse(
242 kumpf  1.2         const WsmInstance& inst,
243 kumpf  1.3         const WxfGetRequest* request,
244 kumpf  1.2         const ContentLanguageList& contentLanguages)
245                    : WsmResponse(
246                          WS_TRANSFER_GET,
247                          request,
248                          contentLanguages),
249 mike   1.7           _instance(inst),
250                      _resourceUri(request->epr.resourceUri)
251 kumpf  1.2     {
252                }
253            
254 kumpf  1.3     ~WxfGetResponse()
255 kumpf  1.2     {
256                }
257            
258                WsmInstance& getInstance()
259                {
260                    return _instance;
261                }
262            
263 mike   1.7     const String& getResourceUri() const
264                {
265                    return _resourceUri;
266                }
267            
268 kumpf  1.2 private:
269            
270                WsmInstance _instance;
271 mike   1.7     String _resourceUri;
272 kumpf  1.2 };
273            
274 kumpf  1.3 class WxfPutResponse : public WsmResponse
275 kumpf  1.2 {
276            public:
277            
278 kumpf  1.3     WxfPutResponse(
279                    const WxfPutRequest* request,
280 kumpf  1.2         const ContentLanguageList& contentLanguages)
281                    : WsmResponse(
282                          WS_TRANSFER_PUT,
283                          request,
284                          contentLanguages),
285                      _reference(request->epr),
286                      _requestedEPR(request->requestEpr)
287                {
288                }
289            
290 kumpf  1.3     ~WxfPutResponse()
291 kumpf  1.2     {
292                }
293            
294                WsmEndpointReference& getEPR()
295                {
296                    return _reference;
297                }
298            
299                Boolean getRequestedEPR()
300                {
301                    return _requestedEPR;
302                }
303            
304            private:
305            
306                // The client can request the potentially updated EPR by specifying the
307                // wsman:RequestEPR header.  CIM does not allow a ModifyInstance operation
308                // to change key values, though, so this will always be the same as the
309                // EPR in the request.
310                WsmEndpointReference _reference;
311                Boolean _requestedEPR;
312 mike   1.7     String _resourceUri;
313 kumpf  1.2 };
314            
315 kumpf  1.3 class WxfCreateResponse : public WsmResponse
316 kumpf  1.2 {
317            public:
318            
319 kumpf  1.3     WxfCreateResponse(
320 kumpf  1.2         const WsmEndpointReference& ref,
321 kumpf  1.3         const WxfCreateRequest* request,
322 kumpf  1.2         const ContentLanguageList& contentLanguages)
323                    : WsmResponse(
324                          WS_TRANSFER_CREATE,
325                          request,
326                          contentLanguages),
327                      _reference(ref)
328                {
329                }
330            
331 kumpf  1.3     ~WxfCreateResponse()
332 kumpf  1.2     {
333                }
334            
335                WsmEndpointReference& getEPR()
336                {
337                    return _reference;
338                }
339            
340            private:
341            
342                WsmEndpointReference _reference;
343            };
344            
345 kumpf  1.3 class WxfDeleteResponse : public WsmResponse
346 kumpf  1.2 {
347            public:
348            
349 kumpf  1.3     WxfDeleteResponse(
350                    const WxfDeleteRequest* request,
351 kumpf  1.2         const ContentLanguageList& contentLanguages)
352                    : WsmResponse(
353                          WS_TRANSFER_DELETE,
354                          request,
355                          contentLanguages)
356                {
357                }
358            
359 kumpf  1.3     ~WxfDeleteResponse()
360                {
361                }
362            };
363            
364            class WsenEnumerationData
365            {
366            public:
367            
368                WsenEnumerationData()
369                    : enumerationMode(WSEN_EM_UNKNOWN)
370                {
371                }
372 kumpf  1.6     WsenEnumerationData(const Array<WsmInstance>& inst,
373 kumpf  1.3         const Array<WsmEndpointReference> EPRs,
374                    WsmbPolymorphismMode pm, const String& uri)
375                    : instances(inst),
376                      eprs(EPRs),
377                      enumerationMode(WSEN_EM_OBJECT_AND_EPR),
378                      polymorphismMode(pm),
379                      classUri(uri)
380                {
381                }
382 kumpf  1.6     WsenEnumerationData(const Array<WsmInstance>& inst,
383 kumpf  1.3         WsmbPolymorphismMode pm, const String& uri)
384                    : instances(inst),
385                      enumerationMode(WSEN_EM_OBJECT),
386                      polymorphismMode(pm),
387                      classUri(uri)
388                {
389                }
390                WsenEnumerationData(const Array<WsmEndpointReference>& epr)
391                    : eprs(epr),
392                      enumerationMode(WSEN_EM_EPR),
393                      polymorphismMode(WSMB_PM_UNKNOWN)
394                {
395                }
396                WsenEnumerationData(const WsenEnumerationData& data)
397                    : instances(data.instances),
398                      eprs(data.eprs),
399                      enumerationMode(data.enumerationMode),
400                      polymorphismMode(data.polymorphismMode),
401                      classUri(data.classUri)
402                {
403                }
404 kumpf  1.3     Uint32 getSize()
405                {
406 kumpf  1.6         if (enumerationMode == WSEN_EM_OBJECT ||
407 kumpf  1.3             enumerationMode == WSEN_EM_OBJECT_AND_EPR)
408                    {
409                        return instances.size();
410                    }
411                    else if (enumerationMode == WSEN_EM_EPR)
412                    {
413                        return eprs.size();
414                    }
415                    else
416                    {
417                        PEGASUS_ASSERT(0);
418                        return 0;
419                    }
420                }
421                void remove(Uint32 index, Uint32 size)
422                {
423                    if (enumerationMode == WSEN_EM_OBJECT)
424                    {
425                        instances.remove(index, size);
426                    }
427                    else if (enumerationMode == WSEN_EM_EPR)
428 kumpf  1.3         {
429                        eprs.remove(index, size);
430                    }
431                    else if (enumerationMode == WSEN_EM_OBJECT_AND_EPR)
432                    {
433                        instances.remove(index, size);
434                        eprs.remove(index, size);
435 kumpf  1.6         }
436 kumpf  1.3         else
437                    {
438                        PEGASUS_ASSERT(0);
439                    }
440                }
441                void merge(const WsenEnumerationData& data)
442                {
443                    if (enumerationMode == WSEN_EM_OBJECT)
444                    {
445                        instances.appendArray(data.instances);
446                    }
447                    else if (enumerationMode == WSEN_EM_EPR)
448                    {
449                        eprs.appendArray(data.eprs);
450                    }
451                    else if (enumerationMode == WSEN_EM_OBJECT_AND_EPR)
452                    {
453                        instances.appendArray(data.instances);
454                        eprs.appendArray(data.eprs);
455                    }
456                    else
457 kumpf  1.3         {
458                        PEGASUS_ASSERT(0);
459                    }
460                }
461                void split(WsenEnumerationData& data, Uint32 num)
462                {
463                    data.enumerationMode = enumerationMode;
464                    data.polymorphismMode = polymorphismMode;
465                    data.classUri = classUri;
466            
467                    if (enumerationMode == WSEN_EM_OBJECT)
468                    {
469                        Uint32 i;
470                        for (i = 0; i < num && i < instances.size(); i++)
471                        {
472                            data.instances.append(instances[i]);
473                        }
474            
475                        if (i != 0)
476                        {
477                            instances.remove(0, i);
478 kumpf  1.3             }
479                    }
480                    else if (enumerationMode == WSEN_EM_EPR)
481                    {
482                        Uint32 i;
483                        for (i = 0; i < num && i < eprs.size(); i++)
484                        {
485                            data.eprs.append(eprs[i]);
486                        }
487                        if (i != 0)
488                        {
489                            eprs.remove(0, i);
490                        }
491                    }
492                    else if (enumerationMode == WSEN_EM_OBJECT_AND_EPR)
493                    {
494                        Uint32 i;
495                        for (i = 0; i < num && i < instances.size(); i++)
496                        {
497                            data.instances.append(instances[i]);
498                            data.eprs.append(eprs[i]);
499 kumpf  1.3             }
500            
501                        if (i != 0)
502                        {
503                            instances.remove(0, i);
504                            eprs.remove(0, i);
505                        }
506                    }
507                    else
508                    {
509                        PEGASUS_ASSERT(0);
510                    }
511                }
512            
513                Array<WsmInstance> instances;
514                Array<WsmEndpointReference> eprs;
515                WsenEnumerationMode enumerationMode;
516                WsmbPolymorphismMode polymorphismMode;
517                String classUri;
518            };
519            
520 kumpf  1.3 class WsenPullResponse : public WsmResponse
521            {
522            public:
523            
524                WsenPullResponse(
525                    const WsenEnumerationData& data,
526                    const WsenPullRequest* request,
527                    const ContentLanguageList& contentLanguages)
528                    : WsmResponse(
529                          WS_ENUMERATION_PULL,
530                          request,
531                          contentLanguages),
532                      _enumerationContext((Uint64) -1),
533                      _isComplete(false),
534 mike   1.7           _enumerationData(data),
535                      _resourceUri(request->epr.resourceUri)
536 kumpf  1.3     {
537                }
538                ~WsenPullResponse()
539                {
540                }
541                Array<WsmInstance>& getInstances()
542                {
543                    return _enumerationData.instances;
544                }
545                Array<WsmEndpointReference>& getEPRs()
546                {
547                    return _enumerationData.eprs;
548                }
549                WsenEnumerationData& getEnumerationData()
550                {
551                    return _enumerationData;
552                }
553                Uint32 getSize()
554                {
555                    return _enumerationData.getSize();
556                }
557 kumpf  1.3     void remove(Uint32 index, Uint32 size)
558                {
559                    _enumerationData.remove(index, size);
560                }
561                void setComplete()
562                {
563                    _isComplete = true;
564                }
565                Boolean isComplete()
566                {
567                    return _isComplete;
568                }
569                WsenEnumerationMode getEnumerationMode()
570                {
571                    return _enumerationData.enumerationMode;
572                }
573                Uint64 getEnumerationContext()
574                {
575                    return _enumerationContext;
576                }
577                void setEnumerationContext(Uint64 context)
578 kumpf  1.3     {
579                    _enumerationContext = context;
580                }
581            
582 mike   1.7     const String& getResourceUri() const
583                {
584                    return _resourceUri;
585                }
586            
587 kumpf  1.3 private:
588            
589                Uint64 _enumerationContext;
590                Boolean _isComplete;
591                WsenEnumerationData _enumerationData;
592 mike   1.7     String _resourceUri;
593 kumpf  1.3 };
594            
595            class WsenEnumerateResponse : public WsmResponse
596            {
597            public:
598            
599                WsenEnumerateResponse(
600                    const Array<WsmInstance>& inst,
601                    const Array<WsmEndpointReference>& epr,
602                    Uint32 itemCount,
603                    const WsenEnumerateRequest* request,
604                    const ContentLanguageList& contentLanguages)
605                    : WsmResponse(
606                          WS_ENUMERATION_ENUMERATE,
607                          request,
608                          contentLanguages),
609                      _enumerationContext((Uint64) -1),
610                      _isComplete(false),
611                      _requestItemCount(request->requestItemCount),
612                      _itemCount(itemCount),
613                      _enumerationData(inst, epr, request->polymorphismMode,
614 mike   1.7               request->epr.resourceUri),
615                      _resourceUri(request->epr.resourceUri)
616 kumpf  1.3     {
617                    PEGASUS_ASSERT(request->enumerationMode == WSEN_EM_OBJECT ||
618                        request->enumerationMode == WSEN_EM_OBJECT_AND_EPR);
619                }
620                WsenEnumerateResponse(
621                    const Array<WsmInstance>& inst,
622                    Uint32 itemCount,
623                    const WsenEnumerateRequest* request,
624                    const ContentLanguageList& contentLanguages)
625                    : WsmResponse(
626                          WS_ENUMERATION_ENUMERATE,
627                          request,
628                          contentLanguages),
629                      _enumerationContext((Uint64) -1),
630                      _isComplete(false),
631                      _requestItemCount(request->requestItemCount),
632                      _itemCount(itemCount),
633                      _enumerationData(inst, request->polymorphismMode,
634 mike   1.7               request->epr.resourceUri),
635                      _resourceUri(request->epr.resourceUri)
636 kumpf  1.3     {
637                    PEGASUS_ASSERT(request->enumerationMode == WSEN_EM_OBJECT);
638                }
639                WsenEnumerateResponse(
640                    const Array<WsmEndpointReference>& epr,
641                    Uint32 itemCount,
642                    const WsenEnumerateRequest* request,
643                    const ContentLanguageList& contentLanguages)
644                    : WsmResponse(
645                          WS_ENUMERATION_ENUMERATE,
646                          request,
647                          contentLanguages),
648                      _enumerationContext((Uint64) -1),
649                      _isComplete(false),
650                      _requestItemCount(request->requestItemCount),
651                      _itemCount(itemCount),
652 mike   1.7           _enumerationData(epr),
653                      _resourceUri(request->epr.resourceUri)
654 kumpf  1.3     {
655                    PEGASUS_ASSERT(request->enumerationMode == WSEN_EM_EPR);
656                }
657                WsenEnumerateResponse(
658                    const WsenEnumerationData data,
659                    Uint32 itemCount,
660                    const WsenEnumerateRequest* request,
661                    const ContentLanguageList& contentLanguages)
662                    : WsmResponse(
663                          WS_ENUMERATION_ENUMERATE,
664                          request,
665                          contentLanguages),
666                      _enumerationContext((Uint64) -1),
667                      _isComplete(false),
668                      _requestItemCount(request->requestItemCount),
669                      _itemCount(itemCount),
670 mike   1.7           _enumerationData(data),
671                      _resourceUri(request->epr.resourceUri)
672 kumpf  1.3     {
673                    PEGASUS_ASSERT(request->enumerationMode == data.enumerationMode);
674                }
675                ~WsenEnumerateResponse()
676                {
677                }
678                Array<WsmInstance>& getInstances()
679                {
680                    return _enumerationData.instances;
681                }
682                Array<WsmEndpointReference>& getEPRs()
683                {
684                    return _enumerationData.eprs;
685                }
686                WsenEnumerationData& getEnumerationData()
687                {
688                    return _enumerationData;
689                }
690                Uint32 getSize()
691                {
692                    return _enumerationData.getSize();
693 kumpf  1.3     }
694                void merge(WsenEnumerateResponse* response)
695                {
696 kumpf  1.6         PEGASUS_ASSERT(_enumerationData.enumerationMode ==
697 kumpf  1.3             response->_enumerationData.enumerationMode);
698                    _enumerationData.merge(response->getEnumerationData());
699                }
700                void merge(WsenPullResponse* response)
701                {
702 kumpf  1.6         PEGASUS_ASSERT(_enumerationData.enumerationMode ==
703 kumpf  1.3             response->getEnumerationData().enumerationMode);
704                    _enumerationData.merge(response->getEnumerationData());
705                }
706                void remove(Uint32 index, Uint32 size)
707                {
708                    _enumerationData.remove(index, size);
709                }
710                void setComplete()
711                {
712                    _isComplete = true;
713                }
714                Boolean isComplete()
715                {
716                    return _isComplete;
717                }
718                Boolean requestedItemCount()
719                {
720                    return _requestItemCount;
721                }
722                void setItemCount(Uint32 count)
723                {
724 kumpf  1.3         _itemCount = count;
725                }
726                Uint32 getItemCount()
727                {
728                    return _itemCount;
729                }
730                WsenEnumerationMode getEnumerationMode()
731                {
732                    return _enumerationData.enumerationMode;
733                }
734                Uint64 getEnumerationContext()
735                {
736                    return _enumerationContext;
737                }
738                void setEnumerationContext(Uint64 context)
739                {
740                    _enumerationContext = context;
741                }
742            
743 mike   1.7     const String& getResourceUri() const
744                {
745                    return _resourceUri;
746                }
747            
748 kumpf  1.3 private:
749            
750                Uint64 _enumerationContext;
751                Boolean _isComplete;
752                Boolean _requestItemCount;
753                Uint32 _itemCount;
754                WsenEnumerationData _enumerationData;
755 mike   1.7     String _resourceUri;
756 kumpf  1.3 };
757            
758            class WsenReleaseResponse : public WsmResponse
759            {
760            public:
761            
762                WsenReleaseResponse(
763                    const WsenReleaseRequest* request,
764                    const ContentLanguageList& contentLanguages)
765                    : WsmResponse(
766                          WS_ENUMERATION_RELEASE,
767                          request,
768                          contentLanguages)
769                {
770                }
771            
772                ~WsenReleaseResponse()
773 kumpf  1.2     {
774                }
775            };
776            
777 mike   1.7 class WsInvokeResponse : public WsmResponse
778            {
779            public:
780            
781                WsInvokeResponse(
782                    const String& nameSpace_,
783                    const String& className_,
784                    const String& methodName_,
785                    const WsmInstance& instance_,
786                    const WsInvokeRequest* request_,
787                    const ContentLanguageList& contentLanguages_)
788                    :
789                    WsmResponse(WS_INVOKE, request_, contentLanguages_),
790                    nameSpace(nameSpace_),
791                    className(className_),
792                    methodName(methodName_),
793                    instance(instance_),
794                    resourceUri(request_->epr.resourceUri)
795                {
796                }
797            
798 mike   1.7     String nameSpace;
799                String className;
800                String methodName;
801                WsmInstance instance;
802                String resourceUri;
803            };
804            
805 kumpf  1.2 PEGASUS_NAMESPACE_END
806            
807            #endif /* Pegasus_WsmResponse_h */

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2