Mercurial > hg > openttd
view src/fiber.hpp @ 10123:57aa34285d05 draft
(svn r14307) -Fix: when deleting a station, remove news items regarding it
author | smatz <smatz@openttd.org> |
---|---|
date | Sat, 13 Sep 2008 10:19:51 +0000 |
parents | d48433370037 |
children |
line wrap: on
line source
/* $Id$ */ /** @file fiber.hpp Base for all fiber related classes. */ #ifndef FIBER_HPP #define FIBER_HPP typedef void (CDECL *FiberFunc)(void *); class Fiber { public: /** * Switch to this fiber. */ virtual void SwitchToFiber() = 0; /** * Exit a fiber. */ virtual void Exit() = 0; /** * Check if a fiber is running. */ virtual bool IsRunning() = 0; /** * Get the 'param' data of the Fiber. */ virtual void *GetFiberData() = 0; /** * Virtual Destructor to mute warnings. */ virtual ~Fiber() {}; /** * Create a new fiber, calling proc(param) when running. */ static Fiber *New(FiberFunc proc, void *param); /** * Attach a current thread to a new fiber. */ static Fiber *AttachCurrent(void *param); /** * Get the 'param' data of the current active Fiber. */ static void *GetCurrentFiberData(); }; #endif /* FIBER_HPP */