Subversion Repositories HomeAutomation

Rev

Rev 1604 | Go to most recent revision | Details | Last modification | View Log | SVN | RSS feed

Rev Author Line No. Line
1601 runge 1
/*
2
 
3
    Copyright (C) 2010  Mattias Runge
4
 
5
    This program is free software; you can redistribute it and/or modify
6
    it under the terms of the GNU General Public License as published by
7
    the Free Software Foundation; either version 2 of the License, or
8
    (at your option) any later version.
9
 
10
    This program is distributed in the hope that it will be useful,
11
    but WITHOUT ANY WARRANTY; without even the implied warranty of
12
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13
    GNU General Public License for more details.
14
 
15
    You should have received a copy of the GNU General Public License along
16
    with this program; if not, write to the Free Software Foundation, Inc.,
17
    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
18
 
19
*/
20
 
21
#ifndef VM_PLUGIN_TIMER_H
22
#define VM_PLUGIN_TIMER_H
23
 
24
#include <boost/shared_ptr.hpp>
25
 
26
#include "vm/Plugin.h"
27
#include "logging/Logger.h"
28
#include "timer/Subscriber.h"
29
 
30
namespace atom {
31
namespace vm {
32
namespace plugin {
33
 
34
class Timer : public Plugin, public timer::Subscriber
35
{
36
public:
37
    typedef boost::shared_ptr<Timer> Pointer;
38
 
39
    Timer();
40
    virtual ~Timer();
41
 
42
private:
43
    static logging::Logger LOG;
44
 
45
    void SlotOnTimeoutHandler(timer::TimerId timer_id, bool repeat);
46
 
47
    static Value Export_StartTimer(const v8::Arguments& args);
48
    static Value Export_ClearTimer(const v8::Arguments& args);
49
};
50
 
51
}; // namespace plugin
52
}; // namespace vm
53
}; // namespace atom
54
 
55
#endif // VM_PLUGIN_TIMER_H