Loading...
Searching...
No Matches
JobRegistry.h
Go to the documentation of this file.
1/*
2** This file is part of eOn.
3**
4** SPDX-License-Identifier: BSD-3-Clause
5*/
6#pragma once
7
8#include "BaseStructures.h"
9#include "Job.h"
10
11#include <functional>
12#include <memory>
13
14namespace eonc {
15
17 std::function<std::unique_ptr<Job>(std::unique_ptr<Parameters>, Runtime &)>;
18
19void registerJob(JobType type, JobFactory factory);
20// Pulls Job.cpp into static links so the registrars run (MSVC).
22
23} // namespace eonc
The job class is used to serve as an abstract class for all jobs, as well as to call a job at runtime...
Move-only composition root for process resources (dlopen loaders and the potential registry).
Definition Runtime.h:27
RAII resource manager for the ARTn C library with global synchronization.
void forceJobRegistration()
Definition Job.cpp:41
std::function< std::unique_ptr< Job >(std::unique_ptr< Parameters >, Runtime &)> JobFactory
Definition JobRegistry.h:16
void registerJob(JobType type, JobFactory factory)