summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--protocol/udm.proto58
-rw-r--r--server/src/main.cpp25
-rw-r--r--server/udm-server.cbp8
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 />