#include <utilities/mvc/mvc_core.h>

Public Member Functions | |
| MVC (void) | |
| MVC (nitro::XMLTag &ManifestPart, MVC *theRootMVC=NULL) | |
| void | AddModel (const char *ModelName, nitro::ModelInterface *Model) |
| void | AddView (const char *ViewName, ViewInterface *View) |
| void | AddController (const char *ControllerName, nitro::ControllerInterface *Controller) |
| nitro::ModelInterface * | GetModel (const char *ModelName) |
| nitro::ViewInterface * | GetView (const char *ViewName) |
| nitro::ControllerInterface * | GetController (const char *ControllerName) |
| nitro::ModelInterface * | GetModel (const std::string &ModelName) |
| nitro::ViewInterface * | GetView (const std::string &ViewName) |
| nitro::ControllerInterface * | GetController (const std::string &ControllerName) |
| bool | ExecuteCommand (const char *Command, const void *Param1=NULL, const void *Param2=NULL) |
| void | LoadModules (const char *Path, const nitro::XMLTag &ManifestPart) |
| void | LoadModule (const char *Path, const nitro::XMLTag &ManifestPart) |
| void | LoadModules (const std::string &Path, const nitro::XMLTag &ManifestPart) |
| void | Create (const char *Path=NULL, MVC *theRootMVC=NULL) |
| void | Create (const std::string &Path, MVC *theRootMVC=NULL) |
| void | Create (nitro::XMLTag &ManifestPart, MVC *theRootMVC=NULL) |
| int | Entry (MAIN_FUNC_PARAMS_LIST) |
| const char * | GetStartupViewName (void) const |
| const char * | GetStartupControllerName (void) const |
| const char * | GetStartupControllerCommand (void) const |
| virtual | ~MVC () |
Private Member Functions | |
| void | LoadModules (const std::vector< std::string > &ModulePaths, const nitro::XMLTag &ManifestPart) |
Private Attributes | |
| nitro::ObjectManager < nitro::ModelInterface > | Models |
| nitro::ObjectManager < nitro::ViewInterface > | Views |
| nitro::ObjectManager < nitro::ControllerInterface > | Controllers |
| nitro::ObjectManager< nitro::MVC > | MVCObjects |
| nitro::DynamicLibManager | Modules |
| MVC * | RootMVC |
| std::string | StartupViewName |
| std::string | StartupControllerName |
| std::string | StartupControllerCommand |
This class unites model, view and controller.
Definition at line 65 of file mvc_core.h.
| nitro::MVC::MVC | ( | void | ) |
Contructor.
| nitro::exception | - An exception of this type is thrown if the error occured. |
Definition at line 20 of file mvc_core.cpp.
References nitro::exception::code(), RootMVC, StartupControllerCommand, StartupControllerName, StartupViewName, and nitro::exception::what().
Referenced by Create().
{
try
{
RootMVC = NULL;
StartupViewName = "";
StartupControllerName = "";
StartupControllerCommand = "startup";
}
catch( nitro::exception e )
{
throw( nitro::exception( std::string( "MVC::MVC( void )::" ) + e.what() , e.code() ) );
}
catch( ... )
{
throw( nitro::exception( "MVC::MVC( void )::An error occured" , 1 ) );
}
}

| nitro::MVC::MVC | ( | nitro::XMLTag & | ManifestPart, | |
| MVC * | theRootMVC = NULL | |||
| ) |
Contructor.
| ManifestPart | - Part of the manifest. | |
| theRootMVC | - Root MVC. |
| nitro::exception | - An exception of this type is thrown if the error occured. |
Definition at line 39 of file mvc_core.cpp.
References nitro::exception::code(), Create(), RootMVC, StartupControllerCommand, StartupControllerName, StartupViewName, and nitro::exception::what().
{
try
{
RootMVC = theRootMVC;
StartupViewName = "";
StartupControllerName = "";
StartupControllerCommand = "startup";
Create( ManifestPart );
}
catch( nitro::exception e )
{
throw( nitro::exception( std::string( "MVC::MVC( nitro::XMLTag & ManifestPart )::" ) + e.what() , e.code() ) );
}
catch( ... )
{
throw( nitro::exception( "MVC::MVC( nitro::XMLTag & ManifestPart )::An error occured" , 1 ) );
}
}

