#include <utilities/mvc/mvc_interfaces.h>
Открытые члены | |
| virtual void | AddRedirectionRule (const char *CommandOriginal, const char *CommandRedirected) |
| virtual const char * | RedirectCommand (const char *CommandOriginal) |
| virtual | ~CommandRedirections () |
Закрытые данные | |
| std::map< std::string, std::string > | Rules |
Таблица перенаправления команд (в основном для событий).
См. определение в файле mvc_interfaces.h строка 89
| virtual nitro::CommandRedirections::~CommandRedirections | ( | ) | [inline, virtual] |
| void nitro::CommandRedirections::AddRedirectionRule | ( | const char * | CommandOriginal, | |
| const char * | CommandRedirected | |||
| ) | [virtual] |
Создания правила перенаправления.
| CommandOriginal | - Исходное название команды. | |
| CommandRedirected | - Название команды после перенаправления. |
| nitro::exception | - В случае ошибки кидается исключение этого типа с описанием ошибки. |
См. определение в файле mvc_interfaces.cpp строка 17
Перекрестные ссылки nitro::exception::code(), Rules и nitro::exception::what().
{
try
{
std::map< std::string , std::string >::iterator i( Rules.find( std::string( CommandOriginal ) ) );
if( i == Rules.end() )
{
Rules.insert( std::pair< std::string , std::string >( std::string( CommandOriginal ) , std::string( CommandRedirected ) ) );
}
else
{
throw( nitro::exception( std::string( "Redirection for rule \"" ) + CommandOriginal + "\" was already defined : " + i->first + " => " + i->second , 1 ) );
}
}
catch( nitro::exception e )
{
throw( nitro::exception( std::string( "CommandRedirections::AddRedirectionRule( const char * CommandOriginal , const char * CommandRedirected )::" )+ e.what() , e.code() ) );
}
catch( ... )
{
throw( nitro::exception( "CommandRedirections::AddRedirectionRule( const char * CommandOriginal , const char * CommandRedirected )::An error occured" , 1 ) );
}
}

| const char * nitro::CommandRedirections::RedirectCommand | ( | const char * | CommandOriginal | ) | [virtual] |
Функция перенаправления команды.
| CommandOriginal | - Исходное название команды. |
| nitro::exception | - В случае ошибки кидается исключение этого типа с описанием ошибки. |
См. определение в файле mvc_interfaces.cpp строка 42
Перекрестные ссылки nitro::exception::code(), Rules и nitro::exception::what().
{
try
{
std::map< std::string , std::string >::iterator i( Rules.find( std::string( CommandOriginal ) ) );
if( i == Rules.end() )
{
return( i->second.c_str() );
}
else
{
return( CommandOriginal );
}
}
catch( nitro::exception e )
{
throw( nitro::exception( std::string( "CommandRedirections::RedirectCommand( const char * CommandOriginal )::" )+ e.what() , e.code() ) );
}
catch( ... )
{
throw( nitro::exception( "CommandRedirections::RedirectCommand( const char * CommandOriginal )::An error occured" , 1 ) );
}
return( NULL );
}

std::map< std::string , std::string > nitro::CommandRedirections::Rules [private] |
Правила перенаправления команд.
См. определение в файле mvc_interfaces.h строка 168
Используется в AddRedirectionRule() и RedirectCommand().
1.6.1