Exemplo n.º 1
0
const gchar *
ide_doap_get_category (IdeDoap *self)
{
  g_return_val_if_fail (IDE_IS_DOAP (self), NULL);

  return self->category;
}
Exemplo n.º 2
0
const gchar *
ide_doap_get_shortdesc (IdeDoap *self)
{
  g_return_val_if_fail (IDE_IS_DOAP (self), NULL);

  return self->shortdesc;
}
Exemplo n.º 3
0
const gchar *
ide_doap_get_name (IdeDoap *self)
{
  g_return_val_if_fail (IDE_IS_DOAP (self), NULL);

  return self->name;
}
Exemplo n.º 4
0
const gchar *
ide_doap_get_description (IdeDoap *self)
{
  g_return_val_if_fail (IDE_IS_DOAP (self), NULL);

  return self->description;
}
Exemplo n.º 5
0
const gchar *
ide_doap_get_download_page (IdeDoap *self)
{
  g_return_val_if_fail (IDE_IS_DOAP (self), NULL);

  return self->download_page;
}
Exemplo n.º 6
0
/**
 * ide_doap_get_maintainers:
 *
 *
 *
 * Returns: (transfer none) (element-type IdeDoapPerson*): A #GList of #IdeDoapPerson.
 */
GList *
ide_doap_get_maintainers (IdeDoap *self)
{
  g_return_val_if_fail (IDE_IS_DOAP (self), NULL);

  return self->maintainers;
}
Exemplo n.º 7
0
const gchar *
ide_doap_get_bug_database (IdeDoap *self)
{
  g_return_val_if_fail (IDE_IS_DOAP (self), NULL);

  return self->bug_database;
}
Exemplo n.º 8
0
void
ide_project_info_set_doap (IdeProjectInfo *self,
                           IdeDoap        *doap)
{
  g_return_if_fail (IDE_IS_PROJECT_INFO (self));
  g_return_if_fail (!doap || IDE_IS_DOAP (doap));

  if (g_set_object (&self->doap, doap))
    g_object_notify_by_pspec (G_OBJECT (self), gParamSpecs [PROP_DOAP]);
}
Exemplo n.º 9
0
static void
ide_doap_set_shortdesc (IdeDoap     *self,
                        const gchar *shortdesc)
{
  g_return_if_fail (IDE_IS_DOAP (self));

  if (g_strcmp0 (self->shortdesc, shortdesc) != 0)
    {
      g_free (self->shortdesc);
      self->shortdesc = g_strdelimit (g_strdup (shortdesc), "\n", ' ');
      g_object_notify_by_pspec (G_OBJECT (self), properties [PROP_SHORTDESC]);
    }
}
Exemplo n.º 10
0
static void
ide_doap_set_name (IdeDoap     *self,
                   const gchar *name)
{
  g_return_if_fail (IDE_IS_DOAP (self));

  if (g_strcmp0 (self->name, name) != 0)
    {
      g_free (self->name);
      self->name = g_strdup (name);
      g_object_notify_by_pspec (G_OBJECT (self), properties [PROP_NAME]);
    }
}
Exemplo n.º 11
0
static void
ide_doap_set_homepage (IdeDoap     *self,
                       const gchar *homepage)
{
  g_return_if_fail (IDE_IS_DOAP (self));

  if (g_strcmp0 (self->homepage, homepage) != 0)
    {
      g_free (self->homepage);
      self->homepage = g_strdup (homepage);
      g_object_notify_by_pspec (G_OBJECT (self), properties [PROP_HOMEPAGE]);
    }
}
Exemplo n.º 12
0
static void
ide_doap_set_category (IdeDoap     *self,
                       const gchar *category)
{
  g_return_if_fail (IDE_IS_DOAP (self));

  if (!ide_str_equal0 (self->category, category))
    {
      g_free (self->category);
      self->category = g_strdup (category);
      g_object_notify_by_pspec (G_OBJECT (self), gParamSpecs [PROP_CATEGORY]);
    }
}
Exemplo n.º 13
0
static void
ide_doap_set_description (IdeDoap     *self,
                          const gchar *description)
{
  g_return_if_fail (IDE_IS_DOAP (self));

  if (g_strcmp0 (self->description, description) != 0)
    {
      g_free (self->description);
      self->description = g_strdup (description);
      g_object_notify_by_pspec (G_OBJECT (self), properties [PROP_DESCRIPTION]);
    }
}
Exemplo n.º 14
0
static void
ide_doap_set_category (IdeDoap     *self,
                       const gchar *category)
{
  g_return_if_fail (IDE_IS_DOAP (self));

  if (g_strcmp0 (self->category, category) != 0)
    {
      g_free (self->category);
      self->category = g_strdup (category);
      g_object_notify_by_pspec (G_OBJECT (self), properties [PROP_CATEGORY]);
    }
}
Exemplo n.º 15
0
static void
ide_doap_set_download_page (IdeDoap     *self,
                            const gchar *download_page)
{
  g_return_if_fail (IDE_IS_DOAP (self));

  if (!ide_str_equal0 (self->download_page, download_page))
    {
      g_free (self->download_page);
      self->download_page = g_strdup (download_page);
      g_object_notify_by_pspec (G_OBJECT (self), gParamSpecs [PROP_DOWNLOAD_PAGE]);
    }
}
Exemplo n.º 16
0
static void
ide_doap_set_name (IdeDoap     *self,
                   const gchar *name)
{
  g_return_if_fail (IDE_IS_DOAP (self));

  if (!ide_str_equal0 (self->name, name))
    {
      g_free (self->name);
      self->name = g_strdup (name);
      g_object_notify_by_pspec (G_OBJECT (self), gParamSpecs [PROP_NAME]);
    }
}
Exemplo n.º 17
0
static void
ide_doap_set_homepage (IdeDoap     *self,
                       const gchar *homepage)
{
  g_return_if_fail (IDE_IS_DOAP (self));

  if (!ide_str_equal0 (self->homepage, homepage))
    {
      g_free (self->homepage);
      self->homepage = g_strdup (homepage);
      g_object_notify_by_pspec (G_OBJECT (self), gParamSpecs [PROP_HOMEPAGE]);
    }
}
Exemplo n.º 18
0
static void
ide_doap_set_bug_database (IdeDoap     *self,
                           const gchar *bug_database)
{
  g_return_if_fail (IDE_IS_DOAP (self));

  if (g_strcmp0 (self->bug_database, bug_database) != 0)
    {
      g_free (self->bug_database);
      self->bug_database = g_strdup (bug_database);
      g_object_notify_by_pspec (G_OBJECT (self), properties [PROP_BUG_DATABASE]);
    }
}
Exemplo n.º 19
0
static void
ide_doap_set_description (IdeDoap     *self,
                          const gchar *description)
{
  g_return_if_fail (IDE_IS_DOAP (self));

  if (!ide_str_equal0 (self->description, description))
    {
      g_free (self->description);
      self->description = g_strdup (description);
      g_object_notify_by_pspec (G_OBJECT (self), gParamSpecs [PROP_DESCRIPTION]);
    }
}
Exemplo n.º 20
0
static void
ide_doap_set_download_page (IdeDoap     *self,
                            const gchar *download_page)
{
  g_return_if_fail (IDE_IS_DOAP (self));

  if (g_strcmp0 (self->download_page, download_page) != 0)
    {
      g_free (self->download_page);
      self->download_page = g_strdup (download_page);
      g_object_notify_by_pspec (G_OBJECT (self), properties [PROP_DOWNLOAD_PAGE]);
    }
}
Exemplo n.º 21
0
static void
ide_doap_set_bug_database (IdeDoap     *self,
                           const gchar *bug_database)
{
  g_return_if_fail (IDE_IS_DOAP (self));

  if (!ide_str_equal0 (self->bug_database, bug_database))
    {
      g_free (self->bug_database);
      self->bug_database = g_strdup (bug_database);
      g_object_notify_by_pspec (G_OBJECT (self), gParamSpecs [PROP_BUG_DATABASE]);
    }
}
Exemplo n.º 22
0
static void
ide_doap_set_languages (IdeDoap  *self,
                        gchar   **languages)
{
  gsize i;

  g_return_if_fail (IDE_IS_DOAP (self));

  if ((self->languages != NULL) && (self->languages->len > 0))
    g_ptr_array_remove_range (self->languages, 0, self->languages->len);

  g_object_freeze_notify (G_OBJECT (self));
  for (i = 0; languages [i]; i++)
    ide_doap_add_language (self, languages [i]);
  g_object_thaw_notify (G_OBJECT (self));
}
Exemplo n.º 23
0
gboolean
ide_doap_load_from_data (IdeDoap       *self,
                         const gchar   *data,
                         gsize          length,
                         GError       **error)
{
  g_autoptr(XmlReader) reader = NULL;

  g_return_val_if_fail (IDE_IS_DOAP (self), FALSE);
  g_return_val_if_fail (data != NULL, FALSE);

  reader = xml_reader_new ();

  if (!xml_reader_load_from_data (reader, (const gchar *)data, length, NULL, NULL))
    return FALSE;

  return load_doap (self, reader, error);
}
Exemplo n.º 24
0
gboolean
ide_doap_load_from_file (IdeDoap       *self,
                         GFile         *file,
                         GCancellable  *cancellable,
                         GError       **error)
{
  g_autoptr(XmlReader) reader = NULL;

  g_return_val_if_fail (IDE_IS_DOAP (self), FALSE);
  g_return_val_if_fail (G_IS_FILE (file), FALSE);
  g_return_val_if_fail (!cancellable || G_IS_CANCELLABLE (cancellable), FALSE);

  reader = xml_reader_new ();

  if (!xml_reader_load_from_file (reader, file, cancellable, error))
    return FALSE;

  return load_doap (self, reader, error);
}
Exemplo n.º 25
0
static gboolean
ide_doap_parse_maintainer (IdeDoap   *self,
                           XmlReader *reader)
{
  g_assert (IDE_IS_DOAP (self));
  g_assert (XML_IS_READER (reader));

  if (!xml_reader_read (reader))
    return FALSE;

  do
    {
      if (xml_reader_is_a_local (reader, "Person") && xml_reader_read (reader))
        {
          g_autoptr(IdeDoapPerson) person = ide_doap_person_new ();

          do
            {
              if (xml_reader_is_a_local (reader, "name"))
                {
                  ide_doap_person_set_name (person, xml_reader_read_string (reader));
                }
              else if (xml_reader_is_a_local (reader, "mbox"))
                {
                  gchar *str;

                  str = xml_reader_get_attribute (reader, "rdf:resource");
                  if (str != NULL && str[0] != '\0' && g_str_has_prefix (str, "mailto:"))
                    ide_doap_person_set_email (person, str + strlen ("mailto:"));
                  g_free (str);
                }
            }
          while (xml_reader_read_to_next (reader));

          if (ide_doap_person_get_name (person) || ide_doap_person_get_email (person))
            self->maintainers = g_list_append (self->maintainers, g_object_ref (person));
        }
    }
  while (xml_reader_read_to_next (reader));

  return TRUE;
}
Exemplo n.º 26
0
static void
ide_doap_add_language (IdeDoap     *self,
                       const gchar *language)
{
  g_return_if_fail (IDE_IS_DOAP (self));
  g_return_if_fail (language != NULL);

  if (self->languages == NULL)
    {
      self->languages = g_ptr_array_new_with_free_func (g_free);
      g_ptr_array_add (self->languages, NULL);
    }

  g_assert (self->languages->len > 0);

  g_ptr_array_index (self->languages, self->languages->len - 1) = g_strdup (language);
  g_ptr_array_add (self->languages, NULL);

  g_object_notify_by_pspec (G_OBJECT (self), properties [PROP_LANGUAGES]);
}
Exemplo n.º 27
0
gboolean
ide_doap_load_from_file (IdeDoap       *self,
                         GFile         *file,
                         GCancellable  *cancellable,
                         GError       **error)
{
  g_autoptr(XmlReader) reader = NULL;

  g_return_val_if_fail (IDE_IS_DOAP (self), FALSE);
  g_return_val_if_fail (G_IS_FILE (file), FALSE);
  g_return_val_if_fail (!cancellable || G_IS_CANCELLABLE (cancellable), FALSE);

  reader = xml_reader_new ();

  if (!xml_reader_load_from_file (reader, file, cancellable, error))
    return FALSE;

  if (!xml_reader_read_start_element (reader, "Project"))
    {
      g_set_error (error,
                   IDE_DOAP_ERROR,
                   IDE_DOAP_ERROR_INVALID_FORMAT,
                   "Project element is missing from doap.");
      return FALSE;
    }

  g_object_freeze_notify (G_OBJECT (self));

  xml_reader_read (reader);

  do
    {
      const gchar *element_name;

      element_name = xml_reader_get_local_name (reader);

      if (ide_str_equal0 (element_name, "name") ||
          ide_str_equal0 (element_name, "shortdesc") ||
          ide_str_equal0 (element_name, "description"))
        {
          gchar *str;

          str = xml_reader_read_string (reader);
          if (str != NULL)
            g_object_set (self, element_name, g_strstrip (str), NULL);
          g_free (str);
        }
      else if (ide_str_equal0 (element_name, "category") ||
               ide_str_equal0 (element_name, "homepage") ||
               ide_str_equal0 (element_name, "download-page") ||
               ide_str_equal0 (element_name, "bug-database"))
        {
          gchar *str;

          str = xml_reader_get_attribute (reader, "rdf:resource");
          if (str != NULL)
            g_object_set (self, element_name, g_strstrip (str), NULL);
          g_free (str);
        }
      else if (ide_str_equal0 (element_name, "programming-language"))
        {
          gchar *str;

          str = xml_reader_read_string (reader);
          if (!ide_str_empty0 (str))
            ide_doap_add_language (self, g_strstrip (str));
          g_free (str);
        }
      else if (ide_str_equal0 (element_name, "maintainer"))
        {
          if (!ide_doap_parse_maintainer (self, reader))
            break;
        }
    }
  while (xml_reader_read_to_next (reader));

  g_object_thaw_notify (G_OBJECT (self));

  return TRUE;
}