summaryrefslogtreecommitdiff
path: root/modules/tools
diff options
context:
space:
mode:
authorClaudius "keldu" Holeksa <mail@keldu.de>2024-07-09 14:10:28 +0200
committerClaudius "keldu" Holeksa <mail@keldu.de>2024-07-09 14:10:28 +0200
commit8b37098a15005d4163db74d7eac977c593268118 (patch)
tree93568fa44ffb26759c449387d1183c6e6081a984 /modules/tools
parent2862cfcb86f857e4a75900974c3ee7c365edd6c0 (diff)
Preparing reverting Storage
Diffstat (limited to 'modules/tools')
-rw-r--r--modules/tools/c++/c_gen_iface.hpp8
-rw-r--r--modules/tools/c++/cli_analyzer.hpp40
2 files changed, 24 insertions, 24 deletions
diff --git a/modules/tools/c++/c_gen_iface.hpp b/modules/tools/c++/c_gen_iface.hpp
index 7dffd04..60389dc 100644
--- a/modules/tools/c++/c_gen_iface.hpp
+++ b/modules/tools/c++/c_gen_iface.hpp
@@ -391,7 +391,7 @@ struct lang_bind<schema::Primitive<T,L>, binding::SyncC> {
{
std::string hash_type_str = cfg.prefix + "_" + std::to_string(hash) + "_t";
- auto emp = state.hashes.emplace(std::make_pair(hash, hash_type_str));
+ auto emp = state.hashes.emplace(std::make_pair(hash, language_binding_state::info{hash_type_str}));
if(emp.second) {
/**
* We want this id to access the vector
@@ -557,7 +557,7 @@ struct lang_bind<schema::Struct<schema::Member<V,K>...>, binding::SyncC> {
constexpr uint64_t hash = schema_hash<Schema>::apply();
std::string hash_type_str = cfg.prefix + "_" + std::to_string(hash) + "_t";
- auto emp = state.hashes.emplace(std::make_pair(hash, hash_type_str));
+ auto emp = state.hashes.emplace(std::make_pair(hash, language_binding_state::info{hash_type_str}));
/**
* If successful insertion did happen that means we have no struct def yet.
@@ -646,7 +646,7 @@ struct lang_bind<schema::Array<T,D>, binding::SyncC> {
constexpr uint32_t hash = schema_hash<Schema>::apply();
std::string hash_type_str = cfg.prefix + "_" + std::to_string(hash) + "_t";
- auto emp = state.hashes.emplace(std::make_pair(hash, hash_type_str));
+ auto emp = state.hashes.emplace(std::make_pair(hash, language_binding_state::info{hash_type_str}));
if(emp.second){
auto& tpe = state.tp_elements;
@@ -1127,7 +1127,7 @@ struct lang_bind<schema::Interface<M...>, binding::SyncC> {
constexpr uint64_t hash = schema_hash<Member>::apply();
std::string hash_type_str = cfg.prefix + "_" + std::to_string(hash) + "_t";
- auto emp = state.hashes.emplace(std::make_pair(hash, hash_type_str));
+ auto emp = state.hashes.emplace(std::make_pair(hash, language_binding_state::info{hash_type_str}));
if(!emp.second){
return make_error<err::invalid_state>("Function should be guaranteed to be unique");
}
diff --git a/modules/tools/c++/cli_analyzer.hpp b/modules/tools/c++/cli_analyzer.hpp
index 885181e..ed54afa 100644
--- a/modules/tools/c++/cli_analyzer.hpp
+++ b/modules/tools/c++/cli_analyzer.hpp
@@ -17,7 +17,7 @@ struct cli_mode {
struct list {};
};
-template<typename Schema, typename Encoding, typename Storage>
+template<typename Schema, typename Encoding>
struct cli_traverser {
template<typename Traversal>
static error_or<void> traverse(std::deque<std::string>& sch_path, data<Schema,Encoding>& enc_data, std::string& json_data){
@@ -25,10 +25,10 @@ struct cli_traverser {
}
};
-template<typename Schema, typename Encoding, typename Storage>
+template<typename Schema, typename Encoding>
struct cli_modifier {
codec<Schema, encode::Json> json;
- static_assert( std::is_same_v<Encoding, encode::Native, storage::Default>, "Not supported" );
+ static_assert( std::is_same_v<Encoding, encode::Native>, "Not supported" );
error_or<void> read(
std::deque<std::string>& sch_path,
@@ -66,12 +66,12 @@ struct cli_modifier {
}
};
-template<typename Encoding, typename Storage>
-struct cli_traverser<schema::String, Encoding, Storage> {
+template<typename Encoding>
+struct cli_traverser<schema::String, Encoding> {
using Schema = schema::String;
template<typename Traversal>
- static error_or<void> traverse(std::deque<std::string>& sch_path, data<Schema,Encoding,Storage>& enc_data, std::string& json_data){
+ static error_or<void> traverse(std::deque<std::string>& sch_path, data<Schema,Encoding>& enc_data, std::string& json_data){
if(not sch_path.empty()){
return make_error<err::invalid_state>("Schema path too long");
}
@@ -88,8 +88,8 @@ struct cli_traverser<schema::String, Encoding, Storage> {
};
-template<typename... T, typename Encoding, typename Storage>
-struct cli_traverser<schema::Tuple<T...>, Encoding, Storage> {
+template<typename... T, typename Encoding>
+struct cli_traverser<schema::Tuple<T...>, Encoding> {
using Schema = schema::Tuple<T...>;
template<typename Traversal, size_t i>
@@ -99,7 +99,7 @@ struct cli_traverser<schema::Tuple<T...>, Encoding, Storage> {
std::string num_str = std::to_string(i);
if( num_str == sch_path.front() ){
sch_path.pop_front();
- return cli_traverser<Type, Encoding, Storage>::template traverse<Traversal>(sch_path, enc_data.template get<i>(), json_data);
+ return cli_traverser<Type, Encoding>::template traverse<Traversal>(sch_path, enc_data.template get<i>(), json_data);
}
if ( (i+1) < sizeof...(T)){
@@ -112,18 +112,18 @@ struct cli_traverser<schema::Tuple<T...>, Encoding, Storage> {
/**
* Traverse the path until we hit the end of the provided path
*/
-template<typename... T, string_literal... Lits, typename Encoding, typename Storage>
-struct cli_traverser<schema::Struct<schema::Member<T,Lits>...>, Encoding, Storage> {
+template<typename... T, string_literal... Lits, typename Encoding>
+struct cli_traverser<schema::Struct<schema::Member<T,Lits>...>, Encoding> {
using Schema = schema::Struct<schema::Member<T,Lits>...>;
template<typename Traversal, size_t i>
- static error_or<void> traverse_member(std::deque<std::string>& sch_path, data<Schema,Encoding, Storage>& enc_data, std::string& json_data){
+ static error_or<void> traverse_member(std::deque<std::string>& sch_path, data<Schema,Encoding>& enc_data, std::string& json_data){
using Type = typename parameter_pack_type<i,T...>::type;
constexpr string_literal Literal = parameter_key_pack_type<i, Lits...>::literal;
if ( Literal.view() == sch_path.front() ){
sch_path.pop_front();
- return cli_traverser<Type, Encoding, Storage>::template traverse<Traversal>(sch_path, enc_data.template get<Literal>(), json_data);
+ return cli_traverser<Type, Encoding>::template traverse<Traversal>(sch_path, enc_data.template get<Literal>(), json_data);
}
if constexpr ( (i+1) < sizeof...(T) ) {
@@ -133,7 +133,7 @@ struct cli_traverser<schema::Struct<schema::Member<T,Lits>...>, Encoding, Storag
}
template<typename Traversal>
- static error_or<void> traverse(std::deque<std::string>& sch_path, data<Schema,Encoding, Storage>& enc_data, std::string& json_data){
+ static error_or<void> traverse(std::deque<std::string>& sch_path, data<Schema,Encoding>& enc_data, std::string& json_data){
/**
* If our path is empty, then we have reached the desired destination.
*/
@@ -141,7 +141,7 @@ struct cli_traverser<schema::Struct<schema::Member<T,Lits>...>, Encoding, Storag
/**
* Decide during this step if we are reading or not
*/
- cli_modifier<Schema, Encoding, Storage> mod;
+ cli_modifier<Schema, Encoding> mod;
if constexpr (std::is_same_v<Traversal, cli_mode::read>){
return mod.read(sch_path, enc_data, json_data);
} else if constexpr (std::is_same_v<Traversal, cli_mode::write>) {
@@ -167,7 +167,7 @@ struct parsed_args {
std::deque<std::string> sch_path;
};
-template<typename Schema, typename Encoding, typename Storage>
+template<typename Schema, typename Encoding>
error_or<void> modify_data_on_cli(const std::string_view& mode, const std::string_view& file_path, std::deque<std::string> sch_path, std::string& json_data){
/**
* Read data from file
@@ -184,7 +184,7 @@ error_or<void> modify_data_on_cli(const std::string_view& mode, const std::strin
if(file_data.empty()){
return make_error<err::not_found>("File exists, but is empty.");
}
- data<Schema, Encoding, Storage> enc_data{std::string_view{file_data}};
+ data<Schema, Encoding> enc_data{std::string_view{file_data}};
codec<Schema, Encoding> enc_codec;
data<Schema> native_data;
@@ -197,20 +197,20 @@ error_or<void> modify_data_on_cli(const std::string_view& mode, const std::strin
if (mode == "r") {
{
- auto eov = impl::cli_traverser<Schema, encode::Native, storage::Default>::template traverse<impl::cli_mode::read>(sch_path, native_data, json_data);
+ auto eov = impl::cli_traverser<Schema, encode::Native>::template traverse<impl::cli_mode::read>(sch_path, native_data, json_data);
if(eov.is_error()){
return eov;
}
}
} else if (mode == "w") {
{
- auto eov = impl::cli_traverser<Schema, encode::Native, storage::Default>::template traverse<impl::cli_mode::write>(sch_path, native_data, json_data);
+ auto eov = impl::cli_traverser<Schema, encode::Native>::template traverse<impl::cli_mode::write>(sch_path, native_data, json_data);
if(eov.is_error()){
return eov;
}
}
{
- auto eov = enc_codec.template encode<encode::Native, storage::Default>(native_data, enc_data);
+ auto eov = enc_codec.template encode<encode::Native>(native_data, enc_data);
if(eov.is_error()){
return eov;
}