move task context definitions to new file under iface/common

This commit is contained in:
falsycat 2023-07-29 10:23:12 +09:00
parent 5c6d72c649
commit 6125f12384
4 changed files with 36 additions and 28 deletions

View File

@ -13,6 +13,7 @@ target_sources(nf7_iface
common/future.hh
common/observer.hh
common/task.hh
common/task_context.hh
common/value.hh
data/interface.hh
subsys/concurrency.hh

View File

@ -0,0 +1,33 @@
// No copyright
#pragma once
#include "iface/common/task.hh"
namespace nf7 {
class SyncTaskContext final {
public:
SyncTaskContext() = default;
SyncTaskContext(const SyncTaskContext&) = delete;
SyncTaskContext(SyncTaskContext&&) = delete;
SyncTaskContext& operator=(const SyncTaskContext&) = delete;
SyncTaskContext& operator=(SyncTaskContext&&) = delete;
};
using SyncTask = Task<SyncTaskContext&>;
using SyncTaskQueue = TaskQueue<SyncTask>;
class AsyncTaskContext final {
public:
AsyncTaskContext() = default;
AsyncTaskContext(const AsyncTaskContext&) = delete;
AsyncTaskContext(AsyncTaskContext&&) = delete;
AsyncTaskContext& operator=(const AsyncTaskContext&) = delete;
AsyncTaskContext& operator=(AsyncTaskContext&&) = delete;
};
using AsyncTask = Task<AsyncTaskContext&>;
using AsyncTaskQueue = TaskQueue<AsyncTask>;
} // namespace nf7

View File

@ -1,25 +1,12 @@
// No copyright
#pragma once
#include "iface/common/task.hh"
#include "iface/common/task_context.hh"
#include "iface/subsys/interface.hh"
namespace nf7::subsys {
class SyncTaskContext {
public:
SyncTaskContext() = default;
SyncTaskContext(const SyncTaskContext&) = delete;
SyncTaskContext(SyncTaskContext&&) = delete;
SyncTaskContext& operator=(const SyncTaskContext&) = delete;
SyncTaskContext& operator=(SyncTaskContext&&) = delete;
};
using SyncTaskQueue = TaskQueue<const SyncTaskContext&>;
using SyncTask = Task<const SyncTaskContext&>;
class Concurrency :
public Interface,
public SyncTaskQueue {

View File

@ -1,25 +1,12 @@
// No copyright
#pragma once
#include "iface/common/task.hh"
#include "iface/common/task_context.hh"
#include "iface/subsys/interface.hh"
namespace nf7::subsys {
class AsyncTaskContext {
public:
AsyncTaskContext() = default;
AsyncTaskContext(const AsyncTaskContext&) = delete;
AsyncTaskContext(AsyncTaskContext&&) = delete;
AsyncTaskContext& operator=(const AsyncTaskContext&) = delete;
AsyncTaskContext& operator=(AsyncTaskContext&&) = delete;
};
using AsyncTaskQueue = TaskQueue<const AsyncTaskContext&>;
using AsyncTask = Task<const AsyncTaskContext&>;
class Parallelism :
public Interface,
public AsyncTaskQueue {