Browse Source

mongo code update

mom040267 11 years ago
parent
commit
b42adeb74f
1 changed files with 41 additions and 31 deletions
  1. 41 31
      src/apps/relay/dbdrivers/dbd_mongo.c

+ 41 - 31
src/apps/relay/dbdrivers/dbd_mongo.c

@@ -76,46 +76,56 @@ static void MongoFree(MONGO * info) {
 	}
 }
 
-static MONGO * get_mydb_connection(const char *realm) {
-	UNUSED_ARG(realm);
-  
-	persistent_users_db_t * pud = get_persistent_users_db();
-
-	MONGO * mydbconnection = (MONGO *)(pud->connection);
+static MONGO * get_mongodb_connection(void) {
 
-	if(!mydbconnection) {
-    mongoc_init();
-    mongoc_log_set_handler(&mongo_logger, NULL);
+	persistent_users_db_t * pud = get_persistent_users_db();
 
-  	mydbconnection = (MONGO *)turn_malloc(sizeof(MONGO));
-    mydbconnection->uri = mongoc_uri_new(pud->userdb);
-    
-    if (!mydbconnection->uri) {
-			TURN_LOG_FUNC(TURN_LOG_LEVEL_ERROR, "Cannot open parse MongoDB URI <%s>, connection string format error\n", pud->userdb);
-      MongoFree(mydbconnection);
-      mydbconnection = NULL;
-    } else {
-      mydbconnection->client = mongoc_client_new_from_uri(mydbconnection->uri);
-      if (!mydbconnection->client) {
-				TURN_LOG_FUNC(TURN_LOG_LEVEL_ERROR, "Cannot initialize MongoDB connection\n");
-        MongoFree(mydbconnection);
-        mydbconnection = NULL;
-      } else {
-        mydbconnection->database = mongoc_uri_get_database(mydbconnection->uri);
-        if (!mydbconnection->database) mydbconnection->database = MONGO_DEFAULT_DB;
-    		pud->connection = mydbconnection;
-    	}
-    }
-  }
+	MONGO * mydbconnection = (MONGO *) (pud->connection);
+
+	if (!mydbconnection) {
+		mongoc_init();
+		mongoc_log_set_handler(&mongo_logger, NULL);
+
+		mydbconnection = (MONGO *) turn_malloc(sizeof(MONGO));
+		mydbconnection->uri = mongoc_uri_new(pud->userdb);
+
+		if (!mydbconnection->uri) {
+			TURN_LOG_FUNC(
+					TURN_LOG_LEVEL_ERROR,
+					"Cannot open parse MongoDB URI <%s>, connection string format error\n",
+					pud->userdb);
+			MongoFree(mydbconnection);
+			mydbconnection = NULL;
+		} else {
+			mydbconnection->client = mongoc_client_new_from_uri(
+					mydbconnection->uri);
+			if (!mydbconnection->client) {
+				TURN_LOG_FUNC(TURN_LOG_LEVEL_ERROR,
+						"Cannot initialize MongoDB connection\n");
+				MongoFree(mydbconnection);
+				mydbconnection = NULL;
+			} else {
+				mydbconnection->database = mongoc_uri_get_database(
+						mydbconnection->uri);
+				if (!mydbconnection->database)
+					mydbconnection->database = MONGO_DEFAULT_DB;
+				pud->connection = mydbconnection;
+				TURN_LOG_FUNC(
+					TURN_LOG_LEVEL_INFO,
+					"Opened MongoDB URI <%s>\n",
+					pud->userdb);
+			}
+		}
+	}
 	return mydbconnection;
 }
 
 static mongoc_collection_t * mongo_get_collection(const char * name) {
-	MONGO * mc = get_mydb_connection(NULL);
+	MONGO * mc = get_mongodb_connection();
 
 	if(!mc) {
 		TURN_LOG_FUNC(TURN_LOG_LEVEL_ERROR, "Error gettting a connection to MongoDB\n");
-    return NULL;
+		return NULL;
 	}
     
   mongoc_collection_t * collection;