Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(81)

Side by Side Diff: ppapi/cpp/extensions/dev/alarms_dev.cc

Issue 103093004: Remove PPB_Ext_Alarms_Dev and PPB_Ext_Events_Dev. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « ppapi/cpp/extensions/dev/alarms_dev.h ('k') | ppapi/cpp/extensions/dev/events_dev.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "ppapi/cpp/extensions/dev/alarms_dev.h"
6
7 #include "ppapi/cpp/completion_callback.h"
8 #include "ppapi/cpp/extensions/optional.h"
9 #include "ppapi/cpp/extensions/to_var_converter.h"
10 #include "ppapi/cpp/logging.h"
11 #include "ppapi/cpp/module_impl.h"
12 #include "ppapi/cpp/var_dictionary.h"
13
14 namespace pp {
15
16 namespace {
17
18 template <> const char* interface_name<PPB_Ext_Alarms_Dev_0_1>() {
19 return PPB_EXT_ALARMS_DEV_INTERFACE_0_1;
20 }
21
22 } // namespace
23
24 namespace ext {
25 namespace alarms {
26
27 const char* const Alarm_Dev::kName = "name";
28 const char* const Alarm_Dev::kScheduledTime = "scheduledTime";
29 const char* const Alarm_Dev::kPeriodInMinutes = "periodInMinutes";
30
31 Alarm_Dev::Alarm_Dev()
32 : name(kName),
33 scheduled_time(kScheduledTime),
34 period_in_minutes(kPeriodInMinutes) {
35 }
36
37 Alarm_Dev::~Alarm_Dev() {
38 }
39
40 bool Alarm_Dev::Populate(const PP_Ext_Alarms_Alarm_Dev& value) {
41 if (value.type != PP_VARTYPE_DICTIONARY)
42 return false;
43
44 VarDictionary dict(value);
45 bool result = name.Populate(dict);
46 result = scheduled_time.Populate(dict) && result;
47 result = period_in_minutes.Populate(dict) && result;
48
49 return result;
50 }
51
52 Var Alarm_Dev::CreateVar() const {
53 VarDictionary dict;
54
55 bool result = name.AddTo(&dict);
56 result = scheduled_time.AddTo(&dict) && result;
57 result = period_in_minutes.MayAddTo(&dict) && result;
58 PP_DCHECK(result);
59
60 return dict;
61 }
62
63 const char* const AlarmCreateInfo_Dev::kWhen = "when";
64 const char* const AlarmCreateInfo_Dev::kDelayInMinutes = "delayInMinutes";
65 const char* const AlarmCreateInfo_Dev::kPeriodInMinutes = "periodInMinutes";
66
67 AlarmCreateInfo_Dev::AlarmCreateInfo_Dev()
68 : when(kWhen),
69 delay_in_minutes(kDelayInMinutes),
70 period_in_minutes(kPeriodInMinutes) {
71 }
72
73 AlarmCreateInfo_Dev::~AlarmCreateInfo_Dev() {
74 }
75
76 bool AlarmCreateInfo_Dev::Populate(
77 const PP_Ext_Alarms_AlarmCreateInfo_Dev& value) {
78 if (value.type != PP_VARTYPE_DICTIONARY)
79 return false;
80
81 VarDictionary dict(value);
82 bool result = when.Populate(dict);
83 result = delay_in_minutes.Populate(dict) && result;
84 result = period_in_minutes.Populate(dict) && result;
85
86 return result;
87 }
88
89 Var AlarmCreateInfo_Dev::CreateVar() const {
90 VarDictionary dict;
91
92 bool result = when.MayAddTo(&dict);
93 result = delay_in_minutes.MayAddTo(&dict) && result;
94 result = period_in_minutes.MayAddTo(&dict) && result;
95 PP_DCHECK(result);
96
97 return dict;
98 }
99
100 Alarms_Dev::Alarms_Dev(const InstanceHandle& instance) : instance_(instance) {
101 }
102
103 Alarms_Dev::~Alarms_Dev() {
104 }
105
106 void Alarms_Dev::Create(const Optional<std::string>& name,
107 const AlarmCreateInfo_Dev& alarm_info) {
108 if (!has_interface<PPB_Ext_Alarms_Dev_0_1>())
109 return;
110
111 internal::ToVarConverter<Optional<std::string> > name_var(name);
112 internal::ToVarConverter<AlarmCreateInfo_Dev> alarm_info_var(alarm_info);
113
114 return get_interface<PPB_Ext_Alarms_Dev_0_1>()->Create(
115 instance_.pp_instance(),
116 name_var.pp_var(),
117 alarm_info_var.pp_var());
118 }
119
120 int32_t Alarms_Dev::Get(const Optional<std::string>& name,
121 const GetCallback& callback) {
122 if (!has_interface<PPB_Ext_Alarms_Dev_0_1>())
123 return callback.MayForce(PP_ERROR_NOINTERFACE);
124
125 internal::ToVarConverter<Optional<std::string> > name_var(name);
126
127 return get_interface<PPB_Ext_Alarms_Dev_0_1>()->Get(
128 instance_.pp_instance(),
129 name_var.pp_var(),
130 callback.output(),
131 callback.pp_completion_callback());
132 }
133
134 int32_t Alarms_Dev::GetAll(const GetAllCallback& callback) {
135 if (!has_interface<PPB_Ext_Alarms_Dev_0_1>())
136 return callback.MayForce(PP_ERROR_NOINTERFACE);
137
138 return get_interface<PPB_Ext_Alarms_Dev_0_1>()->GetAll(
139 instance_.pp_instance(),
140 callback.output(),
141 callback.pp_completion_callback());
142 }
143
144 void Alarms_Dev::Clear(const Optional<std::string>& name) {
145 if (!has_interface<PPB_Ext_Alarms_Dev_0_1>())
146 return;
147
148 internal::ToVarConverter<Optional<std::string> > name_var(name);
149
150 return get_interface<PPB_Ext_Alarms_Dev_0_1>()->Clear(
151 instance_.pp_instance(),
152 name_var.pp_var());
153 }
154
155 void Alarms_Dev::ClearAll() {
156 if (!has_interface<PPB_Ext_Alarms_Dev_0_1>())
157 return;
158
159 return get_interface<PPB_Ext_Alarms_Dev_0_1>()->ClearAll(
160 instance_.pp_instance());
161 }
162
163 OnAlarmEvent_Dev::OnAlarmEvent_Dev(
164 const InstanceHandle& instance,
165 Listener* listener)
166 : internal::EventBase1<PP_Ext_Alarms_OnAlarm_Dev, Alarm_Dev>(instance),
167 listener_(listener) {
168 }
169
170 OnAlarmEvent_Dev::~OnAlarmEvent_Dev() {
171 }
172
173 void OnAlarmEvent_Dev::Callback(Alarm_Dev& alarm) {
174 listener_->OnAlarm(alarm);
175 }
176
177 } // namespace alarms
178 } // namespace ext
179 } // namespace pp
OLDNEW
« no previous file with comments | « ppapi/cpp/extensions/dev/alarms_dev.h ('k') | ppapi/cpp/extensions/dev/events_dev.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698