Yattm - unified GTK instant-messaging client | |
[Generated for version 0.2-17 - Mon Jan 6 19:01:23 GMT+1 2003] |
#include "input_list.h"
#include "account.h"
#include "debug.h"
Include dependency graph for plugin_api.h:
This graph shows which files directly or indirectly include this file:
Go to the source code of this file.
Data Structures | |
struct | ebmCallbackData |
struct | ebmContactData |
struct | ebmImportData |
struct | PLUGIN_INFO |
Defines | |
#define | API_MAJOR_VERSION 0 |
#define | API_MINOR_VERSION 1 |
#define | IS_ebmCallbackData(x) (x->CDType>=ebmCALLBACKDATA) |
#define | EB_IMPORT_MENU "IMPORT MENU" |
#define | IS_ebmImportData(x) (x->CDType==ebmIMPORTDATA) |
#define | EB_PROFILE_MENU "PROFILE MENU" |
#define | IS_ebmProfileData(x) (x->CDType==ebmPROFILEDATA) |
#define | EB_CHAT_WINDOW_MENU "CHAT MENU" |
#define | EB_CONTACT_MENU "CONTACT MENU" |
#define | IS_ebmContactData(x) (x->CDType==ebmCONTACTDATA) |
#define | DBG_MOD do_plugin_debug |
Typedefs | |
typedef int(* | eb_plugin_func )() |
typedef void(* | eb_callback_action )(void *data, int value) |
typedef void(* | eb_menu_callback )(ebmCallbackData *data) |
typedef void(* | eb_input_function )(void *data, int source, eb_input_condition condition) |
Enumerations | |
enum | PLUGIN_TYPE { PLUGIN_SERVICE = 1, PLUGIN_UTILITY, PLUGIN_SOUND, PLUGIN_LOG, PLUGIN_GUI, PLUGIN_UNKNOWN } |
enum | ebmType { ebmCALLBACKDATA = 10, ebmIMPORTDATA, ebmCONTACTDATA, ebmPROFILEDATA } |
enum | eb_input_condition { EB_INPUT_READ = 1 << 0, EB_INPUT_WRITE = 1 << 1, EB_INPUT_EXCEPTION = 1 << 2 } |
Functions | |
ebmCallbackData * | ebmProfileData_new (eb_local_account *ela) |
ebmImportData * | ebmImportData_new () |
ebmContactData * | ebmContactData_new () |
void | eb_set_active_menu_status (GSList *status_menu, int status) |
void | eb_do_dialog (char *message, char *title, eb_callback_action action, void *data) |
void * | eb_add_menu_item (char *label, char *menu_name, eb_menu_callback callback, ebmType type, void *data) |
int | eb_remove_menu_item (char *menu_name, void *tag) |
int | eb_input_add (int fd, eb_input_condition condition, eb_input_function function, void *callback_data) |
void | eb_input_remove (int tag) |
const char * | eb_config_dir () |
Variables | |
gint | do_plugin_debug |
|
Definition at line 33 of file plugin_api.h. |
|
Definition at line 34 of file plugin_api.h. |
|
Definition at line 140 of file plugin_api.h. Referenced by load_service_plugin(), load_utility_plugin(), plugin_selected(), refresh_service_contacts(), and update_plugin_prefs(). |
|
Definition at line 66 of file plugin_api.h. Referenced by handle_click(), and init_menus(). |
|
Definition at line 67 of file plugin_api.h. Referenced by contact_menu(), and init_menus(). |
|
Definition at line 62 of file plugin_api.h. Referenced by eb_import_window(), and init_menus(). |
|
Definition at line 64 of file plugin_api.h. Referenced by eb_profile_window(), and init_menus(). |
|
Definition at line 60 of file plugin_api.h. Referenced by eb_generic_menu_function(). |
|
Definition at line 68 of file plugin_api.h. |
|
Definition at line 63 of file plugin_api.h. |
|
Definition at line 65 of file plugin_api.h. |
|
Definition at line 94 of file plugin_api.h. Referenced by eb_do_dialog(). |
|
Definition at line 122 of file plugin_api.h. Referenced by eb_input_add(). |
|
Definition at line 95 of file plugin_api.h. Referenced by eb_add_menu_item(). |
|
Definition at line 44 of file plugin_api.h. |
|
Definition at line 116 of file plugin_api.h. Referenced by eb_input_add().
00116 { 00117 EB_INPUT_READ = 1 << 0, 00118 EB_INPUT_WRITE = 1 << 1, 00119 EB_INPUT_EXCEPTION = 1 << 2 00120 } eb_input_condition; |
|
Definition at line 70 of file plugin_api.h. Referenced by eb_add_menu_item(), and init_menu().
00070 { 00071 ebmCALLBACKDATA=10, 00072 ebmIMPORTDATA, 00073 ebmCONTACTDATA, 00074 ebmPROFILEDATA 00075 } ebmType; |
|
Definition at line 35 of file plugin_api.h.
00035 { 00036 PLUGIN_SERVICE=1, 00037 PLUGIN_UTILITY, 00038 PLUGIN_SOUND, 00039 PLUGIN_LOG, 00040 PLUGIN_GUI, 00041 PLUGIN_UNKNOWN 00042 } PLUGIN_TYPE; |
|
Definition at line 64 of file plugin_api.c. References menu_item_data::callback, DBG_CORE, eb_debug, eb_menu_callback, ebmType, GetPref(), menu_item_data::label, menu_data::menu_items, menu_data::redraw_menu, menu_data::type, and menu_item_data::user_data.
00065 { 00066 menu_item_data *mid=NULL; 00067 menu_data *md=NULL; 00068 00069 eb_debug(DBG_CORE, ">Adding %s to menu %s\n", label, menu_name); 00070 md = GetPref(menu_name); 00071 if(!md) { 00072 eb_debug("Unknown menu requested: %s\n", menu_name); 00073 return(NULL); 00074 } 00075 /* Make sure they're expecting the right kind of structure to be passed back */ 00076 if(type!=md->type) { 00077 eb_debug("Incorrect ebmType passed, not adding menu item: %s\n", label); 00078 return(NULL); 00079 } 00080 mid=g_new0(menu_item_data, 1); 00081 mid->user_data=data; 00082 mid->label=label; 00083 mid->callback=callback; 00084 md->menu_items = g_list_append(md->menu_items, mid); 00085 if(md->redraw_menu) { 00086 eb_debug(DBG_CORE, "Calling redraw_menu for %s\n", menu_name); 00087 md->redraw_menu(); 00088 } 00089 eb_debug(DBG_CORE, "<Successfully added menu item\n"); 00090 /* Return the menu_item_data pointer, so that g_list_remove can be used */ 00091 return((void *)mid); 00092 } |
|
|
|
Definition at line 120 of file plugin_api.c. References callback_data::action, callback_data::data, do_dialog(), eb_callback_action, eb_gtk_dialog_callback(), and title.
00121 { 00122 callback_data *cd=g_new0(callback_data,1); 00123 cd->action=action; 00124 cd->data=data; 00125 do_dialog(message, title, eb_gtk_dialog_callback, cd); 00126 } |
|
Definition at line 139 of file plugin_api.c. References eb_input_condition, and eb_input_function.
00141 { 00142 return(gdk_input_add(fd, condition, function, callback_data)); 00143 } |
|
Definition at line 145 of file plugin_api.c.
00146 { 00147 gdk_input_remove(tag); 00148 } |
|
Definition at line 94 of file plugin_api.c. References DBG_CORE, eb_debug, GetPref(), menu_item_data::label, menu_data::menu_items, and menu_data::redraw_menu.
00095 { 00096 menu_data *md=NULL; 00097 menu_item_data *mid=(menu_item_data *)tag; 00098 00099 if(mid) { 00100 eb_debug(DBG_CORE, ">Request to remove %s from menu %s\n", mid->label, menu_name); 00101 } 00102 if(!tag) { 00103 eb_debug(DBG_CORE, "<Received request to delete from menu %s, with empty tag\n", menu_name); 00104 return(-1); 00105 } 00106 md=GetPref(menu_name); 00107 if(!md) { 00108 eb_debug(DBG_CORE, "<Requested menu %s does not exist, returning failure\n", menu_name); 00109 return(-1); 00110 } 00111 md->menu_items=g_list_remove(md->menu_items, tag); 00112 if(md->redraw_menu) { 00113 eb_debug(DBG_CORE, "Calling redraw_menu\n"); 00114 md->redraw_menu(); 00115 } 00116 eb_debug(DBG_CORE, "<Returning success\n"); 00117 return(0); 00118 } |
|
Definition at line 128 of file plugin_api.c. Referenced by eb_status().
00129 { 00130 gtk_check_menu_item_set_active 00131 (GTK_CHECK_MENU_ITEM 00132 ( 00133 g_slist_nth(status_menu, status)->data 00134 ), TRUE 00135 ); 00136 } |
|
Definition at line 57 of file plugin_api.c. References ebmCONTACTDATA. Referenced by contact_menu(), and handle_click().
00058 { 00059 ebmContactData *ecd=g_new0(ebmContactData, 1); 00060 ((ebmCallbackData *)ecd)->CDType=ebmCONTACTDATA; 00061 return(ecd); 00062 } |
|
Definition at line 41 of file plugin_api.c. References ebmIMPORTDATA.
00042 { 00043 ebmImportData *eid=g_new0(ebmImportData, 1); 00044 ((ebmCallbackData *)eid)->CDType=ebmIMPORTDATA; 00045 return(eid); 00046 } |
|
Definition at line 48 of file plugin_api.c. References ebmPROFILEDATA, and ebmCallbackData::user_data.
00049 { 00050 ebmCallbackData *eid=g_new0(ebmCallbackData, 1); 00051 ((ebmCallbackData *)eid)->CDType=ebmPROFILEDATA; 00052 eid->user_data = ela; 00053 return(eid); 00054 } |
|
Definition at line 138 of file plugin_api.h. Referenced by build_general_prefs(), cancel_general_prefs(), eb_read_prefs(), and write_general_prefs(). |