Mana
mana::Actor Class Reference

#include <Actor.h>

Inheritance diagram for mana::Actor:
mana::Noncopyable

Public Member Functions

 Actor (const std::shared_ptr< VM > &vm, const address_t variableSize)
 Constructor. More...
 
 Actor (const Actor &)=delete
 
 Actor (Actor &&) noexcept=delete
 
Actoroperator= (const Actor &)=delete
 
Actoroperator= (Actor &&) noexcept=delete
 
virtual ~Actor ()=default
 
std::shared_ptr< ActorClone () const
 
bool Run ()
 
bool SyncCall (const int32_t priority, const char *action, const std::shared_ptr< Actor > &sender)
 
bool AsyncCall (const int32_t priority, const char *action, const std::shared_ptr< Actor > &sender)
 
bool Request (const int32_t priority, const char *action, const std::shared_ptr< Actor > &sender)
 
void Rollback (const int32_t priority)
 
void Restart ()
 
std::string_view GetName ()
 
uint32_t GetAction (const std::string_view &actionName) const
 
int32_t GetArgumentCount () const
 
int32_t GetArgumentCountByAddress (const uint32_t address) const
 
int32_t GetArgumentSize (const uint32_t address) const
 
bool HasReturnValue (const uint32_t address) const
 
int32_t GetParameterInteger (const int32_t value) const
 
float GetParameterFloat (const int32_t value) const
 
const char * GetParameterString (const int32_t value) const
 
std::shared_ptr< ActorGetParameterActor (const int32_t value) const
 
ActorGetParameterActorPointer (const int32_t value) const
 
void * GetParameterPointer (const int32_t value) const
 
void * GetParameterAddress (const int32_t value) const
 
void SetReturnInteger (const int32_t value)
 
void SetReturnFloat (const float value)
 
void SetReturnString (const char *string)
 
void SetReturnActor (const std::shared_ptr< Actor > &actor)
 
void SetReturnPointer (void *pointer)
 
void SetReturnData (const void *pointer, const int32_t size)
 
std::shared_ptr< VMGetVirtualMachine () const
 
bool IsCommandInitialized () const
 
bool IsCommandRepeat () const
 
bool IsRunning () const
 
void Repeat (const bool initialComplete)
 
void Again ()
 
void Halt ()
 
void Stop ()
 
void yield ()
 
void Accept ()
 
void Refuse ()
 
int32_t GetInterruptPriority () const
 
bool IsSynchronized () const
 
void SetSynchronized (const bool synchronized)
 
void SetSynchronizedWithPriority (const int32_t priority, const bool synchronized)
 
EventNameType AddPriorityChangedEvent (const std::function< void(int32_t, int32_t)> &function)
 
void RemovePriorityChangedEvent (const EventNameType eventName)
 
StackGetStack ()
 
const StackGetStack () const
 

Friends

class VM
 

Detailed Description

Actor class

Constructor & Destructor Documentation

◆ Actor() [1/3]

mana::Actor::Actor ( const std::shared_ptr< VM > &  vm,
const address_t  variableSize 
)
inlineexplicit

Constructor.

◆ Actor() [2/3]

mana::Actor::Actor ( const Actor )
delete

◆ Actor() [3/3]

mana::Actor::Actor ( Actor &&  )
deletenoexcept

◆ ~Actor()

virtual mana::Actor::~Actor ( )
virtualdefault

Member Function Documentation

◆ Accept()

void mana::Actor::Accept ( )
inline

◆ AddPriorityChangedEvent()

EventNameType mana::Actor::AddPriorityChangedEvent ( const std::function< void(int32_t, int32_t)> &  function)
inline

◆ Again()

void mana::Actor::Again ( )
inline

◆ AsyncCall()

bool mana::Actor::AsyncCall ( const int32_t  priority,
const char *  action,
const std::shared_ptr< Actor > &  sender 
)
inline

◆ Clone()

std::shared_ptr< Actor > mana::Actor::Clone ( ) const
inline

◆ GetAction()

uint32_t mana::Actor::GetAction ( const std::string_view &  actionName) const
inline

◆ GetArgumentCount()

int32_t mana::Actor::GetArgumentCount ( ) const
inline

◆ GetArgumentCountByAddress()

int32_t mana::Actor::GetArgumentCountByAddress ( const uint32_t  address) const
inline

