protected override void OnCommandSent( object sender, CommandSentEventArgs e )
{
if( !e.Canceled && e.Command.StartsWith( PROTOCOL ) )
{
string parameter = e.Command.Substring( e.Command.IndexOf( ':' ) + 1 );
string[] splittedParameter = parameter.Split( ',' );
Debug.Assert( splittedParameter.Length == 2 );
string action = splittedParameter[0];
string targetMode = splittedParameter[1];
switch( action )
{
case "add": Add( targetMode ); return;
case "remove": Remove( targetMode ); return;
case "set": ChangeMode( targetMode ); return;
case "toggle": Toggle( targetMode ); return;
}
}
//string cmd;
//string sub;
//string m;
//CommandParser p = new CommandParser( e.Command );
//if( !e.Canceled && p.IsIdentifier( out cmd ) && cmd == CMDChangeMode )
//{
// if( p.MatchIsolatedChar( '.' ) )
// {
// p.IsIdentifier( out sub );
// sub = sub.ToLower();
// if( p.Match( CommandParser.Token.OpenPar ) )
// if( p.IsString( out m ) )
// if( p.Match( CommandParser.Token.ClosePar ) )
// {
// if( cmd == CMDChangeMode )
// {
// switch( sub )
// {
// case "add": Add( m ); return;
// case "remove": Remove( m ); return;
// case "set": ChangeMode( m ); return;
// case "toggle": Toggle( m ); return;
// }
// }
// }
// }
//}
}