handler_config: Split out from buildjson
This allows us to build the version-handler without the json
infrastructure.
Change-Id: I8c0a5715cb66f6cbb3e72cb714759f6e11e3f409
Signed-off-by: William A. Kennington III <wak@google.com>
diff --git a/bmc/buildjson.hpp b/bmc/buildjson.hpp
index d6b707e..f2b0ba1 100644
--- a/bmc/buildjson.hpp
+++ b/bmc/buildjson.hpp
@@ -1,7 +1,7 @@
#pragma once
#include "fs.hpp"
-#include "image_handler.hpp"
+#include "handler_config.hpp"
#include "status.hpp"
#include <nlohmann/json.hpp>
@@ -24,31 +24,6 @@
std::unique_ptr<TriggerableActionInterface>
buildSystemd(const nlohmann::json& data);
-/**
- * HandlerConfig associates a blobID with an ImageHandler and a set of
- * supported actions of type T.
- */
-template <typename T>
-struct HandlerConfig
-{
- /* A string in the form: /flash/{unique}, s.t. unique is something like,
- * flash, ubitar, statictar, or bios
- */
- std::string blobId;
-
- /* This owns a handler interface, this is typically going to be a file
- * writer object.
- */
- std::unique_ptr<ImageHandlerInterface> handler;
-
- /* specifies actions to be taken in response to certain operations on a
- * blob.
- * Usually required but there are exceptions; the hashBlobId doesn't have
- * an action pack.
- */
- std::unique_ptr<T> actions;
-};
-
/* HandlersBuilderIfc is a helper class that builds Handlers from the json files
* found within a specified directory.
* The child class that inherits from HandlersBuilderIfc should implement