/** parses a single "complex" router configuration chunk */
static void osrf_prefork_parse_router_chunk(const char* appname, jsonObject* routerChunk) {
- char* routerName = jsonObjectGetString(jsonObjectGetKey(routerChunk, "name"));
- char* domain = jsonObjectGetString(jsonObjectGetKey(routerChunk, "domain"));
- jsonObject* services = jsonObjectGetKey(routerChunk, "services");
+ const char* routerName = jsonObjectGetString(jsonObjectGetKeyConst(routerChunk, "name"));
+ const char* domain = jsonObjectGetString(jsonObjectGetKeyConst(routerChunk, "domain"));
+ const jsonObject* services = jsonObjectGetKeyConst(routerChunk, "services");
osrfLogDebug(OSRF_LOG_MARK, "found router config with domain %s and name %s", routerName, domain);
if( services && services->type == JSON_HASH ) {
osrfLogDebug(OSRF_LOG_MARK, "investigating router information...");
- jsonObject* service_obj = jsonObjectGetKey(services, "service");
+ const jsonObject* service_obj = jsonObjectGetKeyConst(services, "service");
if( !service_obj )
; // do nothing (shouldn't happen)
else if( JSON_ARRAY == service_obj->type ) {
if(!jsonObjectGetKey(configChunk, "transport"))
return 0; /* these are not the configs you're looking for */
- char* server = jsonObjectGetString(jsonObjectFindPath(configChunk, "/transport/server"));
- char* port = jsonObjectGetString(jsonObjectFindPath(configChunk, "/transport/port"));
- char* username = jsonObjectGetString(jsonObjectFindPath(configChunk, "/transport/username"));
- char* password = jsonObjectGetString(jsonObjectFindPath(configChunk, "/transport/password"));
- char* resource = jsonObjectGetString(jsonObjectFindPath(configChunk, "/transport/resource"));
+ const char* server = jsonObjectGetString(jsonObjectFindPath(configChunk, "/transport/server"));
+ const char* port = jsonObjectGetString(jsonObjectFindPath(configChunk, "/transport/port"));
+ const char* username = jsonObjectGetString(jsonObjectFindPath(configChunk, "/transport/username"));
+ const char* password = jsonObjectGetString(jsonObjectFindPath(configChunk, "/transport/password"));
+ const char* resource = jsonObjectGetString(jsonObjectFindPath(configChunk, "/transport/resource"));
- char* level = jsonObjectGetString(jsonObjectFindPath(configChunk, "/loglevel"));
- char* log_file = jsonObjectGetString(jsonObjectFindPath(configChunk, "/logfile"));
- char* facility = jsonObjectGetString(jsonObjectFindPath(configChunk, "/syslog"));
+ const char* level = jsonObjectGetString(jsonObjectFindPath(configChunk, "/loglevel"));
+ const char* log_file = jsonObjectGetString(jsonObjectFindPath(configChunk, "/logfile"));
+ const char* facility = jsonObjectGetString(jsonObjectFindPath(configChunk, "/syslog"));
int llevel = 1;
if(level) llevel = atoi(level);
osrfLogSetFile( log_file );
}
- free(facility);
- free(level);
- free(log_file);
-
osrfLogInfo( OSRF_LOG_MARK, "Router connecting as: server: %s port: %s "
"user: %s resource: %s", server, port, username, resource );
if(tserversList->type == JSON_ARRAY) {
for( i = 0; i != tserversList->size; i++ ) {
- char* serverDomain = jsonObjectGetString(jsonObjectGetIndex(tserversList, i));
+ const char* serverDomain = jsonObjectGetString(jsonObjectGetIndex(tserversList, i));
osrfLogInfo( OSRF_LOG_MARK, "Router adding trusted server: %s", serverDomain);
osrfStringArrayAdd(tservers, serverDomain);
}
} else {
- char* serverDomain = jsonObjectGetString(tserversList);
+ const char* serverDomain = jsonObjectGetString(tserversList);
osrfLogInfo( OSRF_LOG_MARK, "Router adding trusted server: %s", serverDomain);
osrfStringArrayAdd(tservers, serverDomain);
}
if(tclientsList->type == JSON_ARRAY) {
for( i = 0; i != tclientsList->size; i++ ) {
- char* clientDomain = jsonObjectGetString(jsonObjectGetIndex(tclientsList, i));
+ const char* clientDomain = jsonObjectGetString(jsonObjectGetIndex(tclientsList, i));
osrfLogInfo( OSRF_LOG_MARK, "Router adding trusted client: %s", clientDomain);
osrfStringArrayAdd(tclients, clientDomain);
}
} else {
- char* clientDomain = jsonObjectGetString(tclientsList);
+ const char* clientDomain = jsonObjectGetString(tclientsList);
osrfLogInfo( OSRF_LOG_MARK, "Router adding trusted client: %s", clientDomain);
osrfStringArrayAdd(tclients, clientDomain);
}