| OLD | NEW |
| (Empty) |
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | |
| 2 // Use of this source code is governed by a BSD-style license that can be | |
| 3 // found in the LICENSE file. | |
| 4 | |
| 5 #ifndef MOJO_SERVICES_CATALOG_STORE_H_ | |
| 6 #define MOJO_SERVICES_CATALOG_STORE_H_ | |
| 7 | |
| 8 #include "base/memory/scoped_ptr.h" | |
| 9 #include "base/values.h" | |
| 10 | |
| 11 namespace catalog { | |
| 12 | |
| 13 // Implemented by an object that provides storage for the application catalog | |
| 14 // (e.g. in Chrome, preferences). The Catalog is the canonical owner of the | |
| 15 // contents of the store, so no one else must modify its contents. | |
| 16 class Store { | |
| 17 public: | |
| 18 // Value is an integer. | |
| 19 static const char kManifestVersionKey[]; | |
| 20 // Value is a string. | |
| 21 static const char kNameKey[]; | |
| 22 // Value is a string. | |
| 23 static const char kQualifierKey[]; | |
| 24 // Value is a string. | |
| 25 static const char kDisplayNameKey[]; | |
| 26 // Value is a dictionary. | |
| 27 static const char kCapabilitiesKey[]; | |
| 28 // Value is a dictionary. | |
| 29 static const char kCapabilities_ProvidedKey[]; | |
| 30 // Value is a dictionary. | |
| 31 static const char kCapabilities_RequiredKey[]; | |
| 32 // Value is a list. | |
| 33 static const char kCapabilities_ClassesKey[]; | |
| 34 // Value is a list. | |
| 35 static const char kCapabilities_InterfacesKey[]; | |
| 36 // Value is a list. | |
| 37 static const char kApplicationsKey[]; | |
| 38 | |
| 39 virtual ~Store() {} | |
| 40 | |
| 41 // Called during initialization to construct the Catalog's catalog. | |
| 42 // Returns a serialized list of the apps. Each entry in the returned list | |
| 43 // corresponds to an app (as a dictionary). Each dictionary has a name, | |
| 44 // display name and capabilities. The return value is owned by the caller. | |
| 45 virtual const base::ListValue* GetStore() = 0; | |
| 46 | |
| 47 // Write the catalog to the store. Called when the Catalog learns of a newly | |
| 48 // encountered application. | |
| 49 virtual void UpdateStore(scoped_ptr<base::ListValue> store) = 0; | |
| 50 }; | |
| 51 | |
| 52 } // namespace catalog | |
| 53 | |
| 54 #endif // MOJO_SERVICES_CATALOG_STORE_H_ | |
| OLD | NEW |