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

Side by Side Diff: chrome/browser/extensions/api/serial/serial_api.h

Issue 177003015: Pull AsyncApiFunction out of src/chrome (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebaser! Created 6 years, 9 months 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
OLDNEW
1 // Copyright 2012 The Chromium Authors. All rights reserved. 1 // Copyright 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"
12 #include "chrome/browser/extensions/api/api_resource_manager.h" 11 #include "chrome/browser/extensions/api/api_resource_manager.h"
13 #include "chrome/common/extensions/api/serial.h" 12 #include "chrome/common/extensions/api/serial.h"
13 #include "extensions/browser/api/async_api_function.h"
14 14
15 namespace extensions { 15 namespace extensions {
16 16
17 class SerialConnection; 17 class SerialConnection;
18 18
19 namespace api { 19 namespace api {
20 20
21 class SerialEventDispatcher; 21 class SerialEventDispatcher;
22 22
23 class SerialAsyncApiFunction : public AsyncApiFunction { 23 class SerialAsyncApiFunction : public AsyncApiFunction {
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
67 virtual SerialConnection* CreateSerialConnection( 67 virtual SerialConnection* CreateSerialConnection(
68 const std::string& port, 68 const std::string& port,
69 const std::string& extension_id) const; 69 const std::string& extension_id) const;
70 70
71 private: 71 private:
72 void OnConnected(bool success); 72 void OnConnected(bool success);
73 void FinishConnect(); 73 void FinishConnect();
74 74
75 scoped_ptr<serial::Connect::Params> params_; 75 scoped_ptr<serial::Connect::Params> params_;
76 76
77 // SerialEventDispatcher is owned by a Profile. 77 // SerialEventDispatcher is owned by a BrowserContext.
78 SerialEventDispatcher* serial_event_dispatcher_; 78 SerialEventDispatcher* serial_event_dispatcher_;
79 79
80 // This connection is created within SerialConnectFunction. 80 // This connection is created within SerialConnectFunction.
81 // From there it is either destroyed in OnConnected (upon failure) 81 // From there it is either destroyed in OnConnected (upon failure)
82 // or its ownership is transferred to the profile's. 82 // or its ownership is transferred to the browser context's.
Yoyo Zhou 2014/02/27 23:53:46 nit: the 's here looks extraneous
83 // ApiResourceManager<SerialConnection>. 83 // ApiResourceManager<SerialConnection>.
84 SerialConnection* connection_; 84 SerialConnection* connection_;
85 }; 85 };
86 86
87 class SerialUpdateFunction : public SerialAsyncApiFunction { 87 class SerialUpdateFunction : public SerialAsyncApiFunction {
88 public: 88 public:
89 DECLARE_EXTENSION_FUNCTION("serial.update", SERIAL_UPDATE); 89 DECLARE_EXTENSION_FUNCTION("serial.update", SERIAL_UPDATE);
90 90
91 SerialUpdateFunction(); 91 SerialUpdateFunction();
92 92
(...skipping 144 matching lines...) Expand 10 before | Expand all | Expand 10 after
237 237
238 private: 238 private:
239 scoped_ptr<serial::SetControlSignals::Params> params_; 239 scoped_ptr<serial::SetControlSignals::Params> params_;
240 }; 240 };
241 241
242 } // namespace api 242 } // namespace api
243 243
244 } // namespace extensions 244 } // namespace extensions
245 245
246 #endif // CHROME_BROWSER_EXTENSIONS_API_SERIAL_SERIAL_API_H_ 246 #endif // CHROME_BROWSER_EXTENSIONS_API_SERIAL_SERIAL_API_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698