MexContent

MexContent — Objects that can be put in MexContentBox

Synopsis

struct              MexContentIface;
enum                MexContentMetadata;
void                (*MexContentMetadataCb)             (MexContentMetadata key,
                                                         const gchar *value,
                                                         gpointer data);
                    MexContentProperty;
void                mex_content_foreach_metadata        (MexContent *content,
                                                         MexContentMetadataCb callback,
                                                         gpointer data);
const gchar *       mex_content_get_metadata            (MexContent *content,
                                                         MexContentMetadata key);
gchar *             mex_content_get_metadata_fallback   (MexContent *content,
                                                         MexContentMetadata key);
GParamSpec *        mex_content_get_property            (MexContent *content,
                                                         MexContentMetadata key);
const char *        mex_content_get_property_name       (MexContent *content,
                                                         MexContentMetadata key);
const gchar *       mex_content_metadata_key_to_string  (MexContentMetadata key);
void                mex_content_open                    (MexContent *content,
                                                         MexModel *context);
void                mex_content_save_metadata           (MexContent *content);
void                mex_content_set_last_used_metadatas (MexContent *content);
void                mex_content_set_metadata            (MexContent *content,
                                                         MexContentMetadata key,
                                                         const gchar *value);

Object Hierarchy

  GEnum
   +----MexContentMetadata

Description

Implementing MexContent means that the class can be displayed in a MexContentBox.

Details

struct MexContentIface

struct MexContentIface {
  GTypeInterface g_iface;

  /* virtual functions */
  GParamSpec *  (*get_property)           (MexContent         *content,
                                           MexContentMetadata  key);
  const gchar * (*get_metadata)           (MexContent         *content,
                                           MexContentMetadata  key);
  void          (*set_metadata)           (MexContent         *content,
                                           MexContentMetadata  key,
                                           const gchar        *value);
  gchar *       (*get_metadata_fallback)  (MexContent         *content,
                                           MexContentMetadata  key);
  const gchar * (*get_property_name)      (MexContent          *content,
                                           MexContentMetadata  key);

  void          (*save_metadata)          (MexContent *content);

  void          (*foreach_metadata)       (MexContent           *content,
                                           MexContentMetadataCb  callback,
                                           gpointer              data);

  void          (*open)                   (MexContent *content,
                                           MexModel   *context);
};

enum MexContentMetadata

typedef enum {
    MEX_CONTENT_METADATA_NONE,
    MEX_CONTENT_METADATA_SERIES_NAME,
    MEX_CONTENT_METADATA_TITLE,
    MEX_CONTENT_METADATA_SUB_TITLE,
    MEX_CONTENT_METADATA_SEASON,
    MEX_CONTENT_METADATA_EPISODE,
    MEX_CONTENT_METADATA_STATION_ID,
    MEX_CONTENT_METADATA_STATION_LOGO,
    MEX_CONTENT_METADATA_STILL,
    MEX_CONTENT_METADATA_SYNOPSIS,
    MEX_CONTENT_METADATA_YEAR,
    MEX_CONTENT_METADATA_DURATION,
    MEX_CONTENT_METADATA_URL, /* This is the URL of the page
                                 with the player on it*/
    MEX_CONTENT_METADATA_PLAYER, /* This is the URL of the player object */
    MEX_CONTENT_METADATA_STREAM, /* This is the URL of the video stream */
    MEX_CONTENT_METADATA_STUDIO,
    MEX_CONTENT_METADATA_DIRECTOR,
    MEX_CONTENT_METADATA_MIMETYPE,
    MEX_CONTENT_METADATA_COPYRIGHT,
    MEX_CONTENT_METADATA_COPYRIGHT_URL,
    MEX_CONTENT_METADATA_PRICE,
    MEX_CONTENT_METADATA_PRICE_TYPE,
    MEX_CONTENT_METADATA_PRICE_CURRENCY,
    MEX_CONTENT_METADATA_LICENSE,
    MEX_CONTENT_METADATA_LICENSE_URL,
    MEX_CONTENT_METADATA_VALID_FROM,
    MEX_CONTENT_METADATA_VALID_UNTIL,
    MEX_CONTENT_METADATA_ID,
    MEX_CONTENT_METADATA_QUEUED, /* whether we're queued or not */
    MEX_CONTENT_METADATA_DATE,
    MEX_CONTENT_METADATA_CREATION_DATE,
    MEX_CONTENT_METADATA_CAMERA_MODEL,
    MEX_CONTENT_METADATA_ORIENTATION,
    MEX_CONTENT_METADATA_FLASH_USED,
    MEX_CONTENT_METADATA_EXPOSURE_TIME,
    MEX_CONTENT_METADATA_ISO_SPEED,
    MEX_CONTENT_METADATA_HEIGHT,
    MEX_CONTENT_METADATA_WIDTH,
    MEX_CONTENT_METADATA_LAST_POSITION,
    MEX_CONTENT_METADATA_PLAY_COUNT,
    MEX_CONTENT_METADATA_LAST_PLAYED_DATE,
    MEX_CONTENT_METADATA_ALBUM,
    MEX_CONTENT_METADATA_ARTIST,

    MEX_CONTENT_METADATA_PRIVATE_ID,

    MEX_CONTENT_METADATA_LAST_ID,
    MEX_CONTENT_METADATA_INVALID
} MexContentMetadata;

