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

  1 karl  1.17 //%2006////////////////////////////////////////////////////////////////////////
  2 mike  1.2  //
  3 karl  1.11 // 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 karl  1.9  // IBM Corp.; EMC Corporation, The Open Group.
  7 karl  1.11 // 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.14 // Copyright (c) 2005 Hewlett-Packard Development Company, L.P.; IBM Corp.;
 10            // EMC Corporation; VERITAS Software Corporation; The Open Group.
 11 karl  1.17 // Copyright (c) 2006 Hewlett-Packard Development Company, L.P.; IBM Corp.;
 12            // EMC Corporation; Symantec Corporation; The Open Group.
 13 mike  1.2  //
 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 kumpf 1.6  // 
 21 mike  1.2  // 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: Mike Brasher (mbrasher@bmc.com)
 33            //
 34            // Modified By: Nitin Upasani, Hewlett-Packard (Nitin_Upasani@hp.com)
 35            //              Nag Boranna, Hewlett-Packard Company (nagaraja_boranna@hp.com)
 36 david.dillard 1.12 //              David Dillard, VERITAS Software Corp.
 37                    //                  (david.dillard@veriats.com)
 38 w.white       1.13 //              Willis White, IBM (whiwill@us.ibm.com)
 39 mike          1.2  //
 40                    //%/////////////////////////////////////////////////////////////////////////////
 41                    
 42                    #ifndef Pegasus_CIMOperationRequestEncoder_h
 43                    #define Pegasus_CIMOperationRequestEncoder_h
 44                    
 45                    #include <fstream>
 46                    #include <Pegasus/Common/Config.h>
 47                    #include <Pegasus/Common/MessageQueue.h>
 48                    #include <Pegasus/Common/CIMMessage.h>
 49                    #include <Pegasus/Client/ClientAuthenticator.h>
 50                    #include <Pegasus/Client/Linkage.h>
 51 a.dunfey      1.16 #include <Pegasus/Client/ClientPerfDataStore.h>
 52 mike          1.2  
 53                    PEGASUS_NAMESPACE_BEGIN
 54                    
 55                    /** This class receives CIM Operation Request messages on its input queue
 56                        and encodes them into HTTP messages which it places on its output queue.
 57                    */
 58                    class PEGASUS_CLIENT_LINKAGE CIMOperationRequestEncoder : public MessageQueue
 59                    {
 60                    public:
 61                    
 62                        /** Constuctor.
 63                    	@param outputQueue queue to receive encoded HTTP messages.
 64 kumpf         1.10         @param hostName Name of the target host for the encoded requests.
 65                                            I.e., the value of the HTTP Host header.
 66 mike          1.2      */
 67                        CIMOperationRequestEncoder(
 68 kumpf         1.10         MessageQueue* outputQueue,
 69                            const String& hostName,
 70                            ClientAuthenticator* authenticator,
 71 karl          1.8          Uint32 showOutput);
 72 mike          1.2  
 73                        /** Destructor. */
 74                        ~CIMOperationRequestEncoder();
 75                    
 76                        /** This method is called when a message is enqueued on this queue. */
 77                        virtual void handleEnqueue();
 78                    
 79 a.dunfey      1.16     /**
 80                         * This methods gives the Encoder access to the ClientPerfDataStore that
 81                         * is in CIMClientRep. A pointer to the CIMClientRep::ClientPerfDataStore 
 82                         * is passed in
 83                         */
 84                        void setDataStorePointer(ClientPerfDataStore* perfDataStore_ptr);
 85                    
 86 mike          1.2  private:
 87                    
 88                        void _encodeCreateClassRequest(
 89                    	CIMCreateClassRequestMessage* message);
 90                    
 91                        void _encodeGetClassRequest(
 92                    	CIMGetClassRequestMessage* message);
 93                    
 94                        void _encodeModifyClassRequest(
 95                    	CIMModifyClassRequestMessage* message);
 96                    
 97                        void _encodeEnumerateClassNamesRequest(
 98                    	CIMEnumerateClassNamesRequestMessage* message);
 99                    
100                        void _encodeEnumerateClassesRequest(
101                    	CIMEnumerateClassesRequestMessage* message);
102                    
103                        void _encodeDeleteClassRequest(
104                    	CIMDeleteClassRequestMessage* message);
105                    
106                        void _encodeCreateInstanceRequest(
107 mike          1.2  	CIMCreateInstanceRequestMessage* message);
108                    
109                        void _encodeGetInstanceRequest(
110                    	CIMGetInstanceRequestMessage* message);
111                    
112                        void _encodeModifyInstanceRequest(
113                    	CIMModifyInstanceRequestMessage* message);
114                    
115                        void _encodeEnumerateInstanceNamesRequest(
116                    	CIMEnumerateInstanceNamesRequestMessage* message);
117                    
118                        void _encodeEnumerateInstancesRequest(
119                    	CIMEnumerateInstancesRequestMessage* message);
120                    
121                        void _encodeDeleteInstanceRequest(
122                    	CIMDeleteInstanceRequestMessage* message);
123                    
124                        void _encodeGetPropertyRequest(
125                    	CIMGetPropertyRequestMessage* message);
126                    
127                        void _encodeSetPropertyRequest(
128 mike          1.2  	CIMSetPropertyRequestMessage* message);
129                    
130                        void _encodeSetQualifierRequest(
131                    	CIMSetQualifierRequestMessage* message);
132                    
133                        void _encodeGetQualifierRequest(
134                    	CIMGetQualifierRequestMessage* message);
135                    
136                        void _encodeEnumerateQualifiersRequest(
137                    	CIMEnumerateQualifiersRequestMessage* message);
138                    
139                        void _encodeDeleteQualifierRequest(
140                    	CIMDeleteQualifierRequestMessage* message);
141                    
142                        void _encodeReferenceNamesRequest(
143                    	CIMReferenceNamesRequestMessage* message);
144                    
145                        void _encodeReferencesRequest(
146                    	CIMReferencesRequestMessage* message);
147                    
148                        void _encodeAssociatorNamesRequest(
149 mike          1.2  	CIMAssociatorNamesRequestMessage* message);
150                    
151                        void _encodeAssociatorsRequest(
152                    	CIMAssociatorsRequestMessage* message);
153                    
154 kumpf         1.3      void _encodeExecQueryRequest(
155 kumpf         1.4  	CIMExecQueryRequestMessage* message);
156 kumpf         1.3  
157 mike          1.2      void _encodeInvokeMethodRequest(
158                    	CIMInvokeMethodRequestMessage* message);
159                    
160 mike          1.15     void _sendRequest(Buffer& buffer); 
161 karl          1.8  
162 mike          1.2      MessageQueue* _outputQueue;
163 kumpf         1.7      CString _hostName;
164 mike          1.2      ClientAuthenticator* _authenticator;
165 karl          1.8      // Controls client trace output. 1 = con, 2 == log
166                        Uint32 _showOutput;
167 a.dunfey      1.16     ClientPerfDataStore* dataStore_prt;
168 mike          1.2  };
169                    
170                    PEGASUS_NAMESPACE_END
171                    
172                    #endif /* Pegasus_CIMOperationRequestEncoder_h */

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2