Index: mojo/shell/identity.h |
diff --git a/mojo/shell/identity.h b/mojo/shell/identity.h |
index f60b2c5061f1beecea47819c6baa904809856b8b..fe04cb980362e3a1b0fed418c76d6b5b25006302 100644 |
--- a/mojo/shell/identity.h |
+++ b/mojo/shell/identity.h |
@@ -5,6 +5,7 @@ |
#ifndef MOJO_SHELL_IDENTITY_H_ |
#define MOJO_SHELL_IDENTITY_H_ |
+#include "mojo/shell/capability_filter.h" |
#include "url/gurl.h" |
namespace mojo { |
@@ -17,16 +18,36 @@ namespace shell { |
// grouping for a given application URL. For example, the core services are |
// grouped into "Core"/"Files"/"Network"/etc. using qualifier; content handler's |
// qualifier is derived from the origin of the content. |
-struct Identity { |
+// If a CapabilityFilter is not specified via the constructor, an instance of |
+// Identity is constructed with a permissive filter (allowing connection to |
yzshen1
2015/09/18 21:44:04
Please update this comment.
yzshen1
2015/09/18 21:51:08
(You probably didn't notice this comment. :))
|
+// all apps and services). |
+class Identity { |
+ public: |
Identity(); |
- Identity(const GURL& in_url, const std::string& in_qualifier); |
explicit Identity(const GURL& in_url); |
+ Identity(const GURL& in_url, const std::string& in_qualifier); |
+ Identity(const GURL& in_url, |
+ const std::string& in_qualifier, |
+ CapabilityFilter filter); |
+ ~Identity(); |
bool operator<(const Identity& other) const; |
- bool is_null() const { return url.is_empty(); } |
- |
- GURL url; |
- std::string qualifier; |
+ bool is_null() const { return url_.is_empty(); } |
+ |
+ const GURL& url() const { return url_; } |
+ const std::string& qualifier() const { return qualifier_; } |
+ const CapabilityFilter& filter() const { return filter_; } |
+ |
+ private: |
+ GURL url_; |
+ std::string qualifier_; |
+ |
+ // TODO(beng): CapabilityFilter is not currently included in equivalence |
+ // checks for Identity since we're not currently clear on the |
+ // policy for instance disambiguation. Need to figure this out. |
+ // This field is supplied because it is logically part of the |
+ // instance identity of an application. |
+ CapabilityFilter filter_; |
}; |
} // namespace shell |