Esempio n. 1
0
static void
mex_grilo_program_set_metadata (MexContent *content,
                                MexContentMetadata key,
                                const gchar *value)
{
  MexContentIface        *iface, *parent_iface;

  iface = MEX_CONTENT_GET_IFACE (content);
  parent_iface = g_type_interface_peek_parent (iface);
  parent_iface->set_metadata (content, key, value);
}
Esempio n. 2
0
/**
 * mex_content_get_property_name:
 * @key: The key ID
 *
 * 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.
 *
 * Return value: The property name or %NULL.
 */
const char *
mex_content_get_property_name (MexContent         *content,
                               MexContentMetadata  key)
{
  MexContentIface *iface;

  g_return_val_if_fail (MEX_IS_CONTENT (content), NULL);

  iface = MEX_CONTENT_GET_IFACE (content);

  if (iface->get_property_name)
    return iface->get_property_name (content, key);

  return NULL;
}
Esempio n. 3
0
/**
 * mex_content_get_metadata_fallback:
 * @content: a #MexContent
 * @key: a #MexContentMetadata
 *
 * Retrieves a string for @key for this content.
 *
 * Return value: 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
 */
gchar *
mex_content_get_metadata_fallback (MexContent        *content,
                                   MexContentMetadata key)
{
  MexContentIface *iface;

  g_return_val_if_fail (MEX_IS_CONTENT (content), NULL);

  iface = MEX_CONTENT_GET_IFACE (content);

  if (G_LIKELY (iface->get_metadata_fallback))
    return iface->get_metadata_fallback (content, key);

  return NULL;
}
Esempio n. 4
0
/**
 * mex_content_save_metadata:
 * @content: a #MexContent
 *
 * Save all metadata into underlaying backend.
 *
 * Since: 0.2
 */
void
mex_content_save_metadata (MexContent *content)
{
  MexContentIface *iface;

  g_return_if_fail (MEX_IS_CONTENT (content));

  iface = MEX_CONTENT_GET_IFACE (content);

  if (iface->save_metadata) {
    iface->save_metadata (content);
    return;
  }

  g_warning ("MexContent of type '%s' does not implement save_metadata()",
             g_type_name (G_OBJECT_TYPE (content)));
}
Esempio n. 5
0
/**
 * mex_content_get_metadata:
 * @content: a #MexContent
 * @key: a #MexContentMetadata
 *
 * Retrieves a string for @key for this content.
 *
 * Return value: The string corresponding to the @key
 *
 * Since: 0.2
 */
const gchar *
mex_content_get_metadata (MexContent         *content,
                          MexContentMetadata  key)
{
  MexContentIface *iface;

  g_return_val_if_fail (MEX_IS_CONTENT (content), NULL);

  iface = MEX_CONTENT_GET_IFACE (content);

  if (G_LIKELY (iface->get_metadata))
    return iface->get_metadata (content, key);

  g_warning ("MexContent of type '%s' does not implement get_metadata()",
             g_type_name (G_OBJECT_TYPE (content)));

  return NULL;
}
Esempio n. 6
0
/**
 * mex_content_set_metadata:
 * @content: a #MexContent
 * @key: a #MexContentMetadata
 * @value: a string corresponding to the new value of @key
 *
 * Sets a string for @key for this content.
 *
 * Since: 0.2
 */
void
mex_content_set_metadata (MexContent         *content,
                          MexContentMetadata  key,
                          const gchar        *value)
{
  MexContentIface *iface;

  g_return_if_fail (MEX_IS_CONTENT (content));

  iface = MEX_CONTENT_GET_IFACE (content);

  if (G_LIKELY (iface->set_metadata)) {
    iface->set_metadata (content, key, value);
    return;
  }

  g_warning ("MexContent of type '%s' does not implement set_metadata()",
             g_type_name (G_OBJECT_TYPE (content)));
}
Esempio n. 7
0
void
mex_content_foreach_metadata (MexContent           *content,
                              MexContentMetadataCb  callback,
                              gpointer              data)
{
  MexContentIface *iface;

  g_return_if_fail (MEX_IS_CONTENT (content));
  g_return_if_fail (callback != NULL);

  iface = MEX_CONTENT_GET_IFACE (content);

  if (iface->foreach_metadata) {
    iface->foreach_metadata (content, callback, data);
    return;
  }

  g_warning ("MexContent of type '%s' does not implement foreach_metadata()",
             g_type_name (G_OBJECT_TYPE (content)));
}