| Index: ppapi/cpp/extensions/event_base.h
|
| diff --git a/ppapi/cpp/extensions/event_base.h b/ppapi/cpp/extensions/event_base.h
|
| deleted file mode 100644
|
| index 75144c0d8b12720915dd99a5afdeb202eff96de5..0000000000000000000000000000000000000000
|
| --- a/ppapi/cpp/extensions/event_base.h
|
| +++ /dev/null
|
| @@ -1,232 +0,0 @@
|
| -// Copyright (c) 2013 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -#ifndef PPAPI_CPP_EXTENSIONS_EVENT_BASE_H_
|
| -#define PPAPI_CPP_EXTENSIONS_EVENT_BASE_H_
|
| -
|
| -#include "ppapi/c/extensions/dev/ppb_ext_events_dev.h"
|
| -#include "ppapi/c/pp_macros.h"
|
| -#include "ppapi/c/pp_stdint.h"
|
| -#include "ppapi/c/pp_var.h"
|
| -#include "ppapi/cpp/extensions/from_var_converter.h"
|
| -#include "ppapi/cpp/instance_handle.h"
|
| -#include "ppapi/cpp/logging.h"
|
| -
|
| -namespace pp {
|
| -namespace ext {
|
| -namespace internal {
|
| -
|
| -// This file contains base classes for events. Usually you don't need to use
|
| -// them directly.
|
| -//
|
| -// For each event type, there is a corresponding event class derived from
|
| -// EventBase[0-3]. The event class defines a Listener interface and exposes the
|
| -// public methods of GenericEventBase.
|
| -//
|
| -// Take pp::ext::alarms::OnAlarmEvent_Dev as example, your code to listen to the
|
| -// event would look like this:
|
| -//
|
| -// class MyListener : public pp::ext::alarms::OnAlarmEvent_Dev {
|
| -// ...
|
| -// // The parameter is a non-const reference so you could directly modify it
|
| -// // if necessary.
|
| -// virtual void OnAlarm(Alarm_Dev& alarm) {
|
| -// ...handle the event...
|
| -// }
|
| -// };
|
| -//
|
| -// MyListener on_alarm_listener;
|
| -// // The listener is not owned by the event and must outlive it.
|
| -// pp::ext::alarms::OnAlarmEvent_Dev on_alarm(instance, &on_alarm_listener);
|
| -// on_alarm.StartListening();
|
| -// ...
|
| -// // It is guaranteed that |on_alarm_listener| won't get called after
|
| -// // |on_alarm| goes away. So this step is optional.
|
| -// on_alarm.StopListening();
|
| -
|
| -class GenericEventBase {
|
| - public:
|
| - bool StartListening();
|
| - void StopListening();
|
| -
|
| - bool IsListening() const { return listener_id_ != 0; }
|
| - uint32_t listener_id() const { return listener_id_; }
|
| -
|
| - protected:
|
| - GenericEventBase(const InstanceHandle& instance,
|
| - const PP_Ext_EventListener& pp_listener);
|
| - ~GenericEventBase();
|
| -
|
| - InstanceHandle instance_;
|
| - uint32_t listener_id_;
|
| - const PP_Ext_EventListener pp_listener_;
|
| -
|
| - private:
|
| - // Disallow copying and assignment.
|
| - GenericEventBase(const GenericEventBase&);
|
| - GenericEventBase& operator=(const GenericEventBase&);
|
| -};
|
| -
|
| -// EventBase[0-3] are event base classes which can be instantiated with a
|
| -// pointer to a PP_Ext_EventListener creation function and the input parameter
|
| -// types of the listener callback.
|
| -//
|
| -// For example, EvenBase1<PP_Ext_Alarms_OnAlarm_Dev, Alarm_Dev> deals with
|
| -// the event type defined by the PP_Ext_Alarms_OnAlarm_Dev function pointer. And
|
| -// it defines a pure virtual method as the listener callback:
|
| -// virtual void Callback(Alarm_Dev&) = 0;
|
| -
|
| -typedef PP_Ext_EventListener (*CreatePPEventListener0)(
|
| - void (*)(uint32_t, void*), void*);
|
| -template <const CreatePPEventListener0 kCreatePPEventListener0>
|
| -class EventBase0 : public GenericEventBase {
|
| - public:
|
| - explicit EventBase0(const InstanceHandle& instance)
|
| - : PP_ALLOW_THIS_IN_INITIALIZER_LIST(
|
| - GenericEventBase(instance,
|
| - kCreatePPEventListener0(&CallbackThunk, this))) {
|
| - }
|
| -
|
| - virtual ~EventBase0() {}
|
| -
|
| - private:
|
| - virtual void Callback() = 0;
|
| -
|
| - static void CallbackThunk(uint32_t listener_id, void* user_data) {
|
| - EventBase0<kCreatePPEventListener0>* event_base =
|
| - static_cast<EventBase0<kCreatePPEventListener0>*>(user_data);
|
| - PP_DCHECK(listener_id == event_base->listener_id_);
|
| - // Suppress unused variable warnings.
|
| - static_cast<void>(listener_id);
|
| -
|
| - event_base->Callback();
|
| - }
|
| -
|
| - // Disallow copying and assignment.
|
| - EventBase0(const EventBase0<kCreatePPEventListener0>&);
|
| - EventBase0<kCreatePPEventListener0>& operator=(
|
| - const EventBase0<kCreatePPEventListener0>&);
|
| -};
|
| -
|
| -typedef PP_Ext_EventListener (*CreatePPEventListener1)(
|
| - void (*)(uint32_t, void*, PP_Var), void*);
|
| -template <const CreatePPEventListener1 kCreatePPEventListener1, class A>
|
| -class EventBase1 : public GenericEventBase {
|
| - public:
|
| - explicit EventBase1(const InstanceHandle& instance)
|
| - : PP_ALLOW_THIS_IN_INITIALIZER_LIST(
|
| - GenericEventBase(instance,
|
| - kCreatePPEventListener1(&CallbackThunk, this))) {
|
| - }
|
| -
|
| - virtual ~EventBase1() {}
|
| -
|
| - private:
|
| - virtual void Callback(A&) = 0;
|
| -
|
| - static void CallbackThunk(uint32_t listener_id,
|
| - void* user_data,
|
| - PP_Var var_a) {
|
| - EventBase1<kCreatePPEventListener1, A>* event_base =
|
| - static_cast<EventBase1<kCreatePPEventListener1, A>*>(user_data);
|
| - PP_DCHECK(listener_id == event_base->listener_id_);
|
| - // Suppress unused variable warnings.
|
| - static_cast<void>(listener_id);
|
| -
|
| - FromVarConverter<A> a(var_a);
|
| - event_base->Callback(a.value());
|
| - }
|
| -
|
| - // Disallow copying and assignment.
|
| - EventBase1(const EventBase1<kCreatePPEventListener1, A>&);
|
| - EventBase1<kCreatePPEventListener1, A>& operator=(
|
| - const EventBase1<kCreatePPEventListener1, A>&);
|
| -};
|
| -
|
| -typedef PP_Ext_EventListener (*CreatePPEventListener2)(
|
| - void (*)(uint32_t, void*, PP_Var, PP_Var), void*);
|
| -template <const CreatePPEventListener2 kCreatePPEventListener2,
|
| - class A,
|
| - class B>
|
| -class EventBase2 : public GenericEventBase {
|
| - public:
|
| - explicit EventBase2(const InstanceHandle& instance)
|
| - : PP_ALLOW_THIS_IN_INITIALIZER_LIST(
|
| - GenericEventBase(instance,
|
| - kCreatePPEventListener2(&CallbackThunk, this))) {
|
| - }
|
| -
|
| - virtual ~EventBase2() {}
|
| -
|
| - private:
|
| - virtual void Callback(A&, B&) = 0;
|
| -
|
| - static void CallbackThunk(uint32_t listener_id,
|
| - void* user_data,
|
| - PP_Var var_a,
|
| - PP_Var var_b) {
|
| - EventBase2<kCreatePPEventListener2, A, B>* event_base =
|
| - static_cast<EventBase2<kCreatePPEventListener2, A, B>*>(user_data);
|
| - PP_DCHECK(listener_id == event_base->listener_id_);
|
| - // Suppress unused variable warnings.
|
| - static_cast<void>(listener_id);
|
| -
|
| - FromVarConverter<A> a(var_a);
|
| - FromVarConverter<B> b(var_b);
|
| - event_base->Callback(a.value(), b.value());
|
| - }
|
| -
|
| - // Disallow copying and assignment.
|
| - EventBase2(const EventBase2<kCreatePPEventListener2, A, B>&);
|
| - EventBase2<kCreatePPEventListener2, A, B>& operator=(
|
| - const EventBase2<kCreatePPEventListener2, A, B>&);
|
| -};
|
| -
|
| -typedef PP_Ext_EventListener (*CreatePPEventListener3)(
|
| - void (*)(uint32_t, void*, PP_Var, PP_Var, PP_Var), void*);
|
| -template <const CreatePPEventListener3 kCreatePPEventListener3,
|
| - class A,
|
| - class B,
|
| - class C>
|
| -class EventBase3 : public GenericEventBase {
|
| - public:
|
| - explicit EventBase3(const InstanceHandle& instance)
|
| - : PP_ALLOW_THIS_IN_INITIALIZER_LIST(
|
| - GenericEventBase(instance,
|
| - kCreatePPEventListener3(&CallbackThunk, this))) {
|
| - }
|
| -
|
| - virtual ~EventBase3() {}
|
| -
|
| - private:
|
| - virtual void Callback(A&, B&, C&) = 0;
|
| -
|
| - static void CallbackThunk(uint32_t listener_id,
|
| - void* user_data,
|
| - PP_Var var_a,
|
| - PP_Var var_b,
|
| - PP_Var var_c) {
|
| - EventBase3<kCreatePPEventListener3, A, B, C>* event_base =
|
| - static_cast<EventBase3<kCreatePPEventListener3, A, B, C>*>(user_data);
|
| - PP_DCHECK(listener_id == event_base->listener_id_);
|
| - // Suppress unused variable warnings.
|
| - static_cast<void>(listener_id);
|
| -
|
| - FromVarConverter<A> a(var_a);
|
| - FromVarConverter<B> b(var_b);
|
| - FromVarConverter<C> c(var_c);
|
| - event_base->Callback(a.value(), b.value(), c.value());
|
| - }
|
| -
|
| - // Disallow copying and assignment.
|
| - EventBase3(const EventBase3<kCreatePPEventListener3, A, B, C>&);
|
| - EventBase3<kCreatePPEventListener3, A, B, C>& operator=(
|
| - const EventBase3<kCreatePPEventListener3, A, B, C>&);
|
| -};
|
| -
|
| -} // namespace internal
|
| -} // namespace ext
|
| -} // namespace pp
|
| -
|
| -#endif // PPAPI_CPP_EXTENSIONS_EVENT_BASE_H_
|
|
|