123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- #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;
- }
- }
|