Exemplo n.º 1
0
        internal Channel(string name, ChannelVisibility visibility, RantFormat format, Limit limit)
        {
            Name = name;
            Visiblity = visibility;
            _currentBuffer = new StringBuilder(InitialBufferSize);
            _buffers = new List<StringBuilder>{_currentBuffer};
            _format = format;
	        _articles = false;
	        _limit = limit;
        }
Exemplo n.º 2
0
		public void OpenChannel(string name, ChannelVisibility visibility)
		{
			OutputChain chain;
			if (!chains.TryGetValue(name, out chain))
			{
				chain = chains[name] = new OutputChain(sandbox, name);
			}
			else if (activeChains.Contains(chain))
			{
				return;
			}
			chain.Visibility = visibility;
			chainStack.Push(chain);
			activeChains.Add(chain);
		}
Exemplo n.º 3
0
        public void OpenChannel(string channelName, ChannelVisibility visibility, RantFormat formatStyle)
        {   
            Channel ch;
            if (!_channels.TryGetValue(channelName, out ch))
            {
                ch = new Channel(channelName, visibility, formatStyle, _sizeLimit);
                _channels[channelName] = ch;
            }

            if (channelName == "main") return;

            ch.Visiblity = visibility;

            if (_stack.Contains(ch)) return;
            _stack.Add(ch);
            _stackSize++;
        }
Exemplo n.º 4
0
        public void PushChannel(string channelName, ChannelVisibility visibility)
        {
            
            Channel ch;
            if (!_channels.TryGetValue(channelName, out ch))
            {
                ch = new Channel(channelName, visibility);
                _channels[channelName] = ch;
            }

            if (channelName == "main") return;

            ch.Visiblity = visibility;

            if (_stack.Contains(ch)) return;
            _stack.Add(ch);
            _stackSize++;
        }
Exemplo n.º 5
0
	    private static IEnumerator<RantAction> Chan(Sandbox sb, string channelName, ChannelVisibility visibility, RantAction pattern)
	    {
			sb.Output.OpenChannel(channelName, visibility);
		    yield return pattern;
		    sb.Output.CloseChannel();
	    }
Exemplo n.º 6
0
 internal Channel(string name, ChannelVisibility visibility)
 {
     Name = name;
     Visiblity = visibility;
 }
Exemplo n.º 7
0
 internal RantOutputEntry(string name, string value, ChannelVisibility visiblity)
 {
     Name = name;
     Value = value;
     Visiblity = visiblity;
 }
        /// <summary>
        /// Parses the parameters portion of the message.
        /// </summary>
        protected override void ParseParameters( StringCollection parameters )
        {
            base.ParseParameters( parameters );

            this.Visibility = ChannelVisibility.Public;
            this.Channel = "";
            this.Nicks.Clear();

            if ( parameters.Count >= 3 )
            {
                switch ( parameters[ 1 ] )
                {
                    case "=":
                        this.Visibility = ChannelVisibility.Public;
                        break;
                    case "*":
                        this.Visibility = ChannelVisibility.Private;
                        break;
                    case "@":
                        this.Visibility = ChannelVisibility.Secret;
                        break;
                }
                this.Channel = parameters[ 2 ];
                if ( parameters.Count > 3 )
                {
                    String[] msgNicks = parameters[ 3 ].Split( ' ' );
                    foreach ( String nick in msgNicks )
                    {
                        ChannelStatus status = ChannelStatus.None;
                        String parsedNick = nick;

                        if ( parsedNick.Length > 1 )
                        {
                            String firstLetter = parsedNick.Substring( 0, 1 );
                            if ( ChannelStatus.Exists( firstLetter ) )
                            {
                                status = ChannelStatus.GetInstance( firstLetter );
                                parsedNick = parsedNick.Substring( 1 );
                            }
                        }
                        this.Nicks.Add( parsedNick, status );
                    }
                }
            }
        }
Exemplo n.º 9
0
 internal RantOutputEntry(string name, string value, ChannelVisibility visiblity)
 {
     Name      = name;
     Value     = value;
     Visiblity = visiblity;
 }