Ken Van Hoeylandt de46401d85
Loader refactored (#235)
- Moved all Loader functionality into Loader class
- Improvement for Dispatcher construction
- Dispatcher and DispatcherThread: you can now specify the timeout when calling `dispatch()`. Default timeout is max timeout.
2025-02-23 16:08:00 +01:00

56 lines
1.2 KiB
C++

#pragma once
#include "Tactility/app/AppInstance.h"
#include "Tactility/app/AppManifest.h"
#include "Tactility/service/loader/Loader.h"
#include <Tactility/DispatcherThread.h>
#include <Tactility/EventFlag.h>
#include <Tactility/MessageQueue.h>
#include <Tactility/PubSub.h>
#include <Tactility/RtosCompatSemaphore.h>
#include <Tactility/Thread.h>
#include <stack>
#include <utility>
namespace tt::service::loader {
// region LoaderMessage
class LoaderMessageAppStart {
public:
std::string id;
std::shared_ptr<const Bundle> _Nullable parameters;
LoaderMessageAppStart() = default;
LoaderMessageAppStart(LoaderMessageAppStart& other) = default;
LoaderMessageAppStart(const std::string& id, std::shared_ptr<const Bundle> parameters) :
id(id),
parameters(std::move(parameters))
{}
~LoaderMessageAppStart() = default;
};
class LoaderMessageAppStop {
public:
std::string id;
LoaderMessageAppStop() = default;
LoaderMessageAppStop(LoaderMessageAppStop& other) = default;
LoaderMessageAppStop(const std::string& id) : id(id) {}
~LoaderMessageAppStop() = default;
};
// endregion LoaderMessage
struct Loader {
};
} // namespace