| nitro::MVC::~MVC | ( | ) | [virtual] |
| void nitro::MVC::AddController | ( | const char * | ControllerName, | |
| nitro::ControllerInterface * | Controller | |||
| ) |
Function adds controller.
| ControllerName | - Controller's name. | |
| Controller | - Controller. |
| nitro::exception | - An exception of this type is thrown if the error occured. |
Definition at line 93 of file mvc_core.cpp.
References nitro::ObjectManager< managing_class >::AddObject(), nitro::exception::code(), Controllers, and nitro::exception::what().
Referenced by LoadModules().
{
try
{
Controllers.AddObject( ControllerName , Controller );
}
catch( nitro::exception e )
{
throw( nitro::exception( std::string( "MVC::AddController( const char * ControllerName , nitro::ControllerInterface * Controller )::" ) + e.what() , e.code() ) );
}
catch( ... )
{
throw( nitro::exception( "MVC::AddController( const char * ControllerName , nitro::ControllerInterface * Controller )::An error occured" , 1 ) );
}
}

| void nitro::MVC::AddModel | ( | const char * | ModelName, | |
| nitro::ModelInterface * | Model | |||
| ) |
Function adds model.
| ModelName | - Model's name. | |
| Model | - Model. |
| nitro::exception | - An exception of this type is thrown if the error occured. |
Definition at line 61 of file mvc_core.cpp.
References nitro::ObjectManager< managing_class >::AddObject(), nitro::exception::code(), Models, and nitro::exception::what().
Referenced by LoadModules().
{
try
{
Models.AddObject( ModelName , Model );
}
catch( nitro::exception e )
{
throw( nitro::exception( std::string( "MVC::AddModel( const char * ModelName , nitro::ModelInterface * Model )::" ) + e.what() , e.code() ) );
}
catch( ... )
{
throw( nitro::exception( "MVC::AddModel( const char * ModelName , nitro::ModelInterface * Model )::An error occured" , 1 ) );
}
}

| void nitro::MVC::AddView | ( | const char * | ViewName, | |
| nitro::ViewInterface * | View | |||
| ) |
Function adds view.
| ViewName | - View's name. | |
| View | - View. |
| nitro::exception | - An exception of this type is thrown if the error occured. |
Definition at line 77 of file mvc_core.cpp.
References nitro::ObjectManager< managing_class >::AddObject(), nitro::exception::code(), Views, and nitro::exception::what().
Referenced by LoadModules(), and nitro::Application::OnInit().
{
try
{
Views.AddObject( ViewName , View );
}
catch( nitro::exception e )
{
throw( nitro::exception( std::string( "MVC::AddView( const char * ViewName , nitro::ViewInterface * View )::" ) + e.what() , e.code() ) );
}
catch( ... )
{
throw( nitro::exception( "MVC::AddView( const char * ViewName , nitro::ViewInterface * View )::An error occured" , 1 ) );
}
}

