summary refs log tree commit diff
path: root/src/mongoStub.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mongoStub.cpp')
-rw-r--r--src/mongoStub.cpp54
1 files changed, 21 insertions, 33 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