- Main Page
- Related Pages
- Modules
- Classes
- Files

# NetworkNodeFeatureClass.h

Go to the documentation of this file.

    00001 #ifndef _NETWORKNODEFEATURECLASS_H_
    00002 #define _NETWORKNODEFEATURECLASS_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 #ifdef _WIN32
    00022 #pragma once
    00023 #endif
    00024
    00025 #include <FdoStd.h>
    00026 #include <Fdo/Schema/NetworkFeatureClass.h>
    00027 #include <Fdo/Schema/ClassType.h>
    00028
    00029 /// \brief
    00030 /// FdoNetworkNodeFeature derives from FdoNetworkFeature and can be used to represent a
    00031 /// logical node feature.
    00032 /// \note
    00033 /// This Help topic is provided for informational use only. There is
    00034 /// no interface or support provided. Autodesk reserves the right to change
    00035 /// the software related to the content herein.
    00036 class FdoNetworkNodeFeatureClass : public FdoNetworkFeatureClass
    00037 {
    00038
    00039 /// \cond DOXYGEN-IGNORE
    00040 protected:
    00041     /// Constructs a default instance of an FdoNetworkNodeFeatureClass.
    00042     FdoNetworkNodeFeatureClass();
    00043
    00044     /// Constructs an instance of an FdoNetworkNodeFeatureClass using the specified arguments.
    00045     FdoNetworkNodeFeatureClass(FdoString* name, FdoString* description);
    00046
    00047     virtual ~FdoNetworkNodeFeatureClass();
    00048
    00049     virtual void Dispose();
    00050 /// \endcond
    00051
    00052 public:
    00053     /// \brief
    00054     /// Constructs a default instance of an FdoNetworkNodeFeatureClass.
    00055     ///
    00056     /// \return
    00057     /// Returns FdoNetworkNodeFeatureClass
    00058     ///
    00059     FDO_API static FdoNetworkNodeFeatureClass* Create();
    00060
    00061     /// \brief
    00062     /// Constructs an instance of an FdoNetworkNodeFeatureClass using the specified arguments.
    00063     ///
    00064     /// \param name
    00065     /// Input name
    00066     /// \param description
    00067     /// Input description
    00068     ///
    00069     /// \return
    00070     /// Returns FdoNetworkNodeFeatureClass
    00071     ///
    00072     FDO_API static FdoNetworkNodeFeatureClass* Create(FdoString* name, FdoString* description);
    00073
    00074     /// \brief
    00075     /// Gets the concrete class type.
    00076     ///
    00077     /// \return
    00078     /// Returns class type
    00079     ///
    00080     FDO_API virtual FdoClassType GetClassType();
    00081
    00082     /// \brief
    00083     /// Gets a reference to the layer property.
    00084     ///
    00085     /// \return
    00086     /// Returns an association property definition
    00087     ///
    00088     FDO_API FdoAssociationPropertyDefinition* GetLayerProperty();
    00089
    00090     /// \brief
    00091     /// Sets a reference to the layer property. The associated class of the layer
    00092     /// association property must be an FdoNetworkLayer.
    00093     ///
    00094     /// \param value
    00095     /// Input an association property definition
    00096     ///
    00097     /// \return
    00098     /// Returns nothing
    00099     ///
    00100     FDO_API void SetLayerProperty(FdoAssociationPropertyDefinition* value);
    00101
    00102 /// \cond DOXYGEN-IGNORE
    00103     // Public non-API functions for XML and Schema Merge support
    00104
    00105     // Update this property from the given property.
    00106     virtual void Set( FdoClassDefinition* pClass, FdoSchemaMergeContext* pContext );
    00107
    00108     // Checks referenced elements.
    00109     // Adds errors to the given merge context if the layer property
    00110     // is marked for delete.
    00111     virtual void CheckReferences( FdoSchemaMergeContext* pContext );
    00112
    00113     /// Initialize this property from its XML attributes
    00114     virtual void InitFromXml(FdoString* classTypeName, FdoSchemaXmlContext* pContext, FdoXmlAttributeCollection* attrs);
    00115
    00116     /// Handle sub-elements such as properties
    00117     /// Element start
    00118     virtual FdoXmlSaxHandler* XmlStartElement(
    00119         FdoXmlSaxContext* context,
    00120         FdoString* uri,
    00121         FdoString* name,
    00122         FdoString* qname,
    00123         FdoXmlAttributeCollection* atts
    00124     );
    00125     /// Element end
    00126     virtual FdoBoolean XmlEndElement(
    00127         FdoXmlSaxContext* context,
    00128         FdoString* uri,
    00129         FdoString* name,
    00130         FdoString* qname
    00131     );
    00132
    00133
    00134     /// Serialize this property to XML.
    00135     virtual void _writeXml( FdoSchemaXmlContext* pContext );
    00136
    00137
    00138 private:
    00139     FdoAssociationPropertyDefinition    *m_layer;
    00140
    00141     FdoAssociationPropertyDefinition    *m_layerHandler;
    00142     bool                                m_bStartLayer;
    00143 protected:
    00144     virtual void    _StartChanges();
    00145     virtual void    _BeginChangeProcessing();
    00146     virtual void    _AcceptChanges();
    00147     virtual void    _RejectChanges();
    00148     virtual void    _EndChangeProcessing();
    00149     FdoAssociationPropertyDefinition    *m_layerCHANGED;
    00150 /// \endcond
    00151 };
    00152
    00153 /// \ingroup (typedefs)
    00154 /// \brief
    00155 /// FdoNetworkNodeFeatureClassP is a FdoPtr on FdoNetworkNodeFeatureClass, provided for convenience.
    00156 typedef FdoPtr<FdoNetworkNodeFeatureClass> FdoNetworkNodeFeatureClassP;
    00157
    00158 #endif
    00159
    00160

Please send us your comment about this page