Did you know that you can navigate the posts by swiping left and right?
typedef struct
{
gchar *key;
gchar *value;
} ProjectSettingsDic;
void ges_pitivi_formatter_set_metadata (GESPitiviFormatter * formatter, const gchar * uri, gchar * author, gchar * name, gchar * year)
{
xmlNodePtr nodo, metadata;
xmlDocPtr doc = NULL;
doc = xmlParseFile(uri);
nodo = xmlDocGetRootElement(doc);
metadata = xmlNewChild(nodo, NULL, BAD_CAST "metadata", NULL);
xmlSetProp(metadata,BAD_CAST "author",BAD_CAST author);
xmlSetProp(metadata,BAD_CAST "name",BAD_CAST name);
xmlSetProp(metadata,BAD_CAST "year",BAD_CAST year);
xmlSaveFile(uri, doc);
}
GHashTable * ges_pitivi_formatter_get_metadata (GESPitiviFormatter * formatter, const gchar * uri) {
xmlDocPtr doc;
xmlNodePtr root;
xmlNodePtr node;
GHashTable *hashTable;
ProjectSettingsDic *author;
ProjectSettingsDic *name;
ProjectSettingsDic *year;
ProjectSettingsDic *recalledObject;
doc = xmlParseFile (uri);
root = xmlDocGetRootElement (doc);
node = root->xmlChildrenNode;
while (( node != NULL) && (g_strcmp0((gchar *)node->name, "metadata") != 0)) {
node = node->next;
}
hashTable = g_hash_table_new(g_str_hash, g_str_equal);
// Create author
author = g_new0(ProjectSettingsDic, 1);
author->key = g_strdup("author");
author->value = g_strdup((char *)xmlGetProp(node, BAD_CAST "author"));
g_hash_table_insert(hashTable, author, author);
// Create name
name = g_new0(ProjectSettingsDic, 1);
name->key = g_strdup("name");
name->value = g_strdup((char *)xmlGetProp(node, BAD_CAST "name"));
g_hash_table_insert(hashTable, name, name);
// Create year
year = g_new0(ProjectSettingsDic, 1);
year->key = g_strdup("year");
year->value = g_strdup((char *)xmlGetProp(node, BAD_CAST "year"));
g_hash_table_insert(hashTable, year, year);
return hashTable;
}