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