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
3// found in the LICENSE file.
4
5#ifndef CHROME_BROWSER_SYNC_GLUE_SYNCED_WINDOW_DELEGATE_ANDROID_H_
6#define CHROME_BROWSER_SYNC_GLUE_SYNCED_WINDOW_DELEGATE_ANDROID_H_
7
8#include "base/compiler_specific.h"
9#include "chrome/browser/sync/glue/synced_window_delegate.h"
10#include "components/sessions/session_id.h"
11
12class TabModel;
13
14namespace browser_sync {
15
16class SyncedTabDelegate;
17
18class SyncedWindowDelegateAndroid : public browser_sync::SyncedWindowDelegate {
19 public:
20  explicit SyncedWindowDelegateAndroid(TabModel* tab_model);
21  virtual ~SyncedWindowDelegateAndroid();
22
23  // browser_sync::SyncedWindowDelegate implementation.
24
25  virtual bool HasWindow() const OVERRIDE;
26  virtual SessionID::id_type GetSessionId() const OVERRIDE;
27  virtual int GetTabCount() const OVERRIDE;
28  virtual int GetActiveIndex() const OVERRIDE;
29  virtual bool IsApp() const OVERRIDE;
30  virtual bool IsTypeTabbed() const OVERRIDE;
31  virtual bool IsTypePopup() const OVERRIDE;
32  virtual bool IsTabPinned(const SyncedTabDelegate* tab) const OVERRIDE;
33  virtual SyncedTabDelegate* GetTabAt(int index) const OVERRIDE;
34  virtual SessionID::id_type GetTabIdAt(int index) const OVERRIDE;
35  virtual bool IsSessionRestoreInProgress() const OVERRIDE;
36
37 private:
38  TabModel* tab_model_;
39
40  DISALLOW_COPY_AND_ASSIGN(SyncedWindowDelegateAndroid);
41};
42
43} // namespace browser_sync
44
45#endif  // CHROME_BROWSER_SYNC_GLUE_SYNCED_WINDOW_DELEGATE_ANDROID_H_
46