MexContentMetadataCb ()

void                (*MexContentMetadataCb)             (MexContentMetadata key,
                                                         const gchar *value,
                                                         gpointer data);

MexContentProperty

typedef struct _MexContentProperty MexContentProperty;

mex_content_foreach_metadata ()

void                mex_content_foreach_metadata        (MexContent *content,
                                                         MexContentMetadataCb callback,
                                                         gpointer data);

content :

the MexContent

callback :

the callback to call. [scope call]

data :

the data given to the callback

Since 0.2


mex_content_get_metadata ()

const gchar *       mex_content_get_metadata            (MexContent *content,
                                                         MexContentMetadata key);

Retrieves a string for key for this content.

content :

a MexContent

key :

a MexContentMetadata

Returns :

The string corresponding to the key

Since 0.2


mex_content_get_metadata_fallback ()

gchar *             mex_content_get_metadata_fallback   (MexContent *content,
                                                         MexContentMetadata key);

Retrieves a string for key for this content.

content :

a MexContent

key :

a MexContentMetadata

Returns :

The string corresponding to the key. Because this string may be dynamically created it should be freed with g_free when no longer needed.

Since 0.2


mex_content_get_property ()

GParamSpec *        mex_content_get_property            (MexContent *content,
                                                         MexContentMetadata key);

Retrieves a GParamSpec for key for this content.

content :

a MexContent

key :

a MexContentMetadata

Returns :

The GParamSpec of the property corresponding to the key. [transfer none]

Since 0.2


mex_content_get_property_name ()

const char *        mex_content_get_property_name       (MexContent *content,
                                                         MexContentMetadata key);

Retrieves the property name for key.

It's possible to return NULL when the MexContent does not want to associate a GObject property with a MexContentMetadata key. This means, for instance that it will disable the GBindings that are setup automatically by wigets like MexContentBox or MexContentButton.

The default implementation returns NULL for any key value given.

key :

The key ID

Returns :

The property name or NULL.

mex_content_metadata_key_to_string ()

const gchar *       mex_content_metadata_key_to_string  (MexContentMetadata key);

mex_content_open ()

void                mex_content_open                    (MexContent *content,
                                                         MexModel *context);

Open a content.

content :

a MexContent

Since 0.2


mex_content_save_metadata ()

void                mex_content_save_metadata           (MexContent *content);

Save all metadata into underlaying backend.

content :

a MexContent

Since 0.2


mex_content_set_last_used_metadatas ()

void                mex_content_set_last_used_metadatas (MexContent *content);

mex_content_set_metadata ()

void                mex_content_set_metadata            (MexContent *content,
                                                         MexContentMetadata key,
                                                         const gchar *value);

Sets a string for key for this content.

content :

a MexContent

key :

a MexContentMetadata

value :

a string corresponding to the new value of key

Since 0.2