Mana
mana::Actor Class Reference

#include <Actor.h>

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

Public Types

using Callback = int32_t(*)(const std::shared_ptr< Actor > &actor, void *parameter)
 request / rollbackコールバック More...
 

Public Member Functions

 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 ()
 
const 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)
 
bool HasReturnValue (const uint32_t address)
 
int32_t GetParameterInteger (const int32_t value)
 
float GetParameterFloat (const int32_t value)
 
const char * GetParameterString (const int32_t value)
 
ActorGetParameterActor (const int32_t value)
 
void * GetParameterPointer (const int32_t value)
 
void * GetParameterAddress (const int32_t value)
 
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 AddRequestEvent (const std::function< void(int32_t)> &function)
 
void RemoveRequestEvent (const EventNameType eventName)
 
EventNameType AddRollbackEvent (const std::function< void(int32_t)> &function)
 
void RemoveRollbackEvent (const EventNameType eventName)
 
uintptr_t GetUserData () const
 
void SetUserData (const uintptr_t userData)
 
void * GetUserPointer () const
 
void SetUserPointer (void *userPointer)
 
StackGetStack ()
 
const StackGetStack () const
 

Friends

class VM
 

Detailed Description

Actor class

Member Typedef Documentation

◆ Callback

using mana::Actor::Callback = int32_t (*)(const std::shared_ptr<Actor>& actor, void* parameter)

request / rollbackコールバック

Constructor & Destructor Documentation

◆ Actor() [1/2]

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

◆ Actor() [2/2]

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

◆ ~Actor()

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

Member Function Documentation

◆ Accept()

void mana::Actor::Accept ( )
inline

◆ AddRequestEvent()

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

◆ AddRollbackEvent()

EventNameType mana::Actor::AddRollbackEvent ( const std::function< void(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)
inline

◆ GetInterruptPriority()

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

◆ GetName()

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

◆ GetParameterActor()

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

◆ GetParameterAddress()

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

◆ GetParameterFloat()

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

◆ GetParameterInteger()

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

◆ GetParameterPointer()

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

◆ GetParameterString()

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

◆ GetStack() [1/2]

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

◆ GetStack() [2/2]

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

◆ GetUserData()

uintptr_t mana::Actor::GetUserData ( ) const
inline

◆ GetUserPointer()

void * mana::Actor::GetUserPointer ( ) 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)
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

◆ RemoveRequestEvent()

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

◆ RemoveRollbackEvent()

void mana::Actor::RemoveRollbackEvent ( 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

◆ SetUserData()

void mana::Actor::SetUserData ( const uintptr_t  userData)
inline

◆ SetUserPointer()

void mana::Actor::SetUserPointer ( void *  userPointer)
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: