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

 1 martin 1.22 //%LICENSE////////////////////////////////////////////////////////////////
 2 martin 1.23 //
 3 martin 1.22 // 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.23 //
10 martin 1.22 // 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.23 //
17 martin 1.22 // The above copyright notice and this permission notice shall be included
18             // in all copies or substantial portions of the Software.
19 martin 1.23 //
20 martin 1.22 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
21 martin 1.23 // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
22 martin 1.22 // 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.23 //
28 martin 1.22 //////////////////////////////////////////////////////////////////////////
29 mike   1.2  //
30             //%/////////////////////////////////////////////////////////////////////////////
31             
32             #ifndef Pegasus_CIMExportResponseDecoder_h
33             #define Pegasus_CIMExportResponseDecoder_h
34             
35             #include <Pegasus/Common/Config.h>
36 kumpf  1.11 #include <Pegasus/Common/MessageQueue.h>
37 mike   1.2  #include <Pegasus/Common/HTTPMessage.h>
38 kumpf  1.11 #include <Pegasus/Common/CIMMessage.h>
39 a.arora 1.13 #include <Pegasus/Common/AutoPtr.h>
40 mike    1.2  #include <Pegasus/Client/ClientAuthenticator.h>
41 kumpf   1.11 #include <Pegasus/Client/CIMClientException.h>
42 carolann.graves 1.20 #include <Pegasus/ExportClient/HTTPExportResponseDecoder.h>
43 mike            1.2  #include <Pegasus/ExportClient/Linkage.h>
44                      
45                      PEGASUS_NAMESPACE_BEGIN
46                      
47                      class XmlParser;
48                      
49 kumpf           1.11 /**
50 carolann.graves 1.20     The CIMExportResponseDecoder class receives HTTP messages and decodes them
51                          into CIM Export Response messages which it places on its output queue.
52 mike            1.2  */
53 kumpf           1.21 class PEGASUS_EXPORT_CLIENT_LINKAGE CIMExportResponseDecoder :
54                          public MessageQueue
55 mike            1.2  {
56 david.dillard   1.17 
57 mday            1.4     public:
58 david.dillard   1.17 
59 carolann.graves 1.20       /** Constructor.
60 david.dillard   1.17           @param outputQueue queue to receive decoded HTTP messages.
61 carolann.graves 1.20           @param encoderQueue queue to receive CIM Export Response messages.
62 david.dillard   1.17           @param authenticator client authenticator.
63 mday            1.4        */
64                            CIMExportResponseDecoder(
65 david.dillard   1.17          MessageQueue* outputQueue,
66                               MessageQueue* encoderQueue,
67                               ClientAuthenticator* authenticator);
68 mike            1.2  
69 mday            1.4        /** Destructor. */
70                            ~CIMExportResponseDecoder();
71 mike            1.2  
72 kumpf           1.11       void setEncoderQueue(MessageQueue* encoderQueue);
73 mike            1.2  
74 mday            1.4        /** This method is called when a message is enqueued on this queue. */
75                            virtual void handleEnqueue();
76 mike            1.2  
77 mday            1.4     private:
78 mike            1.2  
79 kumpf           1.21       void _handleHTTPMessage(HTTPMessage* message);
80 mike            1.2  
81 kumpf           1.21       AutoPtr<MessageQueue> _outputQueue;
82                            AutoPtr<MessageQueue> _encoderQueue;
83                            AutoPtr<ClientAuthenticator> _authenticator;
84 mike            1.2  };
85                      
86                      PEGASUS_NAMESPACE_END
87                      
88                      #endif /* Pegasus_CIMExportResponseDecoder_h */

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2