コード例 #1
0
ファイル: UserTests.cs プロジェクト: kevin-brown/NetIRC
        public void InviteTests()
        {
            User user = new User("user");
            Channel channel = new Channel("channel");

            Messages.Send.Invite invite = user.Invite(channel);

            string output = TestHelpers.GetSendMessageOutput(invite);

            Assert.AreEqual("INVITE user #channel", output);
        }
コード例 #2
0
ファイル: ChannelFactory.cs プロジェクト: kevin-brown/NetIRC
        public Channel FromName(string name)
        {
            if (this._store.ContainsKey(name))
            {
                return this._store[name];
            }

            Channel channel = new Channel(name) {Client = this._client};
            this._store[name] = channel;

            return channel;
        }
コード例 #3
0
ファイル: ChannelFactory.cs プロジェクト: kevin-brown/NetIRC
        public Channel FromFullName(string name)
        {
            if (this._store.ContainsKey(name))
            {
                return this._store[name];
            }

            if (!Channel.TypeChars.Values.Contains(name[0]))
                throw new ArgumentException("name");

            Channel channel = new Channel(name) { Client = this._client };
            this._store[name.Substring(1)] = channel;

            return channel;
        }
コード例 #4
0
ファイル: Client.cs プロジェクト: kevin-brown/NetIRC
 internal void TriggerOnChannelLeave(Channel channel)
 {
     if (this.OnChannelLeave != null)
     {
         this.OnChannelLeave(this, channel);
     }
 }
コード例 #5
0
ファイル: Client.cs プロジェクト: kevin-brown/NetIRC
 internal void TriggerOnChannelJoin(Channel channel)
 {
     if (this.OnChannelJoin != null)
     {
         this.OnChannelJoin(this, channel);
     }
 }
コード例 #6
0
ファイル: Client.cs プロジェクト: kevin-brown/NetIRC
 /// <summary>
 /// Leave a specified channel based on the given Channel object.
 /// </summary>
 /// <param name="channel"></param>
 public void LeaveChannel(Channel channel)
 {
     this.Send(channel.Part());
 }
コード例 #7
0
ファイル: Client.cs プロジェクト: kevin-brown/NetIRC
 /// <summary>
 /// Join a specified channel based on the given Channel object.
 /// </summary>
 /// <param name="channel">The Channel to be used for connecting.</param>
 public void JoinChannel(Channel channel)
 {
     this.Send(channel.Join());
     this.Send(channel.GetTopic());
 }
コード例 #8
0
ファイル: User.cs プロジェクト: kevin-brown/NetIRC
 public Messages.Send.Invite Invite(Channel channel)
 {
     return channel.Invite(this);
 }
コード例 #9
0
ファイル: Channel.cs プロジェクト: kevin-brown/NetIRC
 internal virtual void TriggerOnRank(Channel source, User user, UserRank rank)
 {
     OnRankHandler handler = this.OnRank;
     if (handler != null) handler(source, user, rank);
 }
コード例 #10
0
ファイル: Channel.cs プロジェクト: kevin-brown/NetIRC
 internal virtual void TriggerOnChannelOperatorNeeded(Channel source, string reason)
 {
     OnChannelOperatorNeededHandler handler = this.OnChannelOperatorNeeded;
     if (handler != null) handler(source, reason);
 }
コード例 #11
0
ファイル: Channel.cs プロジェクト: kevin-brown/NetIRC
 internal virtual void TriggerOnCannotSendToChannel(Channel source, string reason)
 {
     OnCannotSendToChannelHandler handler = this.OnCannotSendToChannel;
     if (handler != null) handler(source, reason);
 }