15 #include <vlutil/vlSmartPointers.h>
22 template <
typename SignalType>
30 virtual void operator()(
const SignalType&) = 0;
32 virtual void*
id() = 0;
40 return memcmp(this->
id(),slot2.
id(),this->
idSize()) == 0;
45 template <
typename SignalType>
76 template <
typename ClassType,
typename SignalType>
94 :
myId(obj, memberFunction)
121 template <
typename SignalType>
138 typename SlotList::iterator newEnd = std::remove_if(
mySlots.begin(),
mySlots.end(), std::bind2nd(std::ptr_fun(
compare),slot));
144 typename SlotList::iterator func =
mySlots.begin();
145 typename SlotList::iterator end =
mySlots.end();
146 for(;func != end;++func)
149 s->operator()(value);
157 return *(slot1.get()) == *(slot2.get());
163 template <
typename SignalType>
174 if(newValue !=
myRef)
183 if(newValue ==
myRef)
207 template<
typename SignalType>
213 template <
typename ClassType,
typename SignalType>
223 template<
typename SignalType>
229 template <
typename ClassType,
typename SignalType>
DtFunctionSlot(SlotFunction function)
Definition: signalSlot.h:51
void(* DtSlotFunction)(const SignalType &)
Definition: signalSlot.h:125
virtual void operator()(const SignalType &)=0
Definition: signalSlot.h:122
bool operator==(DtSlot< SignalType > &slot2)
Definition: signalSlot.h:35
virtual void * id()
Ids necessary for comparison.
Definition: signalSlot.h:67
Definition: signalSlot.h:23
SlotFunction myFunction
Definition: signalSlot.h:73
Definition: signalSlot.h:82
MemberSlotId myId
Definition: signalSlot.h:117
void operator()(const SignalType &value)
Definition: signalSlot.h:142
DtValueSignal(SignalType &valueRef)
Definition: signalSlot.h:167
DtSlot< SignalType > SlotType
Definition: signalSlot.h:127
void setAndEmitOnNotEqual(const SignalType &newValue)
Definition: signalSlot.h:172
void(ClassType::* SlotMemberFunction)(const SignalType &)
Definition: signalSlot.h:81
void(* SlotFunction)(const SignalType &)
Definition: signalSlot.h:49
std::list< SlotTypeSP > SlotList
Definition: signalSlot.h:129
virtual void * id()=0
Ids necessary for comparison.
MemberSlotId(ClassType *objectValue, SlotMemberFunction memberFunctionValue)
Definition: signalSlot.h:84
virtual void * id()
Ids necessary for comparison.
Definition: signalSlot.h:111
void setAndEmitOnEqual(const SignalType &newValue)
Definition: signalSlot.h:181
void disconnect(SlotTypeSP slot)
Definition: signalSlot.h:136
virtual void operator()(const SignalType &value)
Definition: signalSlot.h:101
virtual ~DtMemberSlot()
Definition: signalSlot.h:97
DtMemberSlot(ClassType *obj, SlotMemberFunction memberFunction)
Definition: signalSlot.h:93
SlotList mySlots
Definition: signalSlot.h:160
virtual int idSize()
Definition: signalSlot.h:62
void connect(SlotTypeSP slot)
Definition: signalSlot.h:131
SignalType & myRef
Definition: signalSlot.h:202
static bool compare(SlotTypeSP slot1, SlotTypeSP slot2)
Definition: signalSlot.h:155
virtual int idSize()
Definition: signalSlot.h:106
void DtDisconnect(DtSignal< SignalType > &signal, void(*slot)(SignalType))
Definition: signalSlot.h:224
SlotMemberFunction memberFunction
Definition: signalSlot.h:90
ClassType * object
Definition: signalSlot.h:89
virtual ~DtSlot()
Definition: signalSlot.h:28
DtSlot()
Definition: signalSlot.h:27
virtual void operator()(const SignalType &value)
Call function.
Definition: signalSlot.h:57
void DtConnect(DtSignal< SignalType > &signal, void(*slot)(SignalType))
Definition: signalSlot.h:208
Definition: signalSlot.h:77
Definition: signalSlot.h:46
void setAndEmit(const SignalType &newValue)
Definition: signalSlot.h:194
std::shared_ptr< SlotType > SlotTypeSP
Definition: signalSlot.h:128
Definition: signalSlot.h:164