1 /*jslint browser: true, confusion: true, sloppy: true, maxerr: 50, indent: 4 */
2 /*globals io, $, kiwi_server */
12 user_prefixes
: ['~','&','@','+'],
15 start: function (kiwi_server
) {
16 gateway
.socket
= io
.connect(kiwi_server
);
17 gateway
.socket
.on('connect', function () {
18 gateway
.sendData = function (data
, callback
) {
19 gateway
.socket
.emit('message', {sid
: this.session_id
, data
: $.toJSON(data
)}, callback
);
21 gateway
.socket
.on('message', gateway
.parse
);
22 gateway
.socket
.on('disconnect', function () {
23 // Teardown procedure here
24 // TODO: Ask Ehm if teardown with socket.io is required
25 $(gateway
).trigger("ondisconnect", {});
30 connect: function (host
, port
, ssl
, callback
) {
31 gateway
.socket
.emit('irc connect', this.nick
, host
, port
, ssl
, callback
);
53 parse: function (item
) {
54 if (item
.event
!== undefined) {
55 $(gateway
).trigger("on" + item
.event
, item
);
59 $.each(item
.options
, function (name
, value
) {
62 gateway
.channel_prefix
= value
.charAt(0);
65 gateway
.network_name
= value
;
68 gateway
.user_prefixes
= value
;
75 if (gateway
.onSync
&& gateway
.syncing
) {
76 gateway
.syncing
= false;
84 sendData: function () {},
86 sync: function (callback
) {
87 if (this.session_id
=== null) {
96 gateway
.syncing
= true;
97 gateway
.sendData(data
, callback
);
100 debug: function (callback
) {
106 gateway
.sendData(data
, callback
);
110 msg: function (s_target
, s_msg
, callback
) {
119 gateway
.sendData(data
, callback
);
122 action: function (s_target
, s_msg
, callback
) {
131 gateway
.sendData(data
, callback
);
135 join: function (s_channel
, callback
) {
143 gateway
.sendData(data
, callback
);
147 raw: function (v_data
, callback
) {
155 gateway
.sendData(data
, callback
);
159 quit: function (msg
, callback
) {
169 gateway
.sendData(data
, callback
);