14e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)// Copyright 2013 The Chromium Authors. All rights reserved. 24e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 34e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)// found in the LICENSE file. 44e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) 54e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)#ifndef CHROME_BROWSER_SYNC_GLUE_SESSION_SYNC_TEST_HELPER_H_ 64e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)#define CHROME_BROWSER_SYNC_GLUE_SESSION_SYNC_TEST_HELPER_H_ 74e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) 84e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)#include <string> 94e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)#include <vector> 104e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) 1103b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)#include "components/sessions/session_id.h" 124e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) 134e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)namespace sync_pb { 144e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)class SessionSpecifics; 154e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)} 164e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) 174e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)namespace browser_sync { 184e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) 194e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)struct SyncedSession; 204e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) 214e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)class SessionSyncTestHelper { 224e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) public: 234e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) SessionSyncTestHelper() : max_tab_node_id_(0) {} 244e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) 254e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) static void BuildSessionSpecifics(const std::string& tag, 264e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) sync_pb::SessionSpecifics* meta); 274e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) 284e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) static void AddWindowSpecifics(int window_id, 294e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) const std::vector<int>& tab_list, 304e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) sync_pb::SessionSpecifics* meta); 314e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) 324e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) static void VerifySyncedSession( 334e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) const std::string& tag, 344e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) const std::vector<std::vector<SessionID::id_type> >& windows, 354e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) const SyncedSession& session); 364e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) 374e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) void BuildTabSpecifics(const std::string& tag, 384e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) int window_id, 394e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) int tab_id, 404e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) sync_pb::SessionSpecifics* tab_base); 414e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) 424e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) sync_pb::SessionSpecifics BuildForeignSession( 434e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) const std::string& tag, 444e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) const std::vector<SessionID::id_type>& tab_list, 454e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) std::vector<sync_pb::SessionSpecifics>* tabs); 464e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) 474e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) void Reset(); 484e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) 494e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) private: 504e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) int max_tab_node_id_; 514e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) DISALLOW_COPY_AND_ASSIGN(SessionSyncTestHelper); 524e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)}; 534e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) 544e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)} // namespace browser_sync 554e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) 564e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)#endif // CHROME_BROWSER_SYNC_GLUE_SESSION_SYNC_TEST_HELPER_H_ 57