blob: 84646c6a6d7ace678308e9f3a01a1df70bda6998 [file] [log] [blame]
Vishwanatha Subbannaf00182e2017-10-16 19:08:59 +05301#pragma once
2
3#include <experimental/filesystem>
4
5namespace phosphor
6{
7namespace network
8{
9namespace dns
10{
11namespace updater
12{
13
14namespace fs = std::experimental::filesystem;
15
16constexpr auto RESOLV_CONF = "/etc/resolv.conf";
17
18/** @brief Reads DNS entries supplied by DHCP and updates specified file
19 *
20 * @param[in] inFile - File having DNS entries supplied by DHCP
21 * @param[in] outFile - File to write the nameserver entries to
22 */
Vishwanatha Subbanna18891c62017-10-17 15:22:46 +053023void updateDNSEntries(const fs::path& inFile,
24 const fs::path& outFile);
Vishwanatha Subbannaf00182e2017-10-16 19:08:59 +053025
26/** @brief User callback handler invoked by inotify watcher
27 *
28 * Needed to enable production and test code so that the right
29 * callback functions could be implemented
30 *
31 * @param[in] inFile - File having DNS entries supplied by DHCP
32 */
33inline void processDNSEntries(const fs::path& inFile)
34{
Vishwanatha Subbanna18891c62017-10-17 15:22:46 +053035 return updateDNSEntries(inFile, RESOLV_CONF);
Vishwanatha Subbannaf00182e2017-10-16 19:08:59 +053036}
37
38} // namepsace updater
39} // namepsace dns
40} // namespace network
41} // namespace phosphor