sead::NinJoyNpadDevice::VibrationThread class

Base classes

class sead::Thread

Public types

enum class HeapNullOption { AlwaysUseSpecifiedHeap = 0, UseSpecifiedOrContainHeap = 1, DoNotAppendDisposerIfNoHeapSpecified = 2, UseSpecifiedOrCurrentHeap = 3 }
enum class NodeClassType { Reflexible = 0, Node = 1, Other = 2 }
enum class AllocFlg { Name = 1u << 0u, Meta = 1u << 1u }

Public static variables

static const s32 cDefaultPriority

Public static functions

static void yield()
static void sleep(TickSpan howLong)
static auto getListNodeOffset() -> u32

Constructors, destructors, conversion operators

VibrationThread(Heap* heap)
~VibrationThread() override

Public functions

void calc_(s64) override
void requestVibration(const nn::hid::VibrationDeviceHandle& handle, const nn::hid::VibrationValue& value)
void destroy() virtual
auto sendMessage(MessageQueue::Element msg, MessageQueue::BlockType block_type) -> bool virtual
auto recvMessage(MessageQueue::BlockType block_type) -> MessageQueue::Element virtual
auto getMessageQueue() const -> const MessageQueue& virtual
auto start() -> bool virtual
void quit(bool is_jam) virtual
void waitDone() virtual
void quitAndDestroySingleThread(bool is_jam) virtual
void quitAndWaitDoneSingleThread(bool is_jam) virtual
void setPriority(s32 prio) virtual
auto getPriority() const -> s32 virtual
auto getBlockType() const -> MessageQueue::BlockType virtual
auto getStackSize() const -> s32 virtual
auto calcStackUsedSizePeak() const -> s32 virtual
auto getId() const -> u32
auto getState() const -> State
auto isDone() const -> bool
auto isActive() const -> bool
auto getAffinity() const -> const CoreIdMask&
void setAffinity(const CoreIdMask& affinity)
void checkStackOverFlow(const char* source_file, s32 source_line) const
void checkStackEndCorruption(const char* source_file, s32 source_line) const
void checkStackPointerOverFlow(const char* source_file, s32 source_line) const
void setStackOverflowExceptionEnable(bool)
auto getThreadListNode() -> ThreadListNode*
auto isDefaultPriority() const -> bool
auto getCurrentHeap() const -> Heap*
auto setCurrentHeap(Heap* heap) -> Heap*
auto getFindContainHeapCache() -> FindContainHeapCache*
auto getName() const -> const SafeString&
void setName(const SafeString& name)
auto getNodeClassType() const -> NodeClassType virtual

Protected functions

void run_() virtual
void calc_(MessageQueue::Element msg) pure virtual
auto getStackCheckStartAddress_() const -> uintptr_t virtual
void initStackCheck_()
void initStackCheckWithCurrentStackPointer_()
auto getDisposerHeap_() const -> Heap*

Protected variables

MessageQueue mMessageQueue
s32 mStackSize
ThreadListNode mListNode
Heap* mCurrentHeap
FindContainHeapCache mFindContainHeapCache
MessageQueue::BlockType mBlockType
MessageQueue::Element mQuitMsg
u32 mId
State mState
CoreIdMask mAffinity
void* mStackTop
void* mStackTopForCheck
s32 mPriority

Enum documentation

enum class sead::NinJoyNpadDevice::VibrationThread::HeapNullOption

enum class sead::NinJoyNpadDevice::VibrationThread::NodeClassType

Enumerators
Reflexible

sead::hostio::Reflexible

Node

sead::hostio::Node

Other

Other classes.

enum class sead::NinJoyNpadDevice::VibrationThread::AllocFlg

Function documentation

static void sead::NinJoyNpadDevice::VibrationThread::yield()

static void sead::NinJoyNpadDevice::VibrationThread::sleep(TickSpan howLong)

static u32 sead::NinJoyNpadDevice::VibrationThread::getListNodeOffset()

void sead::NinJoyNpadDevice::VibrationThread::destroy() virtual

bool sead::NinJoyNpadDevice::VibrationThread::sendMessage(MessageQueue::Element msg, MessageQueue::BlockType block_type) virtual

MessageQueue::Element sead::NinJoyNpadDevice::VibrationThread::recvMessage(MessageQueue::BlockType block_type) virtual

const MessageQueue& sead::NinJoyNpadDevice::VibrationThread::getMessageQueue() const virtual

bool sead::NinJoyNpadDevice::VibrationThread::start() virtual

