diff options
Diffstat (limited to 'lib/src/sugar-browser-chandler.c')
-rw-r--r-- | lib/src/sugar-browser-chandler.c | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/lib/src/sugar-browser-chandler.c b/lib/src/sugar-browser-chandler.c new file mode 100644 index 0000000..a65519a --- /dev/null +++ b/lib/src/sugar-browser-chandler.c @@ -0,0 +1,56 @@ +#include "sugar-marshal.h" +#include "sugar-browser-chandler.h" + +enum { + HANDLE_CONTENT, + LAST_SIGNAL +}; +static guint signals[LAST_SIGNAL] = { 0 }; + +G_DEFINE_TYPE(SugarBrowserChandler, sugar_browser_chandler, G_TYPE_OBJECT) + +SugarBrowserChandler *browserChandler = NULL; + +static void +sugar_browser_chandler_init(SugarBrowserChandler *browserChandler) +{ +} + +static void +sugar_browser_chandler_class_init(SugarBrowserChandlerClass *browser_chandler_class) +{ + signals[HANDLE_CONTENT] = + g_signal_new ("handle-content", + G_OBJECT_CLASS_TYPE (browser_chandler_class), + G_SIGNAL_RUN_LAST, + G_STRUCT_OFFSET (SugarBrowserChandlerClass, handle_content), + NULL, NULL, + sugar_marshal_VOID__STRING_STRING_STRING, + G_TYPE_NONE, 3, + G_TYPE_STRING, + G_TYPE_STRING, + G_TYPE_STRING); +} + +SugarBrowserChandler * +sugar_get_browser_chandler() +{ + if(browserChandler == NULL) + browserChandler = g_object_new(SUGAR_TYPE_BROWSER_CHANDLER, NULL); + + return browserChandler; +} + +void +sugar_browser_chandler_handle_content (SugarBrowserChandler *browser_chandler, + const char *url, + const char *mime_type, + const char *tmp_file_name) +{ + g_signal_emit(browser_chandler, + signals[HANDLE_CONTENT], + 0 /* details */, + url, + mime_type, + tmp_file_name); +} |