| void nitro::MVC::Create | ( | nitro::XMLTag & | ManifestPart, | |
| MVC * | theRootMVC = NULL | |||
| ) |
Function creates object by it's manifest.
| ManifestPart | - Part of the manifest. | |
| theRootMVC | - Root MVC. |
| nitro::exception | - An exception of this type is thrown if the error occured. |
Definition at line 353 of file mvc_core.cpp.
References nitro::ObjectManager< managing_class >::AddObject(), nitro::exception::code(), nitro::XMLTag::CountOfChildTags(), nitro::XMLTag::GetAttribute_string(), LoadModule(), LoadModules(), MVC(), MVCObjects, RootMVC, StartupControllerCommand, StartupControllerName, StartupViewName, and nitro::exception::what().
{
try
{
RootMVC = theRootMVC;
for( std::size_t i( 0 ) ; i < ManifestPart.CountOfChildTags() ; i++ )
{
if( ManifestPart[ i ].Name == "setlocale" )
{
setlocale( LC_ALL , ManifestPart[ i ].GetAttribute_string( "locale" ) );
continue;
}
if( ManifestPart[ i ].Name == "dll" )
{
LoadModule( ManifestPart[ i ].GetAttribute_string( "value" ) , ManifestPart[ i ] );
continue;
}
if( ManifestPart[ i ].Name == "dlls" )
{
LoadModules( ManifestPart[ i ].GetAttribute_string( "value" ) , ManifestPart[ i ] );
continue;
}
if( ManifestPart[ i ].Name == "mvc" )
{
if( ManifestPart[ i ].AttributeExists( "path" ) )
{
nitro::XMLFile MVCManifest( ManifestPart[ i ].GetAttribute_string( "path" ) );
MVCObjects.AddObject( ManifestPart[ i ].GetAttribute_string( "name" ) , new MVC( MVCManifest[ 0 ] , this ) );
}
MVCObjects.AddObject( ManifestPart[ i ].GetAttribute_string( "name" ) , new MVC( ManifestPart[ i ] , this ) );
continue;
}
if( ManifestPart[ i ].Name == "main" )
{
if( ManifestPart[ i ].AttributeExists( "startup_view" ) )
{
StartupViewName = ManifestPart[ i ].GetAttribute_string( "startup_view" );
}
if( ManifestPart[ i ].AttributeExists( "startup_controller" ) )
{
StartupControllerName = ManifestPart[ i ].GetAttribute_string( "startup_controller" );
}
if( ManifestPart[ i ].AttributeExists( "startup_controller_command" ) )
{
StartupControllerCommand = ManifestPart[ i ].GetAttribute_string( "startup_controller_command" );
}
continue;
}
}
}
catch( nitro::exception e )
{
throw( nitro::exception( std::string( "MVC::Create( nitro::XMLTag & ManifestPart , MVC * theRootMVC /* = NULL */ )::" ) + e.what() , e.code() ) );
}
catch( ... )
{
throw( nitro::exception( "MVC::Create( nitro::XMLTag & ManifestPart , MVC * theRootMVC /* = NULL */ )::An error occured" , 1 ) );
}
}

| void nitro::MVC::Create | ( | const char * | Path = NULL, |
|
| MVC * | theRootMVC = NULL | |||
| ) |
Function creates object by it's manifest.
| Path | - Path to the manifest. | |
| theRootMVC | - Root MVC. |
| nitro::exception | - An exception of this type is thrown if the error occured. |
Definition at line 305 of file mvc_core.cpp.
References nitro::exception::code(), nitro::File::FileExists(), nitro::XMLFile::GetRoot(), LoadModules(), nitro::XMLFile::LoadXML(), and nitro::exception::what().
Referenced by Create(), and MVC().
{
try
{
std::string ManifestPath( "./conf/mvc_config.xml" );
if( Path != NULL && strlen( Path ) != 0 )
{
ManifestPath = Path;
}
nitro::XMLFile Manifest;
if( nitro::File::FileExists( ManifestPath ) )
{
Manifest.LoadXML( ManifestPath );
Create( Manifest.GetRoot() , theRootMVC );
}
else
{
this->LoadModules( std::string( "./bin" ) , Manifest );
}
}
catch( nitro::exception e )
{
throw( nitro::exception( std::string( "MVC::Create( const char * Path /* = NULL */ , MVC * theRootMVC /* = NULL */ )::" ) + e.what() , e.code() ) );
}
catch( ... )
{
throw( nitro::exception( "MVC::Create( const char * Path /* = NULL */ , MVC * theRootMVC /* = NULL */ )::An error occured" , 1 ) );
}
}

| void nitro::MVC::Create | ( | const std::string & | Path, | |
| MVC * | theRootMVC = NULL | |||
| ) |
Function creates object by it's manifest.
| Path | - Path to the manifest. | |
| theRootMVC | - Root MVC. |
| nitro::exception | - An exception of this type is thrown if the error occured. |
Definition at line 337 of file mvc_core.cpp.
References nitro::exception::code(), Create(), and nitro::exception::what().
{
try
{
Create( Path.c_str() , theRootMVC );
}
catch( nitro::exception e )
{
throw( nitro::exception( std::string( "MVC::Create( const std::string & Path , MVC * theRootMVC /* = NULL */ )::" ) + e.what() , e.code() ) );
}
catch( ... )
{
throw( nitro::exception( "MVC::Create( const std::string & Path , MVC * theRootMVC /* = NULL */ )::An error occured" , 1 ) );
}
}

