libpurple/protocols/irc/irc.h

branch
soc.2013.gobjectification.plugins
changeset 36579
37b5e4a9e18e
parent 34570
ac513e5901eb
child 36628
3d43ca8d69ee
--- a/libpurple/protocols/irc/irc.h	Mon Aug 26 21:05:41 2013 +0530
+++ b/libpurple/protocols/irc/irc.h	Tue Aug 27 00:59:04 2013 +0530
@@ -34,6 +34,17 @@
 #include "roomlist.h"
 #include "sslconn.h"
 
+#define IRC_ID     "prpl-irc"
+#define IRC_NAME   "IRC"
+#define IRC_DOMAIN (g_quark_from_static_string(IRC_ID))
+
+#define IRC_TYPE_PROTOCOL             (irc_protocol_get_type())
+#define IRC_PROTOCOL(obj)             (G_TYPE_CHECK_INSTANCE_CAST((obj), IRC_TYPE_PROTOCOL, IRCProtocol))
+#define IRC_PROTOCOL_CLASS(klass)     (G_TYPE_CHECK_CLASS_CAST((klass), IRC_TYPE_PROTOCOL, IRCProtocolClass))
+#define IRC_IS_PROTOCOL(obj)          (G_TYPE_CHECK_INSTANCE_TYPE((obj), IRC_TYPE_PROTOCOL))
+#define IRC_IS_PROTOCOL_CLASS(klass)  (G_TYPE_CHECK_CLASS_TYPE((klass), IRC_TYPE_PROTOCOL))
+#define IRC_PROTOCOL_GET_CLASS(obj)   (G_TYPE_INSTANCE_GET_CLASS((obj), IRC_TYPE_PROTOCOL, IRCProtocolClass))
+
 #define IRC_DEFAULT_SERVER "irc.freenode.net"
 #define IRC_DEFAULT_PORT 6667
 #define IRC_DEFAULT_SSL_PORT 994
@@ -48,10 +59,19 @@
 
 #define IRC_NAMES_FLAG "irc-namelist"
 
-
 enum { IRC_USEROPT_SERVER, IRC_USEROPT_PORT, IRC_USEROPT_CHARSET };
 enum irc_state { IRC_STATE_NEW, IRC_STATE_ESTABLISHED };
 
+typedef struct _IRCProtocol
+{
+	PurpleProtocol parent;
+} IRCProtocol;
+
+typedef struct _IRCProtocolClass
+{
+	PurpleProtocolClass parent_class;
+} IRCProtocolClass;
+
 struct irc_conn {
 	PurpleAccount *account;
 	GHashTable *msgs;
@@ -116,6 +136,8 @@
 
 typedef int (*IRCCmdCallback) (struct irc_conn *irc, const char *cmd, const char *target, const char **args);
 
+GType irc_protocol_get_type(void);
+
 int irc_send(struct irc_conn *irc, const char *buf);
 int irc_send_len(struct irc_conn *irc, const char *buf, int len);
 gboolean irc_blist_timeout(struct irc_conn *irc);

mercurial