summaryrefslogtreecommitdiff
path: root/libpiano/src/piano.h
diff options
context:
space:
mode:
Diffstat (limited to 'libpiano/src/piano.h')
-rw-r--r--libpiano/src/piano.h244
1 files changed, 0 insertions, 244 deletions
diff --git a/libpiano/src/piano.h b/libpiano/src/piano.h
deleted file mode 100644
index ef6e386..0000000
--- a/libpiano/src/piano.h
+++ /dev/null
@@ -1,244 +0,0 @@
-/*
-Copyright (c) 2008-2010
- Lars-Dominik Braun <PromyLOPh@lavabit.com>
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
-*/
-
-#ifndef _PIANO_H
-#define _PIANO_H
-
-/* this is our public API; don't expect this api to be stable as long as
- * pandora does not provide a stable api
- * all strings _must_ be utf-8 encoded. i won't care, but pandora does. so
- * be nice and check the encoding of your strings. thanks :) */
-
-#define PIANO_RPC_HOST "www.pandora.com"
-#define PIANO_RPC_PORT "80"
-
-typedef struct PianoUserInfo {
- char *webAuthToken;
- char *listenerId;
- char *authToken;
-} PianoUserInfo_t;
-
-typedef struct PianoStation {
- char isCreator;
- char isQuickMix;
- char useQuickMix; /* station will be included in quickmix */
- char *name;
- char *id;
- struct PianoStation *next;
-} PianoStation_t;
-
-typedef enum {
- PIANO_RATE_NONE = 0,
- PIANO_RATE_LOVE = 1,
- PIANO_RATE_BAN = 2
-} PianoSongRating_t;
-
-/* UNKNOWN should be 0, because memset sets audio format to 0 */
-typedef enum {
- PIANO_AF_UNKNOWN = 0,
- PIANO_AF_AACPLUS = 1,
- PIANO_AF_MP3 = 2,
- PIANO_AF_MP3_HI = 3
-} PianoAudioFormat_t;
-
-typedef struct PianoSong {
- char *artist;
- char *artistMusicId;
- char *stationId;
- char *album;
- char *userSeed;
- char *audioUrl;
- char *coverArt;
- char *musicId;
- char *title;
- float fileGain;
- PianoSongRating_t rating;
- PianoAudioFormat_t audioFormat;
- int testStrategy;
- unsigned int songType;
- struct PianoSong *next;
-} PianoSong_t;
-
-/* currently only used for search results */
-typedef struct PianoArtist {
- char *name;
- char *musicId;
- int score;
- struct PianoArtist *next;
-} PianoArtist_t;
-
-typedef struct PianoGenre {
- char *name;
- char *musicId;
- struct PianoGenre *next;
-} PianoGenre_t;
-
-typedef struct PianoGenreCategory {
- char *name;
- PianoGenre_t *genres;
- struct PianoGenreCategory *next;
-} PianoGenreCategory_t;
-
-typedef struct PianoHandle {
- char routeId[9];
- PianoUserInfo_t user;
- /* linked lists */
- PianoStation_t *stations;
- PianoGenreCategory_t *genreStations;
- int timeOffset;
-} PianoHandle_t;
-
-typedef struct PianoSearchResult {
- PianoSong_t *songs;
- PianoArtist_t *artists;
-} PianoSearchResult_t;
-
-typedef enum {
- /* 0 is reserved: memset (x, 0, sizeof (x)) */
- PIANO_REQUEST_LOGIN = 1,
- PIANO_REQUEST_GET_STATIONS = 2,
- PIANO_REQUEST_GET_PLAYLIST = 3,
- PIANO_REQUEST_RATE_SONG = 4,
- PIANO_REQUEST_ADD_FEEDBACK = 5,
- PIANO_REQUEST_MOVE_SONG = 6,
- PIANO_REQUEST_RENAME_STATION = 7,
- PIANO_REQUEST_DELETE_STATION = 8,
- PIANO_REQUEST_SEARCH = 9,
- PIANO_REQUEST_CREATE_STATION = 10,
- PIANO_REQUEST_ADD_SEED = 11,
- PIANO_REQUEST_ADD_TIRED_SONG = 12,
- PIANO_REQUEST_SET_QUICKMIX = 13,
- PIANO_REQUEST_GET_GENRE_STATIONS = 14,
- PIANO_REQUEST_TRANSFORM_STATION = 15,
- PIANO_REQUEST_EXPLAIN = 16,
- PIANO_REQUEST_GET_SEED_SUGGESTIONS = 17,
- PIANO_REQUEST_BOOKMARK_SONG = 18,
- PIANO_REQUEST_BOOKMARK_ARTIST = 19,
-} PianoRequestType_t;
-
-typedef struct PianoRequest {
- PianoRequestType_t type;
- void *data;
- char urlPath[1024];
- char *postData;
- char *responseData;
-} PianoRequest_t;
-
-/* request data structures */
-typedef struct {
- char *user;
- char *password;
- unsigned char step;
-} PianoRequestDataLogin_t;
-
-typedef struct {
- PianoStation_t *station;
- PianoAudioFormat_t format;
- PianoSong_t *retPlaylist;
-} PianoRequestDataGetPlaylist_t;
-
-typedef struct {
- PianoSong_t *song;
- PianoSongRating_t rating;
-} PianoRequestDataRateSong_t;
-
-typedef struct {
- char *stationId;
- char *musicId;
- char *userSeed;
- PianoSongRating_t rating;
- unsigned int testStrategy;
- unsigned int songType;
-} PianoRequestDataAddFeedback_t;
-
-typedef struct {
- PianoSong_t *song;
- PianoStation_t *from;
- PianoStation_t *to;
- unsigned short step;
-} PianoRequestDataMoveSong_t;
-
-typedef struct {
- PianoStation_t *station;
- char *newName;
-} PianoRequestDataRenameStation_t;
-
-typedef struct {
- char *searchStr;
- PianoSearchResult_t searchResult;
-} PianoRequestDataSearch_t;
-
-typedef struct {
- char *type;
- char *id;
-} PianoRequestDataCreateStation_t;
-
-typedef struct {
- PianoStation_t *station;
- char *musicId;
-} PianoRequestDataAddSeed_t;
-
-typedef struct {
- PianoSong_t *song;
- char *retExplain;
-} PianoRequestDataExplain_t;
-
-typedef struct {
- char *musicId;
- unsigned short max;
- PianoSearchResult_t searchResult;
-} PianoRequestDataGetSeedSuggestions_t;
-
-typedef enum {
- PIANO_RET_ERR = 0,
- PIANO_RET_OK = 1,
- PIANO_RET_XML_INVALID = 2,
- PIANO_RET_AUTH_TOKEN_INVALID = 3,
- PIANO_RET_AUTH_USER_PASSWORD_INVALID = 4,
- PIANO_RET_CONTINUE_REQUEST = 5,
- PIANO_RET_NOT_AUTHORIZED = 6,
- PIANO_RET_PROTOCOL_INCOMPATIBLE = 7,
- PIANO_RET_READONLY_MODE = 8,
- PIANO_RET_STATION_CODE_INVALID = 9,
- PIANO_RET_IP_REJECTED = 10,
- PIANO_RET_STATION_NONEXISTENT = 11,
- PIANO_RET_OUT_OF_MEMORY = 12,
- PIANO_RET_OUT_OF_SYNC = 13,
- PIANO_RET_PLAYLIST_END = 14,
- PIANO_RET_QUICKMIX_NOT_PLAYABLE = 15,
-} PianoReturn_t;
-
-void PianoInit (PianoHandle_t *);
-void PianoDestroy (PianoHandle_t *);
-void PianoDestroyPlaylist (PianoSong_t *);
-void PianoDestroySearchResult (PianoSearchResult_t *);
-
-PianoReturn_t PianoRequest (PianoHandle_t *, PianoRequest_t *,
- PianoRequestType_t);
-PianoReturn_t PianoResponse (PianoHandle_t *, PianoRequest_t *);
-void PianoDestroyRequest (PianoRequest_t *);
-
-PianoStation_t *PianoFindStationById (PianoStation_t *, const char *);
-const char *PianoErrorToStr (PianoReturn_t);
-
-#endif /* _PIANO_H */