Move no_instances information to shared/
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Sat, 30 Apr 2016 22:34:13 +0000 (18:34 -0400)
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Sun, 1 May 2016 23:58:59 +0000 (19:58 -0400)
This way it can be used in install.c in subsequent commit.

src/core/automount.c
src/core/busname.c
src/core/device.c
src/core/mount.c
src/core/scope.c
src/core/slice.c
src/core/swap.c
src/core/unit.c
src/core/unit.h
src/shared/install.c
src/shared/install.h

index 7374d50..1239a0e 100644 (file)
@@ -1050,8 +1050,6 @@ const UnitVTable automount_vtable = {
                 "Automount\0"
                 "Install\0",
 
-        .no_instances = true,
-
         .init = automount_init,
         .load = automount_load,
         .done = automount_done,
index 4d43bd2..e7b7b5c 100644 (file)
@@ -1028,8 +1028,6 @@ const UnitVTable busname_vtable = {
                 "Install\0",
         .private_section = "BusName",
 
-        .no_instances = true,
-
         .init = busname_init,
         .done = busname_done,
         .load = busname_load,
index d01bec5..16e56ef 100644 (file)
@@ -841,8 +841,6 @@ const UnitVTable device_vtable = {
                 "Device\0"
                 "Install\0",
 
-        .no_instances = true,
-
         .init = device_init,
         .done = device_done,
         .load = unit_load_fragment_and_dropin_optional,
index adc74c3..c8a898e 100644 (file)
@@ -1839,8 +1839,6 @@ const UnitVTable mount_vtable = {
                 "Install\0",
         .private_section = "Mount",
 
-        .no_instances = true,
-
         .init = mount_init,
         .load = mount_load,
         .done = mount_done,
index 3915e5c..238f63a 100644 (file)
@@ -569,7 +569,6 @@ const UnitVTable scope_vtable = {
                 "Install\0",
         .private_section = "Scope",
 
-        .no_instances = true,
         .can_transient = true,
 
         .init = scope_init,
index 96c7c74..c7700b8 100644 (file)
@@ -309,7 +309,6 @@ const UnitVTable slice_vtable = {
                 "Install\0",
         .private_section = "Slice",
 
-        .no_instances = true,
         .can_transient = true,
 
         .init = slice_init,
index f486a44..c018648 100644 (file)
@@ -1465,8 +1465,6 @@ const UnitVTable swap_vtable = {
                 "Install\0",
         .private_section = "Swap",
 
-        .no_instances = true,
-
         .init = swap_init,
         .load = swap_load,
         .done = swap_done,
index 0313ee2..a2726f1 100644 (file)
@@ -193,7 +193,7 @@ int unit_add_name(Unit *u, const char *text) {
         if (r < 0)
                 return r;
 
-        if (i && unit_vtable[t]->no_instances)
+        if (i && !unit_type_may_template(t))
                 return -EINVAL;
 
         /* Ensure that this unit is either instanced or not instanced,
index 6ac925a..be62e88 100644 (file)
@@ -416,9 +416,6 @@ struct UnitVTable {
         /* The strings to print in status messages */
         UnitStatusMessageFormats status_message_formats;
 
-        /* Instances make no sense for this type */
-        bool no_instances:1;
-
         /* True if transient units of this type are OK */
         bool can_transient:1;
 };
index 1635f50..cc39aaf 100644 (file)
@@ -78,6 +78,15 @@ bool unit_type_may_alias(UnitType type) {
                       UNIT_PATH);
 }
 
+bool unit_type_may_template(UnitType type) {
+        return IN_SET(type,
+                      UNIT_SERVICE,
+                      UNIT_SOCKET,
+                      UNIT_TARGET,
+                      UNIT_TIMER,
+                      UNIT_PATH);
+}
+
 static int in_search_path(const LookupPaths *p, const char *path) {
         _cleanup_free_ char *parent = NULL;
         char **i;
index 8a8bd09..5812447 100644 (file)
@@ -139,6 +139,7 @@ static inline bool UNIT_FILE_INSTALL_INFO_HAS_ALSO(UnitFileInstallInfo *i) {
 }
 
 bool unit_type_may_alias(UnitType type) _const_;
+bool unit_type_may_template(UnitType type) _const_;
 
 int unit_file_enable(
                 UnitFileScope scope,