ViewVC Help
View File | Revision Log | Show Annotations | Download File | View Changeset | Root Listing
root/repos/Spectre2/Daemon.hpp
(Generate patch)

Comparing Spectre2/Daemon.hpp (file contents):
Revision 402 by douglas, 2004-12-29T22:38:37-08:00 vs.
Revision 428 by douglas, 2005-03-24T17:38:00-08:00

# Line 15 | Line 15
15  
16   #include <menes-api/threads.hpp>
17   #include <menes-etl/fnbind.hpp>
18 + #include <menes-ext/threadset.hpp>
19  
20   class Daemon
21   {
21 protected:
22        bool running, loaded;
23        virtual int loop();
24        virtual void load() { api::Cerr << this << ios::NewLine; loaded = true; }//=0;
25        virtual void run() { api::Cerr << this << ios::NewLine; running = false; }//=0;
26        Daemon();
22   private:
23          _H<api::Thread> thread;
24 +        int loop();
25 + protected:
26 +        bool running, loaded;
27 +        virtual void load() = 0;
28 +        virtual void run() = 0;
29 +        Daemon() : running(false), loaded(false) {}
30   public:
31 <        virtual ~Daemon() { thread->Join(); }
31 >        virtual ~Daemon() { if (!thread.IsEmpty()) thread->Join(); }
32 >        void start();
33 >        void wait();
34          void reload() { loaded = false; }
35          void stop() { running = false; }
36   };
37  
38 < #endif // _Daemon_hpp_
38 > #endif//_Daemon_hpp_

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines