phosphor-health-monitor: add new D-Bus interface

This commit introduces following changes -
- A new Metrics Value Interface.
- An interface to reset the metrics, if needed.
- Common Threshold interface so it can be used in Metrics and Sensors.

For more detail, please refer to design -
https://gerrit.openbmc.org/c/openbmc/docs/+/64917

Unit Test: meson build passes.

Change-Id: I014a047f9db6fe470124baa41dcce93caf7ceb4b
Signed-off-by: Jagpal Singh Gill <paligill@gmail.com>
diff --git a/gen/xyz/openbmc_project/Common/Threshold/meson.build b/gen/xyz/openbmc_project/Common/Threshold/meson.build
new file mode 100644
index 0000000..0bf3482
--- /dev/null
+++ b/gen/xyz/openbmc_project/Common/Threshold/meson.build
@@ -0,0 +1,15 @@
+# Generated file; do not modify.
+generated_sources += custom_target(
+    'xyz/openbmc_project/Common/Threshold__cpp'.underscorify(),
+    input: [ '../../../../../yaml/xyz/openbmc_project/Common/Threshold.interface.yaml',  ],
+    output: [ 'common.hpp', 'server.cpp', 'server.hpp', 'aserver.hpp', 'client.hpp',  ],
+    depend_files: sdbusplusplus_depfiles,
+    command: [
+        sdbuspp_gen_meson_prog, '--command', 'cpp',
+        '--output', meson.current_build_dir(),
+        '--tool', sdbusplusplus_prog,
+        '--directory', meson.current_source_dir() / '../../../../../yaml',
+        'xyz/openbmc_project/Common/Threshold',
+    ],
+)
+
diff --git a/gen/xyz/openbmc_project/Common/meson.build b/gen/xyz/openbmc_project/Common/meson.build
index 7004139..95ff8d4 100644
--- a/gen/xyz/openbmc_project/Common/meson.build
+++ b/gen/xyz/openbmc_project/Common/meson.build
@@ -163,6 +163,21 @@
     ],
 )
 
+subdir('Threshold')
+generated_others += custom_target(
+    'xyz/openbmc_project/Common/Threshold__markdown'.underscorify(),
+    input: [ '../../../../yaml/xyz/openbmc_project/Common/Threshold.interface.yaml',  ],
+    output: [ 'Threshold.md' ],
+    depend_files: sdbusplusplus_depfiles,
+    command: [
+        sdbuspp_gen_meson_prog, '--command', 'markdown',
+        '--output', meson.current_build_dir(),
+        '--tool', sdbusplusplus_prog,
+        '--directory', meson.current_source_dir() / '../../../../yaml',
+        'xyz/openbmc_project/Common/Threshold',
+    ],
+)
+
 subdir('UUID')
 generated_others += custom_target(
     'xyz/openbmc_project/Common/UUID__markdown'.underscorify(),
diff --git a/gen/xyz/openbmc_project/Metrics/Value/meson.build b/gen/xyz/openbmc_project/Metrics/Value/meson.build
new file mode 100644
index 0000000..f22b1f2
--- /dev/null
+++ b/gen/xyz/openbmc_project/Metrics/Value/meson.build
@@ -0,0 +1,15 @@
+# Generated file; do not modify.
+generated_sources += custom_target(
+    'xyz/openbmc_project/Metrics/Value__cpp'.underscorify(),
+    input: [ '../../../../../yaml/xyz/openbmc_project/Metrics/Value.interface.yaml',  ],
+    output: [ 'common.hpp', 'server.cpp', 'server.hpp', 'aserver.hpp', 'client.hpp',  ],
+    depend_files: sdbusplusplus_depfiles,
+    command: [
+        sdbuspp_gen_meson_prog, '--command', 'cpp',
+        '--output', meson.current_build_dir(),
+        '--tool', sdbusplusplus_prog,
+        '--directory', meson.current_source_dir() / '../../../../../yaml',
+        'xyz/openbmc_project/Metrics/Value',
+    ],
+)
+
diff --git a/gen/xyz/openbmc_project/Metrics/meson.build b/gen/xyz/openbmc_project/Metrics/meson.build
new file mode 100644
index 0000000..1dd738e
--- /dev/null
+++ b/gen/xyz/openbmc_project/Metrics/meson.build
@@ -0,0 +1,16 @@
+# Generated file; do not modify.
+subdir('Value')
+generated_others += custom_target(
+    'xyz/openbmc_project/Metrics/Value__markdown'.underscorify(),
+    input: [ '../../../../yaml/xyz/openbmc_project/Metrics/Value.interface.yaml',  ],
+    output: [ 'Value.md' ],
+    depend_files: sdbusplusplus_depfiles,
+    command: [
+        sdbuspp_gen_meson_prog, '--command', 'markdown',
+        '--output', meson.current_build_dir(),
+        '--tool', sdbusplusplus_prog,
+        '--directory', meson.current_source_dir() / '../../../../yaml',
+        'xyz/openbmc_project/Metrics/Value',
+    ],
+)
+
diff --git a/gen/xyz/openbmc_project/meson.build b/gen/xyz/openbmc_project/meson.build
index f03b941..573a389 100644
--- a/gen/xyz/openbmc_project/meson.build
+++ b/gen/xyz/openbmc_project/meson.build
@@ -88,6 +88,7 @@
 subdir('Logging')
 subdir('MCTP')
 subdir('Memory')
+subdir('Metrics')
 subdir('Network')
 subdir('Nvme')
 subdir('Object')