1 /*jslint browser: true, confusion: true, sloppy: true, maxerr: 50, indent: 4 */
12 user_prefixes
: ['~','&','@','+'],
16 start: function (kiwi_server
) {
17 if (typeof kiwi_server
!== 'undefined') {
18 gateway
.kiwi_server
= kiwi_server
;
22 connect: function (host
, port
, ssl
, callback
) {
23 if (typeof gateway
.kiwi_server
!== 'undefined') {
24 gateway
.socket
= io
.connect(kiwi_server
, {'max reconnection attempts': 3});
25 gateway
.socket
.of('/kiwi').on('connect_failed', function (reason
) {
26 console
.debug('Unable to connect Socket.IO', reason
);
27 front
.tabviews
.server
.addMsg(null, ' ', 'Unable to connect to Kiwi IRC.\nYour IP address has too many open connections to Kiwi', 'error');
28 gateway
.socket
.disconnect();
29 $(gateway
).trigger("ondisconnect", {});
30 gateway
.sendData = function () {};
31 }).on('error', function (e
) {
34 gateway
.socket
.on('connect', function () {
35 gateway
.sendData = function (data
, callback
) {
36 gateway
.socket
.emit('message', {sid
: this.session_id
, data
: $.toJSON(data
)}, callback
);
38 gateway
.socket
.on('message', gateway
.parse
);
39 gateway
.socket
.on('disconnect', function () {
40 // Teardown procedure here
41 $(gateway
).trigger("ondisconnect", {});
43 gateway
.socket
.emit('irc connect', gateway
.nick
, host
, port
, ssl
, callback
);
67 parse: function (item
) {
68 if (item
.event
!== undefined) {
69 $(gateway
).trigger("on" + item
.event
, item
);
73 $.each(item
.options
, function (name
, value
) {
76 gateway
.channel_prefix
= value
.charAt(0);
79 gateway
.network_name
= value
;
82 gateway
.user_prefixes
= value
;
89 if (gateway
.onSync
&& gateway
.syncing
) {
90 gateway
.syncing
= false;
98 sendData: function () {},
100 sync: function (callback
) {
101 if (this.session_id
=== null) {
110 gateway
.syncing
= true;
111 gateway
.sendData(data
, callback
);
114 debug: function (callback
) {
120 gateway
.sendData(data
, callback
);
124 msg: function (s_target
, s_msg
, callback
) {
133 gateway
.sendData(data
, callback
);
136 action: function (s_target
, s_msg
, callback
) {
145 gateway
.sendData(data
, callback
);
149 notice: function (s_target
, s_msg
, callback
) {
158 gateway
.sendData(data
, callback
);
162 join: function (s_channel
, callback
) {
170 gateway
.sendData(data
, callback
);
174 raw: function (v_data
, callback
) {
182 gateway
.sendData(data
, callback
);
186 quit: function (msg
, callback
) {
196 gateway
.sendData(data
, callback
);