summaryrefslogtreecommitdiff
path: root/src/unit/rc
diff options
context:
space:
mode:
Diffstat (limited to 'src/unit/rc')
-rw-r--r--src/unit/rc/Unit.m429
-rw-r--r--src/unit/rc/UnitInternals.m432
-rw-r--r--src/unit/rc/template.mk27
-rw-r--r--src/unit/rc/template.vala7
-rw-r--r--src/unit/rc/unitize_entry.m419
5 files changed, 114 insertions, 0 deletions
diff --git a/src/unit/rc/Unit.m4 b/src/unit/rc/Unit.m4
new file mode 100644
index 0000000..13ef6a7
--- /dev/null
+++ b/src/unit/rc/Unit.m4
@@ -0,0 +1,29 @@
+/* Copyright 2011-2014 Yorba Foundation
+ *
+ * This software is licensed under the GNU Lesser General Public License
+ * (version 2.1 or later). See the COPYING file in this distribution.
+ */
+
+/* This file is the master unit file for the _UNIT_NAME_ unit. It should be edited to include
+ * whatever code is deemed necessary.
+ *
+ * The init() and terminate() methods are mandatory.
+ *
+ * If the unit needs to be configured prior to initialization, add the proper parameters to
+ * the preconfigure() method, implement it, and ensure in init() that it's been called.
+ */
+
+namespace _UNIT_NAME_ {
+
+// preconfigure may be deleted if not used.
+public void preconfigure() {
+}
+
+public void init() throws Error {
+}
+
+public void terminate() {
+}
+
+}
+
diff --git a/src/unit/rc/UnitInternals.m4 b/src/unit/rc/UnitInternals.m4
new file mode 100644
index 0000000..4fe3153
--- /dev/null
+++ b/src/unit/rc/UnitInternals.m4
@@ -0,0 +1,32 @@
+/* Copyright 2011-2014 Yorba Foundation
+ *
+ * This software is licensed under the GNU Lesser General Public License
+ * (version 2.1 or later). See the COPYING file in this distribution.
+ *
+ * Auto-generated file. Do not modify!
+ */
+
+namespace _UNIT_NAME_ {
+
+private int _unit_init_count = 0;
+
+public void init_entry() throws Error {
+ if (_unit_init_count++ != 0)
+ return;
+
+ _UNIT_USES_INITS_
+
+ _UNIT_NAME_.init();
+}
+
+public void terminate_entry() {
+ if (_unit_init_count == 0 || --_unit_init_count != 0)
+ return;
+
+ _UNIT_NAME_.terminate();
+
+ _UNIT_USES_TERMINATORS_
+}
+
+}
+
diff --git a/src/unit/rc/template.mk b/src/unit/rc/template.mk
new file mode 100644
index 0000000..34873d3
--- /dev/null
+++ b/src/unit/rc/template.mk
@@ -0,0 +1,27 @@
+
+# UNIT_NAME is the Vala namespace. A file named UNIT_NAME.vala must be in this directory with
+# a init() and terminate() function declared in the namespace.
+UNIT_NAME := _UNIT_NAME_
+
+# UNIT_DIR should match the subdirectory the files are located in. Generally UNIT_NAME in all
+# lowercase. The name of this file should be UNIT_DIR.mk.
+UNIT_DIR := _UNIT_DIR_
+
+# All Vala files in the unit should be listed here with no subdirectory prefix.
+#
+# NOTE: Do *not* include the unit's master file, i.e. UNIT_NAME.vala.
+UNIT_FILES :=
+
+# Any unit this unit relies upon (and should be initialized before it's initialized) should
+# be listed here using its Vala namespace.
+#
+# NOTE: All units are assumed to rely upon the unit-unit. Do not include that here.
+UNIT_USES :=
+
+# List any additional files that are used in the build process as a part of this unit that should
+# be packaged in the tarball. File names should be relative to the unit's home directory.
+UNIT_RC :=
+
+# unitize.mk must be called at the end of each UNIT_DIR.mk file.
+include unitize.mk
+
diff --git a/src/unit/rc/template.vala b/src/unit/rc/template.vala
new file mode 100644
index 0000000..4869700
--- /dev/null
+++ b/src/unit/rc/template.vala
@@ -0,0 +1,7 @@
+/* Copyright 2011-2014 Yorba Foundation
+ *
+ * This software is licensed under the GNU Lesser General Public License
+ * (version 2.1 or later). See the COPYING file in this distribution.
+ */
+
+
diff --git a/src/unit/rc/unitize_entry.m4 b/src/unit/rc/unitize_entry.m4
new file mode 100644
index 0000000..34407e4
--- /dev/null
+++ b/src/unit/rc/unitize_entry.m4
@@ -0,0 +1,19 @@
+/* Copyright 2011-2014 Yorba Foundation
+ *
+ * This software is licensed under the GNU Lesser General Public License
+ * (version 2.1 or later). See the COPYING file in this distribution.
+ *
+ * Auto-generated file. Do not modify!
+ */
+
+namespace _APP_UNIT_ {
+
+public void app_init() throws Error {
+ _APP_UNIT_.init_entry();
+}
+
+public void app_terminate() {
+ _APP_UNIT_.terminate_entry();
+}
+
+}