From 342b273234405ab76dc159d2e402bfb1ddfa1d8f Mon Sep 17 00:00:00 2001 From: Pixel Date: Mon, 3 Oct 2011 14:48:05 -0700 Subject: First commit - very basic features. --- src/Main.cc | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 src/Main.cc (limited to 'src/Main.cc') diff --git a/src/Main.cc b/src/Main.cc new file mode 100644 index 0000000..04d867f --- /dev/null +++ b/src/Main.cc @@ -0,0 +1,34 @@ +#include "Main.h" + +Balau::AtStart * Balau::AtStart::s_head = 0; +Balau::AtExit * Balau::AtExit::s_head = 0; + +Balau::AtStart::AtStart(int priority) : m_priority(priority) { + if (priority < 0) + return; + + AtStart ** ptr = &s_head; + + m_next = 0; + + for (ptr = &s_head; *ptr && (priority > (*ptr)->m_priority); ptr = &((*ptr)->m_next)); + + m_next = *ptr; + *ptr = this; +} + +Balau::AtExit::AtExit(int priority) : m_priority(priority) { + if (priority < 0) + return; + + AtExit ** ptr = &s_head; + + m_next = 0; + + for (ptr = &s_head; *ptr && (priority > (*ptr)->m_priority); ptr = &((*ptr)->m_next)); + + m_next = *ptr; + *ptr = this; +} + +Balau::Main * Balau::Main::application = NULL; -- cgit v1.2.3