void sead::NinJoyNpadDevice::VibrationThread::quit(bool is_jam) virtual

void sead::NinJoyNpadDevice::VibrationThread::waitDone() virtual

void sead::NinJoyNpadDevice::VibrationThread::quitAndDestroySingleThread(bool is_jam) virtual

void sead::NinJoyNpadDevice::VibrationThread::quitAndWaitDoneSingleThread(bool is_jam) virtual

void sead::NinJoyNpadDevice::VibrationThread::setPriority(s32 prio) virtual

s32 sead::NinJoyNpadDevice::VibrationThread::getPriority() const virtual

MessageQueue::BlockType sead::NinJoyNpadDevice::VibrationThread::getBlockType() const virtual

s32 sead::NinJoyNpadDevice::VibrationThread::getStackSize() const virtual

s32 sead::NinJoyNpadDevice::VibrationThread::calcStackUsedSizePeak() const virtual

u32 sead::NinJoyNpadDevice::VibrationThread::getId() const

State sead::NinJoyNpadDevice::VibrationThread::getState() const

bool sead::NinJoyNpadDevice::VibrationThread::isDone() const

bool sead::NinJoyNpadDevice::VibrationThread::isActive() const

const CoreIdMask& sead::NinJoyNpadDevice::VibrationThread::getAffinity() const

void sead::NinJoyNpadDevice::VibrationThread::setAffinity(const CoreIdMask& affinity)

void sead::NinJoyNpadDevice::VibrationThread::checkStackOverFlow(const char* source_file, s32 source_line) const

void sead::NinJoyNpadDevice::VibrationThread::checkStackEndCorruption(const char* source_file, s32 source_line) const

void sead::NinJoyNpadDevice::VibrationThread::checkStackPointerOverFlow(const char* source_file, s32 source_line) const

void sead::NinJoyNpadDevice::VibrationThread::setStackOverflowExceptionEnable(bool)

ThreadListNode* sead::NinJoyNpadDevice::VibrationThread::getThreadListNode()

bool sead::NinJoyNpadDevice::VibrationThread::isDefaultPriority() const

Heap* sead::NinJoyNpadDevice::VibrationThread::getCurrentHeap() const

Heap* sead::NinJoyNpadDevice::VibrationThread::setCurrentHeap(Heap* heap)

FindContainHeapCache* sead::NinJoyNpadDevice::VibrationThread::getFindContainHeapCache()

const SafeString& sead::NinJoyNpadDevice::VibrationThread::getName() const

void sead::NinJoyNpadDevice::VibrationThread::setName(const SafeString& name)

NodeClassType sead::NinJoyNpadDevice::VibrationThread::getNodeClassType() const virtual

void sead::NinJoyNpadDevice::VibrationThread::run_() virtual protected

void sead::NinJoyNpadDevice::VibrationThread::calc_(MessageQueue::Element msg) pure virtual protected

uintptr_t sead::NinJoyNpadDevice::VibrationThread::getStackCheckStartAddress_() const virtual protected

void sead::NinJoyNpadDevice::VibrationThread::initStackCheck_() protected

void sead::NinJoyNpadDevice::VibrationThread::initStackCheckWithCurrentStackPointer_() protected

Heap* sead::NinJoyNpadDevice::VibrationThread::getDisposerHeap_() const protected

Variable documentation

static const s32 sead::NinJoyNpadDevice::VibrationThread::cDefaultPriority

MessageQueue sead::NinJoyNpadDevice::VibrationThread::mMessageQueue protected

s32 sead::NinJoyNpadDevice::VibrationThread::mStackSize protected

ThreadListNode sead::NinJoyNpadDevice::VibrationThread::mListNode protected

Heap* sead::NinJoyNpadDevice::VibrationThread::mCurrentHeap protected

FindContainHeapCache sead::NinJoyNpadDevice::VibrationThread::mFindContainHeapCache protected

MessageQueue::BlockType sead::NinJoyNpadDevice::VibrationThread::mBlockType protected

MessageQueue::Element sead::NinJoyNpadDevice::VibrationThread::mQuitMsg protected

u32 sead::NinJoyNpadDevice::VibrationThread::mId protected

State sead::NinJoyNpadDevice::VibrationThread::mState protected

CoreIdMask sead::NinJoyNpadDevice::VibrationThread::mAffinity protected

void* sead::NinJoyNpadDevice::VibrationThread::mStackTop protected

void* sead::NinJoyNpadDevice::VibrationThread::mStackTopForCheck protected

s32 sead::NinJoyNpadDevice::VibrationThread::mPriority protected