summaryrefslogtreecommitdiffstats
path: root/mojo/services/catalog/entry.h
diff options
context:
space:
mode:
Diffstat (limited to 'mojo/services/catalog/entry.h')
-rw-r--r--mojo/services/catalog/entry.h35
1 files changed, 29 insertions, 6 deletions
diff --git a/mojo/services/catalog/entry.h b/mojo/services/catalog/entry.h
index 4b7ffa8..ac5ace5 100644
--- a/mojo/services/catalog/entry.h
+++ b/mojo/services/catalog/entry.h
@@ -7,22 +7,45 @@
#include <string>
+#include "base/memory/scoped_ptr.h"
#include "mojo/shell/public/cpp/capabilities.h"
+namespace base {
+class DictionaryValue;
+}
+
namespace catalog {
// Static information about an application package known to the Catalog.
-struct Entry {
+class Entry {
+ public:
Entry();
- Entry(const Entry& other);
+ explicit Entry(const Entry& other);
~Entry();
+ scoped_ptr<base::DictionaryValue> Serialize() const;
+ static scoped_ptr<Entry> Deserialize(const base::DictionaryValue& value);
+
bool operator==(const Entry& other) const;
- std::string name;
- std::string qualifier;
- std::string display_name;
- mojo::CapabilitySpec capabilities;
+ const std::string& name() const { return name_; }
+ void set_name(const std::string& name) { name_ = name; }
+ const std::string& qualifier() const { return qualifier_; }
+ void set_qualifier(const std::string& qualifier) { qualifier_ = qualifier; }
+ const std::string& display_name() const { return display_name_; }
+ void set_display_name(const std::string& display_name) {
+ display_name_ = display_name;
+ }
+ const mojo::CapabilitySpec& capabilities() const { return capabilities_; }
+ void set_capabilities(const mojo::CapabilitySpec& capabilities) {
+ capabilities_ = capabilities;
+ }
+
+ private:
+ std::string name_;
+ std::string qualifier_;
+ std::string display_name_;
+ mojo::CapabilitySpec capabilities_;
};
} // namespace catalog