blobs-ipmid: blobs header: add prototype all handlers need
All blob handlers need to implement this prototype. It's called by the
blob manager when it's loading the various blob handler objects.
Change-Id: I62329baeb536a624abeb17995bb778ec1c11ca8f
Signed-off-by: Patrick Venture <venture@google.com>
diff --git a/blobs-ipmid/blobs.hpp b/blobs-ipmid/blobs.hpp
index 0014fd4..b955245 100644
--- a/blobs-ipmid/blobs.hpp
+++ b/blobs-ipmid/blobs.hpp
@@ -1,5 +1,6 @@
#pragma once
+#include <memory>
#include <string>
#include <vector>
@@ -152,3 +153,19 @@
virtual bool expire(uint16_t session) = 0;
};
} // namespace blobs
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/**
+ * All Blob handlers need to implement this method. It is called after loading
+ * the library to then get a handle to the blob handler.
+ *
+ * @return a unique pointer to your blob handler instance.
+ */
+std::unique_ptr<blobs::GenericBlobInterface> createHandler();
+
+#ifdef __cplusplus
+}
+#endif