19 #include <boost/bind.hpp>
60 myBindFunctionList.push_back(functor);
85 typename std::list<T*>::iterator curIter = announcer->
activatedList().begin();
86 typename std::list<T*>::iterator endIter = announcer->
activatedList().end();
87 for(;curIter != endIter; ++curIter)
89 this->slot_activate(*curIter);
virtual void connect(DtDe &de)
Definition: DtSubjectObserver.h:70
virtual std::list< T * > & activatedList()
Return the list of activated subjects.
Definition: DtSubjectAnnouncer.h:148
boost::signalslib::signal< void(T *)> signal_activate
Signal with a T argument and a void return value.
Definition: DtSubjectAnnouncer.h:46
DtSubjectObserver()
brief Create a DtSubjectObserver and add the connect() method as a functor to the DtSubjectBinder's l...
Definition: DtSubjectObserver.h:55
Contains utility macros and methods for templates.
boost::function< void(DtDe &)> BindFunction
Definition: DtSubjectBinder.h:41
static DtSubjectAnnouncer * findInstance(DtDe &de)
Get the instance of this object. This object is 'lazily created'.
Definition: DtSubjectAnnouncer.h:99
Component which owns how the application is displayed.
Definition: DtDisplay.h:27
virtual void slot_activate(T *subject)=0
Base class for DtSubjectObservers that allow "delayed virtual construction via functors". Basically, this class is has a list of functors that get executed after the creation of the DtSubjectObserver. In this way, it acts as if you could have virtual functions in your ctor. This was neccessary in order to have the DtSubjectObservers automatically connect to activated subjects. To do that, we needed to call a the virtual method slot_activate() after the contruction of the observer. The observer adds the functor to this list and the logic calls bind() after creation. The logic's ctor is protected and can only be created via a creator method that calls bind().
Definition: DtSubjectBinder.h:29
Contains makVrv::DtSubjectBinder class.
binderNoArgs< _Fn > bind(const _Fn &_Func, const _Ty &_Left)
Definition: DtSTLUtilities.h:76
Contains makVrv::DtSubjectAnnouncer class.
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
DtSignalConnectionManager mySignalConnectionManager
Definition: DtSubjectObserver.h:50
The class responsible for managing communication between multiple DtDe instances typically running in...
Definition: DtDeCommunicator.h:31
virtual ~DtSubjectObserver()
Definition: DtSubjectObserver.h:64
virtual void slot_deactivate(T *subject)=0
Base class to provide boost signal/slot management.
A DtSubjectAnnouncer tells DtSubjectObservers that the subject T is activated or deactivated.
Definition: DtSubjectAnnouncer.h:29
The DtDe is the core component of any VR-Vantage application. It owns a DtRenderer, DtDeCommunicator, as well as a DtDisplay and other things.
Definition: DtDe.h:70
A DtSubjectObserver is told by a DtSubjectAnnouncer when the subject is activated/ deactivated...
Definition: DtSubjectObserver.h:29
#define EXPORT_TEMPLATE_TYPEDEF(C, TD)
Definition: templateUtil.h:145