JSONRPC_STATUS CPVROperations::DeleteTimer(const std::string &method, ITransportLayer *transport, IClient *client, const CVariant ¶meterObject, CVariant &result) { if (!g_PVRManager.IsStarted()) return FailedToExecute; CPVRTimers* timers = g_PVRTimers; CPVRTimerInfoTagPtr timer = timers->GetById(parameterObject["timerid"].asInteger()); if (!timer) return InvalidParams; if (timers->DeleteTimer(timer, timer->IsRecording(), false)) return ACK; return FailedToExecute; }
JSONRPC_STATUS CPVROperations::GetTimerDetails(const std::string &method, ITransportLayer *transport, IClient *client, const CVariant ¶meterObject, CVariant &result) { if (!g_PVRManager.IsStarted()) return FailedToExecute; CPVRTimers* timers = g_PVRTimers; if (!timers) return FailedToExecute; CPVRTimerInfoTagPtr timer = timers->GetById((int)parameterObject["timerid"].asInteger()); if (!timer) return InvalidParams; HandleFileItem("timerid", false, "timerdetails", CFileItemPtr(new CFileItem(*timer)), parameterObject, parameterObject["properties"], result, false); return OK; }