OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef CHROME_BROWSER_EXTENSIONS_API_SERIAL_SERIAL_API_H_ | 5 #ifndef CHROME_BROWSER_EXTENSIONS_API_SERIAL_SERIAL_API_H_ |
6 #define CHROME_BROWSER_EXTENSIONS_API_SERIAL_SERIAL_API_H_ | 6 #define CHROME_BROWSER_EXTENSIONS_API_SERIAL_SERIAL_API_H_ |
7 | 7 |
8 #include <string> | 8 #include <string> |
9 | 9 |
10 #include "base/memory/ref_counted.h" | 10 #include "base/memory/ref_counted.h" |
11 #include "chrome/browser/extensions/api/api_function.h" | 11 #include "chrome/browser/extensions/api/api_function.h" |
12 #include "chrome/browser/extensions/api/api_resource_manager.h" | 12 #include "chrome/browser/extensions/api/api_resource_manager.h" |
13 #include "chrome/common/extensions/api/experimental_serial.h" | 13 #include "chrome/common/extensions/api/serial.h" |
14 #include "net/base/io_buffer.h" | 14 #include "net/base/io_buffer.h" |
15 | 15 |
16 namespace extensions { | 16 namespace extensions { |
17 | 17 |
18 class ApiResourceEventNotifier; | 18 class ApiResourceEventNotifier; |
19 class SerialConnection; | 19 class SerialConnection; |
20 | 20 |
21 extern const char kConnectionIdKey[]; | 21 extern const char kConnectionIdKey[]; |
22 | 22 |
23 class SerialAsyncApiFunction : public AsyncApiFunction { | 23 class SerialAsyncApiFunction : public AsyncApiFunction { |
24 public: | 24 public: |
25 SerialAsyncApiFunction(); | 25 SerialAsyncApiFunction(); |
26 | 26 |
27 protected: | 27 protected: |
28 virtual ~SerialAsyncApiFunction(); | 28 virtual ~SerialAsyncApiFunction(); |
29 | 29 |
30 // AsyncApiFunction: | 30 // AsyncApiFunction: |
31 virtual bool PrePrepare() OVERRIDE; | 31 virtual bool PrePrepare() OVERRIDE; |
32 | 32 |
33 ApiResourceManager<SerialConnection>* manager_; | 33 ApiResourceManager<SerialConnection>* manager_; |
34 }; | 34 }; |
35 | 35 |
36 class SerialGetPortsFunction : public SerialAsyncApiFunction { | 36 class SerialGetPortsFunction : public SerialAsyncApiFunction { |
37 public: | 37 public: |
38 DECLARE_EXTENSION_FUNCTION_NAME("experimental.serial.getPorts") | 38 DECLARE_EXTENSION_FUNCTION_NAME("serial.getPorts") |
39 | 39 |
40 SerialGetPortsFunction(); | 40 SerialGetPortsFunction(); |
41 | 41 |
42 protected: | 42 protected: |
43 virtual ~SerialGetPortsFunction() {} | 43 virtual ~SerialGetPortsFunction() {} |
44 | 44 |
45 // AsyncApiFunction: | 45 // AsyncApiFunction: |
46 virtual bool Prepare() OVERRIDE; | 46 virtual bool Prepare() OVERRIDE; |
47 virtual void Work() OVERRIDE; | 47 virtual void Work() OVERRIDE; |
48 virtual bool Respond() OVERRIDE; | 48 virtual bool Respond() OVERRIDE; |
49 }; | 49 }; |
50 | 50 |
51 class SerialOpenFunction : public SerialAsyncApiFunction { | 51 class SerialOpenFunction : public SerialAsyncApiFunction { |
52 public: | 52 public: |
53 DECLARE_EXTENSION_FUNCTION_NAME("experimental.serial.open") | 53 DECLARE_EXTENSION_FUNCTION_NAME("serial.open") |
54 | 54 |
55 SerialOpenFunction(); | 55 SerialOpenFunction(); |
56 | 56 |
57 protected: | 57 protected: |
58 virtual ~SerialOpenFunction(); | 58 virtual ~SerialOpenFunction(); |
59 | 59 |
60 // AsyncApiFunction: | 60 // AsyncApiFunction: |
61 virtual bool Prepare() OVERRIDE; | 61 virtual bool Prepare() OVERRIDE; |
62 virtual void AsyncWorkStart() OVERRIDE; | 62 virtual void AsyncWorkStart() OVERRIDE; |
63 virtual void Work() OVERRIDE; | 63 virtual void Work() OVERRIDE; |
64 virtual bool Respond() OVERRIDE; | 64 virtual bool Respond() OVERRIDE; |
65 | 65 |
66 // Overrideable for testing. | 66 // Overrideable for testing. |
67 virtual SerialConnection* CreateSerialConnection( | 67 virtual SerialConnection* CreateSerialConnection( |
68 const std::string& port, | 68 const std::string& port, |
69 int bitrate, | 69 int bitrate, |
70 ApiResourceEventNotifier* event_notifier); | 70 ApiResourceEventNotifier* event_notifier); |
71 virtual bool DoesPortExist(const std::string& port); | 71 virtual bool DoesPortExist(const std::string& port); |
72 | 72 |
73 private: | 73 private: |
74 scoped_ptr<api::experimental_serial::Open::Params> params_; | 74 scoped_ptr<api::serial::Open::Params> params_; |
75 int src_id_; | 75 int src_id_; |
76 int bitrate_; | 76 int bitrate_; |
77 | 77 |
78 // SerialConnection will take ownership. | 78 // SerialConnection will take ownership. |
79 ApiResourceEventNotifier* event_notifier_; | 79 ApiResourceEventNotifier* event_notifier_; |
80 }; | 80 }; |
81 | 81 |
82 class SerialCloseFunction : public SerialAsyncApiFunction { | 82 class SerialCloseFunction : public SerialAsyncApiFunction { |
83 public: | 83 public: |
84 DECLARE_EXTENSION_FUNCTION_NAME("experimental.serial.close") | 84 DECLARE_EXTENSION_FUNCTION_NAME("serial.close") |
85 | 85 |
86 SerialCloseFunction(); | 86 SerialCloseFunction(); |
87 | 87 |
88 protected: | 88 protected: |
89 virtual ~SerialCloseFunction(); | 89 virtual ~SerialCloseFunction(); |
90 | 90 |
91 // AsyncApiFunction: | 91 // AsyncApiFunction: |
92 virtual bool Prepare() OVERRIDE; | 92 virtual bool Prepare() OVERRIDE; |
93 virtual void Work() OVERRIDE; | 93 virtual void Work() OVERRIDE; |
94 virtual bool Respond() OVERRIDE; | 94 virtual bool Respond() OVERRIDE; |
95 | 95 |
96 private: | 96 private: |
97 scoped_ptr<api::experimental_serial::Close::Params> params_; | 97 scoped_ptr<api::serial::Close::Params> params_; |
98 }; | 98 }; |
99 | 99 |
100 class SerialReadFunction : public SerialAsyncApiFunction { | 100 class SerialReadFunction : public SerialAsyncApiFunction { |
101 public: | 101 public: |
102 DECLARE_EXTENSION_FUNCTION_NAME("experimental.serial.read") | 102 DECLARE_EXTENSION_FUNCTION_NAME("serial.read") |
103 | 103 |
104 SerialReadFunction(); | 104 SerialReadFunction(); |
105 | 105 |
106 protected: | 106 protected: |
107 virtual ~SerialReadFunction(); | 107 virtual ~SerialReadFunction(); |
108 | 108 |
109 // AsyncApiFunction: | 109 // AsyncApiFunction: |
110 virtual bool Prepare() OVERRIDE; | 110 virtual bool Prepare() OVERRIDE; |
111 virtual void Work() OVERRIDE; | 111 virtual void Work() OVERRIDE; |
112 virtual bool Respond() OVERRIDE; | 112 virtual bool Respond() OVERRIDE; |
113 | 113 |
114 private: | 114 private: |
115 scoped_ptr<api::experimental_serial::Read::Params> params_; | 115 scoped_ptr<api::serial::Read::Params> params_; |
116 }; | 116 }; |
117 | 117 |
118 class SerialWriteFunction : public SerialAsyncApiFunction { | 118 class SerialWriteFunction : public SerialAsyncApiFunction { |
119 public: | 119 public: |
120 DECLARE_EXTENSION_FUNCTION_NAME("experimental.serial.write") | 120 DECLARE_EXTENSION_FUNCTION_NAME("serial.write") |
121 | 121 |
122 SerialWriteFunction(); | 122 SerialWriteFunction(); |
123 | 123 |
124 protected: | 124 protected: |
125 virtual ~SerialWriteFunction(); | 125 virtual ~SerialWriteFunction(); |
126 | 126 |
127 // AsyncApiFunction: | 127 // AsyncApiFunction: |
128 virtual bool Prepare() OVERRIDE; | 128 virtual bool Prepare() OVERRIDE; |
129 virtual void Work() OVERRIDE; | 129 virtual void Work() OVERRIDE; |
130 virtual bool Respond() OVERRIDE; | 130 virtual bool Respond() OVERRIDE; |
131 | 131 |
132 private: | 132 private: |
133 scoped_ptr<api::experimental_serial::Write::Params> params_; | 133 scoped_ptr<api::serial::Write::Params> params_; |
134 scoped_refptr<net::IOBuffer> io_buffer_; | 134 scoped_refptr<net::IOBuffer> io_buffer_; |
135 size_t io_buffer_size_; | 135 size_t io_buffer_size_; |
136 }; | 136 }; |
137 | 137 |
138 class SerialFlushFunction : public SerialAsyncApiFunction { | 138 class SerialFlushFunction : public SerialAsyncApiFunction { |
139 public: | 139 public: |
140 DECLARE_EXTENSION_FUNCTION_NAME("experimental.serial.flush") | 140 DECLARE_EXTENSION_FUNCTION_NAME("serial.flush") |
141 | 141 |
142 SerialFlushFunction(); | 142 SerialFlushFunction(); |
143 | 143 |
144 protected: | 144 protected: |
145 virtual ~SerialFlushFunction(); | 145 virtual ~SerialFlushFunction(); |
146 | 146 |
147 // AsyncApiFunction: | 147 // AsyncApiFunction: |
148 virtual bool Prepare() OVERRIDE; | 148 virtual bool Prepare() OVERRIDE; |
149 virtual void Work() OVERRIDE; | 149 virtual void Work() OVERRIDE; |
150 virtual bool Respond() OVERRIDE; | 150 virtual bool Respond() OVERRIDE; |
151 | 151 |
152 private: | 152 private: |
153 scoped_ptr<api::experimental_serial::Flush::Params> params_; | 153 scoped_ptr<api::serial::Flush::Params> params_; |
154 }; | 154 }; |
155 | 155 |
156 class SerialGetControlSignalsFunction : public SerialAsyncApiFunction { | 156 class SerialGetControlSignalsFunction : public SerialAsyncApiFunction { |
157 public: | 157 public: |
158 DECLARE_EXTENSION_FUNCTION_NAME("experimental.serial.getControlSignals") | 158 DECLARE_EXTENSION_FUNCTION_NAME("serial.getControlSignals") |
159 | 159 |
160 SerialGetControlSignalsFunction(); | 160 SerialGetControlSignalsFunction(); |
161 | 161 |
162 protected: | 162 protected: |
163 virtual ~SerialGetControlSignalsFunction(); | 163 virtual ~SerialGetControlSignalsFunction(); |
164 | 164 |
165 // AsyncApiFunction: | 165 // AsyncApiFunction: |
166 virtual bool Prepare() OVERRIDE; | 166 virtual bool Prepare() OVERRIDE; |
167 virtual void Work() OVERRIDE; | 167 virtual void Work() OVERRIDE; |
168 virtual bool Respond() OVERRIDE; | 168 virtual bool Respond() OVERRIDE; |
169 | 169 |
170 private: | 170 private: |
171 scoped_ptr<api::experimental_serial::GetControlSignals::Params> params_; | 171 scoped_ptr<api::serial::GetControlSignals::Params> params_; |
172 bool api_response_; | 172 bool api_response_; |
173 }; | 173 }; |
174 | 174 |
175 class SerialSetControlSignalsFunction : public SerialAsyncApiFunction { | 175 class SerialSetControlSignalsFunction : public SerialAsyncApiFunction { |
176 public: | 176 public: |
177 DECLARE_EXTENSION_FUNCTION_NAME("experimental.serial.setControlSignals") | 177 DECLARE_EXTENSION_FUNCTION_NAME("serial.setControlSignals") |
178 | 178 |
179 SerialSetControlSignalsFunction(); | 179 SerialSetControlSignalsFunction(); |
180 | 180 |
181 protected: | 181 protected: |
182 virtual ~SerialSetControlSignalsFunction(); | 182 virtual ~SerialSetControlSignalsFunction(); |
183 | 183 |
184 // AsyncApiFunction: | 184 // AsyncApiFunction: |
185 virtual bool Prepare() OVERRIDE; | 185 virtual bool Prepare() OVERRIDE; |
186 virtual void Work() OVERRIDE; | 186 virtual void Work() OVERRIDE; |
187 virtual bool Respond() OVERRIDE; | 187 virtual bool Respond() OVERRIDE; |
188 | 188 |
189 private: | 189 private: |
190 scoped_ptr<api::experimental_serial::SetControlSignals::Params> params_; | 190 scoped_ptr<api::serial::SetControlSignals::Params> params_; |
191 }; | 191 }; |
192 | 192 |
193 } // namespace extensions | 193 } // namespace extensions |
194 | 194 |
195 #endif // CHROME_BROWSER_EXTENSIONS_API_SERIAL_SERIAL_API_H_ | 195 #endif // CHROME_BROWSER_EXTENSIONS_API_SERIAL_SERIAL_API_H_ |
OLD | NEW |