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

Diff for /pegasus/src/Pegasus/Common/XmlReader.h between version 1.34 and 1.58.4.5

version 1.34, 2002/07/26 20:01:19 version 1.58.4.5, 2013/11/21 20:55:19
Line 1 
Line 1 
 //%/////////////////////////////////////////////////////////////////////////////  //%LICENSE////////////////////////////////////////////////////////////////
 //  
 // Copyright (c) 2000, 2001, 2002 BMC Software, Hewlett-Packard Company, IBM,  
 // The Open Group, Tivoli Systems  
 // //
 // Permission is hereby granted, free of charge, to any person obtaining a copy  // Licensed to The Open Group (TOG) under one or more contributor license
 // of this software and associated documentation files (the "Software"), to  // agreements.  Refer to the OpenPegasusNOTICE.txt file distributed with
 // deal in the Software without restriction, including without limitation the  // this work for additional information regarding copyright ownership.
 // rights to use, copy, modify, merge, publish, distribute, sublicense, and/or  // Each contributor licenses this file to you under the OpenPegasus Open
 // sell copies of the Software, and to permit persons to whom the Software is  // Source License; you may not use this file except in compliance with the
 // furnished to do so, subject to the following conditions:  // License.
 // //
 // THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN  // Permission is hereby granted, free of charge, to any person obtaining a
 // ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS PROVIDED  // copy of this software and associated documentation files (the "Software"),
 // "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT  // to deal in the Software without restriction, including without limitation
 // LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR  // the rights to use, copy, modify, merge, publish, distribute, sublicense,
 // PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT  // and/or sell copies of the Software, and to permit persons to whom the
 // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN  // Software is furnished to do so, subject to the following conditions:
 // ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION  
 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.  
 // //
 //==============================================================================  // The above copyright notice and this permission notice shall be included
   // in all copies or substantial portions of the Software.
 // //
 // Author: Mike Brasher (mbrasher@bmc.com)  // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
   // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
   // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
   // IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
   // CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
   // TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
   // SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 // //
 // Modified By: Carol Ann Krug Graves, Hewlett-Packard Company  //////////////////////////////////////////////////////////////////////////
 //                  (carolann_graves@hp.com)  
 //              Nitin Upasani, Hewlett-Packard Company (Nitin_Upasani@hp.com)  
 //              Roger Kumpf, Hewlett-Packard Company (roger_kumpf@hp.com)  
 // //
 //%///////////////////////////////////////////////////////////////////////////// //%/////////////////////////////////////////////////////////////////////////////
  
Line 40 
Line 39 
 #include <Pegasus/Common/CIMType.h> #include <Pegasus/Common/CIMType.h>
 #include <Pegasus/Common/CIMObjectPath.h> #include <Pegasus/Common/CIMObjectPath.h>
 #include <Pegasus/Common/Linkage.h> #include <Pegasus/Common/Linkage.h>
   #include <Pegasus/Common/UintArgs.h>
  
 PEGASUS_NAMESPACE_BEGIN PEGASUS_NAMESPACE_BEGIN
  
Line 54 
Line 54 
 class CIMParamValue; class CIMParamValue;
 class CIMValue; class CIMValue;
  
   struct CharString
   {
       const char *value;
       Uint32 length;
       CharString(const char *value, Uint32 length) :
           value(value), length(length)
       {
       }
   };
   
 class PEGASUS_COMMON_LINKAGE XmlReader class PEGASUS_COMMON_LINKAGE XmlReader
 { {
 public: public:
Line 81 
Line 91 
         XmlEntry& entry,         XmlEntry& entry,
         const char* tagName);         const char* tagName);
  
       static void skipElement(
           XmlParser& parser,
           XmlEntry& entry);
   
     static Boolean expectContentOrCData(     static Boolean expectContentOrCData(
         XmlParser& parser,         XmlParser& parser,
         XmlEntry& entry);         XmlEntry& entry);
Line 99 
Line 113 
         XmlEntry& entry,         XmlEntry& entry,
         const char* tagName);         const char* tagName);
  
       static Boolean testStartTagOrEmptyTag(
           XmlParser& parser,
           XmlEntry& entry);
   
     static Boolean testContentOrCData(     static Boolean testContentOrCData(
         XmlParser& parser,         XmlParser& parser,
         XmlEntry& entry);         XmlEntry& entry);
