Mercurial > cabal
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_ |
