30 lines
555 B
C
30 lines
555 B
C
|
#ifndef ISERVER_H
|
||
|
#define ISERVER_H
|
||
|
|
||
|
class IScreen;
|
||
|
|
||
|
class IServer {
|
||
|
public:
|
||
|
IServer() { }
|
||
|
virtual ~IServer() { }
|
||
|
|
||
|
// manipulators
|
||
|
|
||
|
// run the server until terminated
|
||
|
virtual void run() = 0;
|
||
|
|
||
|
// clipboard operations
|
||
|
virtual void onClipboardChanged(IScreen*) = 0;
|
||
|
|
||
|
// enter the given screen, leaving the previous screen. the cursor
|
||
|
// should be warped to the center of the screen.
|
||
|
virtual void setActiveScreen(IScreen*) = 0;
|
||
|
|
||
|
// accessors
|
||
|
|
||
|
// get the screen that was last entered
|
||
|
virtual IScreen* getActiveScreen() const = 0;
|
||
|
};
|
||
|
|
||
|
#endif
|