* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public
- * License along with the Gnome Library; see the file COPYING.LIB. If not,
- * write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
*
* Authors: Cosimo Cecchi <ccecchi@redhat.com>
*/
-#include <config.h>
+#include "config.h"
#include "gtkappchooseronline.h"
-#include "gtkappchooseronlinedummy.h"
#include "gtkappchoosermodule.h"
+#include "gtkintl.h"
#include <gio/gio.h>
-G_DEFINE_INTERFACE (GtkAppChooserOnline, gtk_app_chooser_online, G_TYPE_OBJECT);
+G_DEFINE_INTERFACE_WITH_CODE (GtkAppChooserOnline, _gtk_app_chooser_online, G_TYPE_OBJECT,
+ g_type_interface_add_prerequisite (g_define_type_id, G_TYPE_ASYNC_INITABLE);)
static void
-gtk_app_chooser_online_default_init (GtkAppChooserOnlineInterface *iface)
+_gtk_app_chooser_online_default_init (GtkAppChooserOnlineInterface *iface)
{
/* do nothing */
}
GtkAppChooserOnline *
-gtk_app_chooser_online_get_default (void)
+_gtk_app_chooser_online_get_default_finish (GObject *source,
+ GAsyncResult *result)
+{
+ GtkAppChooserOnline *retval;
+
+ retval = GTK_APP_CHOOSER_ONLINE (g_async_initable_new_finish (G_ASYNC_INITABLE (source),
+ result, NULL));
+
+ return retval;
+}
+
+void
+_gtk_app_chooser_online_get_default_async (GAsyncReadyCallback callback,
+ gpointer user_data)
{
GIOExtensionPoint *ep;
GIOExtension *extension;
GList *extensions;
- GtkAppChooserOnline *retval;
_gtk_app_chooser_module_ensure ();
{
/* pick the first */
extension = extensions->data;
- retval = g_object_new (g_io_extension_get_type (extension),
- NULL);
- }
- else
- {
- retval = g_object_new (GTK_TYPE_APP_CHOOSER_ONLINE_DUMMY,
- NULL);
+ g_async_initable_new_async (g_io_extension_get_type (extension), G_PRIORITY_DEFAULT,
+ NULL, callback, user_data, NULL);
}
-
- return retval;
}
void
-gtk_app_chooser_online_search_for_mimetype_async (GtkAppChooserOnline *self,
- const gchar *content_type,
- GtkWindow *parent,
- GAsyncReadyCallback callback,
- gpointer user_data)
+_gtk_app_chooser_online_search_for_mimetype_async (GtkAppChooserOnline *self,
+ const gchar *content_type,
+ GtkWindow *parent,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data)
{
GtkAppChooserOnlineInterface *iface;
iface = GTK_APP_CHOOSER_ONLINE_GET_IFACE (self);
- (* iface->search_for_mimetype_async) (self, content_type, parent, callback, user_data);
+ (* iface->search_for_mimetype_async) (self, content_type, parent, cancellable, callback, user_data);
}
gboolean
-gtk_app_chooser_online_search_for_mimetype_finish (GtkAppChooserOnline *self,
- GAsyncResult *res,
- GError **error)
+_gtk_app_chooser_online_search_for_mimetype_finish (GtkAppChooserOnline *self,
+ GAsyncResult *res,
+ GError **error)
{
GtkAppChooserOnlineInterface *iface;