1/* 2 * Copyright (C) 2010 Igalia S.L. 3 * 4 * This library is free software; you can redistribute it and/or 5 * modify it under the terms of the GNU Lesser General Public 6 * License as published by the Free Software Foundation; either 7 * version 2 of the License, or (at your option) any later version. 8 * 9 * This library is distributed in the hope that it will be useful, 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 * Lesser General Public License for more details. 13 * 14 * You should have received a copy of the GNU Lesser General Public 15 * License along with this library; if not, write to the Free Software 16 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 17 */ 18 19#ifndef webkitwebplugin_h 20#define webkitwebplugin_h 21 22#include <glib-object.h> 23 24#include <webkit/webkitdefines.h> 25 26G_BEGIN_DECLS 27 28#define WEBKIT_TYPE_WEB_PLUGIN (webkit_web_plugin_get_type()) 29#define WEBKIT_WEB_PLUGIN(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), WEBKIT_TYPE_WEB_PLUGIN, WebKitWebPlugin)) 30#define WEBKIT_WEB_PLUGIN_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), WEBKIT_TYPE_WEB_PLUGIN, WebKitWebPluginClass)) 31#define WEBKIT_IS_WEB_PLUGIN(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), WEBKIT_TYPE_WEB_PLUGIN)) 32#define WEBKIT_IS_WEB_PLUGIN_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), WEBKIT_TYPE_WEB_PLUGIN)) 33#define WEBKIT_WEB_PLUGIN_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), WEBKIT_TYPE_WEB_PLUGIN, WebKitWebPluginClass)) 34 35typedef struct _WebKitWebPluginPrivate WebKitWebPluginPrivate; 36 37/** 38 * WebKitWebPluginMIMEType: 39 * @name: the name of the MIME type. 40 * @description: the description of the MIME type. 41 * @extensions: a %NULL-terminated array with the extensions 42 * associated with this MIME type. 43 * 44 * A structure representing one of the MIME types associated with a 45 * plugin. A #GSList of these objects will be returned by 46 * #webkit_web_plugin_get_mimetypes, use 47 * #webkit_web_plugin_mime_type_list_free to free it. 48 * 49 * Since: 1.3.8 50 */ 51typedef struct _WebKitWebPluginMIMEType { 52 char* name; 53 char* description; 54 char** extensions; 55} WebKitWebPluginMIMEType; 56 57struct _WebKitWebPluginClass { 58 GObjectClass parentClass; 59}; 60 61struct _WebKitWebPlugin { 62 GObject parentInstance; 63 64 WebKitWebPluginPrivate* priv; 65}; 66 67WEBKIT_API GType 68webkit_web_plugin_get_type (void) G_GNUC_CONST; 69 70WEBKIT_API const char* 71webkit_web_plugin_get_name (WebKitWebPlugin*); 72 73WEBKIT_API const char* 74webkit_web_plugin_get_description (WebKitWebPlugin*); 75 76WEBKIT_API const char* 77webkit_web_plugin_get_path (WebKitWebPlugin*); 78 79WEBKIT_API GSList* 80webkit_web_plugin_get_mimetypes (WebKitWebPlugin*); 81 82WEBKIT_API void 83webkit_web_plugin_set_enabled (WebKitWebPlugin*, gboolean); 84 85WEBKIT_API gboolean 86webkit_web_plugin_get_enabled (WebKitWebPlugin*); 87 88G_END_DECLS 89 90#endif 91