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

  1 mike  1.21 //%/////////////////////////////////////////////////////////////////////////////
  2            //
  3 kumpf 1.21.2.1 // Copyright (c) 2000, 2001 BMC Software, Hewlett-Packard Company, IBM, 
  4                // The Open Group, Tivoli Systems
  5 mike  1.21     //
  6                // Permission is hereby granted, free of charge, to any person obtaining a copy
  7                // of this software and associated documentation files (the "Software"), to 
  8                // deal in the Software without restriction, including without limitation the 
  9                // rights to use, copy, modify, merge, publish, distribute, sublicense, and/or 
 10                // sell copies of the Software, and to permit persons to whom the Software is
 11                // furnished to do so, subject to the following conditions:
 12                // 
 13                // THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN 
 14                // ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS PROVIDED
 15                // "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
 16                // LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR 
 17                // PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 
 18                // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN 
 19                // ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
 20                // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 21                //
 22                //==============================================================================
 23                //
 24                // Author: Mike Brasher (mbrasher@bmc.com)
 25                //
 26 kumpf 1.21.2.1 // Modified By: 
 27                //         Nitin Upasani, Hewlett-Packard Company (Nitin_Upasani@hp.com)
 28 kumpf 1.21.2.7 //         Nag Boranna, Hewlett-Packard Company (nagaraja_boranna@hp.com)
 29                //         Roger Kumpf, Hewlett-Packard Company (roger_kumpf@hp.com)
 30 kumpf 1.21.2.6 //
 31 mike  1.21     //%/////////////////////////////////////////////////////////////////////////////
 32                
 33                #ifndef Pegasus_XmlWriter_h
 34                #define Pegasus_XmlWriter_h
 35                
 36                #include <iostream>
 37                #include <Pegasus/Common/Config.h>
 38                #include <Pegasus/Common/Exception.h>
 39                #include <Pegasus/Common/Array.h>
 40                #include <Pegasus/Common/String.h>
 41                #include <Pegasus/Common/Indentor.h>
 42                #include <Pegasus/Common/CIMReference.h>
 43 kumpf 1.21.2.7 #include <Pegasus/Common/CIMPropertyList.h>
 44                #include <Pegasus/Common/CIMNamedInstance.h>
 45 mike  1.21     
 46                PEGASUS_NAMESPACE_BEGIN
 47                
 48                class CIMConstQualifierDecl;
 49                class CIMConstClass;
 50                class CIMConstInstance;
 51                
 52                class PEGASUS_COMMON_LINKAGE XmlWriter
 53                {
 54                public:
 55                
 56                    static void append(Array<Sint8>& out, Char16 x);
 57                
 58                    static void append(Array<Sint8>& out, char x)
 59                    {
 60                	append(out, Char16(x));
 61                    }
 62                
 63                    static void append(Array<Sint8>& out, const char* x);
 64                
 65                    static void append(Array<Sint8>& out, const String& x);
 66 mike  1.21     
 67                    static void append(Array<Sint8>& out, Uint32 x);
 68                
 69                    static void appendSpecial(Array<Sint8>& out, Char16 x);
 70                
 71                    static void appendSpecial(Array<Sint8>& out, char x);
 72                
 73                    static void appendSpecial(Array<Sint8>& out, const char* x);
 74                
 75                    static void appendSpecial(Array<Sint8>& out, const String& x);
 76                
 77                    static void append(Array<Sint8>& out, const Indentor& x);
 78                
 79                    static void appendLocalNameSpaceElement(
 80                	Array<Sint8>& out, 
 81                	const String& nameSpace);
 82                
 83                    static void appendNameSpaceElement(
 84                	Array<Sint8>& out, 
 85                	const String& nameSpace);
 86                
 87 mike  1.21         static Array<Sint8> formatGetHeader(
 88                	const char* documentPath);
 89                
 90                    static Array<Sint8> formatMPostHeader(
 91                	const char* host,
 92                	const char* cimOperation,
 93                	const char* cimMethod,
 94                	const String& cimObject,
 95 kumpf 1.21.2.6         const String& authenticationHeader,
 96 mike  1.21     	const Array<Sint8>& content);
 97                
 98                    static Array<Sint8> formatMethodResponseHeader(
 99                	const Array<Sint8>& content);
100                
101                    static Array<Sint8> formatMessageElement(
102                	const String& messageId,
103                	const Array<Sint8>& body);
104                
105                    static Array<Sint8> formatSimpleReqElement(
106                	const Array<Sint8>& body);
107                
108                    static Array<Sint8> formatSimpleRspElement(
109                	const Array<Sint8>& body);
110                
111                    static Array<Sint8> formatIMethodCallElement(
112                	const char* name,
113                	const String& nameSpace,
114                	const Array<Sint8>& iParamValues);
115                
116                    static Array<Sint8> formatIReturnValueElement(
117 mike  1.21     	const Array<Sint8>& body);
118                
119                    static Array<Sint8> formatIMethodResponseElement(
120                	const char* name,
121                	const Array<Sint8>& iParamValues);
122                
123                    static Array<Sint8>& formatIParamValueElement(
124                	Array<Sint8>& out,
125                	const char* name,
126                	const Array<Sint8>& body);
127                
128                    static Array<Sint8> formatErrorElement(
129                	CIMStatusCode code,
130                	const char* description);
131                
132                    static Array<Sint8>& appendBooleanParameter(
133                	Array<Sint8>& out,
134                	const char* parameterName,
135                	Boolean flag);
136                
137 kumpf 1.21.2.4     static Array<Sint8>& appendStringIParameter(
138 mike  1.21     	Array<Sint8>& out,
139                	const char* parameterName,
140                	const String& str);
141                
142                    static Array<Sint8>& appendClassNameParameter(
143                	Array<Sint8>& out,
144                	const char* parameterName,
145                	const String& className);
146                
147                    static Array<Sint8>& appendQualifierNameParameter(
148                	Array<Sint8>& out,
149                	const char* parameterName,
150                	const String& qualifierName);
151                
152                    static Array<Sint8>& appendClassParameter(
153                	Array<Sint8>& out,
154                	const char* parameterName,
155                	const CIMConstClass& cimClass);
156                
157                    static Array<Sint8>& appendInstanceNameParameter(
158                	Array<Sint8>& out,
159 mike  1.21     	const char* parameterName,
160                	const CIMReference& instanceName);
161                
162                    static Array<Sint8>& appendInstanceParameter(
163                	Array<Sint8>& out,
164                	const char* parameterName,
165                	const CIMConstInstance& instance);
166                
167 kumpf 1.21.2.7     static Array<Sint8>& appendNamedInstanceParameter(
168                	Array<Sint8>& out,
169                	const char* parameterName,
170                	const CIMNamedInstance& namedInstance);
171                
172 mike  1.21         static Array<Sint8>& appendQualifierDeclarationParameter(
173                	Array<Sint8>& out,
174                	const char* parameterName,
175                	const CIMConstQualifierDecl& qualifierDecl);
176                
177                    static Array<Sint8>& appendClassNameElement(
178                	Array<Sint8>& out,
179                	const String& className);
180                
181                    static Array<Sint8>& appendInstanceNameElement(
182                	Array<Sint8>& out,
183                	const CIMReference& instanceName);
184                
185                    static Array<Sint8>& appendPropertyNameParameter(
186                	Array<Sint8>& out,
187                	const String& propertyName);
188                
189 kumpf 1.21.2.5     static Array<Sint8>& appendPropertyValueParameter(
190                	Array<Sint8>& out,
191                	const char* parameterName,
192                	const CIMValue& value);
193                
194                    static Array<Sint8>& appendPropertyListParameter(
195                	Array<Sint8>& out,
196 kumpf 1.21.2.7 	const CIMPropertyList& propertyList);
197 kumpf 1.21.2.5 
198 mike  1.21         static Array<Sint8>& appendObjectNameParameter(
199                	Array<Sint8>& out,
200                	const char* name,
201                	const CIMReference& objectName);
202                
203                    static void indentedPrint(
204                	PEGASUS_STD(ostream)& os,
205                	const char* text, 
206                	Uint32 indentChars = 2);
207                
208 kumpf 1.21.2.4     static Array<Sint8> formatSimpleIMethodReqMessage(
209 mike  1.21     	const char* host,
210                	const String& nameSpace,
211                	const char* iMethodName,
212 mike  1.21.2.2 	const String& messageId,
213 kumpf 1.21.2.6         const String& authenticationHeader,
214 mike  1.21     	const Array<Sint8>& body);
215                
216                    static Array<Sint8> formatSimpleRspMessage(
217                	const char* iMethodName,
218                        const String& messageId,
219                	const Array<Sint8>& body);
220                
221                    static String getNextMessageId();
222 kumpf 1.21.2.3 
223 kumpf 1.21.2.1     static Array<Sint8> formatSimpleIndicationReqMessage(
224                	const char* host,
225                    	const char* iMethodName,
226 mike  1.21.2.2 	const String& messageId,
227 kumpf 1.21.2.6         const String& authenticationHeader,
228 kumpf 1.21.2.1     	const Array<Sint8>& body);
229                
230                    static Array<Sint8> formatEMethodCallElement(
231                    	const char* name,
232                    	const Array<Sint8>& iParamValues);
233                
234                    static Array<Sint8> formatMPostIndicationHeader(
235                    	const char* host,
236                    	const char* cimOperation,
237                    	const char* cimMethod,
238 kumpf 1.21.2.6         const String& authenticationHeader,
239 kumpf 1.21.2.1     	const Array<Sint8>& content);
240                
241                    static Array<Sint8> formatSimpleExportReqElement(
242                    	const Array<Sint8>& body);
243 kumpf 1.21.2.3 
244                    static Array<Sint8> formatSimpleExportRspElement(
245                	const Array<Sint8>& body);
246                
247                    static Array<Sint8> formatSimpleIndicationRspMessage(
248                	const char* iMethodName,
249                        const String& messageId,
250                	const Array<Sint8>& body);
251                
252                    static Array<Sint8> formatEMethodResponseElement(
253                	const char* name,
254                	const Array<Sint8>& iParamValues);
255                
256                    static Array<Sint8> formatEMethodResponseHeader(
257                	const Array<Sint8>& content);
258 kumpf 1.21.2.4 
259                    static Array<Sint8> formatSimpleMethodReqMessage(
260                	const char* host,
261                	const String& nameSpace,
262                	const char* iMethodName,
263                	const String& messageId,
264 kumpf 1.21.2.6         const String& authenticationHeader,
265 kumpf 1.21.2.4 	const Array<Sint8>& body);
266                
267                    static Array<Sint8> formatMethodCallElement(
268                	const char* name,
269                	const String& nameSpace,
270                	const Array<Sint8>& iParamValues);
271                
272                    static Array<Sint8> formatSimpleMethodRspMessage(
273                	const char* iMethodName,
274                        const String& messageId,
275                	const Array<Sint8>& body);
276                
277                    static Array<Sint8> formatMethodResponseElement(
278                	const char* name,
279                	const Array<Sint8>& iParamValues);
280                
281                    static Array<Sint8>& appendStringParameter(
282                	Array<Sint8>& out,
283                	const char* parameterName,
284                	const String& str);
285                
286 kumpf 1.21.2.4     static Array<Sint8>& formatParamValueElement(
287                	Array<Sint8>& out,
288                	const char* name,
289                	const Array<Sint8>& body);
290                    
291                    static Array<Sint8> formatReturnValueElement(
292                	const Array<Sint8>& body);
293 kumpf 1.21.2.6 
294                    static Array<Sint8> formatUnauthorizedResponseHeader(
295                        const String& content);
296 mike  1.21     
297                private:
298                
299                    XmlWriter() { }
300                };
301                
302                PEGASUS_COMMON_LINKAGE Array<Sint8>& operator<<(
303                    Array<Sint8>& out, 
304                    const char* x);
305                
306                PEGASUS_COMMON_LINKAGE Array<Sint8>& operator<<(Array<Sint8>& out, char x);
307                
308                PEGASUS_COMMON_LINKAGE Array<Sint8>& operator<<(Array<Sint8>& out, Char16 x);
309                
310                PEGASUS_COMMON_LINKAGE Array<Sint8>& operator<<(
311                    Array<Sint8>& out, 
312                    const String& x);
313                
314                PEGASUS_COMMON_LINKAGE Array<Sint8>& operator<<(
315                    Array<Sint8>& out, 
316                    const Indentor& x);
317 mike  1.21     
318                PEGASUS_COMMON_LINKAGE Array<Sint8>& operator<<(
319                    Array<Sint8>& out, 
320                    const Array<Sint8>& x);
321                
322                PEGASUS_COMMON_LINKAGE Array<Sint8>& operator<<(
323                    Array<Sint8>& out, 
324                    Uint32 x);
325                
326                PEGASUS_NAMESPACE_END
327                
328                #endif /* Pegasus_XmlWriter_h */

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2