![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 2000 MaK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 /******************************************************************************* 00006 ** $RCSfile: aggRemNetIf.h,v $ $Revision: 1.18 $ $State: Exp $ 00007 *******************************************************************************/ 00008 00011 00013 00014 #ifndef aggRemNetIf_H_ 00015 #define aggRemNetIf_H_ 00016 00017 #include "vrfobjcore/vrfobjcoreDefines.h" 00018 #include "vrfobjcore/remEntNetIf.h" 00019 #include <vl/objDesList.h> 00020 #include <vl/varDatumRec.h> 00021 00022 class DtReflectedExtAggregate; 00023 class DtExtAggregateStateRepository; 00024 class DtVrfAggregateStateRepository; 00025 00030 class DT_DLL_vrfobjcore DtSimAggregateRemoteEntityNetInterface : public 00031 DtSimRemoteEntityNetInterface 00032 { 00033 protected: 00034 00036 DtSimAggregateRemoteEntityNetInterface(); 00037 00038 public: 00039 00041 DtSimAggregateRemoteEntityNetInterface(const DtString & name, 00042 DtVrfObject * simObject, 00043 DtReaderWriterRegistry * parentRegistry = 0, 00044 bool publishObject = true); 00045 00047 DtSimAggregateRemoteEntityNetInterface(const 00048 DtSimAggregateRemoteEntityNetInterface & orig, 00049 DtReaderWriterRegistry * parentRegistry = 0); 00050 00052 const DtSimAggregateRemoteEntityNetInterface & operator=(const 00053 DtSimAggregateRemoteEntityNetInterface & orig); 00054 00056 virtual ~DtSimAggregateRemoteEntityNetInterface(); 00057 00060 virtual void updateFromReflectedObject(); 00061 00064 virtual DtReflectedExtAggregate * reflectedAggregate() const; 00065 00068 virtual DtExtAggregateStateRepository * aggregateNetworkState() const; 00069 00072 virtual bool updateStateFromVariableDatum(); 00073 00075 virtual bool getUserVariableDatum( int userRecordNumber, 00076 DtVariableDatumRecord& rec); 00077 00078 virtual bool netSubordinateEntitiesChanged() const; 00079 virtual void updateSubordinateEntitiesFromNet(); 00080 virtual bool netSubordinateAggregatesChanged() const; 00081 virtual void updateSubordinateAggregatesFromNet(); 00082 00083 virtual const DtGlobalObjectDesignatorList& netSubordinateEntities() const; 00084 virtual const DtGlobalObjectDesignatorList& netSubordinateAggregates() const; 00085 00091 virtual bool isANetSubordinate(const DtGlobalObjectDesignator& globalId); 00092 00093 virtual bool isAggregate() const { return true; } 00094 00097 virtual DtString type() const; 00098 00099 virtual DtVrfAggregateStateRepository* aggregateLocalState() const; 00100 00104 static const DtSimAggregateRemoteEntityNetInterface* 00105 isAggregateRemoteEntityNetInterface(const DtSimObjectNetInterface* objNetInterface); 00106 00107 static DtSimAggregateRemoteEntityNetInterface* 00108 isAggregateRemoteEntityNetInterface(DtSimObjectNetInterface* objNetInterface); 00109 00110 00111 static DtSimObjectNetInterface * creator(const DtString & name, 00112 DtVrfObject * simObject, 00113 DtReaderWriterRegistry * parentRegistry, 00114 bool publishObject); 00115 00116 protected: 00117 00118 DtGlobalObjectDesignatorList myPreviousSubEntityList; 00119 DtGlobalObjectDesignatorList myPreviousSubAggregateList; 00120 DtGlobalObjectDesignatorList myNetSubordinateEntities; 00121 DtGlobalObjectDesignatorList myNetSubordinateAggregates; 00122 DtVariableDatumRecord myPreviousSubordinateOrderRecord; 00123 }; 00124 00125 #endif