// Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef CHROME_BROWSER_SESSIONS_SESSION_ID_H_ #define CHROME_BROWSER_SESSIONS_SESSION_ID_H_ #pragma once #include "base/basictypes.h" class NavigationController; class SessionService; namespace browser_sync { class SessionModelAssociator; } // Uniquely identifies a tab or window for the duration of a session. class SessionID { public: typedef int32 id_type; SessionID(); ~SessionID() {} // Returns the underlying id. id_type id() const { return id_; } private: friend class NavigationController; friend class SessionService; friend class browser_sync::SessionModelAssociator; explicit SessionID(id_type id) : id_(id) {} // Resets the id. This is used when restoring a session void set_id(id_type id) { id_ = id; } id_type id_; }; #endif // CHROME_BROWSER_SESSIONS_SESSION_ID_H_