Mercurial > pidgin.yaz
diff src/multi.h @ 960:fa681641643d
[gaim-migrate @ 970]
*** MULTIPLE-CONNECTIONS ***
committer: Tailor Script <tailor@pidgin.im>
author | Eric Warmenhoven <eric@warmenhoven.org> |
---|---|
date | Tue, 10 Oct 2000 00:02:02 +0000 |
parents | |
children | 2cd7b73e2c9a |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/multi.h Tue Oct 10 00:02:02 2000 +0000 @@ -0,0 +1,87 @@ +/* + * 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" +#include "aim.h" + +#define PROTO_TOC 0 +#define PROTO_OSCAR 1 + +/* 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; + + /* let's do the oscar-specific stuff first since i know it better */ + struct aim_session_t *oscar_sess; + struct aim_conn_t *oscar_conn; /* we don't particularly need this since it + will be in oscar_sess, but it's useful to + still keep our own reference to it */ + int inpa; /* do we really need this? it's for the BOS conn */ + int cnpa; /* chat nav input watcher */ + int paspa; /* for changing passwords, which doesn't work yet */ + + int create_exchange; + char *create_name; + + GSList *oscar_chats; + + /* that's all we need for oscar. now then, on to TOC.... */ + int toc_fd; + int seqno; + int state; + /* int inpa; input watcher, dual-declared for oscar as well */ + + /* now we'll do stuff that both of them need */ + char username[64]; + char password[32]; + char user_info[2048]; + char g_screenname[64]; + int options; /* same as aim_user options */ + int keepalive; + /* stuff needed for per-connection idle times */ + int idle_timer; + time_t login_time; + time_t lastsent; + int is_idle; +}; + +/* 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(int, char *, char *); +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(); + +#endif /* _GAIMMULTI_H_ */