| int nitro::MVC::Entry | ( | MAIN_FUNC_PARAMS_LIST | ) |
Program's entry point.
| nitro::exception | - An exception of this type is thrown if the error occured. |
Definition at line 421 of file mvc_core.cpp.
References nitro::exception::code(), and nitro::exception::what().
{
try
{
return( wxEntry( MAIN_FUNC_VALUES_LIST ) );
}
catch( nitro::exception e )
{
throw( nitro::exception( std::string( "MVC::Entry( MAIN_FUNC_PARAMS_LIST )::" ) + e.what() , e.code() ) );
}
catch( ... )
{
throw( nitro::exception( "MVC::Entry( MAIN_FUNC_PARAMS_LIST )::An error occured" , 1 ) );
}
}

| bool nitro::MVC::ExecuteCommand | ( | const char * | Command, | |
| const void * | Param1 = NULL, |
|||
| const void * | Param2 = NULL | |||
| ) |
Function can be used to control MVC.
| Command | - Command's name. | |
| Param1 | - First parameter. | |
| Param2 | - parameter. |
| nitro::exception | - An exception of this type is thrown if the error occured. |
Definition at line 205 of file mvc_core.cpp.
References nitro::exception::code(), Controllers, nitro::ObjectManagerBasic< managing_class >::Count(), Views, and nitro::exception::what().
{
try
{
for( std::size_t i( 0 ) ; i < Controllers.Count() ; i++ )
{
if( Controllers[ i ]->ExecuteCommand( Command , Param1 , Param2 ) == false )
{
return( false );
}
}
for( std::size_t i( 0 ) ; i < Views.Count() ; i++ )
{
if( Views[ i ]->ExecuteCommand( Command , Param1 , Param2 ) == false )
{
return( false );
}
}
return( true );
}
catch( nitro::exception e )
{
throw( nitro::exception( std::string( "MVC::ExecuteCommand( const char * Command , const void * Param1 , const void * Param2 )::" ) + e.what() , e.code() ) );
}
catch( ... )
{
throw( nitro::exception( "MVC::ExecuteCommand( const char * Command , const void * Param1 , const void * Param2 )::An error occured" , 1 ) );
}
}

| nitro::ControllerInterface * nitro::MVC::GetController | ( | const std::string & | ControllerName | ) |
Function returns controller.
| ControllerName | - Controller's name. |
| nitro::exception | - An exception of this type is thrown if the error occured. |
Definition at line 189 of file mvc_core.cpp.
References nitro::exception::code(), Controllers, and nitro::exception::what().
{
try
{
return( Controllers[ ControllerName ] );
}
catch( nitro::exception e )
{
throw( nitro::exception( std::string( "MVC::GetController( const std::string & ControllerName )::" ) + e.what() , e.code() ) );
}
catch( ... )
{
throw( nitro::exception( "MVC::GetController( const std::string & ControllerName )::An error occured" , 1 ) );
}
}

| nitro::ControllerInterface * nitro::MVC::GetController | ( | const char * | ControllerName | ) |
Function returns controller.
| ControllerName | - Controller's name. |
| nitro::exception | - An exception of this type is thrown if the error occured. |
Definition at line 141 of file mvc_core.cpp.
References nitro::exception::code(), Controllers, and nitro::exception::what().
Referenced by LoadModules(), and nitro::Application::OnInit().
{
try
{
return( Controllers[ ControllerName ] );
}
catch( nitro::exception e )
{
throw( nitro::exception( std::string( "MVC::GetController( const char * ControllerName )::" ) + e.what() , e.code() ) );
}
catch( ... )
{
throw( nitro::exception( "MVC::GetController( const char * ControllerName )::An error occured" , 1 ) );
}
}

