RygelHTTPSeek

RygelHTTPSeek — HTTPSeek is an abstract representation of a ranged HTTP request.

Synopsis

#define             RYGEL_TYPE_HTTP_SEEK
void                rygel_http_seek_add_response_headers
                                                        (RygelHTTPSeek *self);
RygelHTTPSeekType   rygel_http_seek_get_seek_type       (RygelHTTPSeek *self);
void                rygel_http_seek_set_seek_type       (RygelHTTPSeek *self,
                                                         RygelHTTPSeekType value);
SoupMessage *       rygel_http_seek_get_msg             (RygelHTTPSeek *self);
gint64              rygel_http_seek_get_start           (RygelHTTPSeek *self);
gint64              rygel_http_seek_get_stop            (RygelHTTPSeek *self);
gint64              rygel_http_seek_get_step            (RygelHTTPSeek *self);
gint64              rygel_http_seek_get_length          (RygelHTTPSeek *self);
gint64              rygel_http_seek_get_total_length    (RygelHTTPSeek *self);
struct              RygelHTTPSeek;
struct              RygelHTTPSeekClass;
enum                RygelHTTPSeekType;
enum                RygelHTTPSeekError;

Description

It can be one of:

  • - The classic Range request (seek_type == HTTPSeekType.BYTE), with start and stop in bytes.

    - The DLNA-Specific "TimeSeekRange.dlna.org" request (seek_type == HTTPSeekType.TIME) with start and stop in microseconds.

Details

RYGEL_TYPE_HTTP_SEEK

#define RYGEL_TYPE_HTTP_SEEK (rygel_http_seek_get_type ())

The type for RygelHTTPSeek.


rygel_http_seek_add_response_headers ()

void                rygel_http_seek_add_response_headers
                                                        (RygelHTTPSeek *self);

self :

the RygelHTTPSeek instance

rygel_http_seek_get_seek_type ()

RygelHTTPSeekType   rygel_http_seek_get_seek_type       (RygelHTTPSeek *self);

Get and return the current value of the "seek-type" property.

self :

the RygelHTTPSeek instance to query

Returns :

the value of the "seek-type" property

rygel_http_seek_set_seek_type ()

void                rygel_http_seek_set_seek_type       (RygelHTTPSeek *self,
                                                         RygelHTTPSeekType value);

Set the value of the "seek-type" property to value.

self :

the RygelHTTPSeek instance to modify

value :

the new value of the "seek-type" property

rygel_http_seek_get_msg ()

SoupMessage *       rygel_http_seek_get_msg             (RygelHTTPSeek *self);

Get and return the current value of the "msg" property.

self :

the RygelHTTPSeek instance to query

Returns :

the value of the "msg" property

rygel_http_seek_get_start ()

gint64              rygel_http_seek_get_start           (RygelHTTPSeek *self);

Get and return the current value of the "start" property.

self :

the RygelHTTPSeek instance to query

Returns :

the value of the "start" property

rygel_http_seek_get_stop ()

gint64              rygel_http_seek_get_stop            (RygelHTTPSeek *self);

Get and return the current value of the "stop" property.

self :

the RygelHTTPSeek instance to query

Returns :

the value of the "stop" property

rygel_http_seek_get_step ()

gint64              rygel_http_seek_get_step            (RygelHTTPSeek *self);

Get and return the current value of the "step" property.

self :

the RygelHTTPSeek instance to query

Returns :

the value of the "step" property

rygel_http_seek_get_length ()

gint64              rygel_http_seek_get_length          (RygelHTTPSeek *self);

Get and return the current value of the "length" property.

self :

the RygelHTTPSeek instance to query

Returns :

the value of the "length" property

rygel_http_seek_get_total_length ()

gint64              rygel_http_seek_get_total_length    (RygelHTTPSeek *self);

Get and return the current value of the "total-length" property.

self :

the RygelHTTPSeek instance to query

Returns :

the value of the "total-length" property

struct RygelHTTPSeek

struct RygelHTTPSeek {
	GObject parent_instance;
	RygelHTTPSeekPrivate * priv;
};

HTTPSeek is an abstract representation of a ranged HTTP request.

It can be one of:

  • - The classic Range request (seek_type == HTTPSeekType.BYTE), with start and stop in bytes.

    - The DLNA-Specific "TimeSeekRange.dlna.org" request (seek_type == HTTPSeekType.TIME) with start and stop in microseconds.


struct RygelHTTPSeekClass

struct RygelHTTPSeekClass {
	GObjectClass parent_class;
	void (*add_response_headers) (RygelHTTPSeek* self);
};

The class structure for RYGEL_TYPE_HTTP_SEEK. All the fields in this structure are private and should never be accessed directly.

GObjectClass parent_class;

the parent class structure

add_response_headers ()

virtual method called by rygel_http_seek_add_response_headers()

enum RygelHTTPSeekType

typedef enum {
	RYGEL_HTTP_SEEK_TYPE_BYTE,
	RYGEL_HTTP_SEEK_TYPE_TIME
} RygelHTTPSeekType;

RYGEL_HTTP_SEEK_TYPE_BYTE

RYGEL_HTTP_SEEK_TYPE_TIME


enum RygelHTTPSeekError

typedef enum {
	RYGEL_HTTP_SEEK_ERROR_INVALID_RANGE = SOUP_STATUS_BAD_REQUEST,
	RYGEL_HTTP_SEEK_ERROR_OUT_OF_RANGE = SOUP_STATUS_REQUESTED_RANGE_NOT_SATISFIABLE
} RygelHTTPSeekError;

RYGEL_HTTP_SEEK_ERROR_INVALID_RANGE

RYGEL_HTTP_SEEK_ERROR_OUT_OF_RANGE