Line 108 
Line 126 
         const char*& cimVersion,         const char*& cimVersion,
         const char*& dtdVersion);         const char*& dtdVersion);
  
     static String getCimNameAttribute(      static CIMName getCimNameAttribute(
         Uint32 lineNumber,         Uint32 lineNumber,
         const XmlEntry& entry,         const XmlEntry& entry,
         const char* elementName,         const char* elementName,
Line 119 
Line 137 
         const XmlEntry& entry,         const XmlEntry& entry,
         const char* elementName);         const char* elementName);
  
     static String getClassOriginAttribute(      static CIMName getClassOriginAttribute(
         Uint32 lineNumber,         Uint32 lineNumber,
         const XmlEntry& entry,         const XmlEntry& entry,
         const char* tagName);         const char* tagName);
  
     static String getReferenceClassAttribute(      typedef enum _embeddedObjectAttributeType
       {
           NO_EMBEDDED_OBJECT     = 0,
           EMBEDDED_OBJECT_ATTR   = 1,
           EMBEDDED_INSTANCE_ATTR = 2
       } EmbeddedObjectAttributeType;
   
       static EmbeddedObjectAttributeType getEmbeddedObjectAttribute(
           Uint32 lineNumber,
           const XmlEntry& entry,
           const char* tagName);
   
       static CIMName getReferenceClassAttribute(
         Uint32 lineNumber,         Uint32 lineNumber,
         const XmlEntry& entry,         const XmlEntry& entry,
         const char* elementName);         const char* elementName);
  
     static String getSuperClassAttribute(      static CIMName getSuperClassAttribute(
         Uint32 lineNumber,         Uint32 lineNumber,
         const XmlEntry& entry,         const XmlEntry& entry,
         const char* tagName);         const char* tagName);
  
     static CIMType getCimTypeAttribute(      static Boolean getCimTypeAttribute(
         Uint32 lineNumber,         Uint32 lineNumber,
         const XmlEntry& entry,         const XmlEntry& entry,
           CIMType& cimType,  // Output parameter
         const char* tagName,         const char* tagName,
         const char* attributeName = "TYPE",         const char* attributeName = "TYPE",
         Boolean required = true);         Boolean required = true);
