Initial
This commit is contained in:
74
thread/TCALLBCK.TPP
Normal file
74
thread/TCALLBCK.TPP
Normal file
@@ -0,0 +1,74 @@
|
||||
#ifndef _THREAD_THREADCALLBACK_HPP_
|
||||
#error TCALLBCK.HPP MUST PRECEDE TCALLBCK.TPP
|
||||
#endif
|
||||
|
||||
template <class T>
|
||||
ThreadCallback<T>::ThreadCallback(void)
|
||||
: mlpObject(0), mlpMethod(0)
|
||||
{
|
||||
}
|
||||
|
||||
template <class T>
|
||||
ThreadCallback<T>::ThreadCallback(const ThreadCallback<T> &someThreadCallback)
|
||||
: mlpObject(someThreadCallback.mlpObject), mlpMethod(someThreadCallback.mlpMethod)
|
||||
{
|
||||
}
|
||||
template <class T>
|
||||
ThreadCallback<T>::ThreadCallback(T *lpObject,LPFNMETHOD lpMethod)
|
||||
: mlpObject(lpObject), mlpMethod(lpMethod)
|
||||
{
|
||||
}
|
||||
|
||||
template <class T>
|
||||
ThreadCallback<T>::~ThreadCallback()
|
||||
{
|
||||
}
|
||||
|
||||
template <class T>
|
||||
WORD ThreadCallback<T>::operator==(const ThreadCallback<T> &someThreadCallback)const
|
||||
{
|
||||
return (mlpObject==someThreadCallback.mlpObject && mlpMethod==someThreadCallback.mlpMethod);
|
||||
}
|
||||
|
||||
template <class T>
|
||||
void ThreadCallback<T>::operator=(const ThreadCallback<T> &someThreadCallback)
|
||||
{
|
||||
mlpObject=someThreadCallback.mlpObject;
|
||||
mlpMethod=someThreadCallback.mlpMethod;
|
||||
}
|
||||
|
||||
template <class T>
|
||||
void ThreadCallback<T>::setObject(T *lpObject)
|
||||
{
|
||||
mlpObject=lpObject;
|
||||
}
|
||||
|
||||
template <class T>
|
||||
void ThreadCallback<T>::setMethod(LPFNMETHOD lpMethod)
|
||||
{
|
||||
mlpMethod=lpMethod;
|
||||
}
|
||||
|
||||
template <class T>
|
||||
void ThreadCallback<T>::setCallback(T *lpObject,LPFNMETHOD lpMethod)
|
||||
{
|
||||
mlpObject=lpObject;
|
||||
mlpMethod=lpMethod;
|
||||
}
|
||||
|
||||
#if defined(_MSC_VER)
|
||||
template <class T>
|
||||
DWORD ThreadCallback<T>::operator*(ThreadMessage &someThreadMessage)
|
||||
{
|
||||
DWORD (T::*lpMethod)(ThreadMessage &someThreadMessage)=0;
|
||||
if((lpMethod==mlpMethod)||!mlpObject)return 0L;
|
||||
return (mlpObject->*mlpMethod)(someThreadMessage);
|
||||
}
|
||||
#else
|
||||
template <class T>
|
||||
DWORD ThreadCallback<T>::operator*(ThreadMessage &someThreadMessage)
|
||||
{
|
||||
if(!mlpObject||!mlpMethod)return 0L;
|
||||
return (mlpObject->*mlpMethod)(someThreadMessage);
|
||||
}
|
||||
#endif
|
||||
Reference in New Issue
Block a user