ssifbridge: Replace ssifbridge with C++ version

Rewrite the C-style ssifbridge in modern C++.

Test:
On linux host, run 'ipmitool mc info' or 'ipmitool fru print'

Change-Id: I5970853abbf4b2cfe893c76e819a22047baaa4a4
Signed-off-by: Dung Cao <dung@os.amperecomputing.com>
diff --git a/meson.build b/meson.build
index 08e5b72..bf8f01d 100644
--- a/meson.build
+++ b/meson.build
@@ -1,22 +1,23 @@
-project('ssifbridge', 'c',
-        default_options: [
-            'buildtype=debugoptimized',
-            'warning_level=3',
-            'werror=true',
-           ],
-        version: '1.0',
+project('ssifbridge', 'cpp',
+    default_options: [
+        'buildtype=debugoptimized',
+        'warning_level=3',
+        'werror=true',
+        'cpp_std=c++17'
+    ],
+    version: '1.0',
 )
 
-# Wno-psabi reduces the number of "Note:" messages when cross-compiling some STL
-# stuff for ARM. See https://stackoverflow.com/questions/48149323/strange-gcc-warning-when-compiling-qt-project
-# Basically, gcc 6 and gcc 7 are not ABI compatible, but since the whole OpenBMC
-# project uses the same compiler, we can safely ignmore these info notes.
-add_project_arguments('-Wno-psabi', language: 'c')
+add_project_arguments('-Wno-psabi', language: 'cpp')
 
 deps = [dependency('libsystemd', version : '>=221'),
         dependency('systemd'),
-       ]
+        dependency('phosphor-logging'),
+        dependency('sdbusplus'),
+        dependency('threads')
 
-executable('ssifbridged','ssifbridged.c',
+]
+
+executable('ssifbridged','ssifbridged.cpp',
            dependencies: deps,
            install: true)