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

#ifndef Operador_H
#define Operador_H

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

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

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

extern const RTActorClass Operador;

#define SUPER RTActor
class Operador_Actor : public RTActor
{
private:
	// {{{RME classifier 'Logical View::Operador' classAttribute 'Missao'
	long Missao;
	// }}}RME
	// {{{RME classifier 'Logical View::Operador' classAttribute 'PctID'
	long PctID;
	// }}}RME

public:
	// {{{RME classifier 'Logical View::Operador' port 'planejamento_comm'
	CommSolicitaPacote::Base planejamento_comm;
	// }}}RME
	Operador_Actor( RTController * rtg_rts, RTActorRef * rtg_ref );
	virtual ~Operador_Actor( void );

protected:
	// {{{RME classifier 'Logical View::Operador' operation 'SolPacotes()'
	void SolPacotes( void );
	// }}}RME
	// {{{RME classifier 'Logical View::Operador' operation 'CancelaMissao()'
	void CancelaMissao( 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_Operador_fields[];
};
#undef SUPER

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

#endif /* Operador_H */

// }}}RME
