summaryrefslogtreecommitdiff
path: root/include/Action.h
blob: 99ad7eac7e7370b4017418752bd8c52e6ab36e12 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#ifndef __ACTION_H__
#define __ACTION_H__
#ifdef __cplusplus

#include <Task.h>
#include <Handle.h>
#include <Variables.h>
#include <Exceptions.h>

class Action : public Base {
  public:
      Action(const String & = "");
      virtual ~Action();
    Action * Look4URL(const String &);
    virtual Task * Do(Variables *, Handle *) = 0;
    virtual void SendHead(Handle *);
    virtual void SendFoot(Handle *);
    virtual void ShowButton(Handle *, const String & = "    Ok    ", const String & = "start");
    virtual String GetTitle(void) = 0;
    String GetURL(void);
    void CleanUp(void);
  
  protected:
    void Accessed(void);
 
  private:
    static Action * start;
    Action * next, * prev;
    String URL;
    bool hastoclean, accessed;
};

#else
#error This only works with a C++ compiler
#endif
#endif