static void playlistcontainer_loaded(sp_playlistcontainer *pc, void *userdata) { syslog(LOG_DEBUG, "playlistcontainer_loaded\n"); sp_session *session = userdata; struct state *state = sp_session_userdata(session); sp_playlistcontainer_remove_callbacks(pc, &playlistcontainer_callbacks, session); state->http = evhttp_new(state->event_base); evhttp_set_timeout(state->http, 60); evhttp_set_gencb(state->http, &handle_request, state); // Bind HTTP server int bind = evhttp_bind_socket(state->http, state->http_host, state->http_port); if (bind == -1) { syslog(LOG_WARNING, "Could not bind HTTP server socket to %s:%d", state->http_host, state->http_port); sp_session_logout(session); return; } syslog(LOG_DEBUG, "HTTP server listening on %s:%d", state->http_host, state->http_port); }
QSpotifyPlaylistContainer::~QSpotifyPlaylistContainer() { g_containerObjects.remove(m_container); sp_playlistcontainer_remove_callbacks(m_container, m_callbacks, 0); qDeleteAll(m_playlists); sp_playlistcontainer_release(m_container); delete m_callbacks; }
static void playlistcontainer_dispatch(sp_playlistcontainer *pc, void *userdata) { struct playlistcontainer_handler *handler = userdata; sp_playlistcontainer_remove_callbacks(pc, handler->playlistcontainer_callbacks, handler); handler->callback(pc, handler->request, handler->userdata); free(handler); }
void PlayListContainer::Unload() { if (container_) { sp_playlistcontainer_callbacks callbacks; GetCallbacks(&callbacks); sp_playlistcontainer_remove_callbacks(container_, &callbacks, this); container_ = NULL; playlists_.clear(); loading_ = false; } }
/** logout if clearPlaylists, also unset all loaded playlists otherwise, just remove callbacks and release **/ void SpotifySession::logout(bool clearPlaylists ) { if ( m_loggedIn ) { if ( clearPlaylists ) m_SpotifyPlaylists->unsetAllLoaded(); sp_playlistcontainer_remove_callbacks( m_container, &SpotifyCallbacks::containerCallbacks, this); sp_playlistcontainer_release( m_container ); sp_session_logout( m_session ); } }
static void playlistcontainer_loaded(sp_playlistcontainer *pc, void *userdata) { syslog(LOG_DEBUG, "playlistcontainer_loaded\n"); sp_session *session = userdata; struct state *state = sp_session_userdata(session); sp_playlistcontainer_remove_callbacks(pc, &playlistcontainer_callbacks, session); state->http = evhttp_new(state->event_base); evhttp_set_timeout(state->http, 60); evhttp_set_gencb(state->http, &handle_request, state); // TODO(liesen): Make address and port configurable if (evhttp_bind_socket(state->http, "0.0.0.0", 1337) == -1) { syslog(LOG_WARNING, "Could not bind HTTP server socket"); sp_session_logout(session); } }
static void playlistcontainer_complete(sp_playlistcontainer *pc, void *userdata) { spotify_object *p = (spotify_object*)userdata; p->playlistcontainer = pc; sp_playlistcontainer_remove_callbacks(pc, &playlistcontainer_callbacks, userdata); }
SpotifyPlaylistContainer::~SpotifyPlaylistContainer() { sp_playlistcontainer_remove_callbacks(playlistContainer, &playlistCallbacks, nullptr); }
static void playlistcontainer_complete(sp_playlistcontainer *pc, void *userdata) { sp_playlistcontainer_remove_callbacks(pc, &playlistcontainer_callbacks, userdata); }