[gtranslator] Make header inherit from GtranslatorMsg.
- From: Ignacio Casal Quinteiro <icq src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [gtranslator] Make header inherit from GtranslatorMsg.
- Date: Wed, 27 Jan 2010 21:30:00 +0000 (UTC)
commit f839cbc1af76576b6fe4845997450a719582d959
Author: Ignacio Casal Quinteiro <icq gnome org>
Date: Wed Jan 27 20:42:39 2010 +0100
Make header inherit from GtranslatorMsg.
src/header.c | 594 +++++++++++++++++++++++++++++++---------------------------
src/header.h | 171 +++++++----------
2 files changed, 384 insertions(+), 381 deletions(-)
---
diff --git a/src/header.c b/src/header.c
index 285670c..927f39a 100644
--- a/src/header.c
+++ b/src/header.c
@@ -2,12 +2,12 @@
* (C) 2007 Pablo Sanxiao <psanxiao gmail com>
* Ignacio Casal Quinteiro <nacho resa gmail com>
* 2008 Igalia
- *
+ *
* gtranslator is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
- *
+ *
* gtranslator is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
@@ -31,94 +31,65 @@
#include <glib-object.h>
#define GTR_HEADER_GET_PRIVATE(object) (G_TYPE_INSTANCE_GET_PRIVATE ( \
- (object), \
- GTR_TYPE_HEADER, \
- GtranslatorHeaderPrivate))
-
-G_DEFINE_TYPE (GtranslatorHeader, gtranslator_header, G_TYPE_OBJECT)
- struct _GtranslatorHeaderPrivate
- {
- gchar *comment;
-
- /*
- * Project-ID-Version
- */
- gchar *prj_id_version;
-
- /*
- * Report msgid bugs to
- */
- gchar *rmbt;
-
- /*
- * POT-Creation-Date
- */
- gchar *pot_date;
-
- /*
- * PO-Revision-Date
- */
- gchar *po_date;
-
- /*
- * Translator Name
- */
- gchar *translator;
-
- /*
- * Translator Email
- */
- gchar *tr_email;
-
- /*
- * Previous Translator Name and Email
- */
- gchar *prev_translator;
-
- /*
- * Language Name
- */
- gchar *language;
-
- /*
- * Traslation group email
- */
- gchar *lg_email;
-
- gchar *mime_version;
-
- /*
- * Content-Type
- */
- gchar *charset;
-
- /*
- * Content-Transfer-Encoding
- */
- gchar *encoding;
-
- /*
- * Plural forms and number of plurals
- */
- gchar *plural_forms;
- gint nplurals;
-
- /*
- * Check if header has changed
- */
- gboolean header_changed;
- };
+ (object), \
+ GTR_TYPE_HEADER, \
+ GtranslatorHeaderPrivate))
-/*
- * Set nplurals variable
- */
- static void parse_nplurals (GtranslatorHeader * header)
+G_DEFINE_TYPE (GtranslatorHeader, gtranslator_header, GTR_TYPE_MSG)
+
+struct _GtranslatorHeaderPrivate
+{
+ gchar *prev_translator;
+ gint nplurals;
+};
+
+static void
+gtranslator_header_set_field (GtranslatorHeader *header,
+ const gchar *field,
+ const gchar *data)
+{
+ gchar *msgstr;
+
+ g_return_if_fail (GTR_IS_HEADER (header));
+ g_return_if_fail (data != NULL);
+
+ msgstr = po_header_set_field (gtranslator_msg_get_msgstr (GTR_MSG (header)),
+ field, data);
+ gtranslator_msg_set_msgstr (GTR_MSG (header), msgstr);
+
+ g_free (msgstr);
+}
+
+/* Set nplurals variable */
+static void
+parse_nplurals (GtranslatorHeader * header)
{
- gchar *pointer;
+ gchar *pointer, *plural_forms;
+
+ plural_forms = g_strdup (gtranslator_header_get_plural_forms (header));
+
+ if (!plural_forms)
+ {
+ const gchar *plural_form;
+ GtranslatorProfile *profile;
- g_return_if_fail (header->priv->plural_forms != NULL);
+ header->priv->nplurals = -1;
- pointer = header->priv->plural_forms;
+ profile = gtranslator_application_get_active_profile (GTR_APP);
+
+ if (profile)
+ plural_form = gtranslator_profile_get_plurals (profile);
+ else
+ return;
+
+ if (plural_form)
+ {
+ gtranslator_header_set_plural_forms (header, plural_form);
+ plural_forms = g_strdup (plural_form);
+ }
+ }
+
+ pointer = plural_forms;
while (*pointer != '=')
pointer++;
@@ -129,12 +100,17 @@ G_DEFINE_TYPE (GtranslatorHeader, gtranslator_header, G_TYPE_OBJECT)
pointer++;
header->priv->nplurals = g_ascii_digit_value (*pointer);
+
+ g_free (plural_forms);
}
static void
gtranslator_header_init (GtranslatorHeader * header)
{
header->priv = GTR_HEADER_GET_PRIVATE (header);
+
+ header->priv->prev_translator = NULL;
+ header->priv->nplurals = -1;
}
static void
@@ -142,19 +118,7 @@ gtranslator_header_finalize (GObject * object)
{
GtranslatorHeader *header = GTR_HEADER (object);
- g_free (header->priv->comment);
- g_free (header->priv->prj_id_version);
- g_free (header->priv->rmbt);
- g_free (header->priv->pot_date);
- g_free (header->priv->po_date);
- g_free (header->priv->translator);
- g_free (header->priv->tr_email);
- g_free (header->priv->language);
- g_free (header->priv->lg_email);
- g_free (header->priv->mime_version);
- g_free (header->priv->charset);
- g_free (header->priv->encoding);
- g_free (header->priv->plural_forms);
+ g_free (header->priv->prev_translator);
G_OBJECT_CLASS (gtranslator_header_parent_class)->finalize (object);
}
@@ -169,226 +133,358 @@ gtranslator_header_class_init (GtranslatorHeaderClass * klass)
object_class->finalize = gtranslator_header_finalize;
}
-/*
- * Public methods
- */
+/* Public methods */
GtranslatorHeader *
-gtranslator_header_new (void)
+gtranslator_header_new (po_message_iterator_t iter,
+ po_message_t message)
{
GtranslatorHeader *header;
- header = g_object_new (GTR_TYPE_HEADER, NULL);
+ header = g_object_new (GTR_TYPE_HEADER, "gettext-iter", iter,
+ "gettext-msg", message, NULL);
+
+ /* We have to parse the number of plurals */
+ parse_nplurals (header);
return header;
}
+/**
+ * gtranslator_header_get_comments:
+ * @header: a #GtranslatorHeader
+ *
+ * Gets the comments of the header.
+ *
+ * Return value: the comments of the header.
+ */
const gchar *
-gtranslator_header_get_comment (GtranslatorHeader * header)
+gtranslator_header_get_comments (GtranslatorHeader *header)
{
- return header->priv->comment;
+ g_return_val_if_fail (GTR_IS_HEADER (header), NULL);
+
+ return po_message_comments (gtranslator_msg_get_message (GTR_MSG (header)));
}
void
-gtranslator_header_set_comment (GtranslatorHeader * header,
- const gchar * data)
+gtranslator_header_set_comments (GtranslatorHeader *header,
+ const gchar *comments)
{
- if (header->priv->comment)
- g_free (header->priv->comment);
- header->priv->comment = g_strdup (data);
+ g_return_if_fail (GTR_IS_HEADER (header));
+ g_return_if_fail (comments != NULL);
+
+ po_message_set_comments (gtranslator_msg_get_message (GTR_MSG (header)),
+ comments);
}
-const gchar *
-gtranslator_header_get_prj_id_version (GtranslatorHeader * header)
+gchar *
+gtranslator_header_get_prj_id_version (GtranslatorHeader *header)
{
- return header->priv->prj_id_version;
+ g_return_val_if_fail (GTR_IS_HEADER (header), NULL);
+
+ return po_header_field (gtranslator_msg_get_msgstr (GTR_MSG (header)),
+ "Project-Id-Version");
}
void
-gtranslator_header_set_prj_id_version (GtranslatorHeader * header,
- const gchar * data)
+gtranslator_header_set_prj_id_version (GtranslatorHeader *header,
+ const gchar *prj_id_version)
{
- if (header->priv->prj_id_version)
- g_free (header->priv->prj_id_version);
- header->priv->prj_id_version = g_strdup (data);
+ g_return_if_fail (GTR_IS_HEADER (header));
+ g_return_if_fail (prj_id_version != NULL);
+
+ gtranslator_header_set_field (header, "Project-Id-Version",
+ prj_id_version);
}
-const gchar *
-gtranslator_header_get_rmbt (GtranslatorHeader * header)
+gchar *
+gtranslator_header_get_rmbt (GtranslatorHeader *header)
{
- return header->priv->rmbt;
+ g_return_val_if_fail (GTR_IS_HEADER (header), NULL);
+
+ return po_header_field (gtranslator_msg_get_msgstr (GTR_MSG (header)),
+ "Report-Msgid-Bugs-To");
}
void
-gtranslator_header_set_rmbt (GtranslatorHeader * header, const gchar * data)
+gtranslator_header_set_rmbt (GtranslatorHeader *header,
+ const gchar *rmbt)
{
- if (header->priv->rmbt)
- g_free (header->priv->rmbt);
- header->priv->rmbt = g_strdup (data);
+ /* FIXME: rmbt is not a good name */
+ g_return_if_fail (GTR_IS_HEADER (header));
+ g_return_if_fail (rmbt != NULL);
+
+ gtranslator_header_set_field (header, "Report-Msgid-Bugs-To",
+ rmbt);
}
-const gchar *
-gtranslator_header_get_pot_date (GtranslatorHeader * header)
+gchar *
+gtranslator_header_get_pot_date (GtranslatorHeader *header)
{
- return header->priv->pot_date;
+ g_return_val_if_fail (GTR_IS_HEADER (header), NULL);
+
+ return po_header_field (gtranslator_msg_get_msgstr (GTR_MSG (header)),
+ "POT-Creation-Date");
}
void
-gtranslator_header_set_pot_date (GtranslatorHeader * header,
- const gchar * data)
+gtranslator_header_set_pot_date (GtranslatorHeader *header,
+ const gchar *pot_date)
{
- if (header->priv->pot_date)
- g_free (header->priv->pot_date);
- header->priv->pot_date = g_strdup (data);
+ g_return_if_fail (GTR_IS_HEADER (header));
+ g_return_if_fail (pot_date != NULL);
+
+ gtranslator_header_set_field (header, "POT-Creation-Date",
+ pot_date);
}
-const gchar *
-gtranslator_header_get_po_date (GtranslatorHeader * header)
+gchar *
+gtranslator_header_get_po_date (GtranslatorHeader *header)
{
- return header->priv->po_date;
+ g_return_val_if_fail (GTR_IS_HEADER (header), NULL);
+
+ return po_header_field (gtranslator_msg_get_msgstr (GTR_MSG (header)),
+ "PO-Revision-Date");
}
void
-gtranslator_header_set_po_date (GtranslatorHeader * header,
- const gchar * data)
+gtranslator_header_set_po_date (GtranslatorHeader *header,
+ const gchar *po_date)
{
- if (header->priv->po_date)
- g_free (header->priv->po_date);
- header->priv->po_date = g_strdup (data);
-}
+ g_return_if_fail (GTR_IS_HEADER (header));
+ g_return_if_fail (po_date != NULL);
-const gchar *
-gtranslator_header_get_translator (GtranslatorHeader * header)
-{
- return header->priv->translator;
+ gtranslator_header_set_field (header, "PO-Revision-Date",
+ po_date);
}
-void
-gtranslator_header_set_translator (GtranslatorHeader * header,
- const gchar * data)
+gchar *
+gtranslator_header_get_translator (GtranslatorHeader *header)
{
- if (header->priv->translator)
- g_free (header->priv->translator);
- header->priv->translator = g_strdup (data);
+ gchar *space, *translator_temp, *translator;
+
+ g_return_val_if_fail (GTR_IS_HEADER (header), NULL);
+
+ translator_temp = po_header_field (gtranslator_msg_get_msgstr (GTR_MSG (header)),
+ "Last-Translator");
+ space = g_strrstr (translator_temp, " <");
+
+ if (!space)
+ translator = g_strdup (translator_temp);
+ else
+ translator = g_strndup (translator_temp, space - translator_temp);
+
+ g_free (translator_temp);
+
+ return translator;
}
-const gchar *
-gtranslator_header_get_tr_email (GtranslatorHeader * header)
+gchar *
+gtranslator_header_get_tr_email (GtranslatorHeader *header)
{
- return header->priv->tr_email;
+ gchar *space, *email_temp, *email;
+
+ g_return_val_if_fail (GTR_IS_HEADER (header), NULL);
+
+ email_temp = po_header_field (gtranslator_msg_get_msgstr (GTR_MSG (header)),
+ "Last-Translator");
+ space = g_strrstr (email_temp, " <");
+
+ if (!space)
+ email = g_strdup ("");
+ else
+ email = g_strndup (space + 2, strlen (space) - 3);
+
+ g_free (email_temp);
+
+ return email;
}
void
-gtranslator_header_set_tr_email (GtranslatorHeader * header,
- const gchar * data)
+gtranslator_header_set_translator (GtranslatorHeader *header,
+ const gchar *name,
+ const gchar *email)
{
- if (header->priv->tr_email)
- g_free (header->priv->tr_email);
- header->priv->tr_email = g_strdup (data);
+ gchar *translator;
+
+ g_return_if_fail (GTR_IS_HEADER (header));
+
+ translator = g_strconcat (name, " <", email, ">", NULL);
+
+ gtranslator_header_set_field (header, "Last-Translator",
+ translator);
+
+ g_free (translator);
}
const gchar *
-gtranslator_header_get_prev_translator (GtranslatorHeader * header)
+gtranslator_header_get_prev_translator (GtranslatorHeader *header)
{
+ g_return_val_if_fail (GTR_IS_HEADER (header), NULL);
+
return header->priv->prev_translator;
}
void
-gtranslator_header_set_prev_translator (GtranslatorHeader * header,
- const gchar * data)
+gtranslator_header_set_prev_translator (GtranslatorHeader *header,
+ const gchar *prev_translator)
{
- if (header->priv->prev_translator)
- g_free (header->priv->prev_translator);
- header->priv->prev_translator = g_strdup (data);
-}
+ g_return_if_fail (GTR_IS_HEADER (header));
+ g_return_if_fail (prev_translator != NULL);
-const gchar *
-gtranslator_header_get_language (GtranslatorHeader * header)
-{
- return header->priv->language;
+ g_free (header->priv->prev_translator);
+ header->priv->prev_translator = g_strdup (prev_translator);
}
-void
-gtranslator_header_set_language (GtranslatorHeader * header,
- const gchar * data)
+gchar *
+gtranslator_header_get_language (GtranslatorHeader *header)
{
- if (header->priv->language)
- g_free (header->priv->language);
- header->priv->language = g_strdup (data);
+ gchar *space, *lang_temp, *language;
+
+ g_return_val_if_fail (GTR_IS_HEADER (header), NULL);
+
+ lang_temp = po_header_field (gtranslator_msg_get_msgstr (GTR_MSG (header)),
+ "Language-Team");
+ space = g_strrstr (lang_temp, " <");
+
+ if (!space)
+ language = g_strdup (lang_temp);
+ else
+ language = g_strndup (lang_temp, space - lang_temp);
+
+ g_free (lang_temp);
+
+ return language;
}
-const gchar *
-gtranslator_header_get_lg_email (GtranslatorHeader * header)
+gchar *
+gtranslator_header_get_lg_email (GtranslatorHeader *header)
{
- return header->priv->lg_email;
+ gchar *space, *email_temp, *email;
+
+ g_return_val_if_fail (GTR_IS_HEADER (header), NULL);
+
+ email_temp = po_header_field (gtranslator_msg_get_msgstr (GTR_MSG (header)),
+ "Language-Team");
+ space = g_strrstr (email_temp, " <");
+
+ if (!space)
+ email = g_strdup ("");
+ else
+ email = g_strndup (space + 2, strlen (space) - 3);
+
+ g_free (email_temp);
+
+ return email;
}
void
-gtranslator_header_set_lg_email (GtranslatorHeader * header,
- const gchar * data)
+gtranslator_header_set_language (GtranslatorHeader *header,
+ const gchar *language,
+ const gchar *email)
{
- if (header->priv->lg_email)
- g_free (header->priv->lg_email);
- header->priv->lg_email = g_strdup (data);
+ gchar *lang_temp;
+
+ g_return_if_fail (GTR_IS_HEADER (header));
+
+ lang_temp = g_strconcat (language, " <", email, ">", NULL);
+
+ gtranslator_header_set_field (header, "Language-Team",
+ lang_temp);
+
+ g_free (lang_temp);
}
-const gchar *
-gtranslator_header_get_mime_version (GtranslatorHeader * header)
+gchar *
+gtranslator_header_get_mime_version (GtranslatorHeader *header)
{
- return header->priv->mime_version;
+ g_return_val_if_fail (GTR_IS_HEADER (header), NULL);
+
+ return po_header_field (gtranslator_msg_get_msgstr (GTR_MSG (header)),
+ "MIME-Version");
}
void
-gtranslator_header_set_mime_version (GtranslatorHeader * header,
- const gchar * data)
+gtranslator_header_set_mime_version (GtranslatorHeader *header,
+ const gchar *mime_version)
{
- if (header->priv->mime_version)
- g_free (header->priv->mime_version);
- header->priv->mime_version = g_strdup (data);
+ g_return_if_fail (GTR_IS_HEADER (header));
+
+ gtranslator_header_set_field (header, "MIME-Version",
+ mime_version);
}
-const gchar *
-gtranslator_header_get_charset (GtranslatorHeader * header)
+gchar *
+gtranslator_header_get_charset (GtranslatorHeader *header)
{
- return header->priv->charset;
+ gchar *space, *charset_temp, *charset;
+
+ g_return_val_if_fail (GTR_IS_HEADER (header), NULL);
+
+ charset_temp = po_header_field (gtranslator_msg_get_msgstr (GTR_MSG (header)),
+ "Content-Type");
+
+ space = g_strrstr (charset_temp, "=");
+
+ if (!space)
+ charset = g_strdup ("");
+ else
+ charset = g_strdup (space + 1);
+
+ g_free (charset_temp);
+
+ return charset;
}
void
-gtranslator_header_set_charset (GtranslatorHeader * header,
- const gchar * data)
+gtranslator_header_set_charset (GtranslatorHeader *header,
+ const gchar *charset)
{
- if (header->priv->charset)
- g_free (header->priv->charset);
- header->priv->charset = g_strdup (data);
+ gchar *set;
+
+ g_return_if_fail (GTR_IS_HEADER (header));
+
+ set = g_strconcat(" text/plain;", " charset=",
+ charset, NULL);
+
+ gtranslator_header_set_field (header, "Content-Type",
+ set);
+
+ g_free (set);
}
-const gchar *
-gtranslator_header_get_encoding (GtranslatorHeader * header)
+gchar *
+gtranslator_header_get_encoding (GtranslatorHeader *header)
{
- return header->priv->encoding;
+ g_return_val_if_fail (GTR_IS_HEADER (header), NULL);
+
+ return po_header_field (gtranslator_msg_get_msgstr (GTR_MSG (header)),
+ "Content-Transfer-Encoding");
}
void
-gtranslator_header_set_encoding (GtranslatorHeader * header,
- const gchar * data)
+gtranslator_header_set_encoding (GtranslatorHeader *header,
+ const gchar *encoding)
{
- if (header->priv->encoding)
- g_free (header->priv->encoding);
- header->priv->encoding = g_strdup (data);
+ g_return_if_fail (GTR_IS_HEADER (header));
+
+ gtranslator_header_set_field (header, "Content-Transfer-Encoding",
+ encoding);
}
/**
* gtranslator_header_get_plural_forms:
* @header: a #GtranslatorHeader.
*
- * Return value: the plural form of the po file.
+ * Return value: a new allocated string with the plural form of the po file.
*/
-const gchar *
-gtranslator_header_get_plural_forms (GtranslatorHeader * header)
+gchar *
+gtranslator_header_get_plural_forms (GtranslatorHeader *header)
{
g_return_val_if_fail (GTR_IS_HEADER (header), NULL);
- return (const gchar *) header->priv->plural_forms;
+ return po_header_field (gtranslator_msg_get_msgstr (GTR_MSG (header)),
+ "Plural-Forms");
}
/**
@@ -400,91 +496,35 @@ gtranslator_header_get_plural_forms (GtranslatorHeader * header)
*/
void
gtranslator_header_set_plural_forms (GtranslatorHeader * header,
- const gchar * plural_forms)
+ const gchar * plural_forms)
{
g_return_if_fail (GTR_IS_HEADER (header));
+ g_return_if_fail (plural_forms != NULL);
- if (header->priv->plural_forms)
- g_free (header->priv->plural_forms);
-
- if (!plural_forms)
- {
- header->priv->plural_forms = NULL;
- return;
- }
-
- header->priv->plural_forms = g_strdup (plural_forms);
+ gtranslator_header_set_field (header, "Plural-Forms",
+ plural_forms);
/*Now we parse the plural forms to know the number of plurals */
parse_nplurals (header);
}
/**
- * gtranslator_header_get_header_changed:
- * @header: a #GtranslatorHeader.
- *
- * Return value: TRUE if the header has changed, FALSE if not.
- */
-
-gboolean
-gtranslator_header_get_header_changed (GtranslatorHeader * header)
-{
- g_return_val_if_fail (GTR_IS_HEADER (header), FALSE);
-
- return header->priv->header_changed;
-}
-
-/**
- * gtranslator_header_set_header_changed:
- * @header: a #GtranslatorHeader
- * @gboolean: Indicate if the header has changed or not.
- *
- * Sets the state of the header, TRUE if has changed, FALSE if not.
- */
-
-void
-gtranslator_header_set_header_changed (GtranslatorHeader * header,
- gboolean change)
-{
- header->priv->header_changed = change;
-}
-
-/**
* gtranslator_header_get_plural:
* @header: a #GtranslatorHeader
*
* Return value: The number of plurals of the po file, if there is not a plural
* form in the po file it returns the predefined by user number of plurals
- * or 0 if there is not a plural form string stored.
+ * or 1 if there is not a plural form string stored.
*/
gint
gtranslator_header_get_nplurals (GtranslatorHeader * header)
{
const gchar *plural_form;
- GtranslatorProfile *profile;
-
- profile = gtranslator_application_get_active_profile (GTR_APP);
- g_return_val_if_fail (GTR_IS_HEADER (header), -1);
- g_return_val_if_fail (profile, -1);
+ g_return_val_if_fail (GTR_IS_HEADER (header), 1);
- /*
- * If the priv->plural_forms exists that means that there is a plural
- * form in our po file, If not we have to use the predefined plural form
- * by the user.
- */
- if (header->priv->plural_forms)
+ if (header->priv->nplurals > -1)
return header->priv->nplurals;
- else if (plural_form =
- (const gchar *) gtranslator_profile_get_plurals (profile))
- {
- gtranslator_header_set_plural_forms (header, plural_form);
- /*
- * FIXME: To don't produce a gettext error maybe we have to set the
- * plural form in the gettext header field too.
- */
- return header->priv->nplurals;
- }
else
return 1;
}
diff --git a/src/header.h b/src/header.h
index d73a01b..5f2c4d6 100644
--- a/src/header.h
+++ b/src/header.h
@@ -1,12 +1,12 @@
/*
* (C) 2007 Pablo Sanxiao <psanxiao gmail com>
* 2008 Igalia
- *
+ *
* gtranslator is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
- *
+ *
* gtranslator is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
@@ -18,6 +18,7 @@
*
* Authors:
* Pablo Sanxiao <psanxiao gmail com>
+ * Ignacio Casal Quinteiro <icq gnome org>
*/
#ifndef __HEADER_H__
@@ -26,6 +27,8 @@
#include <glib.h>
#include <glib-object.h>
+#include "msg.h"
+
/*
* Utility Macros
*/
@@ -47,7 +50,8 @@ typedef struct _GtranslatorHeader GtranslatorHeader;
struct _GtranslatorHeader
{
- GObject parent_instance;
+ GtranslatorMsg parent_instance;
+
/*< private > */
GtranslatorHeaderPrivate *priv;
};
@@ -59,111 +63,70 @@ typedef struct _GtranslatorHeaderClass GtranslatorHeaderClass;
struct _GtranslatorHeaderClass
{
- GObjectClass parent_class;
+ GtranslatorMsgClass parent_class;
};
/*
* Public methods
*/
-GType
-gtranslator_header_get_type (void)
- G_GNUC_CONST;
-
- GType gtranslator_header_register_type (GTypeModule * module);
-
-GtranslatorHeader * gtranslator_header_new (void);
-
- const gchar *
- gtranslator_header_get_comment (GtranslatorHeader * header);
- void
- gtranslator_header_set_comment (GtranslatorHeader * header,
- const gchar * data);
-
- const gchar *
- gtranslator_header_get_prj_id_version (GtranslatorHeader * header);
- void
- gtranslator_header_set_prj_id_version (GtranslatorHeader * header,
- const gchar * data);
-
- const gchar *
- gtranslator_header_get_rmbt (GtranslatorHeader * header);
- void
- gtranslator_header_set_rmbt (GtranslatorHeader * header,
- const gchar * data);
-
- const gchar *
- gtranslator_header_get_pot_date (GtranslatorHeader * header);
- void
- gtranslator_header_set_pot_date (GtranslatorHeader * header,
- const gchar * data);
-
- const gchar *
- gtranslator_header_get_po_date (GtranslatorHeader * header);
- void
- gtranslator_header_set_po_date (GtranslatorHeader * header,
- const gchar * data);
-
- const gchar *
- gtranslator_header_get_translator (GtranslatorHeader * header);
- void
- gtranslator_header_set_translator (GtranslatorHeader * header,
- const gchar * data);
-
- const gchar *
- gtranslator_header_get_tr_email (GtranslatorHeader * header);
- void
- gtranslator_header_set_tr_email (GtranslatorHeader * header,
- const gchar * data);
-
- const gchar *
- gtranslator_header_get_prev_translator (GtranslatorHeader * header);
- void
- gtranslator_header_set_prev_translator (GtranslatorHeader * header,
- const gchar * data);
-
- const gchar *
- gtranslator_header_get_language (GtranslatorHeader * header);
- void
- gtranslator_header_set_language (GtranslatorHeader * header,
- const gchar * data);
-
- const gchar *
- gtranslator_header_get_lg_email (GtranslatorHeader * header);
- void
- gtranslator_header_set_lg_email (GtranslatorHeader * header,
- const gchar * data);
-
- const gchar *
- gtranslator_header_get_mime_version (GtranslatorHeader * header);
- void
- gtranslator_header_set_mime_version (GtranslatorHeader * header,
- const gchar * data);
-
- const gchar *
- gtranslator_header_get_charset (GtranslatorHeader * header);
- void
- gtranslator_header_set_charset (GtranslatorHeader * header,
- const gchar * data);
-
- const gchar *
- gtranslator_header_get_encoding (GtranslatorHeader * header);
- void
- gtranslator_header_set_encoding (GtranslatorHeader * header,
- const gchar * data);
-
- const gchar *
- gtranslator_header_get_plural_forms (GtranslatorHeader * header);
- void
- gtranslator_header_set_plural_forms (GtranslatorHeader * header,
- const gchar * plural_forms);
-
- gboolean
- gtranslator_header_get_header_changed (GtranslatorHeader * header);
- void
- gtranslator_header_set_header_changed (GtranslatorHeader * header,
- gboolean change);
-
- gint
- gtranslator_header_get_nplurals (GtranslatorHeader * header);
+GType gtranslator_header_get_type (void)G_GNUC_CONST;
+
+GType gtranslator_header_register_type (GTypeModule * module);
+
+GtranslatorHeader *gtranslator_header_new (po_message_iterator_t iter,
+ po_message_t message);
+
+const gchar *gtranslator_header_get_comments (GtranslatorHeader *header);
+void gtranslator_header_set_comments (GtranslatorHeader *header,
+ const gchar *comments);
+
+gchar *gtranslator_header_get_prj_id_version (GtranslatorHeader *header);
+void gtranslator_header_set_prj_id_version (GtranslatorHeader *header,
+ const gchar *prj_id_version);
+
+gchar *gtranslator_header_get_rmbt (GtranslatorHeader *header);
+void gtranslator_header_set_rmbt (GtranslatorHeader *header,
+ const gchar *rmbt);
+
+gchar *gtranslator_header_get_pot_date (GtranslatorHeader *header);
+void gtranslator_header_set_pot_date (GtranslatorHeader *header,
+ const gchar *pot_date);
+
+gchar *gtranslator_header_get_po_date (GtranslatorHeader *header);
+void gtranslator_header_set_po_date (GtranslatorHeader *header,
+ const gchar *po_date);
+
+gchar *gtranslator_header_get_translator (GtranslatorHeader *header);
+gchar *gtranslator_header_get_tr_email (GtranslatorHeader *header);
+void gtranslator_header_set_translator (GtranslatorHeader *header,
+ const gchar *name,
+ const gchar *email);
+
+const gchar *gtranslator_header_get_prev_translator (GtranslatorHeader *header);
+void gtranslator_header_set_prev_translator (GtranslatorHeader *header,
+ const gchar *prev_translator);
+
+gchar *gtranslator_header_get_language (GtranslatorHeader *header);
+gchar *gtranslator_header_get_lg_email (GtranslatorHeader *header);
+void gtranslator_header_set_language (GtranslatorHeader *header,
+ const gchar *language,
+ const gchar *email);
+
+gchar *gtranslator_header_get_mime_version (GtranslatorHeader *header);
+void gtranslator_header_set_mime_version (GtranslatorHeader *header,
+ const gchar *mime_version);
+
+gchar *gtranslator_header_get_charset (GtranslatorHeader *header);
+void gtranslator_header_set_charset (GtranslatorHeader *header,
+ const gchar *charset);
+
+gchar *gtranslator_header_get_encoding (GtranslatorHeader *header);
+void gtranslator_header_set_encoding (GtranslatorHeader *header,
+ const gchar *encoding);
+
+gchar *gtranslator_header_get_plural_forms (GtranslatorHeader *header);
+void gtranslator_header_set_plural_forms (GtranslatorHeader * header,
+ const gchar * plural_forms);
+gint gtranslator_header_get_nplurals (GtranslatorHeader * header);
#endif /* __HEADER_H__ */
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]