// Copyright 2014 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef COMPONENTS_SYNC_SESSIONS_TAB_NODE_POOL_H_ #define COMPONENTS_SYNC_SESSIONS_TAB_NODE_POOL_H_ #include <stddef.h> #include <map> #include <set> #include "components/sessions/core/session_id.h" namespace sync_sessions { // A pool for managing free/used tab sync nodes for the *local* session. // Performs lazy creation of sync nodes when necessary. // Note: We make use of the following "id's" // - a tab_id: created by session service, unique to this client // - a tab_node_id: the id for a particular sync tab node. This is used // to generate the sync tab node tag through: // tab_tag = StringPrintf("%s %d", local_session_tag, tab_node_id); // // A sync node can be in one of the two states: // 1. Associated : Sync node is used and associated with a tab. // 2. Free : Sync node is unused. class TabNodePool { … }; } // namespace sync_sessions #endif // COMPONENTS_SYNC_SESSIONS_TAB_NODE_POOL_H_