Implement OCC status interface

Change-Id: I43822cb28bc2d23398fb09352c9876e169c666f7
Signed-off-by: Vishwanatha Subbanna <vishwa@linux.vnet.ibm.com>
diff --git a/occ_status.hpp b/occ_status.hpp
new file mode 100644
index 0000000..068f83b
--- /dev/null
+++ b/occ_status.hpp
@@ -0,0 +1,48 @@
+#pragma once
+
+#include <sdbusplus/bus.hpp>
+#include <sdbusplus/server/object.hpp>
+#include <org/open_power/OCC/Status/server.hpp>
+namespace open_power
+{
+namespace occ
+{
+
+namespace Base = sdbusplus::org::open_power::OCC::server;
+using Interface = sdbusplus::server::object::object<Base::Status>;
+
+/** @class Status
+ *  @brief Implementation of OCC Active Status
+ */
+class Status : public Interface
+{
+    public:
+        Status() = delete;
+        ~Status() = default;
+        Status(const Status&) = delete;
+        Status& operator=(const Status&) = delete;
+        Status(Status&&) = default;
+        Status& operator=(Status&&) = default;
+
+        /** @brief Constructs the Status object
+         *
+         *  @param[in] bus  - DBus bus to attach to
+         *  @param[in] path - DBus object path
+         */
+        Status(sdbusplus::bus::bus& bus, const char* path)
+            : Interface(bus, path)
+        {
+            // Nothing to do here
+        }
+
+        /** @brief SET OccActive to True or False
+         *
+         *  @param[in] value - Intended value
+         *
+         *  @return          - Updated value of the property
+         */
+        bool occActive(bool value) override;
+};
+
+} // namespace occ
+} // namespace open_power