Improve CONFIG_WORLD_USE_BODY_THREAD handling
We no longer need to do ugly ifdefs in the constructor for Mind::Mind because we preprocess the handling for BODY and WORLD in SmoThreadIds.
This commit is contained in:
@@ -1,14 +1,16 @@
|
||||
#ifndef SMO_COMPONENT_THREAD_H
|
||||
#define SMO_COMPONENT_THREAD_H
|
||||
|
||||
#include <config.h>
|
||||
#include <string>
|
||||
// Include the spinscale componentThread.h which provides ComponentThread, PuppetThread, etc.
|
||||
#include <spinscale/componentThread.h>
|
||||
|
||||
namespace smo {
|
||||
|
||||
// Application-specific thread ID enum
|
||||
// Using regular enum (not enum class) to allow implicit conversion to ThreadId
|
||||
/* Application-specific thread ID enum
|
||||
* Using regular enum (not enum class) to allow implicit conversion to ThreadId
|
||||
*/
|
||||
enum SmoThreadId : sscl::ThreadId
|
||||
{
|
||||
MRNTT = 0,
|
||||
@@ -16,7 +18,11 @@ enum SmoThreadId : sscl::ThreadId
|
||||
SIMULATOR,
|
||||
SUBCONSCIOUS,
|
||||
BODY,
|
||||
WORLD,
|
||||
WORLD
|
||||
#ifdef CONFIG_WORLD_USE_BODY_THREAD
|
||||
= BODY
|
||||
#endif
|
||||
,
|
||||
N_ITEMS
|
||||
};
|
||||
|
||||
|
||||
+8
-12
@@ -1,3 +1,4 @@
|
||||
#include <config.h>
|
||||
#include <iostream>
|
||||
#include <opts.h>
|
||||
#include <spinscale/asynchronousContinuation.h>
|
||||
@@ -23,18 +24,13 @@ Mind::Mind(void)
|
||||
#ifndef CONFIG_WORLD_USE_BODY_THREAD
|
||||
, std::make_shared<MindThread>(SmoThreadId::WORLD, *this)
|
||||
#endif
|
||||
}),
|
||||
director(*this, std::static_pointer_cast<sscl::ComponentThread>(componentThreads[0])),
|
||||
canvas(*this, std::static_pointer_cast<sscl::ComponentThread>(componentThreads[1])),
|
||||
subconscious(*this, std::static_pointer_cast<sscl::ComponentThread>(componentThreads[2])),
|
||||
body(*this, std::static_pointer_cast<sscl::ComponentThread>(componentThreads[3])),
|
||||
world(*this,
|
||||
#ifndef CONFIG_WORLD_USE_BODY_THREAD
|
||||
std::static_pointer_cast<sscl::ComponentThread>(componentThreads[4])
|
||||
#else
|
||||
std::static_pointer_cast<sscl::ComponentThread>(componentThreads[3])
|
||||
#endif
|
||||
)
|
||||
}
|
||||
),
|
||||
director(*this, componentThreads[SmoThreadId::DIRECTOR - 1]),
|
||||
canvas(*this, componentThreads[SmoThreadId::SIMULATOR - 1]),
|
||||
subconscious(*this, componentThreads[SmoThreadId::SUBCONSCIOUS - 1]),
|
||||
body(*this, componentThreads[SmoThreadId::BODY - 1]),
|
||||
world(*this, componentThreads[SmoThreadId::WORLD - 1])
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user