/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 4; tab-width: 4 -*- */
/*
 * unity-webapps-context.h
 * Copyright (C) Canonical LTD 2011
 * 
 * Author: Robert Carr <racarr@canonical.com>
 * 
unity-webapps is free software: you can redistribute it and/or modify it
 * under the terms of the GNU Lesser General Public License as published
 * by the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 * 
 * unity-webapps 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 GNU Lesser General Public License for more details.
 * 
 * You should have received a copy of the GNU Lesser General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.";
 */

typedef struct _UnityWebappsContextPrivate UnityWebappsContextPrivate; // blabla

typedef struct _UnityWebappsContext UnityWebappsContext;

struct _UnityWebappsContext {
	GObject object;
	UnityWebappsContextPrivate *priv;

};

typedef struct _UnityWebappsContextClass UnityWebappsContextClass;

struct _UnityWebappsContextClass
{
	GObjectClass parent_class;
};

typedef void (*UnityWebappsContextReadyCallback) (UnityWebappsContext *, gpointer user_data);
typedef void (*UnityWebappsContextRaiseCallback) (UnityWebappsContext *context, gpointer user_data);

typedef void (*UnityWebappsContextNotifyCallback) (UnityWebappsContext *, gint, gpointer);
typedef void (*UnityWebappsContextViewNotifyCallback) (UnityWebappsContext *, gint, gboolean, gpointer);
typedef void (*UnityWebappsContextLocationNotifyCallback) (UnityWebappsContext *, gint, const gchar *, gpointer);
typedef void (*UnityWebappsContextWindowNotifyCallback) (UnityWebappsContext *, gint, guint64, gpointer);
typedef const gchar * (*UnityWebappsContextPreviewCallback) (UnityWebappsContext *context, gpointer user_data);
typedef void (*UnityWebappsContextPreviewReadyCallback) (UnityWebappsContext *context, gint interest_id, const gchar *preview_data, gpointer user_data);
typedef void (*UnityWebappsContextActionCallback) (UnityWebappsContext *context, gpointer user_data);

typedef struct
{
	const gchar *path;
	UnityWebappsContextActionCallback callback;
	gpointer user_data;
} UnityWebappsApplicationActionDesc;

// blabla
// blabla
GType unity_webapps_context_get_type (void) G_GNUC_CONST; // blabla

/* blabla */		
void unity_webapps_context_new (UnityWebappsService *service, const gchar *name, const gchar *domain, const gchar *icon_url, UnityWebappsContextReadyCallback callback, gpointer user_data); /* blabla */
