Yattm - unified GTK instant-messaging client | |
[Generated for version 0.2-17 - Mon Jan 6 19:01:23 GMT+1 2003] |
#include <gtk/gtk.h>
Include dependency graph for account.h:
This graph shows which files directly or indirectly include this file:
Go to the source code of this file.
Data Structures | |
struct | _grouplist |
struct | account |
struct | local_account |
Typedefs | |
typedef _grouplist | grouplist |
typedef account | eb_account |
typedef local_account | eb_local_account |
Functions | |
int | load_accounts () |
int | load_contacts () |
void | write_contact_list () |
void | write_account_list () |
|
|
|
|
|
|
|
Definition at line 129 of file account.c. References DBG_CORE, and eb_debug. Referenced by main(), and ok_callback().
00130 { 00131 FILE * fp; 00132 char buff2[1024]; 00133 extern int accountparse(); 00134 extern FILE * accountin; 00135 00136 g_snprintf(buff2, 1024, "%saccounts",config_dir); 00137 00138 if(!(fp = fopen(buff2,"r"))) 00139 return 0; 00140 accounts = NULL; 00141 00142 accountin = fp; 00143 accountparse(); 00144 eb_debug(DBG_CORE, "closing fp\n"); 00145 fclose(fp); 00146 return accounts != NULL; 00147 } |
|
Definition at line 154 of file account.c. Referenced by main(), and ok_callback().
00155 { 00156 FILE * fp; 00157 char buff2[1024]; 00158 extern int contactparse(); 00159 extern FILE * contactin; 00160 00161 g_snprintf(buff2, 1024, "%scontacts",config_dir); 00162 00163 if(!(fp = fopen(buff2,"r"))) 00164 return 0; 00165 contactin = fp; 00166 groups = NULL; 00167 00168 contactparse(); 00169 00170 fclose(fp); 00171 return 1; 00172 } |
|
Definition at line 33 of file account.c. References local_account::service_id, and value_pair_print_values().
00034 { 00035 FILE * fp; 00036 char buff2[1024]; 00037 GList * l1; 00038 00039 /* 00040 * The contact list is a 3 dimensional linked list, at the top 00041 * level you have a list of groups, each group can have several 00042 * contacts, each contact can have several accounts. Please see 00043 * the Nomenclature file in the docs directory for details 00044 */ 00045 00046 g_snprintf(buff2, 1024, "%saccounts", config_dir); 00047 if(!(fp = fdopen(creat(buff2,0700),"w"))) 00048 return; 00049 00050 00051 for(l1 = accounts; l1; l1=l1->next ) 00052 { 00053 eb_local_account * ela = (eb_local_account*)l1->data; 00054 00055 /* 00056 * This is the deal, what a protocol stores as account data is 00057 * protocol specific, so you just query for the values you need to write 00058 * cool stuff :-) 00059 */ 00060 00061 GList * config = eb_services[ela->service_id].sc->write_local_config(ela); 00062 fprintf(fp, "<ACCOUNT %s>\n", eb_services[ela->service_id].name); 00063 value_pair_print_values(config, fp, 1); 00064 fprintf( fp, "</ACCOUNT>\n" ); 00065 } 00066 00067 fclose(fp); 00068 } |
|
Definition at line 74 of file account.c. References _trigger::action, contact::default_chatb, escape_string(), get_trigger_type_text(), account::handle, contact::language, contact::nick, _trigger::param, account::service_id, contact::trigger, and _trigger::type. Referenced by add_button_callback(), add_unknown(), add_unknown_with_name(), drag_data_get(), eb_import_function(), eb_profile_function(), ignore_dialog_callback(), ok_callback(), remove_account_callback(), remove_contact_callback(), remove_group_callback(), and set_button_callback().
00075 { 00076 FILE * fp; 00077 char buff2[1024]; 00078 GList * l1; 00079 GList * l2; 00080 GList * l3; 00081 00082 /* 00083 * The contact list is a 3 dimensional linked list, at the top 00084 * level you have a list of groups, each group can have several 00085 * contacts, each contact can have several accounts. Please see 00086 * the Nomenclature file in the docs directory for details 00087 */ 00088 00089 g_snprintf(buff2, 1024, "%scontacts", config_dir); 00090 if(!(fp = fdopen(creat(buff2,0700),"w"))) 00091 return; 00092 00093 00094 for(l1 = groups; l1; l1=l1->next ) { 00095 fprintf(fp,"<GROUP>\n\tNAME=\"%s\"\n", ((grouplist*)l1->data)->name); 00096 for(l2 = ((grouplist*)l1->data)->members; l2; l2=l2->next ) { 00097 struct contact * c = (struct contact*)l2->data; 00098 char *strbuf = NULL; 00099 fprintf(fp, "\t<CONTACT>\n\t\tNAME=\"%s\"\n\t\tDEFAULT_PROTOCOL=\"%s\"\n\t\tLANGUAGE=\"%s\"\n", 00100 c->nick, eb_services[c->default_chatb].name, c->language); 00101 strbuf = escape_string(c->trigger.param); 00102 fprintf(fp, "\t\tTRIGGER_TYPE=\"%s\"\n\t\tTRIGGER_ACTION=\"%s\"\n\t\tTRIGGER_PARAM=\"%s\"\n", 00103 get_trigger_type_text(c->trigger.type), 00104 get_trigger_action_text(c->trigger.action), 00105 strbuf); 00106 g_free (strbuf); 00107 00108 for(l3 = ((struct contact*)l2->data)->accounts; l3; l3=l3->next) { 00109 eb_account * account = (eb_account*)l3->data; 00110 fprintf( fp, "\t\t<ACCOUNT %s>\n\t\t\tNAME=\"%s\"\n\t\t</ACCOUNT>\n", 00111 eb_services[account->service_id].name, 00112 account->handle ); 00113 00114 } 00115 fprintf( fp, "\t</CONTACT>\n" ); 00116 } 00117 fprintf( fp, "</GROUP>\n" ); 00118 } 00119 00120 fclose(fp); 00121 } |