MexContent

MexContent — Objects that can be put in MexContentBox

Synopsis

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

Object Hierarchy

  GEnum
   +----MexContentMetadata

Description

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

Details

MEX_CONTENT_IFACE()

#define MEX_CONTENT_IFACE(iface)      (G_TYPE_CHECK_CLASS_CAST ((iface), MEX_TYPE_CONTENT, MexContentIface))

MEX_IS_CONTENT_IFACE()

#define MEX_IS_CONTENT_IFACE(iface)   (G_TYPE_CHECK_CLASS_TYPE ((iface), MEX_TYPE_CONTENT))

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);

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);
};

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_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_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


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_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_open ()

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

Open a content.

content :

a MexContent

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_set_last_used_metadatas ()

void                mex_content_set_last_used_metadatas (MexContent *content);

mex_content_metadata_key_to_string ()

const gchar *       mex_content_metadata_key_to_string  (MexContentMetadata key);

MexContentProperty

typedef struct _MexContentProperty MexContentProperty;