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

#ifndef CommSolicitaPacote_H
#define CommSolicitaPacote_H

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

#include <RTSystem/PVA.h>

struct CommSolicitaPacote
{
	class Base : public RTRootProtocol
	{
	public:
		inline Base( void );
		inline ~Base( void );
		enum
		{
			rti_SolPct = rtiLast_RTRootProtocol + 1,
			rti_PctCod
		};

	protected:
		enum { rtiLast_CommSolicitaPacote = rti_PctCod };

	public:
		inline RTInSignal SolPct( void );
		inline RTInSignal PctCod( void );
		inline RTOutSignal PctCod( const int & data );
		inline RTOutSignal PctAusente( void );
		inline RTOutSignal PVA_inoperante( void );
		static const RTProtocolDescriptor rt_class;

	private:
		static const RTSignalDescriptor rt_signals[];
	};
	class Conjugate : public RTRootProtocol
	{
	public:
		inline Conjugate( void );
		inline ~Conjugate( void );
		enum
		{
			rti_PctCod = rtiLast_RTRootProtocol + 1,
			rti_PctAusente,
			rti_PVA_inoperante
		};

	protected:
		enum { rtiLast_CommSolicitaPacote = rti_PVA_inoperante };

	public:
		inline RTInSignal PctCod( void );
		inline RTInSignal PctAusente( void );
		inline RTInSignal PVA_inoperante( void );
		inline RTOutSignal SolPct( const int & data );
		inline RTOutSignal PctCod( const int & data );
		static const RTProtocolDescriptor rt_class;

	private:
		static const RTSignalDescriptor rt_signals[];
	};
};

inline CommSolicitaPacote::Base::Base( void )
	: RTRootProtocol()
{
}

inline CommSolicitaPacote::Base::~Base( void )
{
}

inline RTInSignal CommSolicitaPacote::Base::SolPct( void )
{
	return RTInSignal( this, rti_SolPct );
}

inline RTInSignal CommSolicitaPacote::Base::PctCod( void )
{
	return RTInSignal( this, rti_PctCod );
}

inline RTOutSignal CommSolicitaPacote::Base::PctCod( const int & data )
{
	return RTOutSignal( this, Conjugate::rti_PctCod, &data, &RTType_int );
}

inline RTOutSignal CommSolicitaPacote::Base::PctAusente( void )
{
	return RTOutSignal( this, Conjugate::rti_PctAusente, (const void *)0, &RTType_void );
}

inline RTOutSignal CommSolicitaPacote::Base::PVA_inoperante( void )
{
	return RTOutSignal( this, Conjugate::rti_PVA_inoperante, (const void *)0, &RTType_void );
}

inline CommSolicitaPacote::Conjugate::Conjugate( void )
	: RTRootProtocol()
{
}

inline CommSolicitaPacote::Conjugate::~Conjugate( void )
{
}

inline RTInSignal CommSolicitaPacote::Conjugate::PctCod( void )
{
	return RTInSignal( this, rti_PctCod );
}

inline RTInSignal CommSolicitaPacote::Conjugate::PctAusente( void )
{
	return RTInSignal( this, rti_PctAusente );
}

inline RTInSignal CommSolicitaPacote::Conjugate::PVA_inoperante( void )
{
	return RTInSignal( this, rti_PVA_inoperante );
}

inline RTOutSignal CommSolicitaPacote::Conjugate::SolPct( const int & data )
{
	return RTOutSignal( this, Base::rti_SolPct, &data, &RTType_int );
}

inline RTOutSignal CommSolicitaPacote::Conjugate::PctCod( const int & data )
{
	return RTOutSignal( this, Base::rti_PctCod, &data, &RTType_int );
}

#endif /* CommSolicitaPacote_H */

// }}}RME
