comparison src/account.c @ 8573:7dcd6f26e4a7

[gaim-migrate @ 9321] " This patch reimplements the system log. It writes system log to ~/.gaim/logs/<protocol>/<username>/.system/<timestamp>.(txt|html), where <timestamp> is the time that the account <username> with <protocol> signs on. Nathan (faceprint) and LSchiere suggested this logging scheme. No code is currently written to read the old system logs. Note that if you change the logging format, you need to re-login the accounts for the change to take effect." --Ka-Hing (javabsp) Cheung who continues: "Now this one applies, also contains a rider patch that, if you enable sound for "Someone says your name in chat", it will not play a sound if the message is a system message, like if jabber chat tells you that "*** becomes available" and *** is you, it won't play a sound." committer: Tailor Script <tailor@pidgin.im>
author Luke Schierer <lschiere@pidgin.im>
date Sat, 03 Apr 2004 18:34:29 +0000
parents 1a016d979ce0
children d4f6b9aa4cc8
comparison
equal deleted inserted replaced
8572:f6890288bbe0 8573:7dcd6f26e4a7
144 144
145 account->settings = g_hash_table_new_full(g_str_hash, g_str_equal, 145 account->settings = g_hash_table_new_full(g_str_hash, g_str_equal,
146 g_free, delete_setting); 146 g_free, delete_setting);
147 account->ui_settings = g_hash_table_new_full(g_str_hash, g_str_equal, 147 account->ui_settings = g_hash_table_new_full(g_str_hash, g_str_equal,
148 g_free, (GDestroyNotify)g_hash_table_destroy); 148 g_free, (GDestroyNotify)g_hash_table_destroy);
149 account->system_log = NULL;
149 150
150 return account; 151 return account;
151 } 152 }
152 153
153 void 154 void
180 if (account->user_info != NULL) g_free(account->user_info); 181 if (account->user_info != NULL) g_free(account->user_info);
181 if (account->protocol_id != NULL) g_free(account->protocol_id); 182 if (account->protocol_id != NULL) g_free(account->protocol_id);
182 183
183 g_hash_table_destroy(account->settings); 184 g_hash_table_destroy(account->settings);
184 g_hash_table_destroy(account->ui_settings); 185 g_hash_table_destroy(account->ui_settings);
186
187 if(account->system_log)
188 gaim_log_free(account->system_log);
185 189
186 g_free(account); 190 g_free(account);
187 } 191 }
188 192
189 GaimConnection * 193 GaimConnection *
909 return default_value; 913 return default_value;
910 914
911 g_return_val_if_fail(setting->type == GAIM_PREF_BOOLEAN, default_value); 915 g_return_val_if_fail(setting->type == GAIM_PREF_BOOLEAN, default_value);
912 916
913 return setting->value.bool; 917 return setting->value.bool;
918 }
919
920 GaimLog *
921 gaim_account_get_log(GaimAccount *account)
922 {
923 g_return_val_if_fail(account != NULL, NULL);
924
925 if(!account->system_log){
926 account->system_log = gaim_log_new(GAIM_LOG_SYSTEM, account->username,
927 account, account->gc->login_time);
928 }
929
930 return account->system_log;
931 }
932
933 void
934 gaim_account_destroy_log(GaimAccount *account)
935 {
936 g_return_if_fail(account != NULL);
937
938 if(account->system_log){
939 gaim_log_free(account->system_log);
940 account->system_log = NULL;
941 }
914 } 942 }
915 943
916 /* XML Stuff */ 944 /* XML Stuff */
917 static void 945 static void
918 free_parser_data(gpointer user_data) 946 free_parser_data(gpointer user_data)