diff options
Diffstat (limited to 'Src/auth/ifc_authcallback.h')
-rw-r--r-- | Src/auth/ifc_authcallback.h | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/Src/auth/ifc_authcallback.h b/Src/auth/ifc_authcallback.h new file mode 100644 index 00000000..f6b44c2f --- /dev/null +++ b/Src/auth/ifc_authcallback.h @@ -0,0 +1,51 @@ +#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; + } + +} |