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;

Object Hierarchy

  GObject
   +----RygelHTTPSeek
  GEnum
   +----RygelHTTPSeekType

Properties

  "length"                   gint64                : Read
  "msg"                      SoupMessage*          : Read
  "seek-type"                RygelHTTPSeekType     : Read / Write
  "start"                    gint64                : Read
  "step"                     gint64                : Read
  "stop"                     gint64                : Read
  "total-length"             gint64                : Read

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;

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

Property Details

The "length" property

  "length"                   gint64                : Read

The length of the range as a number of bytes (classic) or as microseconds (DLNA-specific). See seek_type.

Default value: 0


The "msg" property

  "msg"                      SoupMessage*          : Read

msg.


The "seek-type" property

  "seek-type"                RygelHTTPSeekType     : Read / Write

Identifies whether this is a class Range request or a DLNA-specific "TimeSeekRange.dlna.org" request.

Default value: RYGEL_HTTP_SEEK_TYPE_BYTE


The "start" property

  "start"                    gint64                : Read

The start of the range as a number of bytes (classic) or as microseconds (DLNA-specific). See seek_type.

Default value: 0


The "step" property

  "step"                     gint64                : Read

Either 1 byte (classic) or as 1000 G_TIME_SPAN_MILLISECOND microseconds (DLNA-specific). See seek_type.

Default value: 0


The "stop" property

  "stop"                     gint64                : Read

The end of the range as a number of bytes (classic) or as microseconds (DLNA-specific). See seek_type.

Default value: 0


The "total-length" property

  "total-length"             gint64                : Read

The length of the media file as a number of bytes (classic) or as microseconds (DLNA-specific). See seek_type.

Default value: 0