Libspinscale: Initial top-level SMO port to coroutine framework

We haven't ported everything. Just the top-level methods. We'll
dig in to the leaf stuff later. Surprisingly, this all went without
any real difficulties.

Runs like a charm on first try.
This commit is contained in:
2026-05-24 16:12:29 -04:00
parent c539e6e924
commit cde2737876
44 changed files with 1296 additions and 1530 deletions
+4 -10
View File
@@ -4,8 +4,7 @@
#include <spinscale/puppetApplication.h>
#include <spinscale/component.h>
#include <mindComponent.h>
#include <functional>
#include <spinscale/callback.h>
#include <body/bodyThread.h>
namespace smo {
@@ -20,16 +19,11 @@ public:
Body(Mind &parent, const std::shared_ptr<sscl::PuppetThread> &thread);
~Body() = default;
typedef std::function<void(bool)> bodyLifetimeMgmtOpCbFn;
void initializeReq(sscl::Callback<bodyLifetimeMgmtOpCbFn> callback);
void finalizeReq(sscl::Callback<bodyLifetimeMgmtOpCbFn> callback);
private:
class InitializeReq;
class FinalizeReq;
BodyViralPostingInvoker<bool> initializeCReq();
BodyViralPostingInvoker<bool> finalizeCReq();
};
} // namespace body
} // namespace smo
#endif // _BODY_COMPONENT_H
#endif // _BODY_COMPONENT_H