1 #pragma once
2 
3 #include <filesystem>
4 
5 namespace phosphor
6 {
7 namespace network
8 {
9 namespace dns
10 {
11 namespace updater
12 {
13 
14 namespace fs = std::filesystem;
15 
16 constexpr 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  */
23 void updateDNSEntries(const fs::path& inFile, const fs::path& outFile);
24 
25 /** @brief User callback handler invoked by inotify watcher
26  *
27  *  Needed to enable production and test code so that the right
28  *  callback functions could be implemented
29  *
30  *  @param[in] inFile - File having DNS entries supplied by DHCP
31  */
32 inline void processDNSEntries(const fs::path& inFile)
33 {
34     return updateDNSEntries(inFile, RESOLV_CONF);
35 }
36 
37 } // namespace updater
38 } // namespace dns
39 } // namespace network
40 } // namespace phosphor
41