aboutsummaryrefslogtreecommitdiff
path: root/bpkg/types-parsers.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'bpkg/types-parsers.hxx')
-rw-r--r--bpkg/types-parsers.hxx58
1 files changed, 58 insertions, 0 deletions
diff --git a/bpkg/types-parsers.hxx b/bpkg/types-parsers.hxx
index 38b7cee..7bbb414 100644
--- a/bpkg/types-parsers.hxx
+++ b/bpkg/types-parsers.hxx
@@ -7,6 +7,8 @@
#ifndef BPKG_TYPES_PARSERS_HXX
#define BPKG_TYPES_PARSERS_HXX
+#include <libbutl/standard-version.hxx>
+
#include <libbpkg/manifest.hxx>
#include <bpkg/types.hxx>
@@ -49,6 +51,29 @@ namespace bpkg
};
template <>
+ struct parser<uuid>
+ {
+ static void
+ parse (uuid&, bool&, scanner&);
+
+ static void
+ merge (uuid& b, const uuid& a) {b = a;}
+ };
+
+ template <>
+ struct parser<butl::standard_version>
+ {
+ static void
+ parse (butl::standard_version&, bool&, scanner&);
+
+ static void
+ merge (butl::standard_version& b, const butl::standard_version& a)
+ {
+ b = a;
+ }
+ };
+
+ template <>
struct parser<auth>
{
static void
@@ -59,6 +84,39 @@ namespace bpkg
};
template <>
+ struct parser<git_protocol_capabilities>
+ {
+ static void
+ parse (git_protocol_capabilities&, bool&, scanner&);
+
+ static void
+ merge (git_protocol_capabilities& b, const git_protocol_capabilities& a)
+ {
+ b = a;
+ }
+ };
+
+ template <>
+ struct parser<git_capabilities_map>
+ {
+ static void
+ parse (git_capabilities_map&, bool&, scanner&);
+
+ static void
+ merge (git_capabilities_map&, const git_capabilities_map&);
+ };
+
+ template <>
+ struct parser<stdout_format>
+ {
+ static void
+ parse (stdout_format&, bool&, scanner&);
+
+ static void
+ merge (stdout_format& b, const stdout_format& a) {b = a;}
+ };
+
+ template <>
struct parser<repository_type>
{
static void