virtual bool CreateCapsuleRole (RTActorRef & capsuleRole, const RQARTIncarnateArguments * args)

ConcurrencyrsSequentialConcurrencyVisibilityrsProtected

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