2025-12-26 01:18:39 -04:00
|
|
|
#ifndef SMO_COMPONENT_THREAD_H
|
|
|
|
|
#define SMO_COMPONENT_THREAD_H
|
2025-01-10 17:37:49 -04:00
|
|
|
|
2026-02-18 02:05:44 -04:00
|
|
|
#include <config.h>
|
2025-12-26 01:18:39 -04:00
|
|
|
#include <string>
|
|
|
|
|
// Include the spinscale componentThread.h which provides ComponentThread, PuppetThread, etc.
|
|
|
|
|
#include <spinscale/componentThread.h>
|
2025-01-10 17:37:49 -04:00
|
|
|
|
2025-07-22 06:48:04 -04:00
|
|
|
namespace smo {
|
2025-01-10 17:37:49 -04:00
|
|
|
|
2026-02-18 02:05:44 -04:00
|
|
|
/* Application-specific thread ID enum
|
|
|
|
|
* Using regular enum (not enum class) to allow implicit conversion to ThreadId
|
|
|
|
|
*/
|
2025-12-27 16:21:22 -04:00
|
|
|
enum SmoThreadId : sscl::ThreadId
|
2025-09-14 11:07:05 -04:00
|
|
|
{
|
2025-12-26 01:18:39 -04:00
|
|
|
MRNTT = 0,
|
|
|
|
|
DIRECTOR,
|
|
|
|
|
SIMULATOR,
|
|
|
|
|
SUBCONSCIOUS,
|
|
|
|
|
BODY,
|
2026-02-18 02:05:44 -04:00
|
|
|
WORLD
|
|
|
|
|
#ifdef CONFIG_WORLD_USE_BODY_THREAD
|
|
|
|
|
= BODY
|
|
|
|
|
#endif
|
|
|
|
|
,
|
2025-12-26 01:18:39 -04:00
|
|
|
N_ITEMS
|
2025-09-14 11:07:05 -04:00
|
|
|
};
|
|
|
|
|
|
2026-02-22 18:54:56 -04:00
|
|
|
std::string getThreadName(sscl::ThreadId id);
|
|
|
|
|
|
2025-07-22 06:48:04 -04:00
|
|
|
} // namespace smo
|
2025-01-10 17:37:49 -04:00
|
|
|
|
2025-12-26 01:18:39 -04:00
|
|
|
#endif // SMO_COMPONENT_THREAD_H
|