1 #include "config.h"
2 #include "ldap_configuration.hpp"
3 #include <experimental/filesystem>
4 #include <phosphor-logging/log.hpp>
5 #include <phosphor-logging/elog-errors.hpp>
6 #include <sdbusplus/bus.hpp>
7 #include <xyz/openbmc_project/Common/error.hpp>
8 
9 int main(int argc, char* argv[])
10 {
11     using namespace phosphor::logging;
12     using namespace sdbusplus::xyz::openbmc_project::Common::Error;
13     namespace fs = std::experimental::filesystem;
14     fs::path configDir = fs::path(LDAP_CONFIG_FILE).parent_path();
15 
16     if (!fs::exists(configDir / phosphor::ldap::defaultNslcdFile) ||
17         !fs::exists(configDir / phosphor::ldap::nsSwitchFile))
18     {
19         log<level::ERR>("Error starting LDAP Config App, configfile(s) are "
20                         "missing, exiting!!!");
21         elog<InternalFailure>();
22     }
23     auto bus = sdbusplus::bus::new_default();
24 
25     // Add sdbusplus ObjectManager for the 'root' path of the LDAP config.
26     sdbusplus::server::manager::manager objManager(bus, LDAP_CONFIG_ROOT);
27 
28     phosphor::ldap::ConfigMgr mgr(bus, LDAP_CONFIG_ROOT, LDAP_CONFIG_FILE,
29                                   LDAP_CONF_PERSIST_PATH, TLS_CACERT_FILE);
30 
31     bus.request_name(LDAP_CONFIG_BUSNAME);
32 
33     while (true)
34     {
35         bus.process_discard();
36         bus.wait();
37     }
38 
39     return 0;
40 }
41