PDL_bool CheckPathForImg(PDL_JSParameters *parms) { PDL_Err err; char retVal[512]; const char *strVal = PDL_GetJSParamString(parms, 0); if (g_Indexer.CheckForImg(strVal, retVal)) { err = PDL_JSReply(parms, retVal); if (err != PDL_NOERROR) { ReportError1("PDL_Init failed, err = %s", PDL_GetError()); return PDL_FALSE; } } else { err = PDL_JSReply(parms, "-1"); if (err != PDL_NOERROR) { ReportError1("PDL_Init failed, err = %s", PDL_GetError()); return PDL_FALSE; } } return PDL_TRUE; }
PDL_bool GetAvgMagString(PDL_JSParameters *parms) { //ReportError("Entering Get Cur"); PDL_Err err; int32_t iTrack = PDL_GetJSParamInt(parms, 0); //ReportError1("GetAvg - iTrack:%i", iTrack); const char *cstrRet; cstrRet = g_MusController.PassMessage(MUS_MESSAGE_GET_MAG_STR, iTrack); //ReportError1("GetAvg:%s", cstrRet); err = PDL_JSReply(parms, cstrRet); if (err != PDL_NOERROR) { ReportError1("PDL_Init failed, err = %s", PDL_GetError()); return PDL_FALSE; } //ReportError("Exiting Get Cur"); return PDL_TRUE; }
PDL_bool Ping(PDL_JSParameters *parms) { PDL_Err err = PDL_JSReply(parms, "Pong"); if (err != PDL_NOERROR) { ReportError1("PDL_Init failed, err = %s", PDL_GetError()); return PDL_FALSE; } return PDL_TRUE; }
PDL_bool GetMetadata(PDL_JSParameters *parms) { const char *cstrItem = PDL_GetJSParamString(parms, 0); ReportError1("Getting meta for tag %s", cstrItem); const char *cstrRet = g_Indexer.GetMetadata(cstrItem); PDL_Err err = PDL_JSReply(parms, cstrRet); if (err != PDL_NOERROR) { ReportError1("PDL_Init failed, err = %s", PDL_GetError()); return PDL_FALSE; } return PDL_TRUE; }
PDL_bool dateToUTCTimestamp(PDL_JSParameters *params) { int numParams = PDL_GetNumJSParams(params); if(numParams < 4) { //problem: not enough params! PDL_JSException(params,"Not enough params, need TZName, Year, Month, Day, at least."); return PDL_TRUE; } const char* oldTZ = getenv("TZ"); struct std::tm t; setenv("TZ",PDL_GetJSParamString(params,0),true); tzset(); t.tm_year = PDL_GetJSParamInt(params,1)-1900; t.tm_mon = PDL_GetJSParamInt(params,2); //-1 already in JS. t.tm_mday = PDL_GetJSParamInt(params,3); if(numParams >= 5) t.tm_hour = PDL_GetJSParamInt(params,4); else t.tm_hour = 0; if(numParams >= 6) t.tm_min = PDL_GetJSParamInt(params,5); else t.tm_min = 0; if(numParams >= 7) t.tm_sec = PDL_GetJSParamInt(params,6); else t.tm_sec = 0; time_t time = std::mktime(&t); //this should produce a timestamp in UTC from the set timezone! Funambol::LOG.debug("Converted %02d.%02d.%04d - %02d:%02d:%02d to %d in timezone %s.",t.tm_mday,t.tm_mon+1,t.tm_year+1900,t.tm_hour,t.tm_min,t.tm_sec,time,getenv("TZ")); std::stringstream res; res << time; PDL_JSReply(params,res.str().c_str()); setenv("TZ",oldTZ,1); return PDL_TRUE; }
PDL_bool GetCurrentDirLS(PDL_JSParameters *parms) { PDL_Err err; const char *strVal = PDL_GetJSParamString(parms, 0); char *cstrRet = g_Indexer.GetDirFileList(strVal); err = PDL_JSReply(parms, cstrRet); if (err != PDL_NOERROR) { ReportError1("PDL_Init failed, err = %s", PDL_GetError()); return PDL_FALSE; } free(cstrRet); return PDL_TRUE; }
PDL_bool hello_world(PDL_JSParameters *params) { const char *buf; if (PDL_GetNumJSParams(params) < 1) { buf = PDL_GetJSParamString(params, 1); if(buf == NULL) { PDL_JSException(params, "You must send a hellostr param"); return PDL_TRUE; } } else { PDL_JSException(params, "No params sent"); return PDL_TRUE; } char reply[32] = "Hello World!"; PDL_JSReply(params, reply); return PDL_TRUE; }
PDL_bool GetEndTime(PDL_JSParameters *parms) { //ReportError("Entering Get End"); PDL_Err err; int32_t iTrack = PDL_GetJSParamInt(parms, 0); const char *cstrRet; cstrRet = g_MusController.PassMessage(MUS_MESSAGE_GET_SONG_END, iTrack); err = PDL_JSReply(parms, cstrRet); if (err != PDL_NOERROR) { ReportError1("PDL_Init failed, err = %s", PDL_GetError()); return PDL_FALSE; } //ReportError("Exiting Get End"); return PDL_TRUE; }