-/*
+/* $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"
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:
static RegBase *reg_app_;
static Application *app_;
+ static void *data_;
static void sighandler_(int);
static void sigalrm_(int) { }