Add CSR interface in PLDM namespace

Adding this interface in PLDM namespace to pass CSR string to
PLDM to get signed certificate from host which will be used by
management console to establish secure connection to host.

Signed-off-by: Ravi Teja <raviteja28031990@gmail.com>
Change-Id: I337a4d259216f5fcffccc326228b176b749a3e7c
diff --git a/gen/xyz/openbmc_project/PLDM/Provider/Certs/Authority/CSR/meson.build b/gen/xyz/openbmc_project/PLDM/Provider/Certs/Authority/CSR/meson.build
new file mode 100644
index 0000000..3bbd277
--- /dev/null
+++ b/gen/xyz/openbmc_project/PLDM/Provider/Certs/Authority/CSR/meson.build
@@ -0,0 +1,14 @@
+# Generated file; do not modify.
+generated_sources += custom_target(
+    'xyz/openbmc_project/PLDM/Provider/Certs/Authority/CSR__cpp'.underscorify(),
+    input: [ meson.source_root() / 'xyz/openbmc_project/PLDM/Provider/Certs/Authority/CSR.interface.yaml',  ],
+    output: [ 'server.cpp', 'server.hpp', 'client.hpp',  ],
+    command: [
+        sdbuspp_gen_meson_prog, '--command', 'cpp',
+        '--output', meson.current_build_dir(),
+        '--tool', sdbusplusplus_prog,
+        '--directory', meson.source_root(),
+        'xyz/openbmc_project/PLDM/Provider/Certs/Authority/CSR',
+    ],
+)
+
diff --git a/gen/xyz/openbmc_project/PLDM/Provider/Certs/Authority/meson.build b/gen/xyz/openbmc_project/PLDM/Provider/Certs/Authority/meson.build
new file mode 100644
index 0000000..993c775
--- /dev/null
+++ b/gen/xyz/openbmc_project/PLDM/Provider/Certs/Authority/meson.build
@@ -0,0 +1,16 @@
+# Generated file; do not modify.
+subdir('CSR')
+generated_others += custom_target(
+    'xyz/openbmc_project/PLDM/Provider/Certs/Authority/CSR__markdown'.underscorify(),
+    input: [ meson.source_root() / 'xyz/openbmc_project/PLDM/Provider/Certs/Authority/CSR.interface.yaml',  ],
+    output: [ 'CSR.md' ],
+    command: [
+        sdbuspp_gen_meson_prog, '--command', 'markdown',
+        '--output', meson.current_build_dir(),
+        '--tool', sdbusplusplus_prog,
+        '--directory', meson.source_root(),
+        'xyz/openbmc_project/PLDM/Provider/Certs/Authority/CSR',
+    ],
+    build_by_default: true,
+)
+
diff --git a/gen/xyz/openbmc_project/PLDM/Provider/Certs/meson.build b/gen/xyz/openbmc_project/PLDM/Provider/Certs/meson.build
new file mode 100644
index 0000000..978cd32
--- /dev/null
+++ b/gen/xyz/openbmc_project/PLDM/Provider/Certs/meson.build
@@ -0,0 +1,2 @@
+# Generated file; do not modify.
+subdir('Authority')
diff --git a/gen/xyz/openbmc_project/PLDM/Provider/meson.build b/gen/xyz/openbmc_project/PLDM/Provider/meson.build
new file mode 100644
index 0000000..d54ab3b
--- /dev/null
+++ b/gen/xyz/openbmc_project/PLDM/Provider/meson.build
@@ -0,0 +1,2 @@
+# Generated file; do not modify.
+subdir('Certs')
diff --git a/gen/xyz/openbmc_project/PLDM/meson.build b/gen/xyz/openbmc_project/PLDM/meson.build
index b34db39..9087286 100644
--- a/gen/xyz/openbmc_project/PLDM/meson.build
+++ b/gen/xyz/openbmc_project/PLDM/meson.build
@@ -29,6 +29,7 @@
     build_by_default: true,
 )
 
+subdir('Provider')
 subdir('Requester')
 generated_others += custom_target(
     'xyz/openbmc_project/PLDM/Requester__markdown'.underscorify(),
diff --git a/xyz/openbmc_project/PLDM/Provider/Certs/Authority/CSR.interface.yaml b/xyz/openbmc_project/PLDM/Provider/Certs/Authority/CSR.interface.yaml
new file mode 100644
index 0000000..e2bf5a7
--- /dev/null
+++ b/xyz/openbmc_project/PLDM/Provider/Certs/Authority/CSR.interface.yaml
@@ -0,0 +1,17 @@
+description: >
+    Implement this interface to pass CSR string to PLDM
+    to get CSR signed by host.
+
+    xyz.openbmc_project.Certs.ca.authority.Manager object implements
+    this interface which is added in the below commit
+    https://gerrit.openbmc-project.xyz/c/openbmc/phosphor-dbus-interfaces/+/31808
+
+properties:
+    - name: CSR
+      type: string
+      description: >
+          Certificate signing request content.
+          Should be a valid PEM encoded CSR string.
+          It's a const property.
+      flags:
+        - const