]> git.ipfire.org Git - thirdparty/systemd.git/blob - src/xdg-autostart-generator/xdg-autostart-service.h
core: reduce scope of variants
[thirdparty/systemd.git] / src / xdg-autostart-generator / xdg-autostart-service.h
1 /* SPDX-License-Identifier: LGPL-2.1+ */
2 #pragma once
3
4 #include "macro.h"
5
6 typedef struct XdgAutostartService {
7 char *name;
8 char *path;
9 char *description; /* Name in XDG desktop file */
10
11 char *type; /* Purely as an assertion check */
12 char *exec_string;
13 char *working_directory;
14
15 char **only_show_in;
16 char **not_show_in;
17
18 char *try_exec;
19 char *autostart_condition; /* This is mostly GNOME specific */
20 char *kde_autostart_condition;
21
22 char *gnome_autostart_phase;
23
24 bool hidden;
25 bool systemd_skip;
26
27 } XdgAutostartService;
28
29
30 XdgAutostartService * xdg_autostart_service_free(XdgAutostartService *s);
31 DEFINE_TRIVIAL_CLEANUP_FUNC(XdgAutostartService*, xdg_autostart_service_free);
32
33 char *xdg_autostart_service_translate_name(const char *name);
34 int xdg_autostart_format_exec_start(const char *exec, char **ret_exec_start);
35
36 XdgAutostartService *xdg_autostart_service_parse_desktop(const char *path);
37 int xdg_autostart_service_generate_unit(XdgAutostartService *service, const char *dest);