]> git.tdb.fi Git - libs/core.git/blobdiff - source/core/application.h
Store hInstance in Application class on win32
[libs/core.git] / source / core / application.h
index fa0c9c41bcf42a7923237b21cdcc410233599226..d3b992e17a019321c31579cfb6804178a4d2d2ac 100644 (file)
@@ -1,10 +1,11 @@
-/*
+/* $Id$
+
 This file is part of libmspcore
 Copyright © 2006 Mikko Rasa, Mikkosoft Productions
 Distributed under the LGPL
 */
-#ifndef MSP_FRAMEWORK_APPLICATION_H_
-#define MSP_FRAMEWORK_APPLICATION_H_
+#ifndef MSP_CORE_APPLICATION_H_
+#define MSP_CORE_APPLICATION_H_
 
 #include "semaphore.h"
 
@@ -19,17 +20,19 @@ class Application
 public:
        virtual ~Application() { }
 
-       static int run(int, char **);
+       static int run(int, char **, void * =0);
        static void usage(const char *, const char *, bool);
+       static void *get_data() { return data_; }
 protected:
        enum LoopMode
        {
                NONE,       /// No main loop - main() will just return
                SLEEP,      /// Only sleep in the main loop - useful for servers
                TICK_SLEEP, /// Call tick every iteration, with a short sleep in between
-               TICK_YIELD  /// Call tick every iteration, with sched_yield in between
+               TICK_YIELD, /// Call tick every iteration, with sched_yield in between
+               TICK_BUSY   /// Call tick every iteration
        };
-       
+
        class RegBase
        {
        public:
@@ -68,6 +71,7 @@ private:
 
        static RegBase     *reg_app_;
        static Application *app_;
+       static void        *data_;
 
        static void sighandler_(int);
        static void sigalrm_(int) { }