5 #ifndef PPAPI_CPP_EXTENSIONS_EVENT_BASE_H_
6 #define PPAPI_CPP_EXTENSIONS_EVENT_BASE_H_
8 #include "ppapi/c/extensions/dev/ppb_ext_events_dev.h"
9 #include "ppapi/c/pp_macros.h"
10 #include "ppapi/c/pp_stdint.h"
11 #include "ppapi/c/pp_var.h"
12 #include "ppapi/cpp/extensions/from_var_converter.h"
13 #include "ppapi/cpp/instance_handle.h"
14 #include "ppapi/cpp/logging.h"
58 const PP_Ext_EventListener& pp_listener);
81 void (*)(uint32_t,
void*),
void*);
82 template <const CreatePPEventListener0 kCreatePPEventListener0>
86 : PP_ALLOW_THIS_IN_INITIALIZER_LIST(
88 kCreatePPEventListener0(&CallbackThunk, this))) {
94 virtual void Callback() = 0;
96 static void CallbackThunk(uint32_t
listener_id,
void* user_data) {
103 event_base->Callback();
107 EventBase0(
const EventBase0<kCreatePPEventListener0>&);
108 EventBase0<kCreatePPEventListener0>& operator=(
109 const EventBase0<kCreatePPEventListener0>&);
113 void (*)(uint32_t,
void*,
PP_Var),
void*);
114 template <const CreatePPEventListener1 kCreatePPEventListener1,
class A>
118 : PP_ALLOW_THIS_IN_INITIALIZER_LIST(
120 kCreatePPEventListener1(&CallbackThunk, this))) {
126 virtual void Callback(A&) = 0;
138 event_base->Callback(a.value());
142 EventBase1(
const EventBase1<kCreatePPEventListener1, A>&);
143 EventBase1<kCreatePPEventListener1, A>& operator=(
144 const EventBase1<kCreatePPEventListener1, A>&);
155 : PP_ALLOW_THIS_IN_INITIALIZER_LIST(
157 kCreatePPEventListener2(&CallbackThunk, this))) {
163 virtual void Callback(A&, B&) = 0;
177 event_base->Callback(a.value(), b.value());
181 EventBase2(
const EventBase2<kCreatePPEventListener2, A, B>&);
182 EventBase2<kCreatePPEventListener2, A, B>& operator=(
183 const EventBase2<kCreatePPEventListener2, A, B>&);
195 : PP_ALLOW_THIS_IN_INITIALIZER_LIST(
197 kCreatePPEventListener3(&CallbackThunk, this))) {
203 virtual void Callback(A&, B&, C&) = 0;
205 static void CallbackThunk(uint32_t listener_id,
219 event_base->Callback(a.value(), b.value(), c.value());
223 EventBase3(
const EventBase3<kCreatePPEventListener3, A, B, C>&);
224 EventBase3<kCreatePPEventListener3, A, B, C>& operator=(
225 const EventBase3<kCreatePPEventListener3, A, B, C>&);
232 #endif // PPAPI_CPP_EXTENSIONS_EVENT_BASE_H_
PP_Ext_EventListener(* CreatePPEventListener3)(void(*)(uint32_t, void *, PP_Var, PP_Var, PP_Var), void *)
EventBase2(const InstanceHandle &instance)
GenericEventBase(const InstanceHandle &instance, const PP_Ext_EventListener &pp_listener)
PP_Ext_EventListener(* CreatePPEventListener0)(void(*)(uint32_t, void *), void *)
EventBase1(const InstanceHandle &instance)
PP_Ext_EventListener(* CreatePPEventListener2)(void(*)(uint32_t, void *, PP_Var, PP_Var), void *)
PP_Ext_EventListener(* CreatePPEventListener1)(void(*)(uint32_t, void *, PP_Var), void *)
uint32_t listener_id() const
const PP_Ext_EventListener pp_listener_
EventBase3(const InstanceHandle &instance)
EventBase0(const InstanceHandle &instance)