10#ifndef __RTActorRef_h__
11#define __RTActorRef_h__ included
47 static void lock(
void );
48 static void unlock(
void );
53 void unreserve(
int );
71 RTS_INLINE
int size(
void )
const;
77 RTS_INLINE
int getId(
void )
const;
82 RTS_INLINE
const char *
getName(
void )
const;
176 RTS_INLINE
int isFixed(
void )
const;
199 RTS_INLINE
RTActor *
at(
int index)
const;
211 RTS_INLINE
int operator==(
const RTActorId & )
const;
212 RTS_INLINE
int operator!=(
const RTActorId & )
const;
225 int bind_ports(
RTActor * member,
240#include <RTActorRef.inl>
A capsule factory where capsule instances are created by means of a provided 'create' function,...
Definition: RTActorFactory.h:27
Interface of a capsule factory responsible for creating and destroying capsule instances in a capsule...
Definition: RTActorFactoryInterface.h:15
An instance of this class represents a capsule instance.
Definition: RTActor.h:44
An object that identifies a capsule instance at run-time.
Definition: RTActorId.h:27
Represents a capsule part.
Definition: RTActorRef.h:39
RTActor * at(int index) const
Get the capsule instance contained in this capsule part at a certain index (1-based).
Definition: RTActorRef.inl:94
void initializeAll(void)
Initialize capsule instances that have been incarnated in a fixed capsule part.
int deport(RTActor *i)
Remove a capsule instance from a plug-in capsule part.
int size(void) const
Get the maximum number of capsule instances that can fit in the capsule part (as defined by its upper...
Definition: RTActorRef.inl:54
void deport(void)
Remove all capsule instances from a plug-in capsule part.
int deport(RTActor *, RTImportList *, RTController *initiator)
A helper function for internal use only.
const RTComponentDescriptor * getInfo(void) const
Get information (meta data) about the capsule part, such as its name, size etc.
Definition: RTActorRef.inl:42
RTActor * incarnate(const RTActorClass &cap, const void *data, const RTObject_class *type, RTController *controller, int index, RTActorFactory *factory=nullptr)
Incarnates a capsule and inserts the capsule instance in this capsule part (which must be an optional...
RTController * context(void)
Get the controller which runs the capsule that owns this capsule part.
Definition: RTActor.inl:135
int isFixed(void) const
Determines if this capsule part is fixed, i.e.
Definition: RTActorRef.inl:69
void incarnateAll(void)
Incarnate capsule instances into a fixed capsule part.
int getId(void) const
Get the id of the capsule part.
Definition: RTActorRef.inl:59
int destroy(void)
Destroy all capsule instances contained in the capsule part (which must be an optional capsule part).
RTActor * operator[](int index) const
Get the capsule instance contained in this capsule part at a certain index (0-based).
Definition: RTActorRef.inl:84
int isImported(void) const
Determines if this is a plug-in capsule part into which capsule instances can be imported.
Definition: RTActorRef.inl:74
int indexOf(const RTActor *i) const
Return the index of a capsule instance within this capsule part.
RTActor * getOwner(void) const
Get the capsule to which this capsule part belongs.
Definition: RTActorRef.inl:47
int destroy(RTActor *i)
Destroy a capsule instance contained in the capsule part (which must be an optional capsule part).
int isOptional(void) const
Determines if this capsule part is optional, i.e.
Definition: RTActorRef.inl:79
const char * getName(void) const
Get the name of the capsule part.
Definition: RTActorRef.inl:64
Definition: RTActorRefProbe.h:24
A controller manages a group of capsule instances that all run in the same physical thread (i....
Definition: RTController.h:54
Provides a common interface to certain data type implementations (e.g.
Definition: RTDataObject.h:33
A type descriptor providing information about the external characteristics of a capsule.
Definition: RTActorClass.h:36
Definition: RTBindingEnd.h:24
This structure describes a capsule part (a.k.a.
Definition: RTComponentDescriptor.h:33
A type descriptor providing information about a type.
Definition: RTObject_class.h:64
Definition: RTImportList.h:35