log browse / find args and protect callbacks 27/8527/1
authorLuc Yriarte <luc.yriarte@intel.com>
Wed, 21 Aug 2013 12:39:57 +0000 (14:39 +0200)
committerLuc Yriarte <luc.yriarte@intel.com>
Wed, 21 Aug 2013 12:39:57 +0000 (14:39 +0200)
src/MediaServer/JSMediaServer.cpp

index 1846da4..1afcc48 100644 (file)
@@ -181,13 +181,19 @@ JSValueRef JSMediaServer::browse(JSContextRef context,
                unsigned long count = validator.toULong(2);
                unsigned long offset = validator.toULong(3);
 
+               LoggerD("browse container " << containerId << " sort: " << sortMode
+                               << " count:" << count << " offset:" << offset);
+
                BrowseFindCB *cbP = new BrowseFindCB();
                cbP->context = context;
                cbP->object = object;
                cbP->thisObject = thisObject;
                cbP->successCB = validator.toFunction(4, true);
-               if (argumentCount > 5)
+               JSValueProtect(cbP->context, cbP->successCB);
+               if (argumentCount > 5) {
                        cbP->errorCB = validator.toFunction(5, true);
+                       JSValueProtect(cbP->context, cbP->errorCB);
+               }
 
                MediaServerPtr server(privateObject->getObject());
                server->browse(containerId, sortMode, count, offset, cbP);
@@ -221,13 +227,19 @@ JSValueRef JSMediaServer::find(JSContextRef context,
                unsigned long count = validator.toULong(3);
                unsigned long offset = validator.toULong(4);
 
+               LoggerD("find: " << searchFilter << " in container " << containerId << " sort: " << sortMode
+                               << " count:" << count << " offset:" << offset);
+
                BrowseFindCB *cbP = new BrowseFindCB();
                cbP->context = context;
                cbP->object = object;
                cbP->thisObject = thisObject;
                cbP->successCB = validator.toFunction(5, true);
-               if (argumentCount > 6)
+               JSValueProtect(cbP->context, cbP->successCB);
+               if (argumentCount > 6) {
                        cbP->errorCB = validator.toFunction(6, true);
+                       JSValueProtect(cbP->context, cbP->errorCB);
+               }
 
                MediaServerPtr server(privateObject->getObject());
                server->find(containerId, searchFilter, sortMode, count, offset, cbP);