8 #ifndef KTSLOTWRAPPER_HH_ 9 #define KTSLOTWRAPPER_HH_ 14 #include <boost/function.hpp> 15 #include <boost/signals2.hpp> 37 template<
typename XSignature,
typename XTypeContainer >
56 SignalWrapperBase* internalSignalWrap = signalWrap->
GetInternal();
57 SignalWrapper* derivedSignalWrapper =
dynamic_cast< SignalWrapper*
>(internalSignalWrap);
58 if (derivedSignalWrapper == NULL)
60 throw SignalException(
"In KTSpecifiedInternalSlotWrapper::Connect:\nUnable to cast from KTInternalSignalWrapper* to derived type.");
64 return derivedSignalWrapper->GetSignal()->connect(groupNum, *fSlot);
66 return derivedSignalWrapper->GetSignal()->connect(*fSlot);
74 template<
typename XSignature,
typename XTypeContainer >
75 KTSlotWrapper(XSignature* signalPtr, XTypeContainer* typeCont);
93 template<
typename XSignature,
typename XTypeContainer >
virtual KTConnection Connect(KTSignalWrapper *signalWrap, int groupNum=-1)=0
virtual KTConnection Connect(KTSignalWrapper *signalWrap, int groupNum=-1)
boost::signals2::connection KTConnection
KTSpecifiedInternalSlotWrapper(XSignature *funcPtr, XTypeContainer *typeCont=NULL)
void SetConnection(KTConnection conn)
KTInternalSignalWrapper * GetInternal() const
KTInternalSlotWrapper * fSlotWrapper
virtual ~KTSpecifiedInternalSlotWrapper()
virtual ~KTInternalSlotWrapper()
SlotException(std::string const &why)