00001 #ifndef _NETWORKFEATURECLASS_H_
00002 #define _NETWORKFEATURECLASS_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/FeatureClass.h>
00027 #include <Fdo/Schema/AssociationPropertyDefinition.h>
00028 #include <Fdo/Schema/ClassType.h>
00029
00030
00031
00032
00033
00034
00035
00036
00037 class FdoNetworkFeatureClass : public FdoFeatureClass
00038 {
00039
00040
00041 protected:
00042
00043
00044
00045 FdoNetworkFeatureClass();
00046
00047
00048 FdoNetworkFeatureClass(FdoString* name, FdoString* description);
00049
00050 virtual ~FdoNetworkFeatureClass();
00051
00052
00053 public:
00054
00055
00056
00057
00058
00059
00060
00061 FDO_API FdoDataPropertyDefinition* GetCostProperty();
00062
00063
00064
00065
00066
00067
00068
00069
00070
00071
00072 FDO_API void SetCostProperty(FdoDataPropertyDefinition* value);
00073
00074
00075
00076
00077
00078
00079
00080 FDO_API FdoAssociationPropertyDefinition* GetNetworkProperty();
00081
00082
00083
00084
00085
00086
00087
00088
00089
00090
00091 FDO_API void SetNetworkProperty(FdoAssociationPropertyDefinition* value);
00092
00093
00094
00095
00096
00097
00098
00099 FDO_API FdoAssociationPropertyDefinition* GetReferencedFeatureProperty();
00100
00101
00102
00103
00104
00105
00106
00107
00108
00109
00110 FDO_API void SetReferencedFeatureProperty(FdoAssociationPropertyDefinition* value);
00111
00112
00113
00114
00115
00116
00117
00118 FDO_API FdoAssociationPropertyDefinition* GetParentNetworkFeatureProperty();
00119
00120
00121
00122
00123
00124
00125
00126
00127
00128
00129 FDO_API void SetParentNetworkFeatureProperty(FdoAssociationPropertyDefinition* value);
00130
00131
00132
00133
00134
00135 virtual void Set( FdoClassDefinition* pProperty, FdoSchemaMergeContext* pContext );
00136
00137
00138
00139
00140 virtual void CheckReferences( FdoSchemaMergeContext* pContext );
00141
00142
00143 virtual void InitFromXml(FdoSchemaXmlContext* pContext, FdoXmlAttributeCollection* attrs);
00144
00145
00146
00147 virtual FdoXmlSaxHandler* XmlStartElement(
00148 FdoXmlSaxContext* context,
00149 FdoString* uri,
00150 FdoString* name,
00151 FdoString* qname,
00152 FdoXmlAttributeCollection* atts
00153 );
00154
00155 virtual FdoBoolean XmlEndElement(
00156 FdoXmlSaxContext* context,
00157 FdoString* uri,
00158 FdoString* name,
00159 FdoString* qname
00160 );
00161
00162
00163
00164 virtual void _writeXml( FdoSchemaXmlContext* pContext );
00165
00166
00167 private:
00168 FdoDataPropertyDefinition *m_costProperty;
00169 FdoAssociationPropertyDefinition *m_network;
00170 FdoAssociationPropertyDefinition *m_referencedFeature;
00171 FdoAssociationPropertyDefinition *m_parentNetworkFeature;
00172
00173 bool m_bNetwork;
00174 bool m_bReferenceFeature;
00175 bool m_bParentNetwork;
00176
00177 FdoAssociationPropertyDefinition *m_networkHandler;
00178 FdoAssociationPropertyDefinition *m_referencedFeatureHandler;
00179 FdoAssociationPropertyDefinition *m_parentNetworkFeatureHandler;
00180
00181
00182 protected:
00183 virtual void _StartChanges();
00184 virtual void _BeginChangeProcessing();
00185 virtual void _AcceptChanges();
00186 virtual void _RejectChanges();
00187 virtual void _EndChangeProcessing();
00188 FdoDataPropertyDefinition *m_costPropertyCHANGED;
00189 FdoAssociationPropertyDefinition *m_networkCHANGED;
00190 FdoAssociationPropertyDefinition *m_referencedFeatureCHANGED;
00191 FdoAssociationPropertyDefinition *m_parentNetworkFeatureCHANGED;
00192
00193 };
00194
00195
00196
00197
00198 typedef FdoPtr<FdoNetworkFeatureClass> FdoNetworkFeatureClassP;
00199
00200 #endif
00201
00202