From 3a196f51581ffca2d2a902e83a9b69ac4702316c Mon Sep 17 00:00:00 2001 From: Lars-Dominik Braun Date: Mon, 10 Aug 2015 10:36:03 +0200 Subject: Add feature to change Pandora settings MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Currently exposed settings: Username, password and explicit content filter. New key for settings is ‘!’, changeable with “act_settings”. Fixes issues #524 and #506. --- src/libpiano/response.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'src/libpiano/response.c') diff --git a/src/libpiano/response.c b/src/libpiano/response.c index b530f3a..542ef00 100644 --- a/src/libpiano/response.c +++ b/src/libpiano/response.c @@ -411,6 +411,7 @@ PianoReturn_t PianoResponse (PianoHandle_t *ph, PianoRequest_t *req) { case PIANO_REQUEST_BOOKMARK_ARTIST: case PIANO_REQUEST_DELETE_FEEDBACK: case PIANO_REQUEST_DELETE_SEED: + case PIANO_REQUEST_CHANGE_SETTINGS: /* response unused */ break; @@ -508,6 +509,17 @@ PianoReturn_t PianoResponse (PianoHandle_t *ph, PianoRequest_t *req) { break; } + case PIANO_REQUEST_GET_SETTINGS: { + PianoSettings_t * const settings = req->data; + + assert (settings != NULL); + + settings->explicitContentFilter = json_object_get_boolean ( + json_object_object_get (result, "isExplicitContentFilterEnabled")); + settings->username = PianoJsonStrdup (result, "username"); + break; + } + case PIANO_REQUEST_GET_STATION_INFO: { /* get station information (seeds and feedback) */ PianoRequestDataGetStationInfo_t *reqData = req->data; -- cgit v1.2.3