29 #include <boost/function.hpp>
30 #include <boost/bind.hpp>
32 #include <vlpi/appearance.h>
38 template <
typename _StateType>
65 const _StateType& originalState)>&
function)
72 typename std::map<makVrv::DtUniqueID, _StateType>::iterator iter;
73 iter =
myMap.find(
id);
75 if (iter !=
myMap.end())
84 const _StateType& state =
static_cast<const _StateType&
>(incoming);
91 const _StateType& state =
static_cast<const _StateType&
>(incoming);
93 typename DtIsModifiedCallList::iterator iter =
95 typename std::map<makVrv::DtUniqueID, _StateType>::const_iterator
96 cacheIter =
myMap.find(
id);
100 if ((*iter)(state, cacheIter->second))
112 std::map<makVrv::DtUniqueID, _StateType>
myMap;
114 typedef std::vector<boost::function<
bool (
const _StateType& newState,
180 return (newState != cached);
197 return (newState != cached);
214 return (newState != cached);
231 return (newState != cached);
288 if (numberOfAggs != curAggLimit)
293 for (
int i = 0; i < numberOfAggs; i++)
310 if (numberOfAggs != curAggLimit)
315 for (
int i = 0; i < numberOfAggs; i++)
DtIsModifiedCallList myIsModifiedFunctions
Definition: stateCacheManager.h:117
bool checkEchelonId(const DtVrfNetworkUpdateObjectDataState &newState, const DtVrfNetworkUpdateObjectDataState &state)
Definition: stateCacheManager.h:246
Definition: vrlinkSimulatedEnvironmentProcess.h:25
bool blockConnections(bool blocked)
Blocks/unblocks connections.
Contains makVrv::DtSimDataProcessorInterface class.
bool checkAggregateState(const DtVrlinkNetworkUpdateSimulatedAggregateState &newState, const DtVrlinkNetworkUpdateSimulatedAggregateState &cached) const
Definition: stateCacheManager.h:350
makVrv::DtSimDataProcessorInterface * myProcessor
Definition: stateCacheManager.h:118
std::string myGlobalId
Definition: DtEntityState.h:52
Definition: stateCacheManager.h:122
DtCloudLayerStateCacheManager(makVrv::DtSimDataProcessorInterface *i)
Definition: stateCacheManager.h:204
#define VRF_PROTOCOL_EXPORT
Definition: vrfProtocol.h:24
boost::signal< void(DtUniqueID, const DtSimState &) > signal_stateAdded
Definition: DtSimDataProcessorInterface.h:33
Definition: stateCacheManager.h:167
Definition: stateCacheManager.h:184
Definition: vrlinkSimulatedWeatherState.h:23
Definition: stateCacheManager.h:39
void slot_stateRemoved(makVrv::DtUniqueID id)
Definition: stateCacheManager.h:70
DtStateCacheManager(makVrv::DtSimDataProcessorInterface *iface)
Definition: stateCacheManager.h:42
DtAggregateStateCacheManager(makVrv::DtSimDataProcessorInterface *i)
Definition: stateCacheManager.h:262
int myAggregateState
Definition: aggregateState.h:50
bool checkSubAggregates(const DtVrlinkNetworkUpdateSimulatedAggregateState &newState, const DtVrlinkNetworkUpdateSimulatedAggregateState &state)
Definition: stateCacheManager.h:282
The class that is the interface between the GUI and the back-end.
Definition: vrfObjectDataState.h:64
Definition: stateCacheManager.h:218
boost::signal< void(DtUniqueID, const DtSimState &) > signal_stateUpdated
Definition: DtSimDataProcessorInterface.h:34
DtEnvironmentProcessStateCacheManager(makVrv::DtSimDataProcessorInterface *i)
Definition: stateCacheManager.h:170
boost::signal< void(DtUniqueID) > signal_stateRemoved
Definition: DtSimDataProcessorInterface.h:35
bool checkParentId(const DtVrlinkNetworkUpdateSimulatedAggregateState &newState, const DtVrlinkNetworkUpdateSimulatedAggregateState &cached) const
Definition: stateCacheManager.h:326
bool checkForceId(const makVrv::DtVrlinkSimulatedEntityState &newState, const makVrv::DtVrlinkSimulatedEntityState &cached) const
Definition: stateCacheManager.h:142
bool checkMarkingText(const makVrv::DtVrlinkSimulatedEntityState &newState, const makVrv::DtVrlinkSimulatedEntityState &cached) const
Definition: stateCacheManager.h:148
Definition: stateCacheManager.h:259
bool checkAll(const DtVrlinkSimulatedWeatherState &newState, const DtVrlinkSimulatedWeatherState &cached) const
Definition: stateCacheManager.h:194
bool checkAppearance(const makVrv::DtVrlinkSimulatedEntityState &newState, const makVrv::DtVrlinkSimulatedEntityState &state)
Definition: stateCacheManager.h:160
Definition: stateCacheManager.h:201
virtual ~DtStateCacheManager()
Definition: stateCacheManager.h:50
bool checkMarkingText(const DtVrlinkNetworkUpdateSimulatedAggregateState &newState, const DtVrlinkNetworkUpdateSimulatedAggregateState &cached) const
Definition: stateCacheManager.h:344
For performance reasons there are two kinds of aggregate state.
Definition: aggregateState.h:30
Definition: DtEntityState.h:60
bool checkForceId(const DtVrlinkNetworkUpdateSimulatedAggregateState &newState, const DtVrlinkNetworkUpdateSimulatedAggregateState &cached) const
Definition: stateCacheManager.h:332
#define VRF_PROTOCOL_NAMESPACE
Definition: vrfDis.h:18
binderNoArgs< _Fn > bind(const _Fn &_Func, const _Ty &_Left)
Definition: DtSTLUtilities.h:76
void addIsModifiedCallbackCheck(const boost::function< bool(const _StateType &newState, const _StateType &originalState)> &function)
Definition: stateCacheManager.h:64
DtWeatherStateCacheManager(makVrv::DtSimDataProcessorInterface *i)
Definition: stateCacheManager.h:187
DtEntityStateCacheManager(makVrv::DtSimDataProcessorInterface *i)
Definition: stateCacheManager.h:125
int myForce
Definition: DtEntityState.h:57
bool checkSubEntities(const DtVrlinkNetworkUpdateSimulatedAggregateState &newState, const DtVrlinkNetworkUpdateSimulatedAggregateState &state)
Definition: stateCacheManager.h:304
std::vector< std::string > mySubEntities
Definition: aggregateState.h:54
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:24
void enable()
Definition: stateCacheManager.h:54
Contains makVrv::DtEntityState class.
std::vector< boost::function< bool(const _StateType &newState, const _StateType &originalState)> > DtIsModifiedCallList
Definition: stateCacheManager.h:115
std::string myEchelonIdString
Definition: vrfObjectDataState.h:84
void disable()
Definition: stateCacheManager.h:59
unsigned long long DtUniqueID
Definition: DtUniqueID.h:22
bool checkAll(const DtExtendedStateData &newState, const DtExtendedStateData &cached) const
Definition: stateCacheManager.h:228
Methods a data processor needs to implement to be considered a data processor.
Definition: DtSimDataProcessorInterface.h:24
bool checkBoundingVolume(const DtVrfNetworkUpdateObjectDataState &newState, const DtVrfNetworkUpdateObjectDataState &state)
Definition: stateCacheManager.h:252
bool checkGlobalId(const DtVrlinkNetworkUpdateSimulatedAggregateState &newState, const DtVrlinkNetworkUpdateSimulatedAggregateState &cached) const
Definition: stateCacheManager.h:338
bool checkAll(const DtVrlinkNetworkUpdateSimulatedEnvironmentProcess &newState, const DtVrlinkNetworkUpdateSimulatedEnvironmentProcess &cached) const
Definition: stateCacheManager.h:177
Definition: stateCacheManager.h:235
Base class to provide boost signal/slot management.
bool checkAppearance(const DtVrlinkNetworkUpdateSimulatedAggregateState &newState, const DtVrlinkNetworkUpdateSimulatedAggregateState &state)
Definition: stateCacheManager.h:276
DtVector myBoundingVolume
Definition: vrfObjectDataState.h:99
void slot_forceUpdateIfModified(makVrv::DtUniqueID id, const makVrv::DtSimState &incoming)
Definition: stateCacheManager.h:88
DtExtendedStateDataCacheManager(makVrv::DtSimDataProcessorInterface *i)
Definition: stateCacheManager.h:221
bool checkParentId(const makVrv::DtVrlinkSimulatedEntityState &newState, const makVrv::DtVrlinkSimulatedEntityState &cached) const
Definition: stateCacheManager.h:136
std::map< makVrv::DtUniqueID, _StateType > myMap
Definition: stateCacheManager.h:112
int myAppearance
Definition: DtEntityState.h:107
std::string myAttachedToId
Definition: DtEntityState.h:56
std::vector< std::string > mySubAggregates
Definition: aggregateState.h:53
A DtSimState is the base class for all state objects.
Definition: DtSimState.h:22
Contains makVrv::DtUniqueID type.
bool checkAll(const DtVrlinkSimulatedCloudLayerState &newState, const DtVrlinkSimulatedCloudLayerState &cached) const
Definition: stateCacheManager.h:211
makVrv::DtSignalConnectionManager myConnectionManager
Definition: stateCacheManager.h:119
void slot_stateAdded(makVrv::DtUniqueID id, const makVrv::DtSimState &incoming)
Definition: stateCacheManager.h:81
bool checkGlobalId(const makVrv::DtVrlinkSimulatedEntityState &newState, const makVrv::DtVrlinkSimulatedEntityState &cached) const
Definition: stateCacheManager.h:154
DtObjectStateStateCacheManager(makVrv::DtSimDataProcessorInterface *i)
Definition: stateCacheManager.h:238
Definition: extendedStateData.h:26
std::string myMarkingText
Definition: DtEntityState.h:54
Definition: vrlinkSimulatedCloudLayerState.h:21
virtual void forceObjectUpdate(DtUniqueID)=0