Delegates.cs :  » Chat-Servers » Thresher » Sharkbite » Irc » C# / CSharp Open Source

Home
C# / CSharp Open Source
1.2.6.4 mono .net core
2.2.6.4 mono core
3.Aspect Oriented Frameworks
4.Bloggers
5.Build Systems
6.Business Application
7.Charting Reporting Tools
8.Chat Servers
9.Code Coverage Tools
10.Content Management Systems CMS
11.CRM ERP
12.Database
13.Development
14.Email
15.Forum
16.Game
17.GIS
18.GUI
19.IDEs
20.Installers Generators
21.Inversion of Control Dependency Injection
22.Issue Tracking
23.Logging Tools
24.Message
25.Mobile
26.Network Clients
27.Network Servers
28.Office
29.PDF
30.Persistence Frameworks
31.Portals
32.Profilers
33.Project Management
34.RSS RDF
35.Rule Engines
36.Script
37.Search Engines
38.Sound Audio
39.Source Control
40.SQL Clients
41.Template Engines
42.Testing
43.UML
44.Web Frameworks
45.Web Service
46.Web Testing
47.Wiki Engines
48.Windows Presentation Foundation
49.Workflows
50.XML Parsers
C# / C Sharp
C# / C Sharp by API
C# / CSharp Tutorial
C# / CSharp Open Source » Chat Servers » Thresher 
Thresher » Sharkbite » Irc » Delegates.cs
/*
 * Thresher IRC client library
 * Copyright (C) 2002 Aaron Hunter <thresher@sharkbite.org>
 *
 * 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.
 * 
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 * 
 * See the gpl.txt file located in the top-level-directory of
 * the archive of this library for complete text of license.
*/

using System.Net;

namespace Sharkbite.Irc{

  /// <summary>
  /// Messages that are not handled by other events and are not errors.
  /// </summary>
  /// <param name="code">The RFC 2812 numeric code.</param>
  /// <param name="message">The unparsed message text.</param>
  /// <seealso cref="Listener.OnReply"/>
  public delegate void ReplyEventHandler( ReplyCode code, string message );
  
  /// <summary>
  /// Error messages from the IRC server.
  /// </summary>
  /// <param name="code">The RFC 2812 or custom numeric code.</param>
  /// <param name="message">The error message text.</param>
  /// <seealso cref="Listener.OnError"/>
  public delegate void ErrorMessageEventHandler( ReplyCode code, string message );
  
  /// <summary>
  /// A Notice or Private message was sent to someone
  /// whose status is away.
  /// </summary>
  /// <param name="nick">The nick of the user who is away.</param>
  /// <param name="awayMessage">An away message, if any, set by the user. </param>
  /// <seealso cref="Listener.OnAway"/>
  public delegate void AwayEventHandler( string nick, string awayMessage );
  
  /// <summary>
  /// An Invite message was successfully sent to another user. 
  /// </summary>
  /// <param name="nick">The nick of the user who was invited</param>
  /// <param name="channel">The name of the channel the user was invited to join</param>
  /// <seealso cref="Listener.OnInviteSent"/>
  public delegate void InviteSentEventHandler( string nick, string channel );
  
  /// <summary>
  /// Called when a nick change fails.
  /// </summary>
  /// <remarks>
  /// <para>This method can be called under 2 conditions:
  /// It can arise when the user is already 
  /// registered with the IRC server and is trying change his nick.
  /// Or when the user is trying to register for the first time with 
  /// the IRC server and it fails.</para>
  /// <para>Note that if the later arises then you will have to manually
  /// complete the regsitration process.</para> 
  /// </remarks>
  /// <param name="badNick">The nick which caused the problem</param>
  /// <param name="reason">A message explaining the error</param>
  /// <seealso cref="Listener.OnNickError"/>
  public delegate void NickErrorEventHandler( string badNick, string reason ) ;
  
  /// <summary>
  /// Called when a server sends a keep-alive Ping.
  /// </summary>
  /// <param name="message">The message that the IRC server wants echoed back to it.</param>
  /// <seealso cref="Listener.OnPing"/>
  public delegate void PingEventHandler( string message );
  
  /// <summary>
  /// Connection with IRC server is open and registered.
  /// </summary>
  /// <seealso cref="Listener.OnRegistered"/>
  public delegate void RegisteredEventHandler();
  
  /// <summary>
  /// This connection is about to be closed 
  /// </summary>
  /// <seealso cref="Listener.OnDisconnecting"/>
  public delegate void DisconnectingEventHandler();
  
  /// <summary>
  /// This connection has been closed 
  /// </summary>
  /// <seealso cref="Listener.OnDisconnected"/>
  public delegate void DisconnectedEventHandler();
    
  /// <summary>
  /// A Notice type message was sent to a channel.
  /// </summary>
  /// <param name="user">The user who sent the message.</param>
  /// <param name="channel">The target channel.</param>
  /// <param name="notice">A message.</param>
  /// <seealso cref="Listener.OnPublicNotice"/>
  public delegate void PublicNoticeEventHandler( UserInfo user, string channel, string notice );
  
  /// <summary>
  /// A private Notice type message was sent to the user.
  /// </summary>
  /// <param name="user">The user who sent the message.</param>
  /// <param name="notice">A message.</param>
  /// <seealso cref="Listener.OnPrivateNotice"/>
  public delegate void PrivateNoticeEventHandler( UserInfo user, string notice );

  /// <summary>
  /// Someone has joined a channel.
  /// </summary>
  /// <param name="user">Who joined.</param>
  /// <param name="channel">The channel name.</param>
  /// <seealso cref="Listener.OnJoin"/>
  public delegate void JoinEventHandler( UserInfo user, string channel );
  
  /// <summary>
  /// An action message was sent to a channel.
  /// </summary>
  /// <param name="user">The user who expresses the action.</param>
  /// <param name="channel">The target channel.</param>
  /// <param name="description">An action.</param>
  /// <seealso cref="Listener.OnAction"/>
  public delegate void ActionEventHandler( UserInfo user, string channel, string description );

  /// <summary>
  /// A private action message was sent to the user.
  /// </summary>
  /// <param name="user">The user who expresses the action.</param>
  /// <param name="description">An action.</param>
  /// <seealso cref="Listener.OnPrivateAction"/>
  public delegate void PrivateActionEventHandler( UserInfo user, string description );

  /// <summary>
  /// A public message was sent to a channel.
  /// </summary>
  /// <param name="user">The user who sent the message.</param>
  /// <param name="channel">The taregt channel.</param>
  /// <param name="message">A message.</param>
  /// <seealso cref="Listener.OnPublic"/>
  public delegate void PublicMessageEventHandler( UserInfo user, string channel, string message );
  
  /// <summary>
  /// A user changed his nickname.
  /// </summary>
  /// <param name="user">The user who is changing his nick.</param>
  /// <param name="newNick">The new nickname.</param>
  /// <seealso cref="Listener.OnNick"/>
  public delegate void NickEventHandler( UserInfo user, string newNick );
  
  /// <summary>
  /// A private message was sent to the user.
  /// </summary>
  /// <param name="user">Who sent the message.</param>
  /// <param name="message">The message.</param>
  /// <seealso cref="Listener.OnPrivate"/>
  public delegate void PrivateMessageEventHandler( UserInfo user, string message );
  
  /// <summary>
  /// A channel's topic has changed.
  /// </summary>
  /// <param name="user">Who changed the topic.</param>
  /// <param name="channel">Which channel had its topic changed.</param>
  /// <param name="newTopic">The new topic.</param>
  /// <seealso cref="Listener.OnTopicChanged"/>
  public delegate void TopicEventHandler( UserInfo user, string channel, string newTopic);
  
  /// <summary>
  /// The response to a <see cref="Sender.RequestTopic"/> command.
  /// </summary>
  /// <param name="channel">The channel who topic was requested.</param>
  /// <param name="topic">The topic.</param>
  /// <seealso cref="Listener.OnTopicRequest"/>
  public delegate void TopicRequestEventHandler( string channel, string topic);

  /// <summary>
  /// Someone has left a channel. 
  /// </summary>
  /// <param name="user">The user who left.</param>
  /// <param name="channel">The channel he left.</param>
  /// <param name="reason">The reason for leaving.</param>
  /// <seealso cref="Listener.OnPart"/>
  public delegate void PartEventHandler( UserInfo user, string channel, string reason);

  /// <summary>
  /// Someone has quit IRC.
  /// </summary>
  /// <param name="user">The user who quit.</param>
  /// <param name="reason">A goodbye message.</param>
  /// <seealso cref="Listener.OnQuit"/>
  public delegate void QuitEventHandler( UserInfo user, string reason);
  
  /// <summary>
  /// The user has been invited to a channel.
  /// </summary>
  /// <param name="user">Who sent the invite.</param>
  /// <param name="channel">The target channel.</param>
  /// <seealso cref="Listener.OnInvite"/>
  public delegate void InviteEventHandler( UserInfo user, string channel );
  
  /// <summary>
  /// Someone has been kicked from a channel. 
  /// </summary>
  /// <param name="user">Who did the kicking.</param>
  /// <param name="channel">The channel that the person was kicked from.</param>
  /// <param name="kickee">Who was kicked.</param>
  /// <param name="reason">Why the person was kicked.</param>
  /// <seealso cref="Listener.OnKick"/>
  public delegate void KickEventHandler( UserInfo user, string channel, string kickee, string reason );
  
  /// <summary>
  /// The response to a <see cref="Sender.Names"/> request.
  /// </summary>
  /// <param name="channel">The channel the user is on. "@" is used for secret channels, "*" for private
  /// channels, and "=" for public channels.</param>
  /// <param name="nicks">A list of nicks on the channel. If this is the last reply
  /// then it will be empty. Nicks prefixed with a '@' are channel
  /// operators. Nicks prefixed with a '+' have voice privileges on
  /// a moderated channel, i.e. they are allowed to send public messages.</param>
  /// <param name="last">True if this is the last names reply.</param>
  /// <seealso cref="Listener.OnNames"/>
  public delegate void NamesEventHandler( string channel, string[] nicks, bool last );
  
  /// <summary>
  /// The response to a <see cref="Sender.List"/> request.
  /// </summary>
  /// <param name="channel">The channel name.</param>
  /// <param name="visibleNickCount">The number of visible users on that channel.</param>
  /// <param name="topic">The channel's topic.</param>
  /// <param name="last">True if this is the last reply.</param>
  /// <seealso cref="Listener.OnList"/>
  public delegate void ListEventHandler( string channel, int visibleNickCount, string topic, bool last );

  /// <summary>
  /// The response to a <see cref="Sender.Ison"/> request.
  /// </summary>
  /// <param name="nicks">If someone with this nick is on the same IRC network their nick
  /// will be returned here. Otherwise nick will be an empty string.</param>
  /// <seealso cref="Listener.OnIson"/>
  public delegate void IsonEventHandler( string nicks );

  /// <summary>
  /// The response to a <see cref="Sender.Who"/> request.
  /// </summary>
  /// <param name="user">The subject of the query</param>
  /// <param name="channel">The channel the user is on</param>
  /// <param name="ircServer">The name of the user's IRC server</param>
  /// <param name="mask">The user's mode mask</param>
  /// <param name="hopCount">Number of network hops to the user</param>
  /// <param name="realName">The user's real name</param>
  /// <param name="last">True if this is the last response</param>
  /// <seealso cref="Listener.OnWho"/>
  public delegate void WhoEventHandler( UserInfo user, string channel, string ircServer, string mask, 
  int hopCount, string realName, bool last );

  /// <summary>
  /// The response to a <see cref="Sender.Whois"/> request.
  /// </summary>
  /// <param name="whoisInfo">The data associated with the nick queried.</param>
  /// <seealso cref="Listener.OnWho"/>
  public delegate void WhoisEventHandler( WhoisInfo whoisInfo );

  /// <summary>
  /// The response to a <see cref="Sender.Whowas"/> request.
  /// </summary>
  /// <param name="user">Information on the user.</param>
  /// <param name="realName">The user's real name.</param>
  /// <param name="last">True if this is the final reply.</param>
  /// <seealso cref="Listener.OnWhowas"/>
  public delegate void WhowasEventHandler( UserInfo user, string realName, bool last );

  /// <summary>
  /// This user's mode has changed.
  /// </summary>
  /// <param name="action">Whether a mode was added or removed.</param>
  /// <param name="mode">The mode that was changed.</param>
  /// <seealso cref="Listener.OnUserModeChange"/>
  public delegate void UserModeChangeEventHandler( ModeAction action, UserMode mode );

  /// <summary>
  /// The response to a <see cref="Sender.RequestUserModes"/> command for this user.
  /// </summary>
  /// <param name="modes">The complete list of user modes as an array.</param>
  /// <seealso cref="Listener.OnUserModeRequest"/>
  public delegate void UserModeRequestEventHandler( UserMode[] modes );

  /// <summary>
  /// The response to a <see cref="Sender.RequestChannelModes"/> command.
  /// </summary>
  /// <param name="channel">The name of the channel.</param>
  /// <param name="modes">Objects which hold all the information about a channel's modes.</param>
  /// <seealso cref="Listener.OnChannelModeRequest"/>
  public delegate void ChannelModeRequestEventHandler( string channel, ChannelModeInfo[] modes);

  /// <summary>
  /// A channel's mode has changed.
  /// </summary>
  /// <param name="who">Who changed the mode.</param>
  /// <param name="channel">The name of the channel.</param>
  /// <param name="modes">Objects which hold all the information about 1 or more mode changes.</param>
  /// <seealso cref="Listener.OnChannelModeChange"/>
  public delegate void ChannelModeChangeEventHandler( UserInfo who, string channel, ChannelModeInfo[] modes );


  /// <summary>
  /// Response to a <see cref="Sender.RequestChannelList"/> command.
  /// </summary>
  /// <param name="channel">The channel name.</param>
  /// <param name="mode">What type is this a list? For example bans, invitation masks, etc..</param>
  /// <param name="item">A mask or nick (in the case of ChannelCreator).</param>
  /// <param name="last">Is this the last item. If its the last then the item paramter
  /// will be empty unless the mode is ChannelCreator.</param>
  /// <param name="who">Who set the mask (not for ChannelCreator).</param>
  /// <param name="whenSet">When was it set (not for ChannelCreator).</param>
  /// <seealso cref="Listener.OnChannelList"/>
  public delegate void ChannelListEventHandler( string channel, ChannelMode mode, string item, UserInfo who, long whenSet, bool last );


  /// <summary>
  /// Someone has replied to a Ctcp request sent by this client.
  /// </summary>
  /// <param name="who">Who sent the reply.</param>
  /// <param name="command">The Ctcp command this replies to."</param>
  /// <param name="reply">The text of the reply.</param>
  /// <see cref="CtcpListener.OnCtcpReply"/>
  public delegate void CtcpReplyEventHandler( string command, UserInfo who, string reply );

  /// <summary>
  /// Someone has sent a Ctcp request.
  /// </summary>
  /// <param name="who">Who sent the request.</param>
  /// <param name="command">The Ctcp command to send to IRC."</param>
  /// <see cref="CtcpListener.OnCtcpRequest"/>
  public delegate void CtcpRequestEventHandler( string command, UserInfo who );

  /// <summary>
  /// Someone has replied to a Ctcp ping request sent by this client.
  /// </summary>
  /// <param name="who">Who sent the reply.</param>
  /// <param name="timestamp">The timestamp originally sent in the request."</param>
  /// <see cref="CtcpListener.OnCtcpPingReply"/>
  public delegate void CtcpPingReplyEventHandler( UserInfo who, string timestamp );

  /// <summary>
  /// Someone has sent a Ctcp Ping request.
  /// </summary>
  /// <param name="who">Who sent the request.</param>
  /// <param name="timestamp">The timestamp which should be sent 
  /// back."</param>
  /// <see cref="CtcpListener.OnCtcpPingRequest"/>
  public delegate void CtcpPingRequestEventHandler( UserInfo who, string timestamp );
  
  /// <summary>
  /// Someone has requested a DCC chat session.
  /// </summary>
  /// <param name="dccUserInfo">The collection of information about the remote user.</param>
  /// <see cref="DccListener.OnDccChatRequest"/>
  public delegate void DccChatRequestEventHandler( DccUserInfo dccUserInfo );
  
  /// <summary>
  /// A DCC chat session has been opened with a remote user.
  /// </summary>
  /// <param name="session">Which session is the source of the event.</param>
  /// <see cref="DccChatSession.OnChatSessionOpened"/>
  public delegate void ChatSessionOpenedEventHandler( DccChatSession session );

  /// <summary>
  /// A DCC chat session has been closed.
  /// </summary>
  /// <param name="session">Which session is the source of the event.</param>
  /// <see cref="DccChatSession.OnChatSessionClosed"/>
  public delegate void ChatSessionClosedEventHandler( DccChatSession session );

  /// <summary>
  /// A DCC chat message was received from the remote user.
  /// </summary>
  /// <param name="session">Which session is the source of the event.</param>
  /// <param name="message">A string message.</param>
  /// <see cref="DccChatSession.OnChatMessageReceived"/>
  public delegate void ChatMessageReceivedEventHandler( DccChatSession session , string message );

  /// <summary>
  /// When trying to initiate a DCC chat request the remote user
  /// did not respond within the alotted time.
  /// </summary>
  /// <param name="session">Which session is the source of the event.</param>
  /// <see cref="DccChatSession.OnChatRequestTimeout"/>
  public delegate void ChatRequestTimeoutEventHandler( DccChatSession session );

  /// <summary>
  /// Another user has offered to send a file.
  /// </summary>
  /// <param name="dccUserInfo">The collection of information about the remote user.</param>
  /// <param name="fileName">The name of the file to be sent.</param>
  /// <param name="size">The size in bytes of the offered file.</param>
  /// <param name="turbo">True if the sender will use send-ahead mode.</param>
  /// <see cref="DccListener.OnDccSendRequest"/>
  public delegate void DccSendRequestEventHandler( DccUserInfo dccUserInfo, string fileName, int size, bool turbo );

  /// <summary>
  /// There has been no activity in this session for the timeout period. The 
  /// session is automatically closed and this event is raised. 
  /// </summary>
  /// <param name="session">The session in which the timeout occurred.</param> 
  /// <see cref="DccFileSession.OnFileTransferTimeout"/>
  public delegate void FileTransferTimeoutEventHandler( DccFileSession session );     
  
  /// <summary>
  /// The file transfer connection has been successfully opened and the data
  /// transfer has begun.
  /// </summary>
  /// <param name="session">The session in which the transfer has started.</param> 
  /// <see cref="DccFileSession.OnFileTransferStarted"/>
  public delegate void FileTransferStartedEventHandler( DccFileSession session ); 

  /// <summary>
  /// Something happened to stop the transfer before it was completed. Normally
  /// this will be due to one of the sides canceling the transfer.
  /// </summary>
  /// <param name="session">The session in which the transfer was interrupted.</param> 
  /// <see cref="DccFileSession.OnFileTransferInterrupted"/>
  public delegate void FileTransferInterruptedEventHandler( DccFileSession session ); 

  /// <summary>
  /// A file was succefully transfered.
  /// </summary>
  /// <param name="session">The session in which the transfer was successfully completed.</param> 
  /// <see cref="DccFileSession.OnFileTransferCompleted"/>
  public delegate void FileTransferCompletedEventHandler( DccFileSession session ); 

  /// <summary>
  /// Called for each successful data block transfer. This allows the developer
  /// to show a transfer progress display of some kind.
  /// </summary>
  /// <param name="session">The session in which data was transfered.</param> 
  /// <param name="bytesSent">The number of bytes sent in this block. The DccFileSession
  /// contains the cumulative number of bytes sent/received and the total number
  /// the will be processed.</param> 
  /// <see cref="DccFileSession.OnFileTransferProgress"/>
  public delegate void FileTransferProgressEventHandler( DccFileSession session , int bytesSent );

  /// <summary>
  /// A remote user has requested a file. To respond
  /// use <see cref="DccFileSession.Send"/> with the relevant information.
  /// </summary>
  /// <param name="dccUserInfo">The requestor's information.</param>
  /// <param name="fileName">The name of the requested file.</param>
  /// <param name="turbo">True to use send-ahead mode for transfers.</param>
  /// <see cref="DccListener.OnDccGetRequest"/>
  public delegate void DccGetRequestEventHandler( DccUserInfo dccUserInfo, string fileName, bool turbo);

  /// <summary>
  /// The full unparsed text messages received from the IRC server. It
  /// includes all messages received except for those exchanged during a DCC chat.
  /// </summary>
  /// <param name="message">The text received.</param>
  /// <see cref="Connection.OnRawMessageReceived"/>
  public delegate void RawMessageReceivedEventHandler( string message );

  /// <summary>
  /// The full unparsed text messages sent to the IRC server. It
  /// includes all messages sent except for those exchanged during a DCC chat.
  /// </summary>
  /// <param name="message">The text sent.</param>
  /// <see cref="Connection.OnRawMessageSent"/>
  public delegate void RawMessageSentEventHandler( string message );

  /// <summary>
  /// The response to a <see cref="Sender.Version"/> request.
  /// </summary>
  /// <param name="versionInfo">The information string in the form 
  /// IRC: [version].[debuglevel] [server] :[comments]</param>
  /// <seealso cref="Listener.OnVersion"/>
  public delegate void VersionEventHandler( string versionInfo );

  /// <summary>
  /// The server's "Message of the Day" if any.
  /// </summary>
  /// <param name="message">An information string.</param>
  /// <param name="last">True if this is the last in the set of messages.</param>
  /// <seealso cref="Listener.OnMotd"/>
  public delegate void MotdEventHandler( string message, bool last );

  /// <summary>
  /// The response to a <see cref="Sender.Time"/> request.
  /// </summary>
  /// <param name="time">The name of the server and
  /// its local time</param>
  /// <seealso cref="Listener.OnTime"/>
  public delegate void TimeEventHandler( string time );

  /// <summary>
  /// The response to an <see cref="Sender.Info"/> request.
  /// </summary>
  /// <param name="message">An information string.</param>
  /// <param name="last">True if this is the last in the set of messages.</param>
  /// <seealso cref="Listener.OnInfo"/>
  public delegate void InfoEventHandler( string message, bool last );

  /// <summary>
  /// The response to an <see cref="Sender.Admin"/> request.
  /// </summary>
  /// <param name="message">An information string.</param>
  /// <seealso cref="Listener.OnAdmin"/>
  public delegate void AdminEventHandler( string message );

  /// <summary>
  /// The response to a <see cref="Sender.Lusers"/> request.
  /// </summary>
  /// <param name="message">An information string.</param>
  /// <seealso cref="Listener.OnLusers"/>
  public delegate void LusersEventHandler( string message );

  /// <summary>
  /// The response to a <see cref="Sender.Links"/> request.
  /// </summary>
  /// <param name="mask">The hostname as it appears in IRC queries.</param>
  /// <param name="hostname">The actual hostname.</param>
  /// <param name="hopCount">The number of hops from this server to the target server.</param>
  /// <param name="serverInfo">Information about the server, usually the network name.</param>
  /// <param name="done">True if this is the last message in the series. If it is the
  /// last it will not contain any server information.</param>
  /// <seealso cref="Listener.OnLinks"/>
  public delegate void LinksEventHandler( string mask, string hostname, int hopCount, string serverInfo, bool done );

  /// <summary>
  /// The response to a <see cref="Sender.Stats"/> request.
  /// </summary>
  /// <param name="queryType">What kind of query this is in response to.</param>
  /// <param name="message">The actual response.</param>
  /// <param name="done">True if this is the last message in the series.</param>
  /// <seealso cref="Listener.OnStats"/>
  public delegate void StatsEventHandler( StatsQuery queryType, string message, bool done );

  /// <summary>
  /// Someone was disconnected from the server via a Kill.
  /// </summary>
  /// <param name="user">Which Operator send teh Kill command</param>
  /// <param name="nick">Who was Killed.</param>
  /// <param name="reason">Why the nick was disconnected.</param>
  /// <seealso cref="Listener.OnKill"/>
  public delegate void KillEventHandler( UserInfo user, string nick, string reason );
}
www.java2v.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.