| Index: chrome/browser/extensions/api/sessions/session_id.h
|
| diff --git a/chrome/browser/extensions/api/sessions/session_id.h b/chrome/browser/extensions/api/sessions/session_id.h
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..b3fdccd009a62ad8b28ebb1c9337690bf5fb96bd
|
| --- /dev/null
|
| +++ b/chrome/browser/extensions/api/sessions/session_id.h
|
| @@ -0,0 +1,53 @@
|
| +// Copyright (c) 2013 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_EXTENSIONS_API_SESSIONS_SESSION_ID_H__
|
| +#define CHROME_BROWSER_EXTENSIONS_API_SESSIONS_SESSION_ID_H__
|
| +
|
| +#include <string>
|
| +
|
| +#include "base/basictypes.h"
|
| +#include "base/memory/scoped_ptr.h"
|
| +
|
| +namespace extensions {
|
| +
|
| +class SessionId {
|
| + public:
|
| + // Returns a SessionId, representing either a local or a foreign session.
|
| + // In the case that the session is local, |session_tag_| will be empty string.
|
| + // |session_string| should be in the format that ToString() would produce.
|
| + static scoped_ptr<SessionId> Parse(const std::string& session_string);
|
| +
|
| + // Constructs a SessionId object for the given session information.
|
| + // |session_tag| is the string used to uniquely identify a synced foreign
|
| + // session from the SessionModelAssociator. In the case that SessionId
|
| + // represents a local session, |session_tag_| will be the empty string. |id|
|
| + // uniquely identifies either a window or tab object in the local or the
|
| + // |session_tag| session.
|
| + SessionId(const std::string& session_tag, int id);
|
| +
|
| + // Returns true if the SessionId represents a foreign session.
|
| + bool IsForeign() const;
|
| +
|
| + // Returns the compressed std::string representation of a SessionId in the
|
| + // same format that Parse() accepts as its |session_string| parameter.
|
| + std::string ToString() const;
|
| +
|
| + const std::string& session_tag() const { return session_tag_; }
|
| + int id() const { return id_; }
|
| +
|
| + private:
|
| + // The unique identifier for a foreign session, given by the
|
| + // SessionModelAssociator.
|
| + std::string session_tag_;
|
| +
|
| + // ID corresponding to a window or tab object.
|
| + int id_;
|
| +
|
| + DISALLOW_COPY_AND_ASSIGN(SessionId);
|
| +};
|
| +
|
| +} // namespace extensions
|
| +
|
| +#endif // CHROME_BROWSER_EXTENSIONS_API_SESSIONS_SESSION_ID_H__
|
|
|