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

  1 mike  1.18 //%/////////////////////////////////////////////////////////////////////////////
  2            //
  3 mike  1.19 // Copyright (c) 2000, 2001 BMC Software, Hewlett-Packard Company, IBM,
  4            // The Open Group, Tivoli Systems
  5 mike  1.18 //
  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 mike  1.19 // Modified By: Carol Ann Krug Graves, Hewlett-Packard Company
 27            //                  (carolann_graves@hp.com)
 28            //              Nitin Upasani, Hewlett-Packard Company (Nitin_Upasani@hp.com)
 29            //              Roger Kumpf, Hewlett-Packard Company (roger_kumpf@hp.com)
 30 mike  1.18 //
 31            //%/////////////////////////////////////////////////////////////////////////////
 32            
 33            #ifndef Pegasus_XmlReader_h
 34            #define Pegasus_XmlReader_h
 35            
 36            #include <Pegasus/Common/Config.h>
 37            #include <Pegasus/Common/XmlParser.h>
 38            #include <Pegasus/Common/CIMFlavor.h>
 39            #include <Pegasus/Common/CIMScope.h>
 40            #include <Pegasus/Common/CIMReference.h>
 41            
 42            PEGASUS_NAMESPACE_BEGIN
 43            
 44            class CIMQualifier;
 45            class CIMQualifierDecl;
 46            class CIMClass;
 47            class CIMInstance;
 48            class CIMProperty;
 49            class CIMParameter;
 50            class CIMMethod;
 51 mike  1.18 class CIMObject;
 52 mike  1.19 class CIMNamedInstance;
 53 mike  1.18 class CIMObjectWithPath;
 54 mike  1.19 class CIMParamValue;
 55 mike  1.18 
 56            class PEGASUS_COMMON_LINKAGE XmlReader
 57            {
 58            public:
 59            
 60                static void expectXmlDeclaration(
 61            	XmlParser& parser, 
 62            	XmlEntry& entry);
 63            
 64                static void expectStartTag(
 65            	XmlParser& parser, 
 66            	XmlEntry& entry,
 67            	const char* tagName);
 68            
 69                static void expectEndTag(
 70            	XmlParser& parser, 
 71            	const char* tagName);
 72            
 73                static void expectStartTagOrEmptyTag(
 74            	XmlParser& parser, 
 75            	XmlEntry& entry,
 76 mike  1.18 	const char* tagName);
 77            
 78                static Boolean expectContentOrCData(
 79            	XmlParser& parser, 
 80            	XmlEntry& entry);
 81            
 82 mike  1.19     static Boolean testXmlDeclaration (
 83                  XmlParser& parser,
 84                  XmlEntry& entry);
 85            
 86 mike  1.18     static Boolean testStartTag(
 87            	XmlParser& parser, 
 88            	XmlEntry& entry,
 89            	const char* tagName);
 90            
 91                static Boolean testEndTag(
 92            	XmlParser& parser, 
 93            	const char* tagName);
 94            
 95                static Boolean testStartTagOrEmptyTag(
 96            	XmlParser& parser, 
 97            	XmlEntry& entry,
 98            	const char* tagName);
 99            
100                static Boolean testContentOrCData(
101            	XmlParser& parser, 
102            	XmlEntry& entry);
103            
104                static void testCimStartTag(XmlParser& parser);
105            
106                static String getCimNameAttribute(
107 mike  1.18 	Uint32 lineNumber, 
108            	const XmlEntry& entry,
109            	const char* elementName,
110            	Boolean acceptNull = false);
111            
112                static String getClassNameAttribute(
113            	Uint32 lineNumber, 
114            	const XmlEntry& entry,
115            	const char* elementName);
116            
117                static String getClassOriginAttribute(
118            	Uint32 lineNumber, 
119            	const XmlEntry& entry,
120            	const char* tagName);
121            
122                static String getReferenceClassAttribute(
123            	Uint32 lineNumber, 
124            	const XmlEntry& entry,
125            	const char* elementName);
126            
127                static String getSuperClassAttribute(
128 mike  1.18 	Uint32 lineNumber, 
129            	const XmlEntry& entry,
130            	const char* tagName);
131            
132                static CIMType getCimTypeAttribute(
133            	Uint32 lineNumber, 
134            	const XmlEntry& entry, 
135            	const char* tagName);
136            
137                static Boolean getCimBooleanAttribute(
138            	Uint32 lineNumber,
139            	const XmlEntry& entry,
140            	const char* tagName,
141            	const char* attributeName,
142            	Boolean defaultValue,
143            	Boolean required);
144            
145                static Boolean stringToReal(
146            	const char* stringValue, 
147            	Real64& x);
148            
149 mike  1.18     static Boolean stringToSignedInteger(
150            	const char* stringValue, 
151            	Sint64& x);
152            
153                static Boolean stringToUnsignedInteger(
154            	const char* stringValue, 
155            	Uint64& x);
156            
157                static CIMValue stringToValue(
158            	Uint32 lineNumber, 
159            	const char* valueString, 
160            	CIMType type);
161            
162                static Boolean getValueElement(
163            	XmlParser& parser, 
164            	CIMType type, 
165            	CIMValue& value);
166            
167                static Boolean getStringValueElement(
168            	XmlParser& parser, 
169            	String& str, 
170 mike  1.18 	Boolean required);
171            
172                static CIMValue stringArrayToValue(
173            	Uint32 lineNumber, 
174            	const Array<const char*>& array, 
175            	CIMType type);
176            
177                static Boolean getValueArrayElement(
178            	XmlParser& parser, 
179            	CIMType type, 
180            	CIMValue& value);
181            
182                static Uint32 getFlavor(
183            	XmlEntry& entry, 
184            	Uint32 lineNumber, 
185            	const char* tagName);
186            
187                static Uint32 getOptionalScope(
188            	XmlParser& parser);
189            
190                static Boolean getQualifierElement(
191 mike  1.18 	XmlParser& parser, 
192            	CIMQualifier& qualifier);
193            
194                static Boolean getPropertyElement(
195            	XmlParser& parser, 
196            	CIMProperty& property);
197            
198                static Boolean getArraySizeAttribute(
199            	Uint32 lineNumber,
200            	const XmlEntry& entry,
201            	const char* tagName,
202            	Uint32& value);
203            
204                static Boolean getPropertyArrayElement(
205            	XmlParser& parser, 
206            	CIMProperty& property);
207            
208                static Boolean getHostElement(
209            	XmlParser& parser,
210            	String& host);
211            
212 mike  1.18     static Boolean getNameSpaceElement(
213            	XmlParser& parser,
214            	String& nameSpaceComponent);
215            
216                static Boolean getLocalNameSpacePathElement(
217            	XmlParser& parser,
218            	String& nameSpace);
219            
220                static Boolean getNameSpacePathElement(
221            	XmlParser& parser,
222            	String& host,
223            	String& nameSpace);
224            
225                static Boolean getClassNameElement(
226            	XmlParser& parser,
227            	String& className,
228            	Boolean required = false);
229            
230                static KeyBinding::Type getValueTypeAttribute(
231            	Uint32 lineNumber, 
232            	const XmlEntry& entry,
233 mike  1.18 	const char* elementName);
234            
235                static Boolean getKeyValueElement(
236            	XmlParser& parser,
237            	KeyBinding::Type& type,
238            	String& value);
239            
240                static Boolean getKeyBindingElement(
241            	XmlParser& parser,
242            	String& name,
243            	String& value,
244            	KeyBinding::Type& type);
245            
246                static Boolean getInstanceNameElement(
247            	XmlParser& parser,
248            	String& className,
249            	Array<KeyBinding>& keyBindings);
250            
251                static Boolean getInstanceNameElement(
252            	XmlParser& parser,
253            	CIMReference& instanceName);
254 mike  1.18 
255                static Boolean getInstancePathElement(
256            	XmlParser& parser,
257            	CIMReference& reference);
258            
259                static Boolean getLocalInstancePathElement(
260            	XmlParser& parser,
261            	CIMReference& reference);
262            
263                static Boolean getClassPathElement(
264            	XmlParser& parser,
265            	CIMReference& reference);
266            
267                static Boolean getLocalClassPathElement(
268            	XmlParser& parser,
269            	CIMReference& reference);
270            
271                static Boolean getValueReferenceElement(
272            	XmlParser& parser,
273            	CIMReference& reference);
274            
275 mike  1.18     static Boolean getPropertyReferenceElement(
276            	XmlParser& parser, 
277            	CIMProperty& property);
278            
279                static Boolean getParameterElement(
280            	XmlParser& parser, 
281            	CIMParameter& parameter);
282            
283                static Boolean getParameterArrayElement(
284            	XmlParser& parser, 
285            	CIMParameter& parameter);
286            
287                static Boolean getParameterReferenceElement(
288            	XmlParser& parser, 
289            	CIMParameter& parameter);
290            
291                static Boolean getQualifierDeclElement(
292            	XmlParser& parser, 
293            	CIMQualifierDecl& qualifierDecl);
294            
295                static Boolean getMethodElement(
296 mike  1.18 	XmlParser& parser, 
297            	CIMMethod& method);
298            
299                static Boolean getClassElement(
300            	XmlParser& parser, 
301            	CIMClass& cimClass);
302            
303                static Boolean getInstanceElement(
304            	XmlParser& parser, 
305            	CIMInstance& cimInstance);
306            
307 mike  1.19     static Boolean getNamedInstanceElement(
308            	XmlParser& parser, 
309            	CIMNamedInstance& namedInstance);
310            
311 mike  1.18     static void getObject(XmlParser& parser, CIMClass& x);
312            
313                static void getObject(XmlParser& parser, CIMInstance& x);
314            
315                static void getObject(XmlParser& parser, CIMQualifierDecl& x);
316            
317                static Boolean getMessageStartTag(
318            	XmlParser& parser, 
319            	String& id,
320            	const char*& protocolVersion);
321            
322                static Boolean getIMethodCallStartTag(
323            	XmlParser& parser, 
324            	const char*& name);
325            
326                static Boolean getIMethodResponseStartTag(
327            	XmlParser& parser, 
328            	const char*& name);
329            
330                static Boolean getIParamValueTag(
331            	XmlParser& parser, 
332 mike  1.18 	const char*& name);
333            
334                static Boolean getPropertyValue(
335            	XmlParser& parser, 
336            	CIMValue& cimValue);
337            
338                static Boolean getBooleanValueElement(
339            	XmlParser& parser, 
340            	Boolean& result,
341            	Boolean required = false);
342            
343                static Boolean getErrorElement(
344            	XmlParser& parser, 
345            	CIMStatusCode& code,
346            	const char*& description,
347            	Boolean required = false);
348            
349                static Boolean getObjectWithPath(
350            	XmlParser& parser, 
351            	CIMObjectWithPath& objectWithPath);
352            
353 mike  1.18     static Boolean getObjectNameElement(
354            	XmlParser& parser, 
355            	CIMReference& objectName);
356            
357                static Boolean getObjectPathElement(
358            	XmlParser& parser, 
359            	CIMReference& objectPath);
360 mike  1.19 
361                static Boolean getEMethodCallStartTag(
362            	XmlParser& parser, 
363            	const char*& name);
364            
365                static Boolean getEMethodResponseStartTag(
366            	XmlParser& parser, 
367            	const char*& name);
368            
369                static Boolean getMethodCallStartTag(
370            	XmlParser& parser, 
371            	const char*& name);
372            
373                static Boolean getMethodResponseStartTag(
374            	XmlParser& parser, 
375            	const char*& name);
376            
377                static Boolean getParamValueTag(
378            	XmlParser& parser, 
379            	const char*& name);
380 mike  1.18 
381            private:
382            
383                XmlReader() 
384                { 
385            
386                }
387            };
388            
389            PEGASUS_NAMESPACE_END
390            
391            #endif /* Pegasus_XmlReader_h */

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2