diff options
author | Claudius "keldu" Holeksa <mail@keldu.de> | 2024-02-04 23:40:25 +0100 |
---|---|---|
committer | Claudius "keldu" Holeksa <mail@keldu.de> | 2024-02-04 23:40:25 +0100 |
commit | 4e45bbc55c4011b919f0af8d43850748209f7f09 (patch) | |
tree | 121018cddbc5f774092af044ab3af93a91b70590 /modules/tools | |
parent | 6f2cabfa4311eb71d70ec03a0a46b9ab55fd0820 (diff) |
codec,tools: Iface problems
Diffstat (limited to 'modules/tools')
-rw-r--r-- | modules/tools/c_gen_iface.hpp | 28 |
1 files changed, 26 insertions, 2 deletions
diff --git a/modules/tools/c_gen_iface.hpp b/modules/tools/c_gen_iface.hpp index f9ff219..08cf2f4 100644 --- a/modules/tools/c_gen_iface.hpp +++ b/modules/tools/c_gen_iface.hpp @@ -16,9 +16,28 @@ namespace impl { namespace schema { using namespace saw::schema; +using CVar = Struct< + Member<schema::String, "schema">, + Member<schema::String, "type">, + Member<schema::String, "name"> +>; + +using CStruct = Struct< + Member<schema::String, "schema">, + Member<schema::String, "name">, + Member<Array<CVar>, "members"> +>; + +using CFunction = Struct< + Member<schema::String, "schema">, + Member<schema::String, "name">, + Member<Array<CVar>, "params"> +>; + using CIface = Struct< - Member<schema::String,"members"> - Member<schema::String,"structs"> + Member<schema::String, "schema">, + Member<Array<CStruct>,"structs">, + Member<Array<CFunction>,"function"> >; } /** @@ -424,6 +443,11 @@ error_or<void> generate_iface_example(){ schema::Member<Func1, "func_one"> >; + using CIfaceDesc = schema::Struct< + Member<schema::String, "prefix">, + Member<schema::String, "encoding"> + >; + impl::c_types::state c_state; c_state.prefix = "c_saw"; c_state.encoding = "saw::encode::Native"; |