| nitro::ModelInterface * nitro::MVC::GetModel | ( | const char * | ModelName | ) |
Function returns model.
| ModelName | - Models's name. |
| nitro::exception | - An exception of this type is thrown if the error occured. |
Definition at line 109 of file mvc_core.cpp.
References nitro::exception::code(), Models, and nitro::exception::what().
Referenced by LoadModules().
{
try
{
return( Models[ ModelName ] );
}
catch( nitro::exception e )
{
throw( nitro::exception( std::string( "MVC::GetModel( const char * ModelName )::" ) + e.what() , e.code() ) );
}
catch( ... )
{
throw( nitro::exception( "MVC::GetModel( const char * ModelName )::An error occured" , 1 ) );
}
}

| nitro::ModelInterface * nitro::MVC::GetModel | ( | const std::string & | ModelName | ) |
Function returns model.
| ModelName | - Models's name. |
| nitro::exception | - An exception of this type is thrown if the error occured. |
Definition at line 157 of file mvc_core.cpp.
References nitro::exception::code(), Models, and nitro::exception::what().
{
try
{
return( Models[ ModelName ] );
}
catch( nitro::exception e )
{
throw( nitro::exception( std::string( "MVC::GetModel( const char * ModelName )::" ) + e.what() , e.code() ) );
}
catch( ... )
{
throw( nitro::exception( "MVC::GetModel( const std::string & ModelName )::An error occured" , 1 ) );
}
}

| const char * nitro::MVC::GetStartupControllerCommand | ( | void | ) | const |
Getting startup controller's command.
| nitro::exception | - An exception of this type is thrown if the error occured. |
Definition at line 469 of file mvc_core.cpp.
References nitro::exception::code(), StartupControllerCommand, and nitro::exception::what().
{
try
{
return( StartupControllerCommand.c_str() );
}
catch( nitro::exception e )
{
throw( nitro::exception( std::string( "MVC::GetStartupControllerCommand( void )::" ) + e.what() , e.code() ) );
}
catch( ... )
{
throw( nitro::exception( "MVC::GetStartupControllerCommand( void )::An error occured" , 1 ) );
}
}

| const char * nitro::MVC::GetStartupControllerName | ( | void | ) | const |
Getting startup controller's name.
| nitro::exception | - An exception of this type is thrown if the error occured. |
Definition at line 453 of file mvc_core.cpp.
References nitro::exception::code(), StartupControllerName, and nitro::exception::what().
{
try
{
return( StartupControllerName.c_str() );
}
catch( nitro::exception e )
{
throw( nitro::exception( std::string( "MVC::GetStartupControllerName( void )::" ) + e.what() , e.code() ) );
}
catch( ... )
{
throw( nitro::exception( "MVC::GetStartupControllerName( void )::An error occured" , 1 ) );
}
}

| const char * nitro::MVC::GetStartupViewName | ( | void | ) | const |
Getting startup view's name.
| nitro::exception | - An exception of this type is thrown if the error occured. |
Definition at line 437 of file mvc_core.cpp.
References nitro::exception::code(), StartupViewName, and nitro::exception::what().
{
try
{
return( StartupViewName.c_str() );
}
catch( nitro::exception e )
{
throw( nitro::exception( std::string( "MVC::GetStartupViewName( void )::" ) + e.what() , e.code() ) );
}
catch( ... )
{
throw( nitro::exception( "MVC::GetStartupViewName( void )::An error occured" , 1 ) );
}
}

| nitro::ViewInterface * nitro::MVC::GetView | ( | const std::string & | ViewName | ) |
Function returns view.
| ViewName | - View's name. |
| nitro::exception | - An exception of this type is thrown if the error occured. |
Definition at line 173 of file mvc_core.cpp.
References nitro::exception::code(), Views, and nitro::exception::what().
{
try
{
return( Views[ ViewName ] );
}
catch( nitro::exception e )
{
throw( nitro::exception( std::string( "MVC::GetView( const std::string & ViewName )::" ) + e.what() , e.code() ) );
}
catch( ... )
{
throw( nitro::exception( "MVC::GetView( const std::string & ViewName )::An error occured" , 1 ) );
}
}

| nitro::ViewInterface * nitro::MVC::GetView | ( | const char * | ViewName | ) |
Function returns view.
| ViewName | - View's name. |
| nitro::exception | - An exception of this type is thrown if the error occured. |
Definition at line 125 of file mvc_core.cpp.
References nitro::exception::code(), Views, and nitro::exception::what().
Referenced by LoadModules(), and nitro::Application::OnInit().
{
try
{
return( Views[ ViewName ] );
}
catch( nitro::exception e )
{
throw( nitro::exception( std::string( "MVC::GetView( const char * ViewName )::" ) + e.what() , e.code() ) );
}
catch( ... )
{
throw( nitro::exception( "MVC::GetView( const char * ViewName )::An error occured" , 1 ) );
}
}

