FDO API Reference Feature Data Objects

Context.h

Go to the documentation of this file.
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.