summaryrefslogtreecommitdiff
path: root/wayland/Wayland/Server.hs
blob: 07fc3d791b2d7485ead161f32d2e61bb9b0f13a4 (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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
-- |
-- Module     : Wayland.Server
-- Description: Low-level API for implementing the Wayland protocol.

module Wayland.Server
  ( -- * The Display Monad
    DisplayM
  , withDisplay
  , bindSocket
  ,  -- * Handling Messages
    MessageClass
  , Message(..)
  , MessageHandler
  , fromMessage
  , processMessages
  , requestTermination
  , -- * Objects
    Global
  , registerGlobal
  , hideGlobal
  , unregisterGlobal
  , createObject
  , destroyObject
  , sendEvent
  , flushEvents
  , -- * Clients
    Client
  , ClientMessage(..)
  , destroyClient
  , flushClientEvents
  , -- * Message Sources
    SignalSource
  , TimerSource
  , FileSource
  , FileEventMask(..)
  , registerSignalSource
  , unregisterSignalSource
  , registerTimerSource
  , setTimerSource
  , unregisterTimerSource
  , registerFileSource
  , updateFileSourceMask
  , unregisterFileSource
  , -- * Interface Descriptions
    InterfaceDesc(..)
  , MessageDesc(..)
  , ArgumentDesc(..)
  , Nullability(..)
  , -- * Object Types
    Object(..)
  , AnyObject
  , NewObject
  , RequestClass
  , EventClass
  , ArgumentMarshaller(..)
  , ArgumentDemarshaller(..)
  ) where

import Wayland.Server.Interface
import Wayland.Server.Object
import Wayland.Server.Display
import Wayland.Server.Client
import Wayland.Server.Types