/***************************************************************************
TalkSoupProtocols.h
-------------------
begin : Mon Apr 7 20:46:46 CDT 2003
copyright : (C) 2005 by Andrew Ruder
email : aeruder@ksu.edu
***************************************************************************/
/***************************************************************************
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
***************************************************************************/
#ifndef TALKSOUP_PROTOCOLS_H
#define TALKSOUP_PROTOCOLS_H
@class NSInvocation, NSMutableArray, NSString, NSAttributedString;
@class NSHost, NSMutableDictionary;
@protocol TalkSoupPluginProtocol
- pluginActivated;
- pluginDeactivated;
- controlObject: (id)aObject onConnection: aConnection
withNickname: (NSAttributedString *)aNick
sender: aPlugin;
- (NSAttributedString *)pluginDescription;
@end
@protocol TalkSoupInputPluginProtocol < TalkSoupPluginProtocol >
- initiateConnectionToHost: (NSHost *)aHost onPort: (int)aPort
withTimeout: (int)seconds withNickname: (NSString *)nickname
withUserName: (NSString *)user withRealName: (NSString *)realName
withPassword: (NSString *)password withIdentification: (NSString *)ident;
- (void)closeConnection: (id)connection;
- (NSArray *)connections;
@end
@protocol TalkSoupOutFilterProtocol < TalkSoupPluginProtocol >
- changeNick: (NSAttributedString *)aNick onConnection: aConnection
withNickname: (NSAttributedString *)nick sender: aPlugin;
- quitWithMessage: (NSAttributedString *)aMessage onConnection: aConnection
withNickname: (NSAttributedString *)aNick
sender: aPlugin;
- partChannel: (NSAttributedString *)channel
withMessage: (NSAttributedString *)aMessage
onConnection: aConnection
withNickname: (NSAttributedString *)aNick
sender: aPlugin;
- joinChannel: (NSAttributedString *)channel
withPassword: (NSAttributedString *)aPassword
onConnection: aConnection
withNickname: (NSAttributedString *)aNick
sender: aPlugin;
- sendCTCPReply: (NSAttributedString *)aCTCP
withArgument: (NSAttributedString *)args
to: (NSAttributedString *)aPerson
onConnection: aConnection
withNickname: (NSAttributedString *)aNick
sender: aPlugin;
- sendCTCPRequest: (NSAttributedString *)aCTCP
withArgument: (NSAttributedString *)args
to: (NSAttributedString *)aPerson onConnection: aConnection
withNickname: (NSAttributedString *)aNick
sender: aPlugin;
- sendMessage: (NSAttributedString *)message to: (NSAttributedString *)receiver
onConnection: aConnection
withNickname: (NSAttributedString *)aNick
sender: aPlugin;
- sendNotice: (NSAttributedString *)message to: (NSAttributedString *)receiver
onConnection: aConnection
withNickname: (NSAttributedString *)aNick
sender: aPlugin;
- sendAction: (NSAttributedString *)anAction to: (NSAttributedString *)receiver
onConnection: aConnection
withNickname: (NSAttributedString *)aNick
sender: aPlugin;
- becomeOperatorWithName: (NSAttributedString *)aName
withPassword: (NSAttributedString *)pass
onConnection: aConnection
withNickname: (NSAttributedString *)aNick
sender: aPlugin;
- requestNamesOnChannel: (NSAttributedString *)aChannel
onConnection: aConnection
withNickname: (NSAttributedString *)aNick
sender: aPlugin;
- requestMOTDOnServer: (NSAttributedString *)aServer onConnection: aConnection
withNickname: (NSAttributedString *)aNick
sender: aPlugin;
- requestSizeInformationFromServer: (NSAttributedString *)aServer
andForwardTo: (NSAttributedString *)anotherServer onConnection: aConnection
withNickname: (NSAttributedString *)aNick
sender: aPlugin;
- requestVersionOfServer: (NSAttributedString *)aServer
onConnection: aConnection
withNickname: (NSAttributedString *)aNick
sender: aPlugin;
- requestServerStats: (NSAttributedString *)aServer
for: (NSAttributedString *)query
onConnection: aConnection
withNickname: (NSAttributedString *)aNick
sender: aPlugin;
- requestServerLink: (NSAttributedString *)aLink
from: (NSAttributedString *)aServer
onConnection: aConnection
withNickname: (NSAttributedString *)aNick
sender: aPlugin;
- requestTimeOnServer: (NSAttributedString *)aServer onConnection: aConnection
withNickname: (NSAttributedString *)aNick
sender: aPlugin;
- requestServerToConnect: (NSAttributedString *)aServer
to: (NSAttributedString *)connectServer
onPort: (NSAttributedString *)aPort onConnection: aConnection
withNickname: (NSAttributedString *)aNick
sender: aPlugin;
- requestTraceOnServer: (NSAttributedString *)aServer onConnection: aConnection
withNickname: (NSAttributedString *)aNick
sender: aPlugin;
- requestAdministratorOnServer: (NSAttributedString *)aServer
onConnection: aConnection
withNickname: (NSAttributedString *)aNick
sender: aPlugin;
- requestInfoOnServer: (NSAttributedString *)aServer onConnection: aConnection
withNickname: (NSAttributedString *)aNick
sender: aPlugin;
- requestServerRehashOnConnection: aConnection
withNickname: (NSAttributedString *)aNick
sender: aPlugin;
- requestServerShutdownOnConnection: aConnection
withNickname: (NSAttributedString *)aNick
sender: aPlugin;
- requestServerRestartOnConnection: aConnection
withNickname: (NSAttributedString *)aNick
sender: aPlugin;
- requestUserInfoOnServer: (NSAttributedString *)aServer
onConnection: aConnection
withNickname: (NSAttributedString *)aNick
sender: aPlugin;
- areUsersOn: (NSAttributedString *)userList onConnection: aConnection
withNickname: (NSAttributedString *)aNick
sender: aPlugin;
- sendWallops: (NSAttributedString *)message onConnection: aConnection
withNickname: (NSAttributedString *)aNick
sender: aPlugin;
- listWho: (NSAttributedString *)aMask onlyOperators: (BOOL)operators
onConnection: aConnection
withNickname: (NSAttributedString *)aNick
sender: aPlugin;
- whois: (NSAttributedString *)aPerson onServer: (NSAttributedString *)aServer
onConnection: aConnection
withNickname: (NSAttributedString *)aNick
sender: aPlugin;
- whowas: (NSAttributedString *)aPerson onServer: (NSAttributedString *)aServer
withNumberEntries: (NSAttributedString *)aNumber onConnection: aConnection
withNickname: (NSAttributedString *)aNick
sender: aPlugin;
- kill: (NSAttributedString *)aPerson
withComment: (NSAttributedString *)aComment
onConnection: aConnection
withNickname: (NSAttributedString *)aNick
sender: aPlugin;
- setTopicForChannel: (NSAttributedString *)aChannel
to: (NSAttributedString *)aTopic
onConnection: aConnection
withNickname: (NSAttributedString *)aNick
sender: aPlugin;
- setMode: (NSAttributedString *)aMode on: (NSAttributedString *)anObject
withParams: (NSArray *)list onConnection: aConnection
withNickname: (NSAttributedString *)aNick
sender: aPlugin;
- listChannel: (NSAttributedString *)aChannel
onServer: (NSAttributedString *)aServer
onConnection: aConnection
withNickname: (NSAttributedString *)aNick
sender: aPlugin;
- invite: (NSAttributedString *)aPerson to: (NSAttributedString *)aChannel
onConnection: aConnection
withNickname: (NSAttributedString *)aNick
sender: aPlugin;
- kick: (NSAttributedString *)aPerson offOf: (NSAttributedString *)aChannel
for: (NSAttributedString *)reason
onConnection: aConnection
withNickname: (NSAttributedString *)aNick
sender: aPlugin;
- setAwayWithMessage: (NSAttributedString *)message onConnection: aConnection
withNickname: (NSAttributedString *)aNick
sender: aPlugin;
- sendPingWithArgument: (NSAttributedString *)aString onConnection: aConnection
withNickname: (NSAttributedString *)aNick
sender: aPlugin;
- sendPongWithArgument: (NSAttributedString *)aString onConnection: aConnection
withNickname: (NSAttributedString *)aNick
sender: aPlugin;
- writeRawString: (NSAttributedString *)aString onConnection: aConnection
withNickname: (NSAttributedString *)aNick
sender: aPlugin;
@end
@protocol TalkSoupConnectionProtocol < TalkSoupOutFilterProtocol >
- (NSString *)identification;
- (NSString *)errorMessage;
- (BOOL)connected;
- (NSString *)nick;
- (int)port;
/**
* The object returned by this method should be or at least act like
* a NSHost object
*/
- (id)remoteHost;
/**
* The object returned by this method should be or at least act like
* a NSHost object
*/
- (id)localHost;
- setEncoding: (NSStringEncoding)encoding;
- (NSStringEncoding)encoding;
/**
* Set the lowercasing selector. This is the selector that is called
* on a NSString to get the lowercase form. Used to determine if two
* nicknames are equivalent. Generally <var>aSelector</var> would be
* either @selector(lowercaseString) or @selector(lowercaseIRCString).
* By default, this is lowercaseIRCString but will be autodetected
* from the server if possible. It will be reset to lowercaseIRCString
* upon reconnection.
*/
- setLowercasingSelector: (SEL)aSelector;
/**
* Return the lowercasing selector. See -setLowercasingSelector: for
* more information on the use of this lowercasing selector.
*/
- (SEL)lowercasingSelector;
/**
* Use the lowercasingSelector to compare two strings. Returns a
* NSComparisonResult ( NSOrderedAscending, NSOrderedSame or
* NSOrderedDescending )
*/
- (NSComparisonResult)caseInsensitiveCompare: (NSString *)aString1
to: (NSString *)aString2;
@end
@protocol TalkSoupInFilterProtocol < TalkSoupPluginProtocol >
- newConnection: (id)connection
withNickname: (NSAttributedString *)aNick
sender: aPlugin;
- lostConnection: (id)connection
withNickname: (NSAttributedString *)aNick
sender: aPlugin;
- registeredWithServerOnConnection: (id)connection
withNickname: (NSAttributedString *)aNick
sender: aPlugin;
- couldNotRegister: (NSAttributedString *)reason onConnection: (id)connection
withNickname: (NSAttributedString *)aNick
sender: aPlugin;
- CTCPRequestReceived: (NSAttributedString *)aCTCP
withArgument: (NSAttributedString *)argument
to: (NSAttributedString *)receiver
from: (NSAttributedString *)aPerson onConnection: (id)connection
withNickname: (NSAttributedString *)aNick
sender: aPlugin;
- CTCPReplyReceived: (NSAttributedString *)aCTCP
withArgument: (NSAttributedString *)argument
to: (NSAttributedString *)receiver
from: (NSAttributedString *)aPerson
onConnection: (id)connection
withNickname: (NSAttributedString *)aNick
sender: aPlugin;
- errorReceived: (NSAttributedString *)anError onConnection: (id)connection
withNickname: (NSAttributedString *)aNick
sender: aPlugin;
- wallopsReceived: (NSAttributedString *)message
from: (NSAttributedString *)sender
onConnection: (id)connection
withNickname: (NSAttributedString *)aNick
sender: aPlugin;
- userKicked: (NSAttributedString *)aPerson
outOf: (NSAttributedString *)aChannel
for: (NSAttributedString *)reason from: (NSAttributedString *)kicker
onConnection: (id)connection
withNickname: (NSAttributedString *)aNick
sender: aPlugin;
- invitedTo: (NSAttributedString *)aChannel from: (NSAttributedString *)inviter
onConnection: (id)connection
withNickname: (NSAttributedString *)aNick
sender: aPlugin;
- modeChanged: (NSAttributedString *)mode on: (NSAttributedString *)anObject
withParams: (NSArray *)paramList from: (NSAttributedString *)aPerson
onConnection: (id)connection
withNickname: (NSAttributedString *)aNick
sender: aPlugin;
- numericCommandReceived: (NSAttributedString *)command
withParams: (NSArray *)paramList from: (NSAttributedString *)sender
onConnection: (id)connection
withNickname: (NSAttributedString *)aNick
sender: aPlugin;
- nickChangedTo: (NSAttributedString *)newName
from: (NSAttributedString *)aPerson
onConnection: (id)connection
withNickname: (NSAttributedString *)aNick
sender: aPlugin;
- channelJoined: (NSAttributedString *)channel
from: (NSAttributedString *)joiner
onConnection: (id)connection
withNickname: (NSAttributedString *)aNick
sender: aPlugin;
- channelParted: (NSAttributedString *)channel
withMessage: (NSAttributedString *)aMessage
from: (NSAttributedString *)parter onConnection: (id)connection
withNickname: (NSAttributedString *)aNick
sender: aPlugin;
- quitIRCWithMessage: (NSAttributedString *)aMessage
from: (NSAttributedString *)quitter onConnection: (id)connection
withNickname: (NSAttributedString *)aNick
sender: aPlugin;
- topicChangedTo: (NSAttributedString *)aTopic in: (NSAttributedString *)channel
from: (NSAttributedString *)aPerson onConnection: (id)connection
withNickname: (NSAttributedString *)aNick
sender: aPlugin;
- messageReceived: (NSAttributedString *)aMessage to: (NSAttributedString *)to
from: (NSAttributedString *)sender onConnection: (id)connection
withNickname: (NSAttributedString *)aNick
sender: aPlugin;
- noticeReceived: (NSAttributedString *)aMessage to: (NSAttributedString *)to
from: (NSAttributedString *)sender onConnection: (id)connection
withNickname: (NSAttributedString *)aNick
sender: aPlugin;
- actionReceived: (NSAttributedString *)anAction to: (NSAttributedString *)to
from: (NSAttributedString *)sender onConnection: (id)connection
withNickname: (NSAttributedString *)aNick
sender: aPlugin;
- pingReceivedWithArgument: (NSAttributedString *)arg
from: (NSAttributedString *)sender onConnection: (id)connection
withNickname: (NSAttributedString *)aNick
sender: aPlugin;
- pongReceivedWithArgument: (NSAttributedString *)arg
from: (NSAttributedString *)sender onConnection: (id)connection
withNickname: (NSAttributedString *)aNick
sender: aPlugin;
- newNickNeededWhileRegisteringOnConnection: (id)connection
withNickname: (NSAttributedString *)aNick
sender: aPlugin;
@end
@protocol TalkSoupOutputPluginProtocol < TalkSoupInFilterProtocol >
- (void)run;
- consoleMessage: (NSAttributedString *)arg onConnection: (id)aConnection;
- systemMessage: (NSAttributedString *)arg onConnection: (id)aConnection;
- showMessage: (NSAttributedString *)arg onConnection: (id)aConnection;
@end
#endif
syntax highlighted by Code2HTML, v. 0.9.1