Tom Joseph | 0b14c47 | 2018-09-30 01:42:59 +0530 | [diff] [blame] | 1 | #pragma once |
| 2 | |
Tom Joseph | f5bd891 | 2018-11-19 09:49:21 +0530 | [diff] [blame] | 3 | #include "config.h" |
Patrick Williams | 9638afb | 2021-02-22 17:16:24 -0600 | [diff] [blame] | 4 | |
Tom Joseph | 0b14c47 | 2018-09-30 01:42:59 +0530 | [diff] [blame] | 5 | #include "ldap_mapper_entry.hpp" |
| 6 | |
Patrick Williams | 9638afb | 2021-02-22 17:16:24 -0600 | [diff] [blame] | 7 | #include <filesystem> |
| 8 | |
Tom Joseph | 0b14c47 | 2018-09-30 01:42:59 +0530 | [diff] [blame] | 9 | namespace phosphor |
| 10 | { |
| 11 | namespace user |
| 12 | { |
| 13 | |
Tom Joseph | 0b14c47 | 2018-09-30 01:42:59 +0530 | [diff] [blame] | 14 | /** @brief Serialize and persist LDAP privilege mapper D-Bus object |
| 15 | * |
| 16 | * @param[in] entry - LDAP privilege mapper entry |
| 17 | * @param[in] id - filename of the persisted LDAP mapper entry |
Tom Joseph | f5bd891 | 2018-11-19 09:49:21 +0530 | [diff] [blame] | 18 | * @param[in] dir - pathname of directory where the serialized privilege |
| 19 | * mappings are stored. |
Tom Joseph | 0b14c47 | 2018-09-30 01:42:59 +0530 | [diff] [blame] | 20 | * |
Gunnar Mills | 703131f | 2020-10-28 14:26:33 -0500 | [diff] [blame] | 21 | * @return std::filesystem::path - pathname of persisted error file |
Tom Joseph | 0b14c47 | 2018-09-30 01:42:59 +0530 | [diff] [blame] | 22 | */ |
Gunnar Mills | 703131f | 2020-10-28 14:26:33 -0500 | [diff] [blame] | 23 | std::filesystem::path serialize(const LDAPMapperEntry& entry, Id id, |
| 24 | const std::filesystem::path& dir); |
Tom Joseph | 0b14c47 | 2018-09-30 01:42:59 +0530 | [diff] [blame] | 25 | |
| 26 | /** @brief Deserialize a persisted LDAP privilege mapper into a D-Bus object |
| 27 | * |
| 28 | * @param[in] path - pathname of persisted file |
| 29 | * @param[in/out] entry - reference to LDAP privilege mapper entry object |
| 30 | * which is the target of deserialization. |
| 31 | * |
| 32 | * @return bool - true if the deserialization was successful, false otherwise. |
| 33 | */ |
Gunnar Mills | 703131f | 2020-10-28 14:26:33 -0500 | [diff] [blame] | 34 | bool deserialize(const std::filesystem::path& path, LDAPMapperEntry& entry); |
Tom Joseph | 0b14c47 | 2018-09-30 01:42:59 +0530 | [diff] [blame] | 35 | |
| 36 | } // namespace user |
| 37 | } // namespace phosphor |