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__ |