diff 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
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sources/headers/connection.h	Sun Jan 20 19:25:25 2008 +0300
@@ -0,0 +1,75 @@
+/**
+ * connection.h (2007-04-12)
+ *
+ * -- CABAL -- connection header
+ *
+ * Copyright (c) 2007 Vlad Glagolev <enqlave@gmail.com>
+ * All rights reserved.
+ *
+ * Permission to use, copy, modify, and distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ */
+
+#ifndef _CONNECTION_H_
+#define _CONNECTION_H_
+
+#include "network.h"
+
+class Connection
+	: public Network
+{
+public:
+	Connection();
+	~Connection();
+
+	void ircConnect();
+
+	void ircPass(string);
+	void ircNick(string);
+	void ircUser(string, string);
+	void ircAway(string);
+	void ircJoin(string, string);
+	void ircPart(string);
+	void ircCycle(string);
+
+	void establish();
+
+	struct host_type {
+		pchar host;
+		int port;
+		pchar password;
+		host_type *next;
+
+		host_type(pchar h, int p, pchar pw)
+			:
+			host(h),
+			port(p),
+			password(pw),
+			next(this)
+			{};
+		host_type(pchar h, int p, pchar pw, host_type *t)
+			:
+			host(h),
+			port(p),
+			password(pw),
+			next(t)
+			{};
+	} *hosts, *current;
+
+	host_type *hostAdd(host_type *, pchar, int, pchar);
+
+	pchar virtualhost, nick, user, name, chan, key;
+
+	time_t now, uptime;
+};
+
+#endif // _CONNECTION_H_