From c72fdd1685113fe1fd665480d6b86d612002f5bb Mon Sep 17 00:00:00 2001 From: Luc Yriarte Date: Tue, 30 Jul 2013 12:39:59 +0200 Subject: [PATCH] serverfound callback fixes + server properties logs --- src/MediaServer/JSMediaServer.cpp | 5 +++-- src/MediaServer/JSMediaServerManager.cpp | 9 ++++++--- src/MediaServer/MediaServer.cpp | 3 +++ src/MediaServer/MediaServerManager.cpp | 7 ++++--- 4 files changed, 16 insertions(+), 8 deletions(-) diff --git a/src/MediaServer/JSMediaServer.cpp b/src/MediaServer/JSMediaServer.cpp index e7cfc01..1846da4 100644 --- a/src/MediaServer/JSMediaServer.cpp +++ b/src/MediaServer/JSMediaServer.cpp @@ -141,8 +141,9 @@ JSValueRef JSMediaServer::getProperty(JSContextRef context, Converter converter(context); std::string name = converter.toString(propertyName); - LoggerD("JSMediaServer::getProperty : " << name.c_str()); - JSStringRef jsStr = converter.toJSStringRef(server->getPropertyStringValue(name)); + std::string strVal = server->getPropertyStringValue(name); + LoggerD("JSMediaServer::getProperty : " << name.c_str() << " : " << strVal.c_str()); + JSStringRef jsStr = converter.toJSStringRef(strVal); if (JSStringIsEqualToUTF8CString(propertyName, "id")) return JSValueMakeString(context, jsStr); diff --git a/src/MediaServer/JSMediaServerManager.cpp b/src/MediaServer/JSMediaServerManager.cpp index 78df7b7..9b8f19c 100644 --- a/src/MediaServer/JSMediaServerManager.cpp +++ b/src/MediaServer/JSMediaServerManager.cpp @@ -125,9 +125,12 @@ JSValueRef JSMediaServerManager::scanNetwork(JSContextRef context, cbP->context = context; cbP->object = object; cbP->thisObject = thisObject; - cbP->successCB = validator.toFunction(1, true); - if (argumentCount > 2) - cbP->errorCB = validator.toFunction(2, true); + cbP->successCB = validator.toFunction(0, true); + JSValueProtect(cbP->context, cbP->successCB); + if (argumentCount > 1) { + cbP->errorCB = validator.toFunction(1, true); + JSValueProtect(cbP->context, cbP->errorCB); + } MediaServerManagerPtr manager(privateObject->getObject()); manager->scanNetwork(cbP); diff --git a/src/MediaServer/MediaServer.cpp b/src/MediaServer/MediaServer.cpp index 00b3029..f6bdf15 100644 --- a/src/MediaServer/MediaServer.cpp +++ b/src/MediaServer/MediaServer.cpp @@ -135,6 +135,9 @@ void MediaServer::setProxyPath(std::string path) friendlyName = upn_pdevice__get_friendly_name(proxy); root = "{ type: 'container', title: 'root', id: '"; root += id + "' }"; + LoggerD("MediaServer id: " << id); + LoggerD("MediaServer friendlyName: " << friendlyName); + LoggerD("MediaServer root: " << root); } diff --git a/src/MediaServer/MediaServerManager.cpp b/src/MediaServer/MediaServerManager.cpp index 18b410d..8316a57 100644 --- a/src/MediaServer/MediaServerManager.cpp +++ b/src/MediaServer/MediaServerManager.cpp @@ -67,16 +67,17 @@ void MediaServerManager::scanNetwork(ScanNetworkCB *callback) LoggerD("mediaserver dbus path " << *strTab); // Create MediaServer object with proxy path std::string path = *strTab; - JSValueRef arguments[1]; - arguments[0] = JSMediaServer::createJSObject(callback->context, path); + JSValueRef value = JSMediaServer::createJSObject(callback->context, path); + const JSValueRef arguments[1] = { value }; // Trigger callback + LoggerD("Triggering callback "); JSObjectCallAsFunction(callback->context, callback->successCB, callback->thisObject, 1, arguments, NULL); - LoggerD(*strTab); + LoggerD("done with mediaserver " << *strTab); strTab++; } } else { -- 2.7.4