// {{{RME classifier 'Logical View::Planejamento'

#ifndef Planejamento_H
#define Planejamento_H

#ifdef PRAGMA
#pragma interface "Planejamento.h"
#endif

#include <RTSystem/PVA.h>
#include <CommSolicitaPacote.h>

// {{{RME classifier 'Logical View::Planejamento' tool 'OT::Cpp' property 'HeaderPreface'
// {{{USR tool 'OT::Cpp' property 'HeaderPreface'
// }}}USR
// }}}RME

extern const RTActorClass Planejamento;

#define SUPER RTActor
class Planejamento_Actor : public RTActor
{
private:
	// {{{RME classifier 'Logical View::Planejamento' classAttribute 'Missao'
	int Missao;
	// }}}RME
	// {{{RME classifier 'Logical View::Planejamento' classAttribute 'Status_pva'
	bool Status_pva;
	// }}}RME
	// {{{RME classifier 'Logical View::Planejamento' classAttribute 'PctID'
	long PctID;
	// }}}RME

public:
	// {{{RME classifier 'Logical View::Planejamento' port 'operador_comm'
	CommSolicitaPacote::Conjugate operador_comm;
	// }}}RME
	Planejamento_Actor( RTController * rtg_rts, RTActorRef * rtg_ref );
	virtual ~Planejamento_Actor( void );

protected:
	// {{{RME classifier 'Logical View::Planejamento' operation 'Enfileira_pct()'
	void Enfileira_pct( void );
	// }}}RME
	// {{{RME classifier 'Logical View::Planejamento' operation 'Elimina_pct()'
	void Elimina_pct( void );
	// }}}RME
	// {{{RME classifier 'Logical View::Planejamento' operation 'Verifica_status_pva()'
	void Verifica_status_pva( void );
	// }}}RME
	// {{{RME classifier 'Logical View::Planejamento' operation 'Verifica_fila_vazia()'
	void Verifica_fila_vazia( void );
	// }}}RME

public:
	virtual int _followInV( RTBindingEnd & rtg_end, int rtg_portId, int rtg_repIndex );
	virtual void rtsBehavior( int signalIndex, int portIndex );
	virtual const RTActor_class * getActorData( void ) const;

protected:
	static const RTActor_class rtg_class;

public:
	static const RTStateId rtg_parent_state[];

private:
	static const RTPortDescriptor rtg_ports[];

public:
	static const RTFieldDescriptor rtg_Planejamento_fields[];
};
#undef SUPER

// {{{RME classifier 'Logical View::Planejamento' tool 'OT::Cpp' property 'HeaderEnding'
// {{{USR tool 'OT::Cpp' property 'HeaderEnding'
// }}}USR
// }}}RME

#endif /* Planejamento_H */

// }}}RME
