00001 #ifndef _NETWORKLINKFEATURECLASS_H_
00002 #define _NETWORKLINKFEATURECLASS_H_
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
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/GeometricPropertyDefinition.h>
00028 #include <Fdo/Schema/ClassType.h>
00029
00030
00031
00032
00033
00034
00035
00036
00037 class FdoNetworkLinkFeatureClass : public FdoNetworkFeatureClass
00038 {
00039
00040
00041 protected:
00042
00043 FdoNetworkLinkFeatureClass();
00044
00045
00046 FdoNetworkLinkFeatureClass(FdoString* name, FdoString* description);
00047
00048 virtual ~FdoNetworkLinkFeatureClass();
00049
00050 virtual void Dispose();
00051
00052
00053 public:
00054
00055
00056
00057
00058
00059
00060 FDO_API static FdoNetworkLinkFeatureClass* Create();
00061
00062
00063
00064
00065
00066
00067
00068
00069
00070
00071
00072
00073 FDO_API static FdoNetworkLinkFeatureClass* Create(FdoString* name, FdoString* description);
00074
00075
00076
00077
00078
00079
00080
00081 FDO_API virtual FdoClassType GetClassType();
00082
00083
00084
00085
00086
00087
00088
00089 FDO_API FdoAssociationPropertyDefinition* GetStartNodeProperty();
00090
00091
00092
00093
00094
00095
00096
00097
00098
00099
00100 FDO_API void SetStartNodeProperty(FdoAssociationPropertyDefinition* value);
00101
00102
00103
00104
00105
00106
00107
00108 FDO_API FdoAssociationPropertyDefinition* GetEndNodeProperty();
00109
00110
00111
00112
00113
00114
00115
00116
00117
00118
00119 FDO_API void SetEndNodeProperty(FdoAssociationPropertyDefinition* value);
00120
00121
00122
00123
00124
00125 virtual void Set( FdoClassDefinition* pClass, FdoSchemaMergeContext* pContext );
00126
00127
00128
00129
00130 virtual void CheckReferences( FdoSchemaMergeContext* pContext );
00131
00132
00133 virtual void InitFromXml(const FdoString* classTypeName, FdoSchemaXmlContext* pContext, FdoXmlAttributeCollection* attrs);
00134
00135
00136
00137 virtual FdoXmlSaxHandler* XmlStartElement(
00138 FdoXmlSaxContext* context,
00139 FdoString* uri,
00140 FdoString* name,
00141 FdoString* qname,
00142 FdoXmlAttributeCollection* atts
00143 );
00144
00145 virtual FdoBoolean XmlEndElement(
00146 FdoXmlSaxContext* context,
00147 FdoString* uri,
00148 FdoString* name,
00149 FdoString* qname
00150 );
00151
00152
00153 virtual void _writeXml( FdoSchemaXmlContext* pContext );
00154
00155
00156 private:
00157 FdoAssociationPropertyDefinition *m_startNodeFeature;
00158 FdoAssociationPropertyDefinition *m_endNodeFeature;
00159
00160 bool m_bStartNode;
00161 bool m_bEndNode;
00162 FdoAssociationPropertyDefinition *m_startNodeFeatureHandler;
00163 FdoAssociationPropertyDefinition *m_endNodeFeatureHandler;
00164
00165 protected:
00166
00167 virtual void _StartChanges();
00168 virtual void _BeginChangeProcessing();
00169 virtual void _AcceptChanges();
00170 virtual void _RejectChanges();
00171 virtual void _EndChangeProcessing();
00172 FdoAssociationPropertyDefinition *m_startNodeFeatureCHANGED;
00173 FdoAssociationPropertyDefinition *m_endNodeFeatureCHANGED;
00174
00175 };
00176
00177
00178
00179
00180 typedef FdoPtr<FdoNetworkLinkFeatureClass> FdoNetworkLinkFeatureClassP;
00181
00182 #endif
00183
00184