C++ TargetRTS
|
Represents a capsule port which at run-time can be bound to another capsule port. More...
#include <RTRootProtocol.h>
Public Types | |
enum | { rti_rtBound = rtiLast_RTProtocol + 1 , rti_rtUnbound } |
Public Member Functions | |
RTInSignal | rtBound (void) |
RTInSignal | rtUnbound (void) |
Public Member Functions inherited from RTProtocol | |
RTController * | context (void) const |
Get the context of the capsule that owns this port. | |
int | getId (void) const |
Get the id of the port. | |
const RTPortDescriptor * | getInfo (void) const |
Get information about a port. | |
const char * | getName (void) const |
Get the name of the port. | |
RTActor * | getOwner (void) const |
Get the owner capsule to which the port belongs. | |
int | size (void) const |
Get the size of the port. | |
int | resize (int new_size) |
Set a new size (i.e. | |
int | registerSAP (const char *service) |
Register an unwired port (SAP) with the layer service (as a "client"). | |
int | deregisterSAP (void) |
Deregister an unwired port (SAP). | |
int | registerSPP (const char *service) |
Register an unwired port (SPP) with the layer service (as the "provider"). | |
int | deregisterSPP (void) |
Deregister an unwired port (SPP). | |
const char * | defaultLayerName (void) const |
Get the default registration name for the port. | |
int | isRegistered (void) const |
Determine if the port is currently registered with the layer service or not. | |
const char * | getRegisteredName (void) const |
Get the registration name of the port. | |
int | registerAs (const char *service) |
Register an unwired port either as an SAP or SPP (depending on the "Publish" property of the port). | |
int | deregister (void) |
Deregister an unwired port (either an SAP or SPP). | |
int | isBoundAt (int index) const |
Determine if a port instance is currently connected to another port instance. | |
int | isIndexTo (int index, RTActor *capsule) const |
Determine if a port instance is currently connected to a port instance owned by a certain capsule instance. | |
int | indexTo (RTActor *capsule) const |
Determine if there exists a port instance currently connected to a port instance owned by a certain capsule instance. | |
int | purge (void) |
Empty the defer queue of all port instances without recalling any deferred message. | |
int | purgeAt (int index) |
Empty the defer queue of a specified port instance without recalling any deferred message. | |
int | recall (void) |
Recall a message from the defer queue and insert it at the back of the controller's message queue (after other queued messages). | |
int | recallFront (void) |
Recall a message from the defer queue and insert it at the front of the controller's message queue (before other queued messages). | |
int | recallAt (int index, int front=0) |
Recall a message from the defer queue and insert it in the controller's message queue. | |
int | recallAll (void) |
Recall all messages from the defer queue and insert them at the back of the controller's message queue (after other queued messages). | |
int | recallAllFront (void) |
Recall all messages from the defer queue and insert them at the front of the controller's message queue (before other queued messages). | |
int | recallAllAt (int index, int front=0) |
Recall all messages from the defer queue and insert them in the controller's message queue. | |
void | bindingNotification (int on_off) |
Turn on or off binding notifications for this port. | |
int | bindingNotificationRequested (void) const |
Determine if binding notifications are currently enabled for the port. | |
void | sendTypeCheckEnable (int on_off) |
Turn on or off type checking when performing send(), invoke() or reply() on the port. | |
int | sendTypeCheckEnabled (void) const |
Determine if type checking when sending events is enabled. | |
RTProtocolDescriptor::Status | sendCheck (int signal, const RTObject_class *type) const |
Check if a particular event would be possible to send on this port. | |
void | receiveTypeCheckEnable (int on_off) |
Turn on or off type checking when receiving an event on the port. | |
int | receiveTypeCheckEnabled (void) const |
Determine if type checking when receiving events is enabled. | |
RTProtocolDescriptor::Status | receiveCheck (int signal, const RTObject_class *type) const |
Check if a particular event would be possible to receive on this port. | |
int | invoke (RTMessage *replyBuffer, int signal, const void *data, const RTObject_class *type, bool implicitReply) |
Invoke an event on the port. | |
int | invokeAt (int index, RTMessage *replyBuffer, int signal, const void *data, const RTObject_class *type, bool implicitReply) |
Invoke an event on a replicated port at a specified index. | |
int | reply (int signal, const void *data, const RTObject_class *type) |
Make a reply to respond to an invoke. | |
int | send (int signal, const void *data, const RTObject_class *type, int priority, bool moveData=false) |
Send an event on the port. | |
int | sendAt (int index, int signal, const void *data, const RTObject_class *type, int priority, bool moveData=false) |
Send an event on a replicated port at a specified index. | |
Static Public Attributes | |
static const RTProtocolDescriptor | rt_class |
Protected Types | |
enum | { rtiLast_RTRootProtocol = rti_rtUnbound } |
Protected Types inherited from RTProtocol | |
enum | { BindingNotification = 1 , RegisteredAsSAP = 2 , SendTypeCheck = 4 , ReceiveTypeCheck = 8 , Resized = 16 } |
enum | { rtiLast_RTProtocol = 0 } |
Additional Inherited Members | |
Protected Member Functions inherited from RTProtocol | |
void | init (const RTPortDescriptor *) |
int | getFlags (void) const |
void | setFlag (int) |
void | resetFlag (int) |
void | bindAt (int, RTBindingEnd &, RTController *) |
int | peerAt (int, RTBindingEnd &) |
void | unbindAt (int, RTController *) |
void | notifyInit (RTController *) |
void | notifyBoundAt (int, RTController *) |
Represents a capsule port which at run-time can be bound to another capsule port.
This is true for ports typed by all user-defined protocols, but not for some of the special TargetRTS protocols such as Log, Frame etc. For this kind of capsule port notifications can be enabled so that the special event rtBound is sent when the port gets bound at run-time, and rtUnbound when it gets unbound.