Line 149 
Line 180 
         Boolean defaultValue,         Boolean defaultValue,
         Boolean required);         Boolean required);
  
     static Boolean stringToReal(      static String decodeURICharacters(String uriString);
         const char* stringValue,  
         Real64& x);      static CIMValue stringToValue(
           Uint32 lineNumber,
     static Boolean stringToSignedInteger(          const char* valueString,
         const char* stringValue,          CIMType type);
         Sint64& x);  
   
     static Boolean stringToUnsignedInteger(  
         const char* stringValue,  
         Uint64& x);  
  
     static CIMValue stringToValue(     static CIMValue stringToValue(
         Uint32 lineNumber,         Uint32 lineNumber,
         const char* valueString,         const char* valueString,
           Uint32 valueStringLen,
         CIMType type);         CIMType type);
  
   
     /* getValueElement - Gets the CIMType and CIMValue for a single     /* getValueElement - Gets the CIMType and CIMValue for a single
         XML Value element.  It expects <VALUE> as the start tag.         XML Value element.  It expects <VALUE> as the start tag.
         @return Returns True if the value element exists         @return Returns True if the value element exists
Line 180 
Line 208 
         String& str,         String& str,
         Boolean required);         Boolean required);
  
   // KS_PULL_BEGIN
       static Boolean getUint32ArgValueElement(
           XmlParser& parser,
           Uint32Arg& val,
           Boolean required);
   
       static Boolean getUint32ValueElement(
           XmlParser& parser,
           Uint32& val,
           Boolean required);
   
       static Boolean getUint64ValueElement(
           XmlParser& parser,
           Uint64Arg& val,
           Boolean required);
   //KS_PULL_END
   
     static CIMValue stringArrayToValue(     static CIMValue stringArrayToValue(
         Uint32 lineNumber,         Uint32 lineNumber,
         const Array<const char*>& array,         const Array<const char*>& array,
Line 190 
Line 235 
         CIMType type,         CIMType type,
         CIMValue& value);         CIMValue& value);
  
     static Uint32 getFlavor(      static CIMFlavor getFlavor(
         XmlEntry& entry,         XmlEntry& entry,
         Uint32 lineNumber,         Uint32 lineNumber,
         const char* tagName);         const char* tagName);
  
     static Uint32 getOptionalScope(      static CIMScope getOptionalScope(
         XmlParser& parser);         XmlParser& parser);
  
     static Boolean getQualifierElement(     static Boolean getQualifierElement(
Line 222 
Line 267 
  
     static Boolean getNameSpaceElement(     static Boolean getNameSpaceElement(
         XmlParser& parser,         XmlParser& parser,
         String& nameSpaceComponent);          CIMName& nameSpaceComponent);
  
     static Boolean getLocalNameSpacePathElement(     static Boolean getLocalNameSpacePathElement(
         XmlParser& parser,         XmlParser& parser,
Line 235 
Line 280 
  
     static Boolean getClassNameElement(     static Boolean getClassNameElement(
         XmlParser& parser,         XmlParser& parser,
         String& className,          CIMName& className,
         Boolean required = false);         Boolean required = false);
  
     static KeyBinding::Type getValueTypeAttribute(      static CIMKeyBinding::Type getValueTypeAttribute(
         Uint32 lineNumber,         Uint32 lineNumber,
         const XmlEntry& entry,         const XmlEntry& entry,
         const char* elementName);         const char* elementName);
  
     static Boolean getKeyValueElement(     static Boolean getKeyValueElement(
         XmlParser& parser,         XmlParser& parser,
         KeyBinding::Type& type,          CIMKeyBinding::Type& type,
         String& value);         String& value);
  
     static Boolean getKeyBindingElement(     static Boolean getKeyBindingElement(
         XmlParser& parser,         XmlParser& parser,
         String& name,          CIMName& name,
         String& value,         String& value,
         KeyBinding::Type& type);          CIMKeyBinding::Type& type);
  
     static Boolean getInstanceNameElement(     static Boolean getInstanceNameElement(
         XmlParser& parser,         XmlParser& parser,
         String& className,         String& className,
         Array<KeyBinding>& keyBindings);          Array<CIMKeyBinding>& keyBindings);
  
     static Boolean getInstanceNameElement(     static Boolean getInstanceNameElement(
         XmlParser& parser,         XmlParser& parser,
Line 327 
Line 372 
         XmlParser& parser,         XmlParser& parser,
         CIMInstance& namedInstance);         CIMInstance& namedInstance);
  
   //EXP_PULL_BEGIN
       static Boolean getInstanceWithPathElement(
           XmlParser& parser,
           CIMInstance& namedInstance);
   //EXP_PULL_END
   
     static void getObject(XmlParser& parser, CIMClass& x);     static void getObject(XmlParser& parser, CIMClass& x);
  
     static void getObject(XmlParser& parser, CIMInstance& x);     static void getObject(XmlParser& parser, CIMInstance& x);
Line 344 
Line 395 
  
     static Boolean getIMethodResponseStartTag(     static Boolean getIMethodResponseStartTag(
         XmlParser& parser,         XmlParser& parser,
         const char*& name);          const char*& name,
           Boolean& isEmptyTag);
  
     static Boolean getIParamValueTag(     static Boolean getIParamValueTag(
         XmlParser& parser,         XmlParser& parser,
         const char*& name);          const char*& name,
           Boolean& isEmptyTag);
   
   // EXP_PULL_BEGIN
   
       static Boolean getParamValueTag(
           XmlParser& parser,
           const char*& name,
           Boolean& isEmptyTag);
   
       static Boolean getIReturnValueTag(
           XmlParser& parser,
           const char*& name,
           Boolean& isEmptyTag);
   // EXP_PULL_END
       static void rejectNullIParamValue(
           XmlParser& parser,
           Boolean isEmptyTag,
           const char* paramName);
  
   // EXP_PULL_BEGIN
       static void rejectNullParamValue(
           XmlParser& parser,
           Boolean isEmptyTag,
           const char* paramName);
       static void rejectNullIReturnValue(
           XmlParser& parser,
           Boolean isEmptyTag,
           const char* paramName);
   // EXP_PULL_END
     static Boolean getPropertyValue(     static Boolean getPropertyValue(
         XmlParser& parser,         XmlParser& parser,
         CIMValue& cimValue);         CIMValue& cimValue);
Line 394 
Line 474 
  
     static Boolean getEMethodResponseStartTag(     static Boolean getEMethodResponseStartTag(
         XmlParser& parser,         XmlParser& parser,
           const char*& name,
           Boolean& isEmptyTag);
   
       static Boolean getEParamValueTag(
           XmlParser& parser,
         const char*& name);         const char*& name);
  
     static Boolean getMethodCallStartTag(     static Boolean getMethodCallStartTag(
Line 402 
Line 487 
  
     static Boolean getMethodResponseStartTag(     static Boolean getMethodResponseStartTag(
         XmlParser& parser,         XmlParser& parser,
         const char*& name);          const char*& name,
           Boolean& isEmptyTag);
  
     static Boolean getParamValueElement(     static Boolean getParamValueElement(
         XmlParser& parser,         XmlParser& parser,
Line 412 
Line 498 
         XmlParser& parser,         XmlParser& parser,
         CIMValue& returnValue);         CIMValue& returnValue);
  
       static Boolean isSupportedCIMVersion(
           const char* cimVersion);
   
       static Boolean isSupportedProtocolVersion(
           const String& protocolVersion);
   
       static Boolean isSupportedDTDVersion(
           const char* dtdVersion);
 private: private:
  
       static CIMValue _stringArrayToValue(
           Uint32 lineNumber,
           const Array<CharString>& array,
           CIMType type);
   
     XmlReader()     XmlReader()
     {     {
  


Legend:
Removed from v.1.34  
changed lines
  Added in v.1.58.4.5

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2