resolve merge conflict
[wakeup.git] / src / action.h
1 #include <String.h>
2
3
4 class Action
5 {
6 protected:
7
8    String  parameters;
9
10 public:
11
12    void set_parameters(String p)
13    {
14       parameters = p;
15    }
16
17    virtual String command_line(void)
18    {
19       return String("no command");
20    }
21
22    virtual int execute() = 0;
23
24 };
25
26 class Lightstep : public Action
27 {
28    virtual String command_line(void)
29    {
30       String cmd("lightcontrol ");
31       cmd += parameters;
32       return cmd;
33    }
34
35    virtual int execute()
36    {
37       String cmd("lightcontrol ");
38       cmd += parameters;
39       return system(cmd);
40    }
41 };
42
43 class Curtainstep : public Action
44 {
45    virtual String command_line(void)
46    {
47       String cmd("curtain ");
48       cmd += parameters;
49       return cmd;
50    }
51
52    virtual int execute()
53    {
54       String cmd("curtain ");
55       cmd += parameters;
56       return system(cmd);
57    }
58 };
59
60 class Cancelstep : public Action
61 {
62    virtual String command_line(void)
63    {
64       String cmd("cancel ");
65       cmd += parameters;
66       return cmd;
67    }
68
69    virtual int execute()
70    {
71       return 0;
72    }
73 };
74
75 class Exitstep : public Action
76 {
77    virtual String command_line(void)
78    {
79       String cmd("exit");
80       cmd += parameters;
81       return cmd;
82    }
83
84    virtual int execute()
85    {
86       exit(0);
87    }
88 };
89
90 class Sleepstep : public Action
91 {
92    virtual String command_line(void)
93    {
94       String cmd("sleep ");
95       cmd += parameters;
96       return cmd;
97    }
98
99    virtual int execute()
100    {
101       String cmd("sleep ");
102       cmd += parameters;
103       return system(cmd);
104    }
105 };
106