1*6b492fbfSDeepak Kodihalli #include <memory> 2*6b492fbfSDeepak Kodihalli #include <iostream> 3*6b492fbfSDeepak Kodihalli #include "occ_pass_through.hpp" 4*6b492fbfSDeepak Kodihalli #include "occ_finder.hpp" 5*6b492fbfSDeepak Kodihalli 6*6b492fbfSDeepak Kodihalli namespace open_power 7*6b492fbfSDeepak Kodihalli { 8*6b492fbfSDeepak Kodihalli namespace occ 9*6b492fbfSDeepak Kodihalli { 10*6b492fbfSDeepak Kodihalli namespace pass_through 11*6b492fbfSDeepak Kodihalli { 12*6b492fbfSDeepak Kodihalli 13*6b492fbfSDeepak Kodihalli void run() 14*6b492fbfSDeepak Kodihalli { 15*6b492fbfSDeepak Kodihalli auto bus = sdbusplus::bus::new_default(); 16*6b492fbfSDeepak Kodihalli sdbusplus::server::manager::manager objManager(bus, 17*6b492fbfSDeepak Kodihalli OCC_PASS_THROUGH_ROOT); 18*6b492fbfSDeepak Kodihalli 19*6b492fbfSDeepak Kodihalli std::vector<std::unique_ptr<PassThrough>> objects; 20*6b492fbfSDeepak Kodihalli auto occs = open_power::occ::finder::get(); 21*6b492fbfSDeepak Kodihalli 22*6b492fbfSDeepak Kodihalli for (const auto& occ : occs) 23*6b492fbfSDeepak Kodihalli { 24*6b492fbfSDeepak Kodihalli auto occPassThrough = object(occ); 25*6b492fbfSDeepak Kodihalli objects.emplace_back( 26*6b492fbfSDeepak Kodihalli std::make_unique<PassThrough>(bus, occPassThrough.c_str())); 27*6b492fbfSDeepak Kodihalli } 28*6b492fbfSDeepak Kodihalli bus.request_name(OCC_PASS_THROUGH_BUSNAME); 29*6b492fbfSDeepak Kodihalli 30*6b492fbfSDeepak Kodihalli while (true) 31*6b492fbfSDeepak Kodihalli { 32*6b492fbfSDeepak Kodihalli bus.process_discard(); 33*6b492fbfSDeepak Kodihalli bus.wait(); 34*6b492fbfSDeepak Kodihalli } 35*6b492fbfSDeepak Kodihalli } 36*6b492fbfSDeepak Kodihalli 37*6b492fbfSDeepak Kodihalli PassThrough::PassThrough( 38*6b492fbfSDeepak Kodihalli sdbusplus::bus::bus& bus, 39*6b492fbfSDeepak Kodihalli const char* path) : 40*6b492fbfSDeepak Kodihalli Iface(bus, path), 41*6b492fbfSDeepak Kodihalli path(path) 42*6b492fbfSDeepak Kodihalli { 43*6b492fbfSDeepak Kodihalli this->emit_object_added(); 44*6b492fbfSDeepak Kodihalli } 45*6b492fbfSDeepak Kodihalli 46*6b492fbfSDeepak Kodihalli std::vector<int32_t> PassThrough::send(std::vector<int32_t> command) 47*6b492fbfSDeepak Kodihalli { 48*6b492fbfSDeepak Kodihalli return {}; 49*6b492fbfSDeepak Kodihalli } 50*6b492fbfSDeepak Kodihalli 51*6b492fbfSDeepak Kodihalli } // namespace pass_through 52*6b492fbfSDeepak Kodihalli } // namespace occ 53*6b492fbfSDeepak Kodihalli } // namespace open_power 54