| Index: chrome/browser/extensions/api/sessions/session_id.h
|
| diff --git a/chrome/browser/extensions/api/messaging/native_messaging_host_manifest.h b/chrome/browser/extensions/api/sessions/session_id.h
|
| similarity index 18%
|
| copy from chrome/browser/extensions/api/messaging/native_messaging_host_manifest.h
|
| copy to chrome/browser/extensions/api/sessions/session_id.h
|
| index 5931e194500fedaa85b5907d075294da59504755..b3fdccd009a62ad8b28ebb1c9337690bf5fb96bd 100644
|
| --- a/chrome/browser/extensions/api/messaging/native_messaging_host_manifest.h
|
| +++ b/chrome/browser/extensions/api/sessions/session_id.h
|
| @@ -2,61 +2,52 @@
|
| // 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_MESSAGING_NATIVE_MESSAGING_HOST_MANIFEST_H_
|
| -#define CHROME_BROWSER_EXTENSIONS_API_MESSAGING_NATIVE_MESSAGING_HOST_MANIFEST_H_
|
| +#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/files/file_path.h"
|
| #include "base/memory/scoped_ptr.h"
|
| -#include "extensions/common/url_pattern_set.h"
|
| -
|
| -namespace base {
|
| -class DictionaryValue;
|
| -}
|
|
|
| namespace extensions {
|
|
|
| -class NativeMessagingHostManifest {
|
| +class SessionId {
|
| public:
|
| - enum HostInterface {
|
| - HOST_INTERFACE_STDIO,
|
| - };
|
| + // 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);
|
|
|
| - ~NativeMessagingHostManifest();
|
| + // 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);
|
|
|
| - // Verifies that the name is valid. Valid names must match regular expression
|
| - // "([a-z0-9_]+.)*[a-z0-9_]+".
|
| - static bool IsValidName(const std::string& name);
|
| + // Returns true if the SessionId represents a foreign session.
|
| + bool IsForeign() const;
|
|
|
| - // Load manifest file from |file_path|.
|
| - static scoped_ptr<NativeMessagingHostManifest> Load(
|
| - const base::FilePath& file_path,
|
| - std::string* error_message);
|
| + // 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& name() const { return name_; }
|
| - const std::string& description() const { return description_; }
|
| - HostInterface interface() const { return interface_; }
|
| - const base::FilePath& path() const { return path_; }
|
| - const URLPatternSet& allowed_origins() const { return allowed_origins_; }
|
| + const std::string& session_tag() const { return session_tag_; }
|
| + int id() const { return id_; }
|
|
|
| private:
|
| - NativeMessagingHostManifest();
|
| -
|
| - // Parses manifest |dictionary|. In case of an error sets |error_message| and
|
| - // returns false.
|
| - bool Parse(base::DictionaryValue* dictionary, std::string* error_message);
|
| + // The unique identifier for a foreign session, given by the
|
| + // SessionModelAssociator.
|
| + std::string session_tag_;
|
|
|
| - std::string name_;
|
| - std::string description_;
|
| - HostInterface interface_;
|
| - base::FilePath path_;
|
| - URLPatternSet allowed_origins_;
|
| + // ID corresponding to a window or tab object.
|
| + int id_;
|
|
|
| - DISALLOW_COPY_AND_ASSIGN(NativeMessagingHostManifest);
|
| + DISALLOW_COPY_AND_ASSIGN(SessionId);
|
| };
|
|
|
| } // namespace extensions
|
|
|
| -#endif // CHROME_BROWSER_EXTENSIONS_API_MESSAGING_NATIVE_MESSAGING_HOST_MANIFEST_H_
|
| +#endif // CHROME_BROWSER_EXTENSIONS_API_SESSIONS_SESSION_ID_H__
|
|
|