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 protected:
00041
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, FdoSchemaXmlContext* pContext );
00136
00137
00138 virtual void InitFromXml(FdoSchemaXmlContext* pContext, FdoXmlAttributeCollection* attrs);
00139
00140
00141
00142 virtual FdoXmlSaxHandler* XmlStartElement(
00143 FdoXmlSaxContext* context,
00144 FdoString* uri,
00145 FdoString* name,
00146 FdoString* qname,
00147 FdoXmlAttributeCollection* atts
00148 );
00149
00150 virtual FdoBoolean XmlEndElement(
00151 FdoXmlSaxContext* context,
00152 FdoString* uri,
00153 FdoString* name,
00154 FdoString* qname
00155 );
00156
00157
00158
00159 virtual void _writeXml( FdoSchemaXmlContext* pContext );
00160
00161
00162 private:
00163 FdoDataPropertyDefinition *m_costProperty;
00164 FdoAssociationPropertyDefinition *m_network;
00165 FdoAssociationPropertyDefinition *m_referencedFeature;
00166 FdoAssociationPropertyDefinition *m_parentNetworkFeature;
00167
00168 bool m_bNetwork;
00169 bool m_bReferenceFeature;
00170 bool m_bParentNetwork;
00171
00172 FdoAssociationPropertyDefinition *m_networkHandler;
00173 FdoAssociationPropertyDefinition *m_referencedFeatureHandler;
00174 FdoAssociationPropertyDefinition *m_parentNetworkFeatureHandler;
00175
00176
00177 protected:
00178 virtual void _StartChanges();
00179 virtual void _BeginChangeProcessing();
00180 virtual void _AcceptChanges();
00181 virtual void _RejectChanges();
00182 virtual void _EndChangeProcessing();
00183 FdoDataPropertyDefinition *m_costPropertyCHANGED;
00184 FdoAssociationPropertyDefinition *m_networkCHANGED;
00185 FdoAssociationPropertyDefinition *m_referencedFeatureCHANGED;
00186 FdoAssociationPropertyDefinition *m_parentNetworkFeatureCHANGED;
00187
00188 };
00189
00190
00191
00192 typedef FdoPtr<FdoNetworkFeatureClass> FdoNetworkFeatureClassP;
00193
00194 #endif
00195
00196