Mercurial > projects > mde
diff mde/setup/exception.d @ 85:56c0ddd90193
Intermediate commit (not stable). Changes to init system.
author | Diggory Hardy <diggory.hardy@gmail.com> |
---|---|
date | Thu, 11 Sep 2008 11:33:51 +0100 |
parents | 66d555da083e |
children |
line wrap: on
line diff
--- a/mde/setup/exception.d Sun Aug 31 15:59:17 2008 +0100 +++ b/mde/setup/exception.d Thu Sep 11 11:33:51 2008 +0100 @@ -13,7 +13,8 @@ You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ -/// Contains the exception classes for Init. +/** Contains the exception classes for Init, and the StageState type to remove the need for init + * functions to import other Init modules. */ module mde.setup.exception; import mde.exception; @@ -29,9 +30,18 @@ } } -/// Thrown when an init stage fails. +/// State of an InitStage. +enum StageState : byte { + INACTIVE = 0, /// run init on startup + ACTIVE = 1, /// run cleanup on shutdown + ERROR = -1, /// locked; don't run init or cleanup +} + +/// May be thrown when an init or cleanup function fails to explicitly set the stage's state. class InitStageException : InitException { - this () { + this (StageState s) { + state = s; super(""); } + StageState state; }