| void nitro::MVC::LoadModule | ( | const char * | Path, | |
| const nitro::XMLTag & | ManifestPart | |||
| ) |
Function loads module.
| Path | Path to the plugin. | |
| ManifestPart | - Part of the manifest. |
| nitro::exception | - An exception of this type is thrown if the error occured. |
Definition at line 264 of file mvc_core.cpp.
References nitro::exception::code(), nitro::File::FileExists(), LoadModules(), and nitro::exception::what().
Referenced by Create().
{
try
{
if( nitro::File::FileExists( Path ) == false )
{
throw( nitro::exception( std::string( "Module " ) + Path + " does not exists" , 1 ) );
}
std::vector< std::string > ModulePaths;
ModulePaths.push_back( std::string( Path ) );
LoadModules( ModulePaths , ManifestPart );
}
catch( nitro::exception e )
{
throw( nitro::exception( std::string( "MVC::LoadModule( const char * Path , const nitro::XMLTag & ManifestPart )::" ) + e.what() , e.code() ) );
}
catch( ... )
{
throw( nitro::exception( "MVC::LoadModule( const char * Path , const nitro::XMLTag & ManifestPart )::An error occured" , 1 ) );
}
}

| void nitro::MVC::LoadModules | ( | const std::string & | Path, | |
| const nitro::XMLTag & | ManifestPart | |||
| ) |
Function loads modules.
| Path | - Path to the plugin directory (path to the directory or to the exact module). | |
| ManifestPart | - Part of the manifest. |
| nitro::exception | - An exception of this type is thrown if the error occured. |
Definition at line 289 of file mvc_core.cpp.
References nitro::exception::code(), LoadModules(), and nitro::exception::what().
{
try
{
LoadModules( Path.c_str() , ManifestPart );
}
catch( nitro::exception e )
{
throw( nitro::exception( std::string( "MVC::LoadModules( const std::string & Path , const nitro::XMLTag & ManifestPart )::" ) + e.what() , e.code() ) );
}
catch( ... )
{
throw( nitro::exception( "MVC::LoadModules( const std::string & Path , const nitro::XMLTag & ManifestPart )::An error occured" , 1 ) );
}
}

| void nitro::MVC::LoadModules | ( | const char * | Path, | |
| const nitro::XMLTag & | ManifestPart | |||
| ) |
Function loads modules.
| Path | Path to the plugin directory (path to the directory or to the exact module). | |
| ManifestPart | - Part of the manifest. |
| nitro::exception | - An exception of this type is thrown if the error occured. |
Definition at line 237 of file mvc_core.cpp.
References nitro::exception::code(), nitro::CollectFilesFromDirectory(), and nitro::exception::what().
Referenced by Create(), LoadModule(), and LoadModules().
{
try
{
std::vector< std::string > ModulePaths;
std::string PluginPath( "./bin/mvc/" );
if( Path != NULL && strlen( Path ) != 0 )
{
PluginPath = Path;
}
// загрузка модулей
nitro::CollectFilesFromDirectory( PluginPath , ModulePaths );
LoadModules( ModulePaths , ManifestPart );
}
catch( nitro::exception e )
{
throw( nitro::exception( std::string( "MVC::LoadModules( const char * Path , const nitro::XMLTag & ManifestPart )::" ) + e.what() , e.code() ) );
}
catch( ... )
{
throw( nitro::exception( "MVC::LoadModules( const char * Path , const nitro::XMLTag & ManifestPart )::An error occured" , 1 ) );
}
}

| void nitro::MVC::LoadModules | ( | const std::vector< std::string > & | ModulePaths, | |
| const nitro::XMLTag & | ManifestPart | |||
| ) | [private] |
Function loads modules.
| ModulePaths | - Paths to the plugin directory. | |
| ManifestPart | - Part of the manifest. |
| nitro::exception | - An exception of this type is thrown if the error occured. |
Definition at line 495 of file mvc_core.cpp.
References AddController(), AddModel(), AddView(), nitro::exception::code(), DEFINE_DYNAMIC_ARRAY, nitro::Parsers::EndsWith(), GetController(), GetModel(), GetView(), nitro::DynamicLibManager::LoadLibrary(), Modules, and nitro::exception::what().
{
try
{
for( std::size_t i( 0 ) ; i < ModulePaths.size() ; i++ )
{
if( nitro::Parsers::EndsWith( ModulePaths[ i ] , std::string( ".dll" ) ) )
{
Modules.LoadLibrary( ModulePaths[ i ] );
if( Modules[ ModulePaths[ i ].c_str() ]->ResourceExists( "GetModel" ) )
{
DEFINE_DYNAMIC_ARRAY( char , Name , 128 );
nitro::ModelInterface * Interface;
void ( * GetModel )( char * , nitro::ModelInterface * & , const nitro::XMLTag & );
GetModel = ( void ( * )( char * , nitro::ModelInterface * & , const nitro::XMLTag & ) )Modules[ ModulePaths[ i ].c_str() ]->GetResource( "GetModel" );
GetModel( Name , Interface , ManifestPart );
AddModel( Name , Interface );
}
if( Modules[ ModulePaths[ i ].c_str() ]->ResourceExists( "GetView" ) )
{
DEFINE_DYNAMIC_ARRAY( char , Name , 128 );
nitro::ViewInterface * Interface;
void ( * GetView )( char * , nitro::ViewInterface * & , const nitro::XMLTag & );
GetView = ( void ( * )( char * , nitro::ViewInterface * & , const nitro::XMLTag & ) )Modules[ ModulePaths[ i ].c_str() ]->GetResource( "GetView" );
GetView( Name , Interface , ManifestPart );
AddView( Name , Interface );
}
if( Modules[ ModulePaths[ i ].c_str() ]->ResourceExists( "GetController" ) )
{
DEFINE_DYNAMIC_ARRAY( char , Name , 128 );
nitro::ControllerInterface * Interface;
void ( * GetController )( char * , nitro::ControllerInterface * & , const nitro::XMLTag & );
GetController = ( void ( * )( char * , nitro::ControllerInterface * & , const nitro::XMLTag & ) )Modules[ ModulePaths[ i ].c_str() ]->GetResource( "GetController" );
GetController( Name , Interface , ManifestPart );
AddController( Name , Interface );
}
}
}
}
catch( nitro::exception e )
{
throw( nitro::exception( std::string( "MVC::LoadModules( const std::vector< std::string > & ModulePaths , const nitro::XMLTag & ManifestPart )::" ) + e.what() , e.code() ) );
}
catch( ... )
{
throw( nitro::exception( "MVC::LoadModules( const std::vector< std::string > & ModulePaths , const nitro::XMLTag & ManifestPart )::An error occured" , 1 ) );
}
}

Controllers.
Definition at line 624 of file mvc_core.h.
Referenced by AddController(), ExecuteCommand(), and GetController().
nitro::ObjectManager< nitro::ModelInterface > nitro::MVC::Models [private] |
nitro::DynamicLibManager nitro::MVC::Modules [private] |
nitro::ObjectManager< nitro::MVC > nitro::MVC::MVCObjects [private] |
MVC* nitro::MVC::RootMVC [private] |
std::string nitro::MVC::StartupControllerCommand [private] |
Startup controller.
Definition at line 696 of file mvc_core.h.
Referenced by Create(), GetStartupControllerCommand(), and MVC().
std::string nitro::MVC::StartupControllerName [private] |
Startup controller.
Definition at line 684 of file mvc_core.h.
Referenced by Create(), GetStartupControllerName(), and MVC().
std::string nitro::MVC::StartupViewName [private] |
Startup view.
Definition at line 672 of file mvc_core.h.
Referenced by Create(), GetStartupViewName(), and MVC().
nitro::ObjectManager< nitro::ViewInterface > nitro::MVC::Views [private] |
Views.
Definition at line 612 of file mvc_core.h.
Referenced by AddView(), ExecuteCommand(), and GetView().
1.6.1