2006-06-15 04:19:30 +00:00
|
|
|
#ifndef _PADHANDLER_H_
|
|
|
|
#define _PADHANDLER_H_
|
|
|
|
|
|
|
|
#include "PadListener.h"
|
2008-01-24 01:37:47 +00:00
|
|
|
#include <list>
|
|
|
|
#include <functional>
|
2006-06-15 04:19:30 +00:00
|
|
|
|
|
|
|
class CPadHandler
|
|
|
|
{
|
|
|
|
public:
|
2018-04-30 21:01:23 +01:00
|
|
|
typedef std::function<CPadHandler*(void)> FactoryFunction;
|
2008-01-24 01:37:47 +00:00
|
|
|
|
2022-10-09 10:13:49 -04:00
|
|
|
CPadHandler() = default;
|
|
|
|
virtual ~CPadHandler() = default;
|
2018-04-30 21:01:23 +01:00
|
|
|
virtual void Update(uint8*) = 0;
|
|
|
|
void InsertListener(CPadListener*);
|
|
|
|
void RemoveAllListeners();
|
2006-06-15 04:19:30 +00:00
|
|
|
|
|
|
|
protected:
|
2018-04-30 21:01:23 +01:00
|
|
|
typedef std::list<CPadListener*> ListenerList;
|
|
|
|
ListenerList m_listeners;
|
2006-06-15 04:19:30 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
#endif
|