backend: add GtFeed object
Added search by type (movies, shows or episodes).

Also API key can now be in a text file and general source code
cleaning.

This patch makes available a new version of feed-test with two
fonctions added:

* The user has now the possibility of search the term by types of
  content (movies, shows or episodes). This function was available in
  the GtFeed class used but not available to the user via options

* now the API key is searched in ~/.config/.trakttv_apikey text file
  if not given as parameter. It was really unconfortable having the
  need of writing the API key each time the tool is used

* A better argument parsing. There is no query by default, lack of
  query option gives an error.

* The source code is a lot clearer: 'test1' function has been renamed
  to query_trakttv

Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
use GKeyFile for loading/storing the API key

This patch uses the GKeyFile API to store the provided API key through the
command line. If no API key is set, then it is tried to be loaded, assuming
that the key was stored in the past.

The configuration file path is XDG user config one (~/.config).

This behavior is more easy to use since no user interventions is required to
create the configuration file.

Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
Add Traktor's base window
feed: return false if query is null

Return FALSE immediately if the query is NULL. There is no reason to process
the whole thing.

Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
feed: unref the resulting gvariant

This is a memory leak. We must unref the resulted gvariant after using it.

Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
feed: silence the compiler

Remove a warning when compilation.

Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
feed: free error

Fix a memory leak when an error occurs in the callback. The error wasn't
freed.

Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
feed: remove the content property

It is better handling the return value as the result of the _finish()
functions. In that way we can forget about overwriting previous results,
losing data.

Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
Add empty __init__.py to treat traktor directory as a package
feed: emit a notification when the apikey is set

Sometimes it is useful for a client to know when an object propierty
changes. For this use case, gobject provides a way to emit a signal
when a propierty has changed.

This patch enables this signal when the api key of the GtFeed is
changed by the user.

Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
add about dialog

Add an about dialog with the program name.
dbus: feed dbus service

Initial support for exporting the feed API through D-Bus.

Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
dbus: feed service daemon

This is the D-Bus daemon that acquires the well-known name and register the
GtFeedServer object in the session D-Bus.

Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
add TODO file

Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
TODO: task assignation

Requested the task about removing the apikey parameter in the dbus
interface: "Eliminar uso de API key y usar sólo el GKeyConfig file".
Revert "TODO: task assignation"

This reverts commit 18c9e413815e1eabc52bfba311224270c1d586d6.
TODO: task request

Requested the task about removing the apikey parameter in the dbus
interface: "Eliminar uso de API key y usar sólo el GKeyConfig file".
TODO: task request

Request the task emit signal when callback from libsoup is received.

Signed-off-by: Francisco Rocha <rocha.francisco.a@gmail.com>
TODO: task request

Requested the task about converting the dbus connection asynchronous:
"Hacer que el método de Query por D-Bus sea asíncrono".