summaryrefslogtreecommitdiff
path: root/image/backends/backends.hh
diff options
context:
space:
mode:
authorA. Wilcox <AWilcox@Wilcox-Tech.com>2020-04-01 00:07:22 -0500
committerA. Wilcox <AWilcox@Wilcox-Tech.com>2020-04-01 00:07:22 -0500
commit28e25079b424ac9ba52bff455862289471aacc4f (patch)
tree506d6b45d3b4f6ffc4e333932e332afd96eeb8d8 /image/backends/backends.hh
parent46c492ffad6f6de35e5e01fa1bff8a49c16fd682 (diff)
downloadhorizon-28e25079b424ac9ba52bff455862289471aacc4f.tar.gz
horizon-28e25079b424ac9ba52bff455862289471aacc4f.tar.bz2
horizon-28e25079b424ac9ba52bff455862289471aacc4f.tar.xz
horizon-28e25079b424ac9ba52bff455862289471aacc4f.zip
image: Initial work on backend support
Diffstat (limited to 'image/backends/backends.hh')
-rw-r--r--image/backends/backends.hh33
1 files changed, 33 insertions, 0 deletions
diff --git a/image/backends/backends.hh b/image/backends/backends.hh
new file mode 100644
index 0000000..3199ee0
--- /dev/null
+++ b/image/backends/backends.hh
@@ -0,0 +1,33 @@
+/*
+ * backends.hh - Horizon Image Creation backend table
+ * image, the image processing utilities for
+ * Project Horizon
+ *
+ * Copyright (c) 2020 Adélie Linux and contributors. All rights reserved.
+ * This code is licensed under the AGPL 3.0 license, as noted in the
+ * LICENSE-code file in the root directory of this repository.
+ *
+ * SPDX-License-Identifier: AGPL-3.0-only
+ */
+
+#pragma once
+
+#include <functional>
+#include <string>
+#include <vector>
+
+namespace Horizon {
+namespace Image {
+
+class BasicBackend;
+
+struct BackendDescriptor {
+ std::string type_code;
+ std::string description;
+ std::function<BasicBackend *(std::string, std::string)> creation_fn;
+};
+
+extern std::vector<BackendDescriptor> known_backends;
+
+}
+}