diff options
Diffstat (limited to 'src/unit')
-rw-r--r-- | src/unit/Unit.vala | 14 | ||||
-rw-r--r-- | src/unit/mk/unit.mk | 32 | ||||
-rw-r--r-- | src/unit/rc/Unit.m4 | 29 | ||||
-rw-r--r-- | src/unit/rc/UnitInternals.m4 | 32 | ||||
-rw-r--r-- | src/unit/rc/template.mk | 27 | ||||
-rw-r--r-- | src/unit/rc/template.vala | 7 | ||||
-rw-r--r-- | src/unit/rc/unitize_entry.m4 | 19 |
7 files changed, 160 insertions, 0 deletions
diff --git a/src/unit/Unit.vala b/src/unit/Unit.vala new file mode 100644 index 0000000..f297974 --- /dev/null +++ b/src/unit/Unit.vala @@ -0,0 +1,14 @@ +/* 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. + */ + +namespace Unit { + public void init() throws Error { + } + + public void terminate() { + } +} + diff --git a/src/unit/mk/unit.mk b/src/unit/mk/unit.mk new file mode 100644 index 0000000..618ebca --- /dev/null +++ b/src/unit/mk/unit.mk @@ -0,0 +1,32 @@ + +# 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 + +# 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 + +# 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 := \ + rc/UnitInternals.m4 \ + rc/Unit.m4 \ + rc/template.mk \ + rc/unitize_entry.m4 \ + rc/template.vala + +# unitize.mk must be called at the end of each UNIT_DIR.mk file. +include unitize.mk + 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(); +} + +} |