summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/mongoStub.cpp54
-rw-r--r--src/mongoStub.hpp9
2 files changed, 25 insertions, 38 deletions
diff --git a/src/mongoStub.cpp b/src/mongoStub.cpp

index 03744bd4..ccd2abda 100644 --- a/src/mongoStub.cpp +++ b/src/mongoStub.cpp
@@ -32,65 +32,53 @@ std::vector<mongoStub::mongoMessage> mongoStub::getNewMessages( if (event["operationType"].get_utf8().value.to_string() != "insert") { continue; } - std::string evNameTmp = - event["fullDocument"]["event"].get_utf8().value.to_string(); - if(evNameTmp.substr(0, 7)=="VSERVER"){ continue; } //Ignore the event if it's been emited by a voice server + std::string evName = event["fullDocument"]["event"].get_utf8().value.to_string(); - if (evNameTmp == "UDP_CONNECTION") { - handleUdpRequest(); + if(evName.substr(0, 7)=="VSERVER"){ continue; } //Ignore the event if it's been emited by a voice server - } else if (evNameTmp == "VOICE_REQUEST") { + if (evName == "UDP_CONNECTION") { + handleUdpRequest( + event["fullDocument"]["data"]["d"]["address"].get_utf8().value.to_string(), + event["fullDocument"]["data"]["d"]["port"].get_int32().value, + event["fullDocument"]["data"]["d"]["mode"].get_utf8().value.to_string() + ); + + } else if (evName == "VOICE_REQUEST") { //TODO continue; } - returnValue.eventName = evNameTmp; + returnValue.eventName = evName; retVec.push_back(returnValue); } return retVec; } -//------- ABOVE THIS LINE IS COPY & PASTE HAVEN ------- -void mongoStub::handleUdpRequest() { + +void mongoStub::handleUdpRequest(std::string address, int port, std::string mode) { using bsoncxx::builder::basic::kvp; using bsoncxx::builder::basic::sub_array; using bsoncxx::builder::basic::sub_document; auto builder = bsoncxx::builder::basic::document{}; + //Handle UDP socket stuff (later tho) + builder.append(kvp("event", "VSERVER_UDP_RESPONSE")); builder.append(kvp("op", "4")); builder.append(kvp("d", [](sub_document subdoc) { - subdoc.append(kvp("mode", "CRYPT_MODE")), - subdoc.append(kvp("secret_key", [](sub_array subarr) { - subarr.append(1, 2, 3, 5); // HOW DO I GEN A SKEY? - })); - })); + subdoc.append(kvp("mode", "CRYPT_MODE")), + subdoc.append(kvp("secret_key", [](sub_array subarr) { + subarr.append(1, 2, 3, 5); // HOW DO I GEN A SKEY? + })); + })); bsoncxx::stdx::optional<mongocxx::result::insert_one> r= col.insert_one(builder.view()); - std::cout << "Insert"<< std::endl; } void mongoStub::handleVoiceRequest() { - using bsoncxx::builder::basic::kvp; - using bsoncxx::builder::basic::sub_array; - using bsoncxx::builder::basic::sub_document; - - auto builder = bsoncxx::builder::basic::document{}; - - builder.append(kvp("event", "VSERVER_UDP_RESPONSE")); - builder.append(kvp("op", "4")); - builder.append(kvp("d", [](sub_document subdoc) { - subdoc.append(kvp("mode", "CRYPT_MODE")), - subdoc.append(kvp("secret_key", [](sub_array subarr) { - subarr.append(1, 2, 3, 5); // HOW DO I GEN A SKEY? - })); - })); - - - bsoncxx::stdx::optional<mongocxx::result::insert_one> r= col.insert_one(builder.view()); - std::cout << "Insert"<< std::endl; + //Is this really needed? idk } \ No newline at end of file diff --git a/src/mongoStub.hpp b/src/mongoStub.hpp
index 18b899ae..2809142f 100644 --- a/src/mongoStub.hpp +++ b/src/mongoStub.hpp
@@ -23,10 +23,6 @@ class mongoStub{ std::vector<mongoMessage> getNewMessages(mongocxx::change_stream* colCs); - void handleUdpRequest(); - - void handleVoiceRequest(); - mongocxx::collection getCol() const { return col; } @@ -36,7 +32,10 @@ class mongoStub{ mongocxx::client client{mongocxx::uri{}}; mongocxx::database db; mongocxx::collection col; - mongocxx::change_stream* colCs = nullptr; + mongocxx::change_stream* colCs = nullptr; + + void handleUdpRequest(std::string address, int port, std::string mode); + void handleVoiceRequest(); }; #endif