p->trigger_path_filename = mfree(p->trigger_path_filename);
}
-static void activation_details_path_serialize(ActivationDetails *details, FILE *f) {
- ActivationDetailsPath *p = ASSERT_PTR(ACTIVATION_DETAILS_PATH(details));
+static void activation_details_path_serialize(const ActivationDetails *details, FILE *f) {
+ const ActivationDetailsPath *p = ASSERT_PTR(ACTIVATION_DETAILS_PATH(details));
assert(f);
return 0;
}
-static int activation_details_path_append_env(ActivationDetails *details, char ***strv) {
- ActivationDetailsPath *p = ASSERT_PTR(ACTIVATION_DETAILS_PATH(details));
+static int activation_details_path_append_env(const ActivationDetails *details, char ***strv) {
+ const ActivationDetailsPath *p = ASSERT_PTR(ACTIVATION_DETAILS_PATH(details));
char *s;
int r;
return 1; /* Return the number of variables added to the env block */
}
-static int activation_details_path_append_pair(ActivationDetails *details, char ***strv) {
- ActivationDetailsPath *p = ASSERT_PTR(ACTIVATION_DETAILS_PATH(details));
+static int activation_details_path_append_pair(const ActivationDetails *details, char ***strv) {
+ const ActivationDetailsPath *p = ASSERT_PTR(ACTIVATION_DETAILS_PATH(details));
int r;
assert(strv);
return 1;
}
-static void activation_details_timer_serialize(ActivationDetails *details, FILE *f) {
- ActivationDetailsTimer *t = ASSERT_PTR(ACTIVATION_DETAILS_TIMER(details));
+static void activation_details_timer_serialize(const ActivationDetails *details, FILE *f) {
+ const ActivationDetailsTimer *t = ASSERT_PTR(ACTIVATION_DETAILS_TIMER(details));
assert(f);
assert(t);
return 0;
}
-static int activation_details_timer_append_env(ActivationDetails *details, char ***strv) {
- ActivationDetailsTimer *t = ASSERT_PTR(ACTIVATION_DETAILS_TIMER(details));
+static int activation_details_timer_append_env(const ActivationDetails *details, char ***strv) {
+ const ActivationDetailsTimer *t = ASSERT_PTR(ACTIVATION_DETAILS_TIMER(details));
int r;
assert(strv);
return 2; /* Return the number of variables added to the env block */
}
-static int activation_details_timer_append_pair(ActivationDetails *details, char ***strv) {
- ActivationDetailsTimer *t = ASSERT_PTR(ACTIVATION_DETAILS_TIMER(details));
+static int activation_details_timer_append_pair(const ActivationDetails *details, char ***strv) {
+ const ActivationDetailsTimer *t = ASSERT_PTR(ACTIVATION_DETAILS_TIMER(details));
int r;
assert(strv);
return mfree(details);
}
-void activation_details_serialize(ActivationDetails *details, FILE *f) {
+void activation_details_serialize(const ActivationDetails *details, FILE *f) {
if (!details || details->trigger_unit_type == _UNIT_TYPE_INVALID)
return;
return -EINVAL;
}
-int activation_details_append_env(ActivationDetails *details, char ***strv) {
+int activation_details_append_env(const ActivationDetails *details, char ***strv) {
int r = 0;
assert(strv);
return r + !isempty(details->trigger_unit_name); /* Return the number of variables added to the env block */
}
-int activation_details_append_pair(ActivationDetails *details, char ***strv) {
+int activation_details_append_pair(const ActivationDetails *details, char ***strv) {
int r = 0;
assert(strv);
/* For casting an activation event into the various unit-specific types */
#define DEFINE_ACTIVATION_DETAILS_CAST(UPPERCASE, MixedCase, UNIT_TYPE) \
- static inline MixedCase* UPPERCASE(ActivationDetails *a) { \
+ static inline MixedCase* UPPERCASE(const ActivationDetails *a) { \
if (_unlikely_(!a || a->trigger_unit_type != UNIT_##UNIT_TYPE)) \
return NULL; \
\
ActivationDetails *activation_details_new(Unit *trigger_unit);
ActivationDetails *activation_details_ref(ActivationDetails *p);
ActivationDetails *activation_details_unref(ActivationDetails *p);
-void activation_details_serialize(ActivationDetails *p, FILE *f);
+void activation_details_serialize(const ActivationDetails *p, FILE *f);
int activation_details_deserialize(const char *key, const char *value, ActivationDetails **info);
-int activation_details_append_env(ActivationDetails *info, char ***strv);
-int activation_details_append_pair(ActivationDetails *info, char ***strv);
+int activation_details_append_env(const ActivationDetails *info, char ***strv);
+int activation_details_append_pair(const ActivationDetails *info, char ***strv);
DEFINE_TRIVIAL_CLEANUP_FUNC(ActivationDetails*, activation_details_unref);
typedef struct ActivationDetailsVTable {
void (*done)(ActivationDetails *info);
/* This should serialize all type-specific variables. */
- void (*serialize)(ActivationDetails *info, FILE *f);
+ void (*serialize)(const ActivationDetails *info, FILE *f);
/* This should deserialize all type-specific variables, one at a time. */
int (*deserialize)(const char *key, const char *value, ActivationDetails **info);
/* This should format the type-specific variables for the env block of the spawned service,
* and return the number of added items. */
- int (*append_env)(ActivationDetails *info, char ***strv);
+ int (*append_env)(const ActivationDetails *info, char ***strv);
/* This should append type-specific variables as key/value pairs for the D-Bus property of the job,
* and return the number of added pairs. */
- int (*append_pair)(ActivationDetails *info, char ***strv);
+ int (*append_pair)(const ActivationDetails *info, char ***strv);
} ActivationDetailsVTable;
extern const ActivationDetailsVTable * const activation_details_vtable[_UNIT_TYPE_MAX];