diff --git a/.clang-tidy b/.clang-tidy
deleted file mode 100644
index 87789a8..0000000
--- a/.clang-tidy
+++ /dev/null
@@ -1,261 +0,0 @@
-Checks: '
--*,
-readability-identifier-naming,
-clang-analyzer-apiModeling.StdCLibraryFunctions,
-clang-analyzer-apiModeling.TrustNonnull,
-clang-analyzer-apiModeling.google.GTest,
-clang-analyzer-apiModeling.llvm.CastValue,
-clang-analyzer-apiModeling.llvm.ReturnValue,
-clang-analyzer-core.CallAndMessageModeling,
-clang-analyzer-core.DivideZero,
-clang-analyzer-core.DynamicTypePropagation,
-clang-analyzer-core.NonNullParamChecker,
-clang-analyzer-core.NonnilStringConstants,
-clang-analyzer-core.NullDereference,
-clang-analyzer-core.StackAddrEscapeBase,
-clang-analyzer-core.StackAddressEscape,
-clang-analyzer-core.UndefinedBinaryOperatorResult,
-clang-analyzer-core.VLASize,
-clang-analyzer-core.builtin.BuiltinFunctions,
-clang-analyzer-core.builtin.NoReturnFunctions,
-clang-analyzer-core.uninitialized.ArraySubscript,
-clang-analyzer-core.uninitialized.Assign,
-clang-analyzer-core.uninitialized.Branch,
-clang-analyzer-core.uninitialized.CapturedBlockVariable,
-clang-analyzer-core.uninitialized.UndefReturn,
-clang-analyzer-cplusplus.InnerPointer,
-clang-analyzer-cplusplus.Move,
-clang-analyzer-cplusplus.NewDelete,
-clang-analyzer-cplusplus.NewDeleteLeaks,
-clang-analyzer-cplusplus.PlacementNew,
-clang-analyzer-cplusplus.PureVirtualCall,
-clang-analyzer-cplusplus.SelfAssignment,
-clang-analyzer-cplusplus.SmartPtrModeling,
-clang-analyzer-cplusplus.VirtualCallModeling,
-clang-analyzer-deadcode.DeadStores,
-clang-analyzer-fuchsia.HandleChecker,
-clang-analyzer-nullability.NullPassedToNonnull,
-clang-analyzer-nullability.NullReturnedFromNonnull,
-clang-analyzer-nullability.NullabilityBase,
-clang-analyzer-nullability.NullableDereferenced,
-clang-analyzer-nullability.NullablePassedToNonnull,
-clang-analyzer-nullability.NullableReturnedFromNonnull,
-clang-analyzer-optin.cplusplus.UninitializedObject,
-clang-analyzer-optin.cplusplus.VirtualCall,
-clang-analyzer-optin.mpi.MPI-Checker,
-clang-analyzer-optin.osx.OSObjectCStyleCast,
-clang-analyzer-optin.osx.cocoa.localizability.EmptyLocalizationContextChecker,
-clang-analyzer-optin.osx.cocoa.localizability.NonLocalizedStringChecker,
-clang-analyzer-optin.performance.GCDAntipattern,
-clang-analyzer-optin.performance.Padding,
-clang-analyzer-optin.portability.UnixAPI,
-clang-analyzer-osx.API,
-clang-analyzer-osx.MIG,
-clang-analyzer-osx.NSOrCFErrorDerefChecker,
-clang-analyzer-osx.NumberObjectConversion,
-clang-analyzer-osx.OSObjectRetainCount,
-clang-analyzer-osx.ObjCProperty,
-clang-analyzer-osx.SecKeychainAPI,
-clang-analyzer-osx.cocoa.AtSync,
-clang-analyzer-osx.cocoa.AutoreleaseWrite,
-clang-analyzer-osx.cocoa.ClassRelease,
-clang-analyzer-osx.cocoa.Dealloc,
-clang-analyzer-osx.cocoa.IncompatibleMethodTypes,
-clang-analyzer-osx.cocoa.Loops,
-clang-analyzer-osx.cocoa.MissingSuperCall,
-clang-analyzer-osx.cocoa.NSAutoreleasePool,
-clang-analyzer-osx.cocoa.NSError,
-clang-analyzer-osx.cocoa.NilArg,
-clang-analyzer-osx.cocoa.NonNilReturnValue,
-clang-analyzer-osx.cocoa.ObjCGenerics,
-clang-analyzer-osx.cocoa.RetainCount,
-clang-analyzer-osx.cocoa.RetainCountBase,
-clang-analyzer-osx.cocoa.RunLoopAutoreleaseLeak,
-clang-analyzer-osx.cocoa.SelfInit,
-clang-analyzer-osx.cocoa.SuperDealloc,
-clang-analyzer-osx.cocoa.UnusedIvars,
-clang-analyzer-osx.cocoa.VariadicMethodTypes,
-clang-analyzer-osx.coreFoundation.CFError,
-clang-analyzer-osx.coreFoundation.CFNumber,
-clang-analyzer-osx.coreFoundation.CFRetainRelease,
-clang-analyzer-osx.coreFoundation.containers.OutOfBounds,
-clang-analyzer-osx.coreFoundation.containers.PointerSizedValues,
-clang-analyzer-security.FloatLoopCounter,
-clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling,
-clang-analyzer-security.insecureAPI.SecuritySyntaxChecker,
-clang-analyzer-security.insecureAPI.UncheckedReturn,
-clang-analyzer-security.insecureAPI.bcmp,
-clang-analyzer-security.insecureAPI.bcopy,
-clang-analyzer-security.insecureAPI.bzero,
-clang-analyzer-security.insecureAPI.decodeValueOfObjCType,
-clang-analyzer-security.insecureAPI.getpw,
-clang-analyzer-security.insecureAPI.gets,
-clang-analyzer-security.insecureAPI.mkstemp,
-clang-analyzer-security.insecureAPI.mktemp,
-clang-analyzer-security.insecureAPI.rand,
-clang-analyzer-security.insecureAPI.strcpy,
-clang-analyzer-security.insecureAPI.vfork,
-clang-analyzer-unix.API,
-clang-analyzer-unix.DynamicMemoryModeling,
-clang-analyzer-unix.Malloc,
-clang-analyzer-unix.MallocSizeof,
-clang-analyzer-unix.MismatchedDeallocator,
-clang-analyzer-unix.Vfork,
-clang-analyzer-unix.cstring.BadSizeArg,
-clang-analyzer-unix.cstring.CStringModeling,
-clang-analyzer-unix.cstring.NullArg,
-clang-analyzer-valist.CopyToSelf,
-clang-analyzer-valist.Uninitialized,
-clang-analyzer-valist.Unterminated,
-clang-analyzer-valist.ValistBase,
-clang-analyzer-webkit.NoUncountedMemberChecker,
-clang-analyzer-webkit.RefCntblBaseVirtualDtor,
-cert-con36-c,
-cert-con54-cpp,
-cert-dcl03-c,
-cert-dcl16-c,
-cert-dcl21-cpp,
-cert-dcl37-c,
-cert-dcl50-cpp,
-cert-dcl51-cpp,
-cert-dcl54-cpp,
-cert-dcl58-cpp,
-cert-dcl59-cpp,
-cert-env33-c,
-cert-err09-cpp,
-cert-err34-c,
-cert-err52-cpp,
-cert-err60-cpp,
-cert-err61-cpp,
-cert-fio38-c,
-cert-flp30-c,
-cert-mem57-cpp,
-cert-msc30-c,
-cert-msc32-c,
-cert-msc50-cpp,
-cert-msc51-cpp,
-cert-oop11-cpp,
-cert-oop54-cpp,
-cert-oop57-cpp,
-modernize-avoid-bind,
-modernize-deprecated-headers,
-modernize-deprecated-ios-base-aliases,
-modernize-loop-convert,
-modernize-make-shared,
-modernize-make-unique,
-modernize-raw-string-literal,
-modernize-replace-auto-ptr,
-modernize-replace-random-shuffle,
-modernize-return-braced-init-list,
-modernize-shrink-to-fit,
-modernize-unary-static-assert,
-modernize-use-bool-literals,
-modernize-use-default-member-init,
-modernize-use-emplace,
-modernize-use-equals-default,
-modernize-use-equals-delete,
-modernize-use-noexcept,
-modernize-use-nullptr,
-modernize-use-override,
-modernize-use-transparent-functors,
-modernize-use-uncaught-exceptions,
-modernize-use-using,
-bugprone-argument-comment,
-bugprone-assert-side-effect,
-bugprone-bad-signal-to-kill-thread,
-bugprone-bool-pointer-implicit-conversion,
-bugprone-branch-clone,
-bugprone-copy-constructor-init,
-bugprone-dangling-handle,
-bugprone-dynamic-static-initializers,
-bugprone-fold-init-type,
-bugprone-forward-declaration-namespace,
-bugprone-forwarding-reference-overload,
-bugprone-inaccurate-erase,
-bugprone-incorrect-roundings,
-bugprone-infinite-loop,
-bugprone-integer-division,
-bugprone-lambda-function-name,
-bugprone-macro-parentheses,
-bugprone-macro-repeated-side-effects,
-bugprone-misplaced-operator-in-strlen-in-alloc,
-bugprone-misplaced-pointer-arithmetic-in-alloc,
-bugprone-misplaced-widening-cast,
-bugprone-multiple-statement-macro,
-bugprone-narrowing-conversions,
-bugprone-no-escape,
-bugprone-not-null-terminated-result,
-bugprone-parent-virtual-call,
-bugprone-posix-return,
-bugprone-reserved-identifier,
-bugprone-signed-char-misuse,
-bugprone-sizeof-container,
-bugprone-sizeof-expression,
-bugprone-spuriously-wake-up-functions,
-bugprone-string-constructor,
-bugprone-string-integer-assignment,
-bugprone-string-literal-with-embedded-nul,
-bugprone-suspicious-enum-usage,
-bugprone-suspicious-include,
-bugprone-suspicious-memset-usage,
-bugprone-suspicious-missing-comma,
-bugprone-suspicious-semicolon,
-bugprone-suspicious-string-compare,
-bugprone-swapped-arguments,
-bugprone-terminating-continue,
-bugprone-throw-keyword-missing,
-bugprone-too-small-loop-variable,
-bugprone-undefined-memory-manipulation,
-bugprone-undelegated-constructor,
-bugprone-unhandled-self-assignment,
-bugprone-unused-raii,
-bugprone-unused-return-value,
-bugprone-use-after-move,
-bugprone-virtual-near-miss,
-misc-misplaced-const,
-misc-no-recursion,
-misc-redundant-expression,
-misc-static-assert,
-misc-throw-by-value-catch-by-reference,
-misc-unconventional-assign-operator,
-misc-uniqueptr-reset-release,
-misc-unused-using-decls,
-performance-for-range-copy,
-performance-implicit-conversion-in-loop,
-performance-inefficient-algorithm,
-performance-inefficient-vector-operation,
-performance-move-constructor-init,
-performance-no-automatic-move,
-performance-trivially-destructible,
-performance-type-promotion-in-math-fn,
-performance-unnecessary-copy-initialization,
-performance-faster-string-find,
-performance-for-range-copy,
-performance-implicit-conversion-in-loop,
-performance-inefficient-algorithm,
-performance-inefficient-string-concatenation,
-performance-inefficient-vector-operation,
-performance-move-const-arg,
-performance-move-constructor-init,
-performance-no-automatic-move,
-performance-noexcept-move-constructor,
-performance-trivially-destructible,
-performance-type-promotion-in-math-fn,
-performance-unnecessary-copy-initialization,
-performance-unnecessary-value-param,
-readability-identifier-naming,
-readability-braces-around-statements,
-readability-const-return-type,
-readability-delete-null-pointer,
-readability-deleted-default,
-readability-else-after-return'
-
-WarningsAsErrors: '*'
-HeaderFilterRegex: '^((?!linux).)*$'
-CheckOptions:
-  - { key: readability-identifier-naming.ClassCase,     value: CamelCase  }
-  - { key: readability-identifier-naming.VariableCase,  value: camelBack }
-  - { key: readability-identifier-naming.FunctionCase,  value: camelBack }
-  - { key: readability-identifier-naming.ParameterCase, value: camelBack }
-  - { key: readability-identifier-naming.NamespaceCase, value: lower_case }
-  - { key: readability-identifier-naming.StructCase,    value: CamelCase  }
diff --git a/include/estoraged.hpp b/include/estoraged.hpp
new file mode 100644
index 0000000..557c490
--- /dev/null
+++ b/include/estoraged.hpp
@@ -0,0 +1,69 @@
+#pragma once
+
+#include <sdbusplus/bus.hpp>
+#include <sdbusplus/exception.hpp>
+#include <sdbusplus/server/object.hpp>
+#include <xyz/openbmc_project/eStoraged/server.hpp>
+
+#include <string>
+#include <vector>
+
+namespace estoraged
+{
+using eStoragedInherit = sdbusplus::server::object_t<
+    sdbusplus::xyz::openbmc_project::server::eStoraged>;
+
+/** @class eStoraged
+ *  @brief eStoraged object to manage a LUKS encrypted storage device.
+ */
+class eStoraged : eStoragedInherit
+{
+  public:
+    eStoraged(sdbusplus::bus::bus& bus, const char* path,
+              const std::string& devPath, const std::string& containerName) :
+        eStoragedInherit(bus, path),
+        devPath(devPath), containerName(containerName)
+    {}
+
+    /** @brief Format the LUKS encrypted device and create empty filesystem.
+     *
+     *  @param[in] password - password to set for the LUKS device.
+     */
+    void format(std::vector<uint8_t> password) override;
+
+    /** @brief Erase the contents of the storage device.
+     *
+     *  @param[in] password - password for the LUKS device.
+     *  @param[in] eraseType - type of erase operation.
+     */
+    void erase(std::vector<uint8_t> password, EraseMethod eraseType) override;
+
+    /** @brief Unmount filesystem and lock the LUKS device.
+     *
+     *  @param[in] password - password for the LUKS device.
+     */
+    void lock(std::vector<uint8_t> password) override;
+
+    /** @brief Unlock device and mount the filesystem.
+     *
+     *  @param[in] password - password for the LUKS device.
+     */
+    void unlock(std::vector<uint8_t> password) override;
+
+    /** @brief Change the password for the LUKS device.
+     *
+     *  @param[in] oldPassword - old password for the LUKS device.
+     *  @param[in] newPassword - new password for the LUKS device.
+     */
+    void changePassword(std::vector<uint8_t> oldPassword,
+                        std::vector<uint8_t> newPassword) override;
+
+  private:
+    /* Full path of the device file, e.g. /dev/mmcblk0 */
+    std::string devPath;
+
+    /* Name of the LUKS container. */
+    std::string containerName;
+};
+
+} // namespace estoraged
diff --git a/include/meson.build b/include/meson.build
new file mode 100644
index 0000000..da1595b
--- /dev/null
+++ b/include/meson.build
@@ -0,0 +1,2 @@
+
+eStoraged_headers = include_directories('.')
diff --git a/meson.build b/meson.build
new file mode 100644
index 0000000..224b6ea
--- /dev/null
+++ b/meson.build
@@ -0,0 +1,17 @@
+project(
+    'eStoraged',
+    'cpp',
+    version: '1.0', meson_version: '>=0.57.0',
+    default_options: [
+      'warning_level=3',
+      'werror=true',
+      'cpp_std=c++20',
+    ],
+)
+
+eStoraged_root = meson.current_source_dir()
+eStoraged_dbus_headers = include_directories('.')
+
+subdir('include/')
+subdir('xyz/openbmc_project/eStoraged')
+subdir('src/')
diff --git a/src/estoraged.cpp b/src/estoraged.cpp
new file mode 100644
index 0000000..ae29bdd
--- /dev/null
+++ b/src/estoraged.cpp
@@ -0,0 +1,35 @@
+
+#include "estoraged.hpp"
+
+#include <iostream>
+#include <vector>
+
+namespace estoraged
+{
+
+void eStoraged::format(std::vector<uint8_t>)
+{
+    std::cerr << "Formatting encrypted eMMC" << std::endl;
+}
+
+void eStoraged::erase(std::vector<uint8_t>, EraseMethod)
+{
+    std::cerr << "Erasing encrypted eMMC" << std::endl;
+}
+
+void eStoraged::lock(std::vector<uint8_t>)
+{
+    std::cerr << "Locking encrypted eMMC" << std::endl;
+}
+
+void eStoraged::unlock(std::vector<uint8_t>)
+{
+    std::cerr << "Unlocking encrypted eMMC" << std::endl;
+}
+
+void eStoraged::changePassword(std::vector<uint8_t>, std::vector<uint8_t>)
+{
+    std::cerr << "Changing password for encrypted eMMC" << std::endl;
+}
+
+} // namespace estoraged
diff --git a/src/main.cpp b/src/main.cpp
new file mode 100644
index 0000000..9fa9c7d
--- /dev/null
+++ b/src/main.cpp
@@ -0,0 +1,82 @@
+
+#include "estoraged.hpp"
+
+#include <unistd.h>
+
+#include <sdbusplus/bus.hpp>
+
+#include <filesystem>
+#include <iostream>
+#include <string>
+
+static void usage(std::string_view name)
+{
+    std::cerr
+        << "Usage: " << name
+        << "eStorageD service on the BMC\n\n"
+           "  -b <blockDevice>          The phyical encrypted device\n"
+           "                            If omitted, default is /dev/mmcblk0.\n"
+           "  -c <containerName>        The LUKS container name to be created\n"
+           "                            If omitted, default is luks-<devName>";
+}
+
+int main(int argc, char** argv)
+{
+
+    std::string physicalBlockDev = "/dev/mmcblk0";
+    std::string containerBlockDev;
+    int opt;
+    while ((opt = getopt(argc, argv, "b:c:")) != -1)
+    {
+        switch (opt)
+        {
+            case 'b':
+                physicalBlockDev = optarg;
+                break;
+            case 'c':
+                containerBlockDev = optarg;
+                break;
+            default:
+                usage(argv[0]);
+                exit(EXIT_FAILURE);
+        }
+    }
+
+    /* Get the filename of the device (without "/dev/"). */
+    auto deviceName =
+        std::filesystem::path(physicalBlockDev).filename().string();
+
+    /* If containerName arg wasn't provided, create one based on deviceName. */
+    if (containerBlockDev.empty())
+    {
+        containerBlockDev = "luks-" + deviceName;
+    }
+
+    /* DBus path location to place the object. */
+    std::string path = "/xyz/openbmc_project/storage/" + deviceName;
+
+    /*
+     * Create a new bus and affix an object manager for the subtree path we
+     * intend to place objects at.
+     */
+    auto b = sdbusplus::bus::new_default();
+    sdbusplus::server::manager_t m{b, path.c_str()};
+
+    /* Reserve the dbus service name. */
+    std::string busName = "xyz.openbmc_project.eStoraged." + deviceName;
+    b.request_name(busName.c_str());
+
+    /* Create an eStoraged object. */
+    estoraged::eStoraged esObject{b, path.c_str(), physicalBlockDev,
+                                  containerBlockDev};
+
+    std::cerr << "eStoraged has started" << std::endl;
+
+    while (true)
+    {
+        b.wait();
+        b.process_discard();
+    }
+
+    return 1;
+}
diff --git a/src/meson.build b/src/meson.build
new file mode 100644
index 0000000..046ae47
--- /dev/null
+++ b/src/meson.build
@@ -0,0 +1,27 @@
+
+libeStoraged_deps = [
+  dependency('sdbusplus'),
+  eStoraged_dbus,
+]
+
+libeStoraged_lib = static_library(
+  'eStoraged-lib',
+  'estoraged.cpp',
+  include_directories : eStoraged_headers,
+  implicit_include_directories: false,
+  dependencies: libeStoraged_deps,
+)
+
+libeStoraged = declare_dependency(
+  dependencies: libeStoraged_deps,
+  include_directories: eStoraged_headers,
+  link_with: libeStoraged_lib)
+
+executable(
+  'eStoraged',
+  'main.cpp',
+  implicit_include_directories: false,
+  dependencies: libeStoraged,
+  install: true,
+  install_dir: get_option('bindir')
+)
diff --git a/xyz/openbmc_project/eStoraged.errors.yaml b/xyz/openbmc_project/eStoraged.errors.yaml
new file mode 100644
index 0000000..d3d3603
--- /dev/null
+++ b/xyz/openbmc_project/eStoraged.errors.yaml
@@ -0,0 +1,6 @@
+- name: EncryptionError
+  description: One of the cryptsetup APIs returned an error.
+- name: EraseError
+  description: Failed to erase the device.
+- name: FilesystemError
+  description: Failed to create or remove the filesystem.
diff --git a/xyz/openbmc_project/eStoraged.interface.yaml b/xyz/openbmc_project/eStoraged.interface.yaml
new file mode 100644
index 0000000..29bb85c
--- /dev/null
+++ b/xyz/openbmc_project/eStoraged.interface.yaml
@@ -0,0 +1,110 @@
+description: >
+    D-bus interface to manage an encrypted storage device.
+
+methods:
+    - name: Format
+      description: >
+        Format the encrypted device and create an ext4 filesystem.
+      parameters:
+        - name: Password
+          type: array[byte]
+          description: >
+            Array of bytes to use as the LUKS password.
+      errors:
+        - self.Error.EncryptionError
+        - self.Error.FilesystemError
+
+    - name: Erase
+      description: >
+        Erase the contents of the device.
+      parameters:
+        - name: Password
+          type: array[byte]
+          description: >
+            Array of bytes to use as the LUKS password.
+        - name: EraseType
+          type: enum[self.EraseMethod]
+          description: >
+            Describes what type of erase is done.
+      errors:
+        - self.Error.EncryptionError
+        - self.Error.EraseError
+        - self.Error.FilesystemError
+
+    - name: Lock
+      description: >
+        Unmount the filesystem, lock the device, and remove sensitive data
+        (e.g. volume key) from memory.
+      parameters:
+        - name: Password
+          type: array[byte]
+          description: >
+            Array of bytes to use as the LUKS password.
+      errors:
+        - self.Error.EncryptionError
+        - self.Error.FilesystemError
+
+    - name: Unlock
+      description: >
+        Activate the device and mount the filesystem.
+      parameters:
+        - name: Password
+          type: array[byte]
+          description: >
+            Array of bytes to use as the LUKS password.
+      errors:
+        - self.Error.EncryptionError
+        - self.Error.FilesystemError
+
+    - name: ChangePassword
+      description: >
+        Change the password that unlocks the storage device.
+      parameters:
+        - name: OldPassword
+          type: array[byte]
+          description: >
+            Array of bytes for the old LUKS password.
+        - name: NewPassword
+          type: array[byte]
+          description: >
+            Array of bytes to use as the LUKS password.
+      errors:
+        - self.Error.EncryptionError
+
+properties:
+    - name: Locked
+      type: boolean
+      default: false
+      description: >
+        Indicates whether the device is locked.
+
+enumerations:
+    - name: EraseMethod
+      description: >
+        Indicates which erase method/step is being requested.
+      values:
+        - name: CryptoErase
+          description: >
+            Destroys the encryption key slots, preventing decyrption.
+        - name: VerifyGeometry
+          description: >
+            Confirms a set percent of the disk is accessible.
+        - name: LogicalOverWrite
+          description: >
+            Overwrites the disk with a reproducible incompressible pattern.
+        - name: LogicalVerify
+          description: >
+            Verifies a reproducible pattern has been written to the disk.
+        - name: VendorSanitize
+          description: >
+            Uses the sanitization provided by the device firmware.
+        - name: ZeroOverWrite
+          description: >
+            Writes zeros over the whole disk.
+        - name: ZeroVerify
+          description: >
+            Verifies the the entire disk has been zeroed.
+        - name: SecuredLocked
+          description: >
+            Locks the disk to prevent data being written to it.
+
diff --git a/xyz/openbmc_project/eStoraged/meson.build b/xyz/openbmc_project/eStoraged/meson.build
new file mode 100644
index 0000000..d143487
--- /dev/null
+++ b/xyz/openbmc_project/eStoraged/meson.build
@@ -0,0 +1,74 @@
+sdbuspp_prog = find_program('sdbus++')
+
+domain = 'xyz.openbmc_project.eStoraged'
+if_yaml_file = files('../eStoraged.interface.yaml')
+
+if_cpp = custom_target(
+  'server.cpp',
+  output: 'server.cpp',
+  input: if_yaml_file,
+  capture: true,
+  command: [sdbuspp_prog, '-r', eStoraged_root, 'interface', 'server-cpp', domain])
+
+if_hpp = custom_target(
+  'server.hpp',
+  output: 'server.hpp',
+  input: if_yaml_file,
+  capture: true,
+  command: [sdbuspp_prog, '-r', eStoraged_root, 'interface', 'server-header', domain],
+  install: true,
+  install_dir: get_option('includedir') / 'xyz/openbmc_project/eStoraged')
+
+error_yaml_file = files('../eStoraged.errors.yaml')
+
+error_cpp = custom_target(
+  'error.cpp',
+  output: 'error.cpp',
+  input: error_yaml_file,
+  capture: true,
+  command: [sdbuspp_prog, '-r', eStoraged_root, 'error', 'exception-cpp', domain])
+
+error_hpp = custom_target(
+  'error.hpp',
+  output: 'error.hpp',
+  input: error_yaml_file,
+  capture: true,
+  command: [sdbuspp_prog, '-r', eStoraged_root, 'error', 'exception-header', domain],
+  install: true,
+  install_dir: get_option('includedir') / 'xyz/openbmc_project/eStoraged')
+
+eStoraged_dbus_deps = [
+  dependency('sdbusplus'),
+]
+
+eStoraged_dbus_lib = library(
+  'eStoraged-dbus',
+  if_cpp,
+  if_hpp,
+  error_cpp,
+  error_hpp,
+  implicit_include_directories: false,
+  include_directories: eStoraged_dbus_headers,
+  version: meson.project_version(),
+  dependencies: eStoraged_dbus_deps,
+  install: true)
+
+eStoraged_dbus = declare_dependency(
+  dependencies: eStoraged_dbus_deps,
+  sources: [if_hpp, error_hpp],
+  include_directories: eStoraged_dbus_headers,
+  link_with: eStoraged_dbus_lib)
+
+eStoraged_dbus_reqs = []
+foreach dep : eStoraged_dbus_deps
+  if dep.type_name() == 'pkgconfig'
+    eStoraged_dbus_reqs += dep
+  endif
+endforeach
+
+import('pkgconfig').generate(
+  name: 'eStoraged-dbus',
+  description: 'eStoraged DBus Bindings',
+  version: meson.project_version(),
+  libraries: eStoraged_dbus,
+  requires: eStoraged_dbus_reqs)
