diff options
-rw-r--r-- | protocol/udm.proto | 58 | ||||
-rw-r--r-- | server/src/main.cpp | 25 | ||||
-rw-r--r-- | server/udm-server.cbp | 8 |
3 files changed, 63 insertions, 28 deletions
diff --git a/protocol/udm.proto b/protocol/udm.proto index 0898bf9..05059b8 100644 --- a/protocol/udm.proto +++ b/protocol/udm.proto @@ -22,7 +22,7 @@ enum MODULE_UI_ELEMENT_TYPE { UI_STRING = 0; UI_INTEGER = 1; - UI_PERCENT_BAR = 2; + UI_PROGRESS_BAR = 2; UI_WINDOW = 3; } @@ -30,58 +30,64 @@ message module_ui_element_info { optional MODULE_UI_ELEMENT_TYPE type = 1 [default = UI_STRING]; required string id = 2; //internal element id used to get element value optional string name = 3 [default = "not set"]; - optional int32 width = 1001 [default = 0]; - optional int32 height = 1002 [default = 0]; } -enum MODULE_SETTING_TYPE { - SETTING_INTEGER = 0; - SETTING_STRING = 1; +message setting { + required string id = 1; + optional string name = 2 [default = "not set"]; + optional string default_value = 3 [default = "empty"]; + optional string value = 4 [default = "empty"]; } -message module_setting { - required MODULE_SETTING_TYPE type = 1 [default = SETTING_INTEGER]; - required string id = 2; - optional string name = 3 [default = "not set"]; - optional string default_value = 4 [default = "empty"]; - optional string value = 5 [default = "empty"]; -} - -message module_settings_info { - repeated module_setting settings = 1; +message settings_info { + repeated setting settings = 1; } message module_info { required string name = 1; required string version = 2; - repeated module_ui_element_info ui_elements = 3; - optional string decription = 4 [default = "no description specified"]; + optional string decription = 3 [default = "no description specified"]; } enum CLIENT_MSG_TYPE { - CLIENT_HELLO = 0; - CLIENT_AUTH_REQUEST = 1; - CLIENT_DATA_TRANSFER_REQUEST = 2; + CLIENT_AUTH_REQUEST = 0; + CLIENT_DATA_TRANSFER_REQUEST = 1; +} + + +message client_auth_info { + required string login = 1; + required string password = 2; +} + +message client_data_transfer_info { + optional int64 data_size = 1; } message client_msg { required CLIENT_MSG_TYPE type = 1; - required bytes auth_token = 2; + optional string auth_token = 2; + optional client_auth_info auth_info = 3; + optional client_data_transfer_info data_transfer_info = 4; } - enum SERVER_MSG_TYPE { - SERVER_HELLO = 0; - SERVER_AUTH_REPLY = 1; + SERVER_AUTH_REPLY = 0; } +message server_auth_info { + required bool status = 1; + optional string auth_token = 2; + optional string error_description = 3; +} + + message server_msg { required SERVER_MSG_TYPE type = 1; - required bytes auth_token = 2; } diff --git a/server/src/main.cpp b/server/src/main.cpp index 13b291b..7274da0 100644 --- a/server/src/main.cpp +++ b/server/src/main.cpp @@ -19,11 +19,13 @@ */ #include <boost/program_options.hpp> #include <boost/filesystem.hpp> +#include <boost/asio.hpp> #include <iostream> #include "api_module_metadata_storage.h" #include "modules_handler.h" #include "utilities.h" +#include "server.h" #include "main.h" @@ -37,6 +39,9 @@ namespace bpo = boost::program_options; runtime_config_s runtime_config; + +server *serv = nullptr; + //TODO: "core" config section architecture, define base settings @@ -155,6 +160,26 @@ int main(int argc, char *argv[]) { //TODO: fork here } + boost::asio::io_service io_service_server; + try{ + serv = new server(io_service_server, 6613); + } + catch(std::exception &e) + { + //TODO: + } + catch(...) + { + //TODO: + } + boost::system::error_code ec; + io_service_server.run(ec); + if(ec) + { + //TODO: + } + + //TODO: run here return 0; //stub for now } diff --git a/server/udm-server.cbp b/server/udm-server.cbp index a416bdb..462f8e3 100644 --- a/server/udm-server.cbp +++ b/server/udm-server.cbp @@ -13,6 +13,7 @@ <Option compiler="gcc" /> <Compiler> <Add option="-g" /> + <Add directory="include" /> </Compiler> </Target> <Target title="Release"> @@ -23,6 +24,7 @@ <Compiler> <Add option="-O2" /> <Add directory="server/include" /> + <Add directory="include" /> </Compiler> <Linker> <Add option="-s" /> @@ -42,8 +44,8 @@ <Add library="boost_program_options" /> </Linker> <ExtraCommands> - <Add before="#[ -d ../protocol ] || mkdir ../protocol" /> - <Add before="#protoc --cpp_out=../protocol --proto_path=../protocol ../protocol/udm.proto" /> + <Add before="[ -d ../protocol ] || mkdir ../protocol" /> + <Add before="protoc --cpp_out=../protocol --proto_path=../protocol ../protocol/udm.proto" /> </ExtraCommands> <Unit filename="../protocol/udm.pb.cc" /> <Unit filename="../protocol/udm.pb.h" /> @@ -54,11 +56,13 @@ <Unit filename="include/main.h" /> <Unit filename="include/modules_handler.h" /> <Unit filename="include/protocol.h" /> + <Unit filename="include/server.h" /> <Unit filename="include/utilities.h" /> <Unit filename="src/api_core.cpp" /> <Unit filename="src/main.cpp" /> <Unit filename="src/modules_handler.cpp" /> <Unit filename="src/protocol.cpp" /> + <Unit filename="src/server.cpp" /> <Unit filename="src/utilities.cpp" /> <Extensions> <code_completion /> |