winamp/Src/auth/ifc_authcallback.h
2024-09-24 14:54:57 +02:00

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