ThreadManager

All memberfunctions and all membervariables are defined static, meaning they are callable even if there virtually never was instanced an object of the ThreadManager Class.


public:
static void setup (void);

static void campaign_wait_for_sim (DWORD maxtime);
static void sim_signal_campaign (void);

static void sim_wait_for_campaign (DWORD maxtime);
static  void campaign_signal_sim (void);

static void start_campaign_thread (UFUNCTION function);
staticvoid start_sim_thread (UFUNCTION function);

static void stop_campaign_thread (void);
static void stop_sim_thread (void);

static  BOOL campaign_active (void)
 { return campaign_thread.status & THREAD_STATUS_ACTIVE; }

static void slow_campaign (void);
static void fast_campaign (void);
static void very_fast_campaign (void);

private:
static ThreadInfo campaign_thread, sim_thread;

static HANDLE campaign_wait_event;
static HANDLE sim_wait_event;

static int initialized;



 

struct ThreadInfo

}
 HANDLE      handle;
 DWORD       status;
 unsigned long   id;
};