core/manager: introduce manager_add_job_full() which takes extra TransactionAddFlags
No functional change. Preparation for later commits.
This commit is contained in:
+13
-8
@@ -2,6 +2,7 @@
|
||||
#pragma once
|
||||
|
||||
typedef struct Transaction Transaction;
|
||||
typedef enum TransactionAddFlags TransactionAddFlags;
|
||||
|
||||
#include "hashmap.h"
|
||||
#include "job.h"
|
||||
@@ -10,14 +11,14 @@ typedef struct Transaction Transaction;
|
||||
|
||||
struct Transaction {
|
||||
/* Jobs to be added */
|
||||
Hashmap *jobs; /* Unit object => Job object list 1:1 */
|
||||
Job *anchor_job; /* the job the user asked for */
|
||||
Hashmap *jobs; /* Unit object => Job object list 1:1 */
|
||||
Job *anchor_job; /* The job the user asked for */
|
||||
bool irreversible;
|
||||
};
|
||||
|
||||
Transaction *transaction_new(bool irreversible);
|
||||
Transaction *transaction_free(Transaction *tr);
|
||||
Transaction *transaction_abort_and_free(Transaction *tr);
|
||||
Transaction* transaction_new(bool irreversible);
|
||||
Transaction* transaction_free(Transaction *tr);
|
||||
Transaction* transaction_abort_and_free(Transaction *tr);
|
||||
DEFINE_TRIVIAL_CLEANUP_FUNC(Transaction*, transaction_abort_and_free);
|
||||
|
||||
typedef enum TransactionAddFlags {
|
||||
@@ -31,13 +32,19 @@ typedef enum TransactionAddFlags {
|
||||
|
||||
/* Indicate that we're in the recursion for processing UNIT_ATOM_PROPAGATE_STOP_GRACEFUL units */
|
||||
TRANSACTION_PROCESS_PROPAGATE_STOP_GRACEFUL = 1 << 5,
|
||||
|
||||
_TRANSACTION_FLAGS_MASK_PUBLIC = 0,
|
||||
} TransactionAddFlags;
|
||||
|
||||
void transaction_add_propagate_reload_jobs(
|
||||
Transaction *tr,
|
||||
Unit *unit, Job *by,
|
||||
Unit *unit,
|
||||
Job *by,
|
||||
TransactionAddFlags flags);
|
||||
|
||||
int transaction_add_isolate_jobs(Transaction *tr, Manager *m);
|
||||
int transaction_add_triggering_jobs(Transaction *tr, Unit *u);
|
||||
|
||||
int transaction_add_job_and_dependencies(
|
||||
Transaction *tr,
|
||||
JobType type,
|
||||
@@ -47,5 +54,3 @@ int transaction_add_job_and_dependencies(
|
||||
sd_bus_error *e);
|
||||
|
||||
int transaction_activate(Transaction *tr, Manager *m, JobMode mode, Set *affected, sd_bus_error *e);
|
||||
int transaction_add_isolate_jobs(Transaction *tr, Manager *m);
|
||||
int transaction_add_triggering_jobs(Transaction *tr, Unit *u);
|
||||
|
||||
Reference in New Issue
Block a user