Mercurial > pidgin.yaz
view src/multi.h @ 1329:e2d8b713d928
[gaim-migrate @ 1339]
Properly handles being disconnected due to signing on twice :)
committer: Tailor Script <tailor@pidgin.im>
author | Rob Flynn <gaim@robflynn.com> |
---|---|
date | Wed, 20 Dec 2000 07:51:30 +0000 |
parents | 3063e6743913 |
children | 04874e92af24 |
line wrap: on
line source
/* * gaim * * Copyright (C) 1998-1999, Mark Spencer <markster@marko.net> * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * */ #ifndef _GAIMMULTI_H_ #define _GAIMMULTI_H_ #include <gtk/gtk.h> #include "gaim.h" /* ok. now the fun begins. first we create a connection structure */ struct gaim_connection { /* we need to do either oscar or TOC */ /* we make this as an int in case if we want to add more protocols later */ int protocol; struct prpl *prpl; /* all connections need an input watcher */ int inpa; /* buddy list stuff. there is still a global groups for the buddy list, but * we need to maintain our own set of buddies, and our own permit/deny lists */ GSList *groups; GSList *permit; GSList *deny; int permdeny; /* all connections need a list of chats, even if they don't have chat */ GSList *buddy_chats; /* each connection then can have its own protocol-specific data */ void *proto_data; struct aim_user *user; char username[64]; char password[32]; char g_screenname[64]; int options; /* same as aim_user options */ guint keepalive; int correction_time; /* stuff needed for per-connection idle times */ guint idle_timer; time_t login_time; time_t lastsent; int is_idle; /* stuff for a signin progress meter */ GtkWidget *meter; GtkWidget *progress; GtkWidget *status; }; /* now that we have our struct, we're going to need lots of them. Maybe even a list of them. */ extern GSList *connections; struct gaim_connection *new_gaim_conn(struct aim_user *); void destroy_gaim_conn(struct gaim_connection *); struct gaim_connection *find_gaim_conn_by_name(char *); void account_editor(GtkWidget *, GtkWidget *); void account_online(struct gaim_connection *); void account_offline(struct gaim_connection *); void auto_login(); void set_login_progress(struct gaim_connection *, float, char *); void hide_login_progress(struct gaim_connection *, char *); #endif /* _GAIMMULTI_H_ */