◆ GetArgumentSize()

int32_t mana::Actor::GetArgumentSize ( const uint32_t  address) const
inline

◆ GetInterruptPriority()

int32_t mana::Actor::GetInterruptPriority ( ) const
inline

◆ GetName()

std::string_view mana::Actor::GetName ( )
inline

◆ GetParameterActor()

std::shared_ptr< Actor > mana::Actor::GetParameterActor ( const int32_t  value) const
inline

◆ GetParameterActorPointer()

Actor * mana::Actor::GetParameterActorPointer ( const int32_t  value) const
inline

◆ GetParameterAddress()

void * mana::Actor::GetParameterAddress ( const int32_t  value) const
inline

◆ GetParameterFloat()

float mana::Actor::GetParameterFloat ( const int32_t  value) const
inline

◆ GetParameterInteger()

int32_t mana::Actor::GetParameterInteger ( const int32_t  value) const
inline

◆ GetParameterPointer()

void * mana::Actor::GetParameterPointer ( const int32_t  value) const
inline

◆ GetParameterString()

const char * mana::Actor::GetParameterString ( const int32_t  value) const
inline

◆ GetStack() [1/2]

Stack & mana::Actor::GetStack ( )
inline

◆ GetStack() [2/2]

const Stack & mana::Actor::GetStack ( ) const
inline

◆ GetVirtualMachine()

std::shared_ptr< VM > mana::Actor::GetVirtualMachine ( ) const
inline

◆ Halt()

void mana::Actor::Halt ( )
inline

◆ HasReturnValue()

bool mana::Actor::HasReturnValue ( const uint32_t  address) const
inline

◆ IsCommandInitialized()

bool mana::Actor::IsCommandInitialized ( ) const
inline

◆ IsCommandRepeat()

bool mana::Actor::IsCommandRepeat ( ) const
inline

◆ IsRunning()

bool mana::Actor::IsRunning ( ) const
inline

◆ IsSynchronized()

bool mana::Actor::IsSynchronized ( ) const
inline

◆ operator=() [1/2]

Actor& mana::Actor::operator= ( Actor &&  )
deletenoexcept

◆ operator=() [2/2]

Actor& mana::Actor::operator= ( const Actor )
delete

◆ Refuse()

void mana::Actor::Refuse ( )
inline

◆ RemovePriorityChangedEvent()

void mana::Actor::RemovePriorityChangedEvent ( const EventNameType  eventName)
inline

◆ Repeat()

void mana::Actor::Repeat ( const bool  initialComplete)
inline

◆ Request()

bool mana::Actor::Request ( const int32_t  priority,
const char *  action,
const std::shared_ptr< Actor > &  sender 
)
inline

◆ Restart()

void mana::Actor::Restart ( )
inline

◆ Rollback()

void mana::Actor::Rollback ( const int32_t  priority)
inline

◆ Run()

bool mana::Actor::Run ( )
inline

◆ SetReturnActor()

void mana::Actor::SetReturnActor ( const std::shared_ptr< Actor > &  actor)
inline

◆ SetReturnData()

void mana::Actor::SetReturnData ( const void *  pointer,
const int32_t  size 
)
inline

◆ SetReturnFloat()

void mana::Actor::SetReturnFloat ( const float  value)
inline

◆ SetReturnInteger()

void mana::Actor::SetReturnInteger ( const int32_t  value)
inline

◆ SetReturnPointer()

void mana::Actor::SetReturnPointer ( void *  pointer)
inline

◆ SetReturnString()

void mana::Actor::SetReturnString ( const char *  string)
inline

◆ SetSynchronized()

void mana::Actor::SetSynchronized ( const bool  synchronized)
inline

◆ SetSynchronizedWithPriority()

void mana::Actor::SetSynchronizedWithPriority ( const int32_t  priority,
const bool  synchronized 
)
inline

◆ Stop()

void mana::Actor::Stop ( )
inline

◆ SyncCall()

bool mana::Actor::SyncCall ( const int32_t  priority,
const char *  action,
const std::shared_ptr< Actor > &  sender 
)
inline

◆ yield()

void mana::Actor::yield ( )
inline

Friends And Related Function Documentation

◆ VM

friend class VM
friend

The documentation for this class was generated from the following files: