-- | -- 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