tab_model_list.h revision 5821806d5e7f356e8fa4b058a389a808ea183019
1b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian// Copyright (c) 2012 The Chromium Authors. All rights reserved. 2b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian// Use of this source code is governed by a BSD-style license that can be 3b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian// found in the LICENSE file. 4b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian 5b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian#ifndef CHROME_BROWSER_UI_ANDROID_TAB_MODEL_TAB_MODEL_LIST_H_ 6b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian#define CHROME_BROWSER_UI_ANDROID_TAB_MODEL_TAB_MODEL_LIST_H_ 7b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian 8b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian#include <vector> 9b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian 10b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian#include "chrome/browser/sessions/session_id.h" 11b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian 12b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanianclass Profile; 13b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanianclass TabModel; 14b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian 15b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian// Stores a list of all TabModel objects. 16b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanianclass TabModelList { 17b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian public: 18b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian typedef std::vector<TabModel*> TabModelVector; 19b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian typedef TabModelVector::iterator iterator; 20b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian typedef TabModelVector::const_iterator const_iterator; 21b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian 22b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian static void AddTabModel(TabModel* tab_model); 23b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian static void RemoveTabModel(TabModel* tab_model); 24b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian 25b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian static TabModel* GetTabModelWithProfile(Profile* profile); 26b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian static TabModel* FindTabModelWithId(SessionID::id_type desired_id); 27b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian static bool IsOffTheRecordSessionActive(); 28b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian 29b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian static const_iterator begin(); 30b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian static const_iterator end(); 31b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian static bool empty(); 32b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian static size_t size(); 33b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian 34b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian private: 35b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian DISALLOW_IMPLICIT_CONSTRUCTORS(TabModelList); 36b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian}; 37b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian 38b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian#endif // CHROME_BROWSER_UI_ANDROID_TAB_MODEL_TAB_MODEL_LIST_H_ 39b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian