aboutsummaryrefslogtreecommitdiff
path: root/bbot/bootstrap-manifest
diff options
context:
space:
mode:
authorKaren Arutyunov <karen@codesynthesis.com>2017-04-06 19:46:03 +0300
committerKaren Arutyunov <karen@codesynthesis.com>2017-04-06 21:20:37 +0300
commitcfd31379be5eefb22a72b5ee90ce8fd17a0802b7 (patch)
tree19fa3727e1799c98938681f79328b60d63afff19 /bbot/bootstrap-manifest
parente3af4c881790a95be2676a7f4fb8df4136f8a3f3 (diff)
Implement manifests
Diffstat (limited to 'bbot/bootstrap-manifest')
-rw-r--r--bbot/bootstrap-manifest32
1 files changed, 31 insertions, 1 deletions
diff --git a/bbot/bootstrap-manifest b/bbot/bootstrap-manifest
index 502127b..c29406a 100644
--- a/bbot/bootstrap-manifest
+++ b/bbot/bootstrap-manifest
@@ -7,6 +7,8 @@
#include <map>
+#include <butl/manifest-forward>
+
#include <bbot/types>
#include <bbot/utility>
@@ -23,6 +25,16 @@ namespace bbot
// Toolchain id (SHAXXX).
//
string id;
+
+ public:
+ toolchain_manifest () = default; // VC export.
+ toolchain_manifest (butl::manifest_parser&, bool ignore_unknown = false);
+ toolchain_manifest (butl::manifest_parser&,
+ butl::manifest_name_value start,
+ bool ignore_unknown = false);
+
+ void
+ serialize (butl::manifest_serializer&) const;
};
// Bootstrap result manifest. Uploaded by the worker to the agent's TFTP
@@ -40,10 +52,20 @@ namespace bbot
// bbot-version: 1010200 # 1.1.2
//
std::map<string, uint64_t> versions;
+
+ public:
+ bootstrap_manifest () = default; // VC export.
+ bootstrap_manifest (butl::manifest_parser&, bool ignore_unknown = false);
+ bootstrap_manifest (butl::manifest_parser&,
+ butl::manifest_name_value start,
+ bool ignore_unknown = false);
+
+ void
+ serialize (butl::manifest_serializer&) const;
};
// The manifest stored in <name>-<toolchain>/ consists of the machine
- // manifest (original), toolchain manifest, and bootstrap result manifest.
+ // manifest (original), toolchain manifest, and bootstrap manifest.
//
class bootstrapped_machine_manifest
{
@@ -51,6 +73,14 @@ namespace bbot
machine_manifest machine;
toolchain_manifest toolchain;
bootstrap_manifest bootstrap;
+
+ public:
+ bootstrapped_machine_manifest () = default; // VC export.
+ bootstrapped_machine_manifest (butl::manifest_parser&,
+ bool ignore_unknown = false);
+
+ void
+ serialize (butl::manifest_serializer&) const;
};
}