// {{{RME component 'Component View::PVA'

#if defined( PRAGMA ) && ! defined( PRAGMA_IMPLEMENTED )
#pragma implementation "RTSystem/PVA.h"
#endif

#include <RTSystem/PVA.h>
extern const RTObject_class RTType_CalcularPosicao;
extern const RTActorClass CarregarPacote;
extern const RTObject_class RTType_LerSonarDireito;
extern const RTObject_class RTType_LerSonarEsquerdo;
extern const RTObject_class RTType_Navegacao;
extern const RTObject_class RTType_Pacote;
extern const RTObject_class RTType_Pallet;
extern const RTObject_class RTType_Sensor;
extern const RTObject_class RTType_Sensores;

static const RTObject_class * const rtg_user_types[] =
{
	// {{{RME classifier 'Logical View::CalcularPosicao' tool 'OT::CppTargetRTS' property 'GenerateDescriptor'
	&RTType_CalcularPosicao
	// }}}RME
	// {{{RME classifier 'Logical View::LerSonarDireito' tool 'OT::CppTargetRTS' property 'GenerateDescriptor'
  , &RTType_LerSonarDireito
	// }}}RME
	// {{{RME classifier 'Logical View::LerSonarEsquerdo' tool 'OT::CppTargetRTS' property 'GenerateDescriptor'
  , &RTType_LerSonarEsquerdo
	// }}}RME
	// {{{RME classifier 'Logical View::Navegacao' tool 'OT::CppTargetRTS' property 'GenerateDescriptor'
  , &RTType_Navegacao
	// }}}RME
	// {{{RME classifier 'Logical View::Pacote' tool 'OT::CppTargetRTS' property 'GenerateDescriptor'
  , &RTType_Pacote
	// }}}RME
	// {{{RME classifier 'Logical View::Pallet' tool 'OT::CppTargetRTS' property 'GenerateDescriptor'
  , &RTType_Pallet
	// }}}RME
	// {{{RME classifier 'Logical View::Sensores' tool 'OT::CppTargetRTS' property 'GenerateDescriptor'
  , &RTType_Sensores
	// }}}RME
	// {{{RME classifier 'Logical View::SensoresData::Sensor' tool 'OT::CppTargetRTS' property 'GenerateDescriptor'
  , &RTType_Sensor
	// }}}RME
};

#ifndef RTDEFAULT_ARGV
#define RTDEFAULT_ARGV { "CarregarPacote" }
#undef RTDEFAULT_ARGC
#define RTDEFAULT_ARGC 1
#endif

const char * default_argv[] = RTDEFAULT_ARGV;

int default_argc = RTDEFAULT_ARGC;

#if USE_THREADS

void _rtg_createThreads( RTDebugger * debugger )
{
}

void _rtg_mapLogicalThreads( RTController * controller )
{
}

void _rtg_deleteThreads( void )
{
}
#else

void _rtg_mapLogicalThreads( RTController * controller )
{
}
#endif

static const RTSystemDescriptor _rtg_system =
{
	RTDEFAULT_ARGC
  , default_argv
  , &CarregarPacote
  , 8
  , rtg_user_types
#if USE_THREADS
  , DEFAULT_MAIN_PRIORITY
  , 20000
  , DEFAULT_TIMER_PRIORITY
  , 20000
  , _rtg_createThreads
  , _rtg_deleteThreads
#endif
  , _rtg_mapLogicalThreads
};

int RTMain::entryPoint( int argc, const char * const * argv )
{
	return execute( &_rtg_system, argc, argv );
}

// }}}RME
