FDO API Reference | Feature Data Objects |
00001 #ifndef FDO_XML_CONTEXT_H 00002 #define FDO_XML_CONTEXT_H 00003 00004 // 00005 // Copyright (C) 2004-2006 Autodesk, Inc. 00006 // 00007 // This library is free software; you can redistribute it and/or 00008 // modify it under the terms of version 2.1 of the GNU Lesser 00009 // General Public License as published by the Free Software Foundation. 00010 // 00011 // This library is distributed in the hope that it will be useful, 00012 // but WITHOUT ANY WARRANTY; without even the implied warranty of 00013 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00014 // Lesser General Public License for more details. 00015 // 00016 // You should have received a copy of the GNU Lesser General Public 00017 // License along with this library; if not, write to the Free Software 00018 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 00019 // 00020 00021 #include <FdoStd.h> 00022 #include <Fdo/Xml/Flags.h> 00023 00024 /// \brief 00025 /// Default context for deserializing from XML documents via 00026 /// FdoXmlDeserializable. 00027 class FdoXmlContext : public FdoXmlSaxContext 00028 { 00029 public: 00030 /// \brief 00031 /// Constructs a context for parsing FDO Deserializable items 00032 /// 00033 /// \param schemas 00034 /// Read the Feature Schemas into this collection. 00035 /// 00036 FDO_API static FdoXmlContext* Create( FdoXmlFlags* flags, FdoXmlReader* xmlReader ); 00037 00038 /// \brief 00039 /// Decodes any element name that was encoded to be XML-compatible. 00040 /// 00041 FDO_API FdoStringP DecodeName ( FdoStringP name ); 00042 00043 /// \brief 00044 /// Retrieves the current XML flags. 00045 /// 00046 FDO_API FdoXmlFlags* GetFlags(); 00047 00048 00049 protected: 00050 FdoXmlContext() {} 00051 FDO_API FdoXmlContext( FdoXmlFlags* flags, FdoXmlReader* xmlReader ); 00052 FDO_API virtual ~FdoXmlContext(); 00053 00054 00055 private: 00056 FdoXmlFlagsP mFlags; 00057 }; 00058 00059 typedef FdoPtr<FdoXmlContext> FdoXmlContextP; 00060 00061 #endif 00062 00063
Comments or suggestions? Send us feedback. |