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

Side by Side Diff: blimp/client/session/blimp_client_session.h

Issue 1779673003: Added network components for blimp text input feature (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Merge origin/master Created 4 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
« no previous file with comments | « blimp/client/feature/ime_feature.cc ('k') | blimp/client/session/blimp_client_session.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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 BLIMP_CLIENT_SESSION_BLIMP_CLIENT_SESSION_H_ 5 #ifndef BLIMP_CLIENT_SESSION_BLIMP_CLIENT_SESSION_H_
6 #define BLIMP_CLIENT_SESSION_BLIMP_CLIENT_SESSION_H_ 6 #define BLIMP_CLIENT_SESSION_BLIMP_CLIENT_SESSION_H_
7 7
8 #include <string> 8 #include <string>
9 9
10 #include "base/macros.h" 10 #include "base/macros.h"
(...skipping 14 matching lines...) Expand all
25 class BlimpMessageProcessor; 25 class BlimpMessageProcessor;
26 class BlimpMessageThreadPipe; 26 class BlimpMessageThreadPipe;
27 class BrowserConnectionHandler; 27 class BrowserConnectionHandler;
28 class ClientConnectionManager; 28 class ClientConnectionManager;
29 class ThreadPipeManager; 29 class ThreadPipeManager;
30 30
31 namespace client { 31 namespace client {
32 32
33 class ClientNetworkComponents; 33 class ClientNetworkComponents;
34 class NavigationFeature; 34 class NavigationFeature;
35 class ImeFeature;
35 class RenderWidgetFeature; 36 class RenderWidgetFeature;
36 class TabControlFeature; 37 class TabControlFeature;
37 38
38 class NetworkEventObserver { 39 class NetworkEventObserver {
39 public: 40 public:
40 NetworkEventObserver() {} 41 NetworkEventObserver() {}
41 virtual ~NetworkEventObserver() {} 42 virtual ~NetworkEventObserver() {}
42 43
43 virtual void OnConnected() = 0; 44 virtual void OnConnected() = 0;
44 virtual void OnDisconnected(int result) = 0; 45 virtual void OnDisconnected(int result) = 0;
(...skipping 13 matching lines...) Expand all
58 59
59 // Uses the AssignmentSource to get an Assignment and then uses the assignment 60 // Uses the AssignmentSource to get an Assignment and then uses the assignment
60 // configuration to connect to the Blimplet. 61 // configuration to connect to the Blimplet.
61 // |client_auth_token| is the OAuth2 access token to use when querying 62 // |client_auth_token| is the OAuth2 access token to use when querying
62 // for an assignment. This token needs the OAuth2 scope of userinfo.email and 63 // for an assignment. This token needs the OAuth2 scope of userinfo.email and
63 // only needs to be an access token, not a refresh token. 64 // only needs to be an access token, not a refresh token.
64 void Connect(const std::string& client_auth_token); 65 void Connect(const std::string& client_auth_token);
65 66
66 TabControlFeature* GetTabControlFeature() const; 67 TabControlFeature* GetTabControlFeature() const;
67 NavigationFeature* GetNavigationFeature() const; 68 NavigationFeature* GetNavigationFeature() const;
69 ImeFeature* GetImeFeature() const;
68 RenderWidgetFeature* GetRenderWidgetFeature() const; 70 RenderWidgetFeature* GetRenderWidgetFeature() const;
69 71
70 // The AssignmentCallback for when an assignment is ready. This will trigger 72 // The AssignmentCallback for when an assignment is ready. This will trigger
71 // a connection to the engine. 73 // a connection to the engine.
72 virtual void ConnectWithAssignment(AssignmentSource::Result result, 74 virtual void ConnectWithAssignment(AssignmentSource::Result result,
73 const Assignment& assignment); 75 const Assignment& assignment);
74 76
75 protected: 77 protected:
76 ~BlimpClientSession() override; 78 ~BlimpClientSession() override;
77 79
78 // Notified every time the AssignmentSource returns the result of an attempted 80 // Notified every time the AssignmentSource returns the result of an attempted
79 // assignment request. 81 // assignment request.
80 virtual void OnAssignmentConnectionAttempted(AssignmentSource::Result result); 82 virtual void OnAssignmentConnectionAttempted(AssignmentSource::Result result);
81 83
82 private: 84 private:
83 void RegisterFeatures(); 85 void RegisterFeatures();
84 86
85 // NetworkEventObserver implementation. 87 // NetworkEventObserver implementation.
86 void OnConnected() override; 88 void OnConnected() override;
87 void OnDisconnected(int result) override; 89 void OnDisconnected(int result) override;
88 90
89 base::Thread io_thread_; 91 base::Thread io_thread_;
90 scoped_ptr<TabControlFeature> tab_control_feature_; 92 scoped_ptr<TabControlFeature> tab_control_feature_;
91 scoped_ptr<NavigationFeature> navigation_feature_; 93 scoped_ptr<NavigationFeature> navigation_feature_;
94 scoped_ptr<ImeFeature> ime_feature_;
92 scoped_ptr<RenderWidgetFeature> render_widget_feature_; 95 scoped_ptr<RenderWidgetFeature> render_widget_feature_;
93 96
94 // The AssignmentSource is used when the user of BlimpClientSession calls 97 // The AssignmentSource is used when the user of BlimpClientSession calls
95 // Connect() to get a valid assignment and later connect to the engine. 98 // Connect() to get a valid assignment and later connect to the engine.
96 scoped_ptr<AssignmentSource> assignment_source_; 99 scoped_ptr<AssignmentSource> assignment_source_;
97 100
98 // Container struct for network components. 101 // Container struct for network components.
99 // Must be deleted on the IO thread. 102 // Must be deleted on the IO thread.
100 scoped_ptr<ClientNetworkComponents> net_components_; 103 scoped_ptr<ClientNetworkComponents> net_components_;
101 104
102 scoped_ptr<ThreadPipeManager> thread_pipe_manager_; 105 scoped_ptr<ThreadPipeManager> thread_pipe_manager_;
103 106
104 base::WeakPtrFactory<BlimpClientSession> weak_factory_; 107 base::WeakPtrFactory<BlimpClientSession> weak_factory_;
105 108
106 DISALLOW_COPY_AND_ASSIGN(BlimpClientSession); 109 DISALLOW_COPY_AND_ASSIGN(BlimpClientSession);
107 }; 110 };
108 111
109 } // namespace client 112 } // namespace client
110 } // namespace blimp 113 } // namespace blimp
111 114
112 #endif // BLIMP_CLIENT_SESSION_BLIMP_CLIENT_SESSION_H_ 115 #endif // BLIMP_CLIENT_SESSION_BLIMP_CLIENT_SESSION_H_
OLDNEW
« no previous file with comments | « blimp/client/feature/ime_feature.cc ('k') | blimp/client/session/blimp_client_session.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698