52 lines
820 B
C++
52 lines
820 B
C++
#pragma once
|
|
|
|
#include <bfc/dispatch.h>
|
|
#include <windows.h> //need this for Sleep()
|
|
|
|
class ifc_authcallback : public Dispatchable
|
|
{
|
|
protected:
|
|
ifc_authcallback() {}
|
|
~ifc_authcallback() {}
|
|
public:
|
|
int OnConnecting();
|
|
int OnSending();
|
|
int OnReceiving();
|
|
// pump your message loop for a little while
|
|
int OnIdle();
|
|
|
|
enum
|
|
{
|
|
ONCONNECTING=0,
|
|
ONSENDING=1,
|
|
ONRECEIVING=2,
|
|
ONIDLE=3,
|
|
};
|
|
};
|
|
|
|
inline int ifc_authcallback::OnConnecting()
|
|
{
|
|
return _call(ONCONNECTING, (int)0);
|
|
}
|
|
inline int ifc_authcallback::OnSending()
|
|
{
|
|
return _call(ONSENDING, (int)0);
|
|
}
|
|
inline int ifc_authcallback::OnReceiving()
|
|
{
|
|
return _call(ONRECEIVING, (int)0);
|
|
}
|
|
inline int ifc_authcallback::OnIdle()
|
|
{
|
|
int retval;
|
|
if (_dispatch(ONIDLE, &retval))
|
|
return retval;
|
|
else
|
|
{
|
|
// default implementation
|
|
Sleep(50);
|
|
return 0;
|
|
}
|
|
|
|
}
|