15 #include <vlutil/vlSmartPointers.h>
21 template <
typename SignalType>
29 virtual void operator()(
const SignalType&) = 0;
31 virtual void*
id() = 0;
39 return memcmp(this->
id(),slot2.
id(),this->
idSize()) == 0;
44 template <
typename SignalType>
75 template <
typename ClassType,
typename SignalType>
93 :
myId(obj, memberFunction)
120 template <
typename SignalType>
137 typename SlotList::iterator newEnd = std::remove_if(
mySlots.begin(),
mySlots.end(), std::bind2nd(std::ptr_fun(
compare),slot));
143 typename SlotList::iterator func =
mySlots.begin();
144 typename SlotList::iterator end =
mySlots.end();
145 for(;func != end;++func)
148 s->operator()(value);
156 return *(slot1.get()) == *(slot2.get());
162 template <
typename SignalType>
173 if(newValue !=
myRef)
182 if(newValue ==
myRef)
206 template<
typename SignalType>
212 template <
typename ClassType,
typename SignalType>
222 template<
typename SignalType>
228 template <
typename ClassType,
typename SignalType>
DtFunctionSlot(SlotFunction function)
Definition: signalSlot.h:50
void(* DtSlotFunction)(const SignalType &)
Definition: signalSlot.h:124
virtual void operator()(const SignalType &)=0
Definition: signalSlot.h:121
bool operator==(DtSlot< SignalType > &slot2)
Definition: signalSlot.h:34
virtual void * id()
Ids necessary for comparison.
Definition: signalSlot.h:66
Definition: signalSlot.h:22
SlotFunction myFunction
Definition: signalSlot.h:72
Definition: signalSlot.h:81
MemberSlotId myId
Definition: signalSlot.h:116
void operator()(const SignalType &value)
Definition: signalSlot.h:141
DtValueSignal(SignalType &valueRef)
Definition: signalSlot.h:166
DtSlot< SignalType > SlotType
Definition: signalSlot.h:126
void setAndEmitOnNotEqual(const SignalType &newValue)
Definition: signalSlot.h:171
void(ClassType::* SlotMemberFunction)(const SignalType &)
Definition: signalSlot.h:80
void(* SlotFunction)(const SignalType &)
Definition: signalSlot.h:48
std::list< SlotTypeSP > SlotList
Definition: signalSlot.h:128
virtual void * id()=0
Ids necessary for comparison.
MemberSlotId(ClassType *objectValue, SlotMemberFunction memberFunctionValue)
Definition: signalSlot.h:83
virtual void * id()
Ids necessary for comparison.
Definition: signalSlot.h:110
void setAndEmitOnEqual(const SignalType &newValue)
Definition: signalSlot.h:180
void disconnect(SlotTypeSP slot)
Definition: signalSlot.h:135
virtual void operator()(const SignalType &value)
Definition: signalSlot.h:100
virtual ~DtMemberSlot()
Definition: signalSlot.h:96
DtMemberSlot(ClassType *obj, SlotMemberFunction memberFunction)
Definition: signalSlot.h:92
SlotList mySlots
Definition: signalSlot.h:159
virtual int idSize()
Definition: signalSlot.h:61
void connect(SlotTypeSP slot)
Definition: signalSlot.h:130
SignalType & myRef
Definition: signalSlot.h:201
static bool compare(SlotTypeSP slot1, SlotTypeSP slot2)
Definition: signalSlot.h:154
virtual int idSize()
Definition: signalSlot.h:105
DtBoost::shared_ptr< SlotType > SlotTypeSP
Definition: signalSlot.h:127
void DtDisconnect(DtSignal< SignalType > &signal, void(*slot)(SignalType))
Definition: signalSlot.h:223
SlotMemberFunction memberFunction
Definition: signalSlot.h:89
ClassType * object
Definition: signalSlot.h:88
virtual ~DtSlot()
Definition: signalSlot.h:27
DtSlot()
Definition: signalSlot.h:26
virtual void operator()(const SignalType &value)
Call function.
Definition: signalSlot.h:56
void DtConnect(DtSignal< SignalType > &signal, void(*slot)(SignalType))
Definition: signalSlot.h:207
Definition: signalSlot.h:76
Definition: signalSlot.h:45
void setAndEmit(const SignalType &newValue)
Definition: signalSlot.h:193
Definition: signalSlot.h:163