aboutsummaryrefslogtreecommitdiff
path: root/util/fbcompose/ServerAutoApp.hh
diff options
context:
space:
mode:
Diffstat (limited to 'util/fbcompose/ServerAutoApp.hh')
-rw-r--r--util/fbcompose/ServerAutoApp.hh85
1 files changed, 85 insertions, 0 deletions
diff --git a/util/fbcompose/ServerAutoApp.hh b/util/fbcompose/ServerAutoApp.hh
new file mode 100644
index 0000000..c71d8c1
--- /dev/null
+++ b/util/fbcompose/ServerAutoApp.hh
@@ -0,0 +1,85 @@
1/** ServerAutoApp.hh file for the fluxbox compositor. */
2
3// Copyright (c) 2011 Gediminas Liktaras (gliktaras at gmail dot com)
4//
5// Permission is hereby granted, free of charge, to any person obtaining a copy
6// of this software and associated documentation files (the "Software"), to deal
7// in the Software without restriction, including without limitation the rights
8// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9// copies of the Software, and to permit persons to whom the Software is
10// furnished to do so, subject to the following conditions:
11//
12// The above copyright notice and this permission notice shall be included in
13// all copies or substantial portions of the Software.
14//
15// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21// THE SOFTWARE.
22
23
24#ifndef FBCOMPOSITOR_SERVERAUTOAPP_HH
25#define FBCOMPOSITOR_SERVERAUTOAPP_HH
26
27#include "Enumerations.hh"
28#include "Exceptions.hh"
29
30#include "FbTk/App.hh"
31
32
33namespace FbCompositor {
34
35 class CompositorConfig;
36 class InitException;
37 class ServerAutoApp;
38
39
40 /**
41 * Main class for the compositor with the server auto mode.
42 */
43 class ServerAutoApp : public FbTk::App {
44 public:
45 //--- CONSTRUCTORS AND DESTRUCTORS -------------------------------------
46
47 /** Constructor. */
48 ServerAutoApp(const CompositorConfig &config);
49
50 /** Destructor. */
51 ~ServerAutoApp();
52
53
54 //--- EVENT LOOP -------------------------------------------------------
55
56 /** Enters the event loop. */
57 void eventLoop();
58
59
60 private:
61 //--- CONSTRUCTORS -----------------------------------------------------
62
63 /** Copy constructor. */
64 ServerAutoApp(const ServerAutoApp&);
65
66 /** Assignment operator. */
67 ServerAutoApp operator=(const ServerAutoApp&);
68
69
70 //--- INITIALIZATION FUNCTIONS -----------------------------------------
71
72 /** Initialize Composite extension. */
73 void initComposite();
74
75 /** Prepare screens. */
76 void initScreens();
77 };
78
79
80 // Custom signal handler for ServerAuto mode.
81 void handleSignal_ServerAuto(int sig);
82}
83
84
85#endif // FBCOMPOSITOR_SERVERAUTOAPP_HH