annotate sources/headers/connection.h @ 0:bafff9de2a76

Initial commit since summer'07
author Vlad Glagolev <enqlave@gmail.com>
date Sun, 20 Jan 2008 19:25:25 +0300
parents
children
rev   line source
0
bafff9de2a76 Initial commit since summer'07
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
1 /**
bafff9de2a76 Initial commit since summer'07
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
2 * connection.h (2007-04-12)
bafff9de2a76 Initial commit since summer'07
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
3 *
bafff9de2a76 Initial commit since summer'07
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
4 * -- CABAL -- connection header
bafff9de2a76 Initial commit since summer'07
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
5 *
bafff9de2a76 Initial commit since summer'07
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
6 * Copyright (c) 2007 Vlad Glagolev <enqlave@gmail.com>
bafff9de2a76 Initial commit since summer'07
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
7 * All rights reserved.
bafff9de2a76 Initial commit since summer'07
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
8 *
bafff9de2a76 Initial commit since summer'07
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
9 * Permission to use, copy, modify, and distribute this software for any
bafff9de2a76 Initial commit since summer'07
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
10 * purpose with or without fee is hereby granted, provided that the above
bafff9de2a76 Initial commit since summer'07
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
11 * copyright notice and this permission notice appear in all copies.
bafff9de2a76 Initial commit since summer'07
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
12 *
bafff9de2a76 Initial commit since summer'07
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
13 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
bafff9de2a76 Initial commit since summer'07
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
14 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
bafff9de2a76 Initial commit since summer'07
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
15 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
bafff9de2a76 Initial commit since summer'07
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
16 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
bafff9de2a76 Initial commit since summer'07
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
17 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
bafff9de2a76 Initial commit since summer'07
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
18 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
bafff9de2a76 Initial commit since summer'07
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
19 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
bafff9de2a76 Initial commit since summer'07
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
20 */
bafff9de2a76 Initial commit since summer'07
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
21
bafff9de2a76 Initial commit since summer'07
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
22 #ifndef _CONNECTION_H_
bafff9de2a76 Initial commit since summer'07
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
23 #define _CONNECTION_H_
bafff9de2a76 Initial commit since summer'07
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
24
bafff9de2a76 Initial commit since summer'07
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
25 #include "network.h"
bafff9de2a76 Initial commit since summer'07
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
26
bafff9de2a76 Initial commit since summer'07
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
27 class Connection
bafff9de2a76 Initial commit since summer'07
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
28 : public Network
bafff9de2a76 Initial commit since summer'07
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
29 {
bafff9de2a76 Initial commit since summer'07
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
30 public:
bafff9de2a76 Initial commit since summer'07
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
31 Connection();
bafff9de2a76 Initial commit since summer'07
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
32 ~Connection();
bafff9de2a76 Initial commit since summer'07
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
33
bafff9de2a76 Initial commit since summer'07
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
34 void ircConnect();
bafff9de2a76 Initial commit since summer'07
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
35
bafff9de2a76 Initial commit since summer'07
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
36 void ircPass(string);
bafff9de2a76 Initial commit since summer'07
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
37 void ircNick(string);
bafff9de2a76 Initial commit since summer'07
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
38 void ircUser(string, string);
bafff9de2a76 Initial commit since summer'07
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
39 void ircAway(string);
bafff9de2a76 Initial commit since summer'07
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
40 void ircJoin(string, string);
bafff9de2a76 Initial commit since summer'07
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
41 void ircPart(string);
bafff9de2a76 Initial commit since summer'07
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
42 void ircCycle(string);
bafff9de2a76 Initial commit since summer'07
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
43
bafff9de2a76 Initial commit since summer'07
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
44 void establish();
bafff9de2a76 Initial commit since summer'07
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
45
bafff9de2a76 Initial commit since summer'07
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
46 struct host_type {
bafff9de2a76 Initial commit since summer'07
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
47 pchar host;
bafff9de2a76 Initial commit since summer'07
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
48 int port;
bafff9de2a76 Initial commit since summer'07
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
49 pchar password;
bafff9de2a76 Initial commit since summer'07
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
50 host_type *next;
bafff9de2a76 Initial commit since summer'07
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
51
bafff9de2a76 Initial commit since summer'07
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
52 host_type(pchar h, int p, pchar pw)
bafff9de2a76 Initial commit since summer'07
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
53 :
bafff9de2a76 Initial commit since summer'07
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
54 host(h),
bafff9de2a76 Initial commit since summer'07
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
55 port(p),
bafff9de2a76 Initial commit since summer'07
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
56 password(pw),
bafff9de2a76 Initial commit since summer'07
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
57 next(this)
bafff9de2a76 Initial commit since summer'07
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
58 {};
bafff9de2a76 Initial commit since summer'07
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
59 host_type(pchar h, int p, pchar pw, host_type *t)
bafff9de2a76 Initial commit since summer'07
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
60 :
bafff9de2a76 Initial commit since summer'07
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
61 host(h),
bafff9de2a76 Initial commit since summer'07
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
62 port(p),
bafff9de2a76 Initial commit since summer'07
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
63 password(pw),
bafff9de2a76 Initial commit since summer'07
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
64 next(t)
bafff9de2a76 Initial commit since summer'07
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
65 {};
bafff9de2a76 Initial commit since summer'07
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
66 } *hosts, *current;
bafff9de2a76 Initial commit since summer'07
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
67
bafff9de2a76 Initial commit since summer'07
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
68 host_type *hostAdd(host_type *, pchar, int, pchar);
bafff9de2a76 Initial commit since summer'07
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
69
bafff9de2a76 Initial commit since summer'07
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
70 pchar virtualhost, nick, user, name, chan, key;
bafff9de2a76 Initial commit since summer'07
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
71
bafff9de2a76 Initial commit since summer'07
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
72 time_t now, uptime;
bafff9de2a76 Initial commit since summer'07
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
73 };
bafff9de2a76 Initial commit since summer'07
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
74
bafff9de2a76 Initial commit since summer'07
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
75 #endif // _CONNECTION_H_