From 773fffb0c3596c93ae1522f6ef5eaaed4ad54e14 Mon Sep 17 00:00:00 2001 From: Claudius 'keldu' Holeksa Date: Fri, 26 Jul 2024 21:44:23 +0200 Subject: wip --- modules/remote/c++/remote_loopback.hpp | 9 +++++++++ modules/remote/c++/transfer_loopback.hpp | 11 ++++++++++- modules/window/SConstruct | 11 ++++++++++- modules/window/examples/window_create.cpp | 4 ++++ 4 files changed, 33 insertions(+), 2 deletions(-) create mode 100644 modules/window/examples/window_create.cpp (limited to 'modules') diff --git a/modules/remote/c++/remote_loopback.hpp b/modules/remote/c++/remote_loopback.hpp index 10ac79c..ea4eb8e 100644 --- a/modules/remote/c++/remote_loopback.hpp +++ b/modules/remote/c++/remote_loopback.hpp @@ -86,6 +86,7 @@ public: template<> class remote { private: + std::map> registered_data_servers_; public: /** * Resolves an address for the remote @@ -107,5 +108,13 @@ public: rpc_server listen(const remote_address& addr, typename rpc_server::InterfaceT iface){ return {addr, std::move(iface)}; } + + /** + * Start data server + */ + template + data_server data_listen(const remote_address& addr){ + return {addr,*this}; + } }; } diff --git a/modules/remote/c++/transfer_loopback.hpp b/modules/remote/c++/transfer_loopback.hpp index 9d026f2..2e01509 100644 --- a/modules/remote/c++/transfer_loopback.hpp +++ b/modules/remote/c++/transfer_loopback.hpp @@ -16,7 +16,16 @@ private: ptr> remote_; public: - data_server(remote_address& addr) + data_server(remote_address& addr){ + remote->register_server(addr); + } + + ~data_server(){ + remote->deregister_server(addr); + } + + SAW_FORBID_COPY(data_server); + SAW_FORBID_MOVE(data_server); /** * Get data from client diff --git a/modules/window/SConstruct b/modules/window/SConstruct index cc66f21..3017baf 100644 --- a/modules/window/SConstruct +++ b/modules/window/SConstruct @@ -43,6 +43,14 @@ env_vars.Add('prefix', validator=isAbsolutePath ) +env_vars.Add( + BoolVariable('build_examples', + help='Build examples', + default=False + ) +); + + env=Environment(ENV=os.environ, variables=env_vars, CPPPATH=[], CPPDEFINES=['SAW_UNIX', 'SAW_UNIX_XCB'], CXXFLAGS=['-std=c++20','-g','-Wall','-Wextra'], @@ -64,7 +72,8 @@ env.headers = []; env.targets = []; Export('env') -SConscript('SConscript') +SConscript('c++/SConscript') +SConscript('examples/SConscript') env.Alias('cdb', env.cdb); env.Alias('all', [env.targets]); diff --git a/modules/window/examples/window_create.cpp b/modules/window/examples/window_create.cpp new file mode 100644 index 0000000..dde8295 --- /dev/null +++ b/modules/window/examples/window_create.cpp @@ -0,0 +1,4 @@ +int main(){ + + return 0; +} -- cgit v1.2.3