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

Side by Side Diff: components/sync_sessions/synced_session.cc

Issue 2499023004: [Sync] Introduce SyncedSessionWindow type. (Closed)
Patch Set: Fix compile Created 3 years, 8 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
OLDNEW
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 #include "components/sync_sessions/synced_session.h" 5 #include "components/sync_sessions/synced_session.h"
6 6
7 namespace sync_sessions { 7 namespace sync_sessions {
8 8
9 SyncedSessionWindow::SyncedSessionWindow() {}
10
11 SyncedSessionWindow::~SyncedSessionWindow() {}
12
13 sync_pb::SessionWindow SyncedSessionWindow::ToSyncSessionWindowPB() const {
14 sync_pb::SessionWindow sync_data;
15 sync_data.set_browser_type(window_type);
16 sync_data.set_window_id(wrapped_window.window_id.id());
17 sync_data.set_selected_tab_index(wrapped_window.selected_tab_index);
18
19 for (const auto& tab : wrapped_window.tabs)
20 sync_data.add_tab(tab->tab_id.id());
21
22 return sync_data;
23 }
24
9 SyncedSession::SyncedSession() 25 SyncedSession::SyncedSession()
10 : session_tag("invalid"), device_type(TYPE_UNSET) {} 26 : session_tag("invalid"), device_type(TYPE_UNSET) {}
11 27
12 SyncedSession::~SyncedSession() {} 28 SyncedSession::~SyncedSession() {}
13 29
14 sync_pb::SessionHeader SyncedSession::ToSessionHeader() const { 30 sync_pb::SessionHeader SyncedSession::ToSyncSessionHeaderPB() const {
15 sync_pb::SessionHeader header; 31 sync_pb::SessionHeader header;
16 for (const auto& window_pair : windows) { 32 for (const auto& window_pair : windows) {
17 sync_pb::SessionWindow* w = header.add_window(); 33 sync_pb::SessionWindow* w = header.add_window();
18 w->CopyFrom(window_pair.second->ToSyncData()); 34 w->CopyFrom(window_pair.second->ToSyncSessionWindowPB());
19 } 35 }
20 header.set_client_name(session_name); 36 header.set_client_name(session_name);
21 switch (device_type) { 37 switch (device_type) {
22 case SyncedSession::TYPE_WIN: 38 case SyncedSession::TYPE_WIN:
23 header.set_device_type(sync_pb::SyncEnums_DeviceType_TYPE_WIN); 39 header.set_device_type(sync_pb::SyncEnums_DeviceType_TYPE_WIN);
24 break; 40 break;
25 case SyncedSession::TYPE_MACOSX: 41 case SyncedSession::TYPE_MACOSX:
26 header.set_device_type(sync_pb::SyncEnums_DeviceType_TYPE_MAC); 42 header.set_device_type(sync_pb::SyncEnums_DeviceType_TYPE_MAC);
27 break; 43 break;
28 case SyncedSession::TYPE_LINUX: 44 case SyncedSession::TYPE_LINUX:
(...skipping 11 matching lines...) Expand all
40 case SyncedSession::TYPE_OTHER: 56 case SyncedSession::TYPE_OTHER:
41 // Intentionally fall-through 57 // Intentionally fall-through
42 default: 58 default:
43 header.set_device_type(sync_pb::SyncEnums_DeviceType_TYPE_OTHER); 59 header.set_device_type(sync_pb::SyncEnums_DeviceType_TYPE_OTHER);
44 break; 60 break;
45 } 61 }
46 return header; 62 return header;
47 } 63 }
48 64
49 } // namespace sync_sessions 65 } // namespace sync_sessions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698