blob: 3d165d3baa5515ce7e8d43e61b5d03b87644b91b [file]
#ifndef PONGER_HH
#define PONGER_HH
#include "PingPongProtocol.hh"
#include "umlrtcapsule.hh"
#include "umlrtcapsuleclass.hh"
#include "umlrtmessage.hh"
struct UMLRTCommsPort;
struct UMLRTSlot;
class Capsule_Ponger : public UMLRTCapsule
{
public:
Capsule_Ponger( UMLRTSlot * st, const UMLRTCommsPort * * border, const UMLRTCommsPort * internal, bool isStat );
enum BorderPortId
{
borderport_PongPort,
borderport__bind
};
protected:
PingPongProtocol_conjrole PongPort() const;
public:
enum PartId
{
};
enum PortId
{
port_PongPort,
port__bind
};
virtual void bindPort( bool isBorder, int portId, int index );
virtual void unbindPort( bool isBorder, int portId, int index );
virtual void inject( const UMLRTMessage & msg );
virtual void initialize( const UMLRTMessage & msg );
private:
enum State
{
top__Running,
SPECIAL_INTERNAL_STATE_UNVISITED
};
State currentState;
void transitionaction_____top__initial__ActionChain3__onInit( const UMLRTMessage & msg );
void transitionaction_____top__onBound__ActionChain6__onBound( const UMLRTMessage & msg );
void transitionaction_____top__onPing__ActionChain5__onPing( const UMLRTMessage & msg );
void actionchain_____top__initial__ActionChain3( const UMLRTMessage & msg );
void actionchain_____top__onBound__ActionChain6( const UMLRTMessage & msg );
void actionchain_____top__onPing__ActionChain5( const UMLRTMessage & msg );
State state_____top__Running( const UMLRTMessage & msg );
};
extern const UMLRTCapsuleClass Ponger;
#endif