Initial commit for phosphor-nvme

Add initial build files and the main module

Signed-off-by: Tony Lee <tony.lee@quantatw.com>
Change-Id: I80ed7acc369adee881b70e68c326049056589dcd
diff --git a/nvme_manager.cpp b/nvme_manager.cpp
new file mode 100644
index 0000000..1f946f4
--- /dev/null
+++ b/nvme_manager.cpp
@@ -0,0 +1,40 @@
+#include "nvme_manager.hpp"
+
+#include <phosphor-logging/elog-errors.hpp>
+#include <phosphor-logging/log.hpp>
+
+#define MONITOR_INTERVAL_SECONDS 1
+namespace phosphor
+{
+namespace nvme
+{
+
+using namespace std;
+using namespace phosphor::logging;
+
+void Nvme::run()
+{
+    init();
+
+    std::function<void()> callback(std::bind(&Nvme::read, this));
+    try
+    {
+        u_int64_t interval = MONITOR_INTERVAL_SECONDS * 1000000;
+        _timer.restart(std::chrono::microseconds(interval));
+    }
+    catch (const std::exception& e)
+    {
+        log<level::ERR>("Error in polling loop. "),
+            entry("ERROR = %s", e.what());
+    }
+}
+
+void Nvme::init()
+{
+}
+
+void Nvme::read()
+{
+}
+} // namespace nvme
+} // namespace phosphor