QSoundCloud
A Qt/C++ library and QML module to access the SoundCloud Data API.
 All Classes Functions Enumerations Properties Groups Pages
Public Slots | List of all members
QSoundCloud::StreamsRequest Class Reference

Handles requests for track streams. More...

Inheritance diagram for QSoundCloud::StreamsRequest:
QSoundCloud::Request

Public Slots

void get (const QString &id)
 Requests a list of streams for the track identified by id.
- Public Slots inherited from QSoundCloud::Request
void cancel ()
 Cancels the current HTTP request.

Additional Inherited Members

- Public Types inherited from QSoundCloud::Request
enum  Operation
 The operation type of the last HTTP request. More...
enum  Status
 The status of the last HTTP request. More...
enum  Error
 The error resulting from the last HTTP request. More...
- Signals inherited from QSoundCloud::Request
void clientIdChanged ()
 Emitted when the clientId changes.
void clientSecretChanged ()
 Emitted when the clientSecret changes.
void accessTokenChanged (const QString &token)
 Emitted when the accessToken changes.
void refreshTokenChanged (const QString &token)
 Emitted when the refreshToken changes.
void urlChanged ()
 Emitted when the url changes.
void dataChanged ()
 Emitted when the data changes.
void headersChanged ()
 Emitted when the headers change.
void operationChanged ()
 Emitted when the operation changes.
void statusChanged (Status s)
 Emitted when the status changes.
void finished ()
 Emitted when the request is completed.
- Public Member Functions inherited from QSoundCloud::Request
void setNetworkAccessManager (QNetworkAccessManager *manager)
 Sets the QNetworkAccessManager instance to be used when making requests to the SoundCloud API.
- Protected Slots inherited from QSoundCloud::Request
void head (bool authRequired=true)
 Performs a HTTP HEAD request.
void get (bool authRequired=true)
 Performs a HTTP GET request.
void post (bool authRequired=true)
 Performs a HTTP POST request.
void put (bool authRequired=true)
 Performs a HTTP PUT request.
void deleteResource (bool authRequired=true)
 Performs a HTTP DELETE request.
- Properties inherited from QSoundCloud::Request
QString clientId
 The client id used when making requests to the SoundCloud Data API.
QString clientSecret
 The api key used when making requests to the SoundCloud Data API.
QString accessToken
 The access token used when making requests to the SoundCloud Data API.
QString refreshToken
 The refresh token used when making requests to the SoundCloud Data API.
QUrl url
 The url used when making requests to the SoundCloud Data API.
QVariantMap headers
 The headers used when making requests to the SoundCloud Data API.
QVariant data
 The data used when making HTTP PUT/POST requests to the SoundCloud Data API.
Operation operation
 The last HTTP operation type.
Status status
 The status of the last request.
QVariant result
 The result of the last HTTP request.
Error error
 The error resulting from the last HTTP request.
QString errorString
 A description of the error resulting from the last HTTP request.

Detailed Description

Handles requests for track streams.

The StreamsRequest class is used for requesting a list of streams for a SoundCloud track.

Example usage:

C++

using namespace QSoundCloud;
...
StreamsRequest request;
request.get(TRACK_ID);
connect(&request, SIGNAL(finished()), this, SLOT(onRequestFinished()));
...
void MyClass::onRequestFinished() {
if (request.status() == StreamsRequest::Ready) {
foreach (QVariant stream, request.result().toList()) {
qDebug() << "ID:" << stream.value("id").toString();
qDebug() << "Description:" << stream.value("description").toString();
qDebug() << "Extension:" << stream.value("ext").toString();
qDebug() << "URL:" << stream.value("url").toString();
}
}
else {
qDebug() << request.errorString();
}
}

QML

import QtQuick 1.0
import QSoundCloud 1.0
StreamsRequest {
id: request
onFinished: {
if (status == StreamsRequest.Ready) {
for (var i = 0; i < result.length; i++) {
console.log("ID: " + result[i].id);
console.log("Description: " + result[i].description);
console.log("Extension: " + result[i].ext);
console.log("URL: " + result[i].url);
}
}
else {
console.log(errorString);
}
}
Component.onCompleted: get(TRACK_ID)
}

Member Function Documentation

void QSoundCloud::StreamsRequest::get ( const QString &  id)
slot

Requests a list of streams for the track identified by id.

id can be either a track id or a URL. If a URL is provided, StreamsRequest will resolve the URL before retrieving the streams.