コード例 #1
0
ファイル: Irc.cs プロジェクト: MaulingMonkey/uberirc
        public IrcConnection Connect( IrcConnectionID id )
        {
            var server = this.settings.Servers.FirstOrDefault( (s) => UriToConnectionId(s.Uri) == id ) ?? this.settings.DefaultServerSettings;

            var p = new IrcConnectParams()
                { To   = id
                , User =
                    { Host     = server.Userhost
                    , RealName = server.Realname
                    , ID       = server.Username
                    , Nick     = server.Nickname
                    }
                , Encoding = Encoding.UTF8
                , Password = server.Password
                , Channels = server.Channels.Select( (s) => s.Name ).ToArray()
                };

            IrcConnection connection;
            if ( !Connections.ContainsKey(id) ) {
                connection = new IrcConnection(p,Listeners);
                Connections.Add(id,connection);
            } else {
                connection = Connections[id];
            }
            return connection;
        }
コード例 #2
0
 public IrcConnection( IrcConnectParams p, HashSet<IEventListener> listeners )
 {
     if ( p.Channels != null ) foreach ( string channel in p.Channels ) AddChannel(channel);
     Parameters     = p;
     TargetNickname = p.User.Nick;
     Encoding       = p.Encoding;
     Listeners      = listeners;
     BeginReconnect();
     HeartbeatTimer.Elapsed += new ElapsedEventHandler(HeartbeatTimer_Elapsed);
 }
コード例 #3
0
 public IrcConnection( IrcConnectParams p )
     : this(p,new HashSet<IEventListener>())
 {
 }