diff options
author | Tom Joseph <tomjoseph@in.ibm.com> | 2018-09-30 01:42:59 +0530 |
---|---|---|
committer | Brad Bishop <bradleyb@fuzziesquirrel.com> | 2018-10-04 14:27:10 -0400 |
commit | 0b14c471fc77cbcb93f435a46878b25f57741e0e (patch) | |
tree | a0048f6956d1969c2eb9f0103fd2475a7afc6ae1 /phosphor-ldap-mapper/ldap_mapper_entry.cpp | |
parent | 536ea32ddc61bc3f5ad34eada5788797e1771832 (diff) | |
download | phosphor-user-manager-0b14c471fc77cbcb93f435a46878b25f57741e0e.tar.gz phosphor-user-manager-0b14c471fc77cbcb93f435a46878b25f57741e0e.zip |
ldap: Add persistence for LDAP mapper D-Bus objects
Change-Id: Ib8979a7c655f74c332d80e7fb221ef03e9a3f83c
Signed-off-by: Tom Joseph <tomjoseph@in.ibm.com>
Diffstat (limited to 'phosphor-ldap-mapper/ldap_mapper_entry.cpp')
-rw-r--r-- | phosphor-ldap-mapper/ldap_mapper_entry.cpp | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/phosphor-ldap-mapper/ldap_mapper_entry.cpp b/phosphor-ldap-mapper/ldap_mapper_entry.cpp index 64d3578..95f381d 100644 --- a/phosphor-ldap-mapper/ldap_mapper_entry.cpp +++ b/phosphor-ldap-mapper/ldap_mapper_entry.cpp @@ -7,6 +7,7 @@ #include "config.h" #include "ldap_mapper_entry.hpp" #include "ldap_mapper_mgr.hpp" +#include "ldap_mapper_serialize.hpp" namespace phosphor { @@ -31,6 +32,14 @@ LDAPMapperEntry::LDAPMapperEntry(sdbusplus::bus::bus &bus, const char *path, Ifaces::emit_object_added(); } +LDAPMapperEntry::LDAPMapperEntry(sdbusplus::bus::bus &bus, const char *path, + LDAPMapperMgr &parent) : + Ifaces(bus, path, true), + id(std::stol(std::experimental::filesystem::path(path).filename())), + manager(parent) +{ +} + void LDAPMapperEntry::delete_(void) { manager.deletePrivilegeMapper(id); @@ -44,7 +53,9 @@ std::string LDAPMapperEntry::groupName(std::string value) } manager.checkPrivilegeMapper(value); - return Ifaces::groupName(value); + auto val = Ifaces::groupName(value); + serialize(*this, id); + return val; } std::string LDAPMapperEntry::privilege(std::string value) @@ -55,7 +66,9 @@ std::string LDAPMapperEntry::privilege(std::string value) } manager.checkPrivilegeLevel(value); - return Ifaces::privilege(value); + auto val = Ifaces::privilege(value); + serialize(*this, id); + return val; } } // namespace user |