Implement org.open_power.OCC.PassThrough
This d-bus interface is implemented by the
open_power::occ::pass_through::PassThrough class.
Change-Id: I6bce9e609b7b977418bcfee15e97432cb7d9e6b3
Signed-off-by: Deepak Kodihalli <dkodihal@in.ibm.com>
diff --git a/occ_pass_through.cpp b/occ_pass_through.cpp
new file mode 100644
index 0000000..aef0e04
--- /dev/null
+++ b/occ_pass_through.cpp
@@ -0,0 +1,53 @@
+#include <memory>
+#include <iostream>
+#include "occ_pass_through.hpp"
+#include "occ_finder.hpp"
+
+namespace open_power
+{
+namespace occ
+{
+namespace pass_through
+{
+
+void run()
+{
+ auto bus = sdbusplus::bus::new_default();
+ sdbusplus::server::manager::manager objManager(bus,
+ OCC_PASS_THROUGH_ROOT);
+
+ std::vector<std::unique_ptr<PassThrough>> objects;
+ auto occs = open_power::occ::finder::get();
+
+ for (const auto& occ : occs)
+ {
+ auto occPassThrough = object(occ);
+ objects.emplace_back(
+ std::make_unique<PassThrough>(bus, occPassThrough.c_str()));
+ }
+ bus.request_name(OCC_PASS_THROUGH_BUSNAME);
+
+ while (true)
+ {
+ bus.process_discard();
+ bus.wait();
+ }
+}
+
+PassThrough::PassThrough(
+ sdbusplus::bus::bus& bus,
+ const char* path) :
+ Iface(bus, path),
+ path(path)
+{
+ this->emit_object_added();
+}
+
+std::vector<int32_t> PassThrough::send(std::vector<int32_t> command)
+{
+ return {};
+}
+
+} // namespace pass_through
+} // namespace occ
+} // namespace open_power