source: protocols/account.h @ b2b7f52

Last change on this file since b2b7f52 was 0e788f5, checked in by Wilmer van der Gaast <wilmer@…>, at 2013-02-21T19:15:59Z

I'm still bored on a long flight. Wrote a script to automatically update
my copyright mentions since some were getting pretty stale. Left files not
touched since before 2012 alone so that this change doesn't touch almost
EVERY source file.

  • Property mode set to 100644
File size: 2.5 KB
Line 
1  /********************************************************************\
2  * BitlBee -- An IRC to other IM-networks gateway                     *
3  *                                                                    *
4  * Copyright 2002-2013 Wilmer van der Gaast and others                *
5  \********************************************************************/
6
7/* Account management functions                                         */
8
9/*
10  This program is free software; you can redistribute it and/or modify
11  it under the terms of the GNU General Public License as published by
12  the Free Software Foundation; either version 2 of the License, or
13  (at your option) any later version.
14
15  This program is distributed in the hope that it will be useful,
16  but WITHOUT ANY WARRANTY; without even the implied warranty of
17  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18  GNU General Public License for more details.
19
20  You should have received a copy of the GNU General Public License with
21  the Debian GNU/Linux distribution in /usr/share/common-licenses/GPL;
22  if not, write to the Free Software Foundation, Inc., 59 Temple Place,
23  Suite 330, Boston, MA  02111-1307  USA
24*/
25
26#ifndef _ACCOUNT_H
27#define _ACCOUNT_H
28
29typedef struct account
30{
31        struct prpl *prpl;
32        char *user;
33        char *pass;
34        char *server;
35        char *tag;
36       
37        int auto_connect;
38        int auto_reconnect_delay;
39        int reconnect;
40        int flags;
41       
42        set_t *set;
43        GHashTable *nicks;
44       
45        struct bee *bee;
46        struct im_connection *ic;
47        struct account *next;
48} account_t;
49
50account_t *account_add( bee_t *bee, struct prpl *prpl, char *user, char *pass );
51account_t *account_get( bee_t *bee, const char *id );
52account_t *account_by_tag( bee_t *bee, const char *tag );
53void account_del( bee_t *bee, account_t *acc );
54void account_on( bee_t *bee, account_t *a );
55void account_off( bee_t *bee, account_t *a );
56
57char *set_eval_account( set_t *set, char *value );
58char *set_eval_account_reconnect_delay( set_t *set, char *value );
59int account_reconnect_delay( account_t *a );
60
61typedef enum
62{
63        ACC_SET_NOSAVE = 0x01,          /* Don't save this setting (i.e. stored elsewhere). */
64        ACC_SET_OFFLINE_ONLY = 0x02,    /* Allow changes only if the acct is offline. */
65        ACC_SET_ONLINE_ONLY = 0x04,     /* Allow changes only if the acct is online. */
66} account_set_flag_t;
67
68typedef enum
69{
70        ACC_FLAG_AWAY_MESSAGE = 0x01,   /* Supports away messages instead of just states. */
71        ACC_FLAG_STATUS_MESSAGE = 0x02, /* Supports status messages (without being away). */
72        ACC_FLAG_HANDLE_DOMAINS = 0x04, /* Contact handles need a domain portion. */
73} account_flag_t;
74
75#endif
Note: See TracBrowser for help on using the repository browser.