summaryrefslogtreecommitdiffstats
path: root/settings_manager.mako.hpp
Commit message (Collapse)AuthorAgeFilesLines
* Add array support for defautsJames Feist2019-02-151-0/+1
| | | | | | | | | | | | | | | | Based on: https://uscilab.github.io/cereal/stl_support.html To support vector we need to #include the cereal vector header. Closes #12 Tested-by: Was able to add an array default using C++ vector syntax Change-Id: I3b00c372b668ddcda69a56ede8edbc51ab2693f5 Signed-off-by: James Feist <james.feist@linux.intel.com>
* Enable Cereal class versioningVishwanatha Subbanna2017-10-041-2/+19
| | | | | | | Fixes openbmc/openbmc#2320 Change-Id: Iac2649cd5f4794e2049cbdd4eb2df874d26beaaa Signed-off-by: Vishwanatha Subbanna <vishwa@linux.vnet.ibm.com>
* cereal: Fix empty file scenarioTom Joseph2017-09-281-9/+24
| | | | | | | | | Cereal throws execption when deserialising empty file, add code to handle empty exception and default the setting to the default value. Change-Id: I466f44d07c902a27344a483b5b574e0507baa2f4 Signed-off-by: Tom Joseph <tomjoseph@in.ibm.com>
* settings objects: support multiple interfacesDeepak Kodihalli2017-08-301-74/+100
| | | | | | | | | | | | | | | A settings object had the limitation that it could implement a single, corresponding settings interface. This was found to be too restrictive because there are use-cases (such as in the boot settings area) that would simplify describing settings with objects that can implement more than one interface. This commit adds the ability for settings objects to implement multiple interfaces. The settings config yaml now should contain a list of interface(s) under each settings object. Change-Id: I90dec9e766e1afd1b0c8616e491832714bbd069d Signed-off-by: Deepak Kodihalli <dkodihal@in.ibm.com>
* Fix settingsd core dump/persistence failDeepak Kodihalli2017-08-041-0/+17
| | | | | | | | | | | | | | | | | | | | | | | The problem was seen only with network settings objects, because they had paths as following: A setting d-bus object /foo/bar/baz is persisted in the filesystem with the same path. This eases re-construction of settings objects when we restore from the filesystem. This can be a problem though when you have two objects such as - /foo/bar and /foo/bar/baz. This is because 'bar' will be treated a file in the first case, and a subdir in the second. This was causing an exception to be thrown by Cereal, because it found a dir where it was expecting a file. This also caused us to not persist certain network setting objects because we couldn't create subdirs as there were files of the same name. To solve this, suffix files with a trailing __. The __ is a safe character sequence to use, because we won't have d-bus object paths ending with this. With this the objects would be persisted as - /foo/bar__ and /foo/bar/baz__. Change-Id: I76b6a0423db1f2f51bd1b6ab2ea5f9cafd1a36d9 Signed-off-by: Deepak Kodihalli <dkodihal@in.ibm.com>
* Validate changes to default settings.Dhruvaraj Subhashchandran2017-07-281-3/+75
| | | | | | | Resolves openbmc/openbmc#1771 Change-Id: I763e811e88710425131ec504ff933e3c41c458e6 Signed-off-by: Dhruvaraj Subhashchandran <dhruvaraj@in.ibm.com>
* Fix to allow multiple properties per interfaceAndrew Geissler2017-07-061-1/+1
| | | | | | | | | | The path variable needs to be shared among all properties in an interface Resolves openbmc/openbmc#1910 Change-Id: I73f85ef9fd36eb8110f3f352fb968f062585c3d9 Signed-off-by: Andrew Geissler <andrewg@us.ibm.com>
* Persist changes to settingsDeepak Kodihalli2017-07-031-20/+136
| | | | | | | | | | | | | | | Persist changes made to settings, if any, such that those changes can be restored upon a reboot. Use Cereal for serialization of the settings' properties. Since the settings code is generated based on a system specific settings policy, generate the serialization code as well such that only relevant settings are serialized. Resolves openbmc/openbmc#1764. Change-Id: Id8bd84a9455cf4348b22f255d038b050d004eb7c Signed-off-by: Deepak Kodihalli <dkodihal@in.ibm.com>
* Fix bug in mako templateDeepak Kodihalli2017-05-311-2/+2
| | | | | | | | | Fix a bug in the settings manager mako template, which was causing some of the settings manager code (header includes and using namespaces) to not be generated appropriately. Change-Id: Ie55fb2f0d637a842dd59148fefe4e3ed6aa75808 Signed-off-by: Deepak Kodihalli <dkodihal@in.ibm.com>
* Add settings applicationDeepak Kodihalli2017-05-261-0/+105
Implement settings d-bus interfaces. Define a settings policy file (this commit checks in an example YAML based policy), based on which code for a settings manager will be generated via a python script. This settings manager composes and places desired settings objects on the bus. The policy file can be supplied by a system specific bitbake recipe. Resolves openbmc/openbmc#1487. Change-Id: Ice0d3b319d9466824cef323a6915eb20ca5cae5c Signed-off-by: Deepak Kodihalli <dkodihal@in.ibm.com>
OpenPOWER on IntegriCloud