virtual bool
CreateCapsuleRole (RTActorRef & capsuleRole, const RQARTIncarnateArguments * args)
Concurrency | rsSequentialConcurrency | Visibility | rsProtected |
Code
// incarnate the specified role based on the incarnation arguments
const RTActorClass *pActorClass;
RTActorId capsuleId;
if(!args)
capsuleId = RQART_Frame.incarnate(capsuleRole);
else
{
if(args->pCapsuleClass == (RTActorClass*)0)
{
// default to class of the role
pActorClass = &EmptyActorClass;
}
else
pActorClass = args->pCapsuleClass;
capsuleId = RQART_Frame.incarnate(capsuleRole, *pActorClass, args->pData,
args->pType, args->pThread, args->cardinalityIndex);
}
if(!capsuleId.isValid())
{
RQARTExceptionCode exCode = eRQARTIncarnateError;
RQART_Exception.error(RTTypedValue(&exCode)).raise();
return false;
}
else
return true;
Parameter capsuleRole
Parameter args