13 #ifndef DtStateView_H_
14 #define DtStateView_H_
19 #include <boost/signal.hpp>
21 #include <vlutil/vlExceptions.h>
39 virtual void emitStateViewUpdated() = 0;
51 template<
class StateType>
76 const StateType&
state();
79 const StateType&
state()
const;
112 template<
class StateType>
121 DtTHROW_NEW(DtCorruptedState,
122 "Unable to create DtStateView from DtSimEntry."
123 "Use isCompatible() before creating DtStateView.");
127 template<
class StateType>
134 template<
class StateType>
137 mySimEntry.forceUpdate(
this);
140 template<
class StateType>
143 mySimEntry.setUpdateRate(rate,
this);
146 template<
class StateType>
149 signal_stateViewUpdated(
this);
152 template<
class StateType>
164 template<
class StateType>
168 StateType* tState =
dynamic_cast<StateType*
>(&state);
176 template <
class StateType>
179 DtSimEntry::SimStateVector::const_iterator pos = entry.
simStates().begin();
180 DtSimEntry::SimStateVector::const_iterator endPos = entry.
simStates().end();
181 for(; pos != endPos; ++pos)
183 StateType* tState =
dynamic_cast<StateType*
>(*pos);
192 template<
class StateType>
198 template<
class StateType>