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

  1 mike  1.13 //%/////////////////////////////////////////////////////////////////////////////
  2            //
  3            // Copyright (c) 2000, 2001 The Open group, BMC Software, Tivoli Systems, IBM
  4            //
  5            // Permission is hereby granted, free of charge, to any person obtaining a copy
  6            // of this software and associated documentation files (the "Software"), to 
  7            // deal in the Software without restriction, including without limitation the 
  8            // rights to use, copy, modify, merge, publish, distribute, sublicense, and/or 
  9            // sell copies of the Software, and to permit persons to whom the Software is
 10            // furnished to do so, subject to the following conditions:
 11            // 
 12            // THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN 
 13            // ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS PROVIDED
 14            // "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
 15            // LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR 
 16            // PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 
 17            // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN 
 18            // ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
 19            // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 20            //
 21            //==============================================================================
 22 mike  1.13 //
 23            // Author: Mike Brasher (mbrasher@bmc.com)
 24            //
 25            // Modified By:
 26            //
 27            //%/////////////////////////////////////////////////////////////////////////////
 28            
 29            #ifndef Pegasus_XmlReader_h
 30            #define Pegasus_XmlReader_h
 31            
 32            #include <Pegasus/Common/Config.h>
 33            #include <Pegasus/Common/XmlParser.h>
 34            #include <Pegasus/Common/CIMFlavor.h>
 35            #include <Pegasus/Common/CIMScope.h>
 36            #include <Pegasus/Common/CIMReference.h>
 37            
 38            PEGASUS_NAMESPACE_BEGIN
 39            
 40            class CIMQualifier;
 41            class CIMQualifierDecl;
 42            class CIMClass;
 43 mike  1.13 class CIMInstance;
 44            class CIMProperty;
 45            class CIMParameter;
 46            class CIMMethod;
 47 mike  1.14 class CIMObject;
 48            class CIMObjectWithPath;
 49 mike  1.13 
 50            class PEGASUS_COMMON_LINKAGE XmlReader
 51            {
 52            public:
 53            
 54                static void expectXmlDeclaration(
 55            	XmlParser& parser, 
 56            	XmlEntry& entry);
 57            
 58                static void expectStartTag(
 59            	XmlParser& parser, 
 60            	XmlEntry& entry,
 61            	const char* tagName);
 62            
 63                static void expectEndTag(
 64            	XmlParser& parser, 
 65            	const char* tagName);
 66            
 67                static void expectStartTagOrEmptyTag(
 68            	XmlParser& parser, 
 69            	XmlEntry& entry,
 70 mike  1.13 	const char* tagName);
 71            
 72                static Boolean expectContentOrCData(
 73            	XmlParser& parser, 
 74            	XmlEntry& entry);
 75            
 76                static Boolean testStartTag(
 77            	XmlParser& parser, 
 78            	XmlEntry& entry,
 79            	const char* tagName);
 80            
 81                static Boolean testEndTag(
 82            	XmlParser& parser, 
 83            	const char* tagName);
 84            
 85                static Boolean testStartTagOrEmptyTag(
 86            	XmlParser& parser, 
 87            	XmlEntry& entry,
 88            	const char* tagName);
 89            
 90                static Boolean testContentOrCData(
 91 mike  1.13 	XmlParser& parser, 
 92            	XmlEntry& entry);
 93            
 94                static void testCimStartTag(XmlParser& parser);
 95            
 96                static Boolean getIsArrayAttribute(
 97            	Uint32 lineNumber,
 98            	const XmlEntry& entry,
 99            	const char* tagName,
100            	Boolean& value);
101            
102                static String getCimNameAttribute(
103            	Uint32 lineNumber, 
104            	const XmlEntry& entry,
105            	const char* elementName,
106            	Boolean acceptNull = false);
107            
108                static String getClassNameAttribute(
109            	Uint32 lineNumber, 
110            	const XmlEntry& entry,
111            	const char* elementName);
112 mike  1.13 
113                static String getClassOriginAttribute(
114            	Uint32 lineNumber, 
115            	const XmlEntry& entry,
116            	const char* tagName);
117            
118                static String getReferenceClassAttribute(
119            	Uint32 lineNumber, 
120            	const XmlEntry& entry,
121            	const char* elementName);
122            
123                static String getSuperClassAttribute(
124            	Uint32 lineNumber, 
125            	const XmlEntry& entry,
126            	const char* tagName);
127            
128                static CIMType getCimTypeAttribute(
129            	Uint32 lineNumber, 
130            	const XmlEntry& entry, 
131            	const char* tagName);
132            
133 mike  1.13     static Boolean getCimBooleanAttribute(
134            	Uint32 lineNumber,
135            	const XmlEntry& entry,
136            	const char* tagName,
137            	const char* attributeName,
138            	Boolean defaultValue,
139            	Boolean required);
140            
141                static Boolean stringToReal(
142            	const char* stringValue, 
143            	Real64& x);
144            
145                static Boolean stringToSignedInteger(
146            	const char* stringValue, 
147            	Sint64& x);
148            
149                static Boolean stringToUnsignedInteger(
150            	const char* stringValue, 
151            	Uint64& x);
152            
153                static CIMValue stringToValue(
154 mike  1.13 	Uint32 lineNumber, 
155            	const char* valueString, 
156            	CIMType type);
157            
158                static Boolean getValueElement(
159            	XmlParser& parser, 
160            	CIMType type, 
161            	CIMValue& value);
162            
163 mike  1.15     static Boolean getStringValueElement(
164            	XmlParser& parser, 
165            	String& str, 
166            	Boolean required);
167            
168 mike  1.13     static CIMValue stringArrayToValue(
169            	Uint32 lineNumber, 
170            	const Array<const char*>& array, 
171            	CIMType type);
172            
173                static Boolean getValueArrayElement(
174            	XmlParser& parser, 
175            	CIMType type, 
176            	CIMValue& value);
177            
178                static Uint32 getFlavor(
179            	XmlEntry& entry, 
180            	Uint32 lineNumber, 
181            	const char* tagName);
182            
183                static Uint32 getOptionalScope(
184            	XmlParser& parser);
185            
186                static Boolean getQualifierElement(
187            	XmlParser& parser, 
188            	CIMQualifier& qualifier);
189 mike  1.13 
190                static Boolean getPropertyElement(
191            	XmlParser& parser, 
192            	CIMProperty& property);
193            
194                static Boolean getArraySizeAttribute(
195            	Uint32 lineNumber,
196            	const XmlEntry& entry,
197            	const char* tagName,
198            	Uint32& value);
199            
200                static Boolean getPropertyArrayElement(
201            	XmlParser& parser, 
202            	CIMProperty& property);
203            
204                static Boolean getHostElement(
205            	XmlParser& parser,
206            	String& host);
207            
208                static Boolean getNameSpaceElement(
209            	XmlParser& parser,
210 mike  1.13 	String& nameSpaceComponent);
211            
212                static Boolean getLocalNameSpacePathElement(
213            	XmlParser& parser,
214            	String& nameSpace);
215            
216                static Boolean getNameSpacePathElement(
217            	XmlParser& parser,
218            	String& host,
219            	String& nameSpace);
220            
221                static Boolean getClassNameElement(
222            	XmlParser& parser,
223            	String& className,
224            	Boolean required = false);
225            
226                static KeyBinding::Type getValueTypeAttribute(
227            	Uint32 lineNumber, 
228            	const XmlEntry& entry,
229            	const char* elementName);
230            
231 mike  1.13     static Boolean getKeyValueElement(
232            	XmlParser& parser,
233            	KeyBinding::Type& type,
234            	String& value);
235            
236                static Boolean getKeyBindingElement(
237            	XmlParser& parser,
238            	String& name,
239            	String& value,
240            	KeyBinding::Type& type);
241            
242                static Boolean getInstanceNameElement(
243            	XmlParser& parser,
244            	String& className,
245            	Array<KeyBinding>& keyBindings);
246            
247 mike  1.15     static Boolean getInstanceNameElement(
248            	XmlParser& parser,
249            	CIMReference& instanceName);
250            
251 mike  1.13     static Boolean getInstancePathElement(
252            	XmlParser& parser,
253            	CIMReference& reference);
254            
255                static Boolean getLocalInstancePathElement(
256            	XmlParser& parser,
257            	CIMReference& reference);
258            
259                static Boolean getClassPathElement(
260            	XmlParser& parser,
261            	CIMReference& reference);
262            
263                static Boolean getLocalClassPathElement(
264            	XmlParser& parser,
265            	CIMReference& reference);
266            
267                static Boolean getValueReferenceElement(
268            	XmlParser& parser,
269            	CIMReference& reference);
270            
271                static Boolean getPropertyReferenceElement(
272 mike  1.13 	XmlParser& parser, 
273            	CIMProperty& property);
274            
275                static Boolean getParameterElement(
276            	XmlParser& parser, 
277            	CIMParameter& parameter);
278            
279                static Boolean getParameterArrayElement(
280            	XmlParser& parser, 
281            	CIMParameter& parameter);
282            
283                static Boolean getParameterReferenceElement(
284            	XmlParser& parser, 
285            	CIMParameter& parameter);
286            
287                static Boolean getQualifierDeclElement(
288            	XmlParser& parser, 
289            	CIMQualifierDecl& qualifierDecl);
290            
291                static Boolean getMethodElement(
292            	XmlParser& parser, 
293 mike  1.13 	CIMMethod& method);
294            
295                static Boolean getClassElement(
296            	XmlParser& parser, 
297            	CIMClass& cimClass);
298            
299                static Boolean getInstanceElement(
300            	XmlParser& parser, 
301            	CIMInstance& cimInstance);
302            
303                static void getObject(XmlParser& parser, CIMClass& x);
304            
305                static void getObject(XmlParser& parser, CIMInstance& x);
306            
307                static void getObject(XmlParser& parser, CIMQualifierDecl& x);
308            
309                static Boolean getMessageStartTag(
310            	XmlParser& parser, 
311            	String& id,
312            	const char*& protocolVersion);
313            
314 mike  1.13     static Boolean getIMethodCallStartTag(
315            	XmlParser& parser, 
316            	const char*& name);
317            
318                static Boolean getIMethodResponseStartTag(
319            	XmlParser& parser, 
320            	const char*& name);
321            
322                static Boolean getIParamValueTag(
323            	XmlParser& parser, 
324            	const char*& name);
325            
326                static Boolean getPropertyValue(
327            	XmlParser& parser, 
328            	CIMValue& cimValue);
329            
330                static Boolean getBooleanValueElement(
331            	XmlParser& parser, 
332            	Boolean& result,
333            	Boolean required = false);
334            
335 mike  1.13     static Boolean getErrorElement(
336            	XmlParser& parser, 
337            	CIMException::Code& code,
338            	const char*& description,
339            	Boolean required = false);
340 mike  1.14 
341                static Boolean getObjectWithPath(
342            	XmlParser& parser, 
343            	CIMObjectWithPath& objectWithPath);
344 mike  1.15 
345                static Boolean getObjectNameElement(
346            	XmlParser& parser, 
347            	CIMReference& objectName);
348 mike  1.13 
349            private:
350            
351                XmlReader() 
352                { 
353            
354                }
355            };
356            
357            PEGASUS_NAMESPACE_END
358            
359            #endif /* Pegasus_XmlReader_h */

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2