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 protected:
00041
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, FdoSchemaXmlContext* pContext );
00126
00127
00128 virtual void InitFromXml(const FdoString* classTypeName, FdoSchemaXmlContext* pContext, FdoXmlAttributeCollection* attrs);
00129
00130
00131
00132 virtual FdoXmlSaxHandler* XmlStartElement(
00133 FdoXmlSaxContext* context,
00134 FdoString* uri,
00135 FdoString* name,
00136 FdoString* qname,
00137 FdoXmlAttributeCollection* atts
00138 );
00139
00140 virtual FdoBoolean XmlEndElement(
00141 FdoXmlSaxContext* context,
00142 FdoString* uri,
00143 FdoString* name,
00144 FdoString* qname
00145 );
00146
00147
00148 virtual void _writeXml( FdoSchemaXmlContext* pContext );
00149
00150
00151 private:
00152 FdoAssociationPropertyDefinition *m_startNodeFeature;
00153 FdoAssociationPropertyDefinition *m_endNodeFeature;
00154
00155 bool m_bStartNode;
00156 bool m_bEndNode;
00157 FdoAssociationPropertyDefinition *m_startNodeFeatureHandler;
00158 FdoAssociationPropertyDefinition *m_endNodeFeatureHandler;
00159
00160 protected:
00161
00162 virtual void _StartChanges();
00163 virtual void _BeginChangeProcessing();
00164 virtual void _AcceptChanges();
00165 virtual void _RejectChanges();
00166 virtual void _EndChangeProcessing();
00167 FdoAssociationPropertyDefinition *m_startNodeFeatureCHANGED;
00168 FdoAssociationPropertyDefinition *m_endNodeFeatureCHANGED;
00169
00170 };
00171
00172
00173
00174 typedef FdoPtr<FdoNetworkLinkFeatureClass> FdoNetworkLinkFeatureClassP;
00175
00176 #endif
00177
00178