priority-sync-0.2.1.0: PrioritySync/Internal/Unconstrained.hs
{-# LANGUAGE TypeFamilies #-}
module PrioritySync.Internal.Unconstrained
(Unconstrained(..))
where
import PrioritySync.Internal.UserData
import PrioritySync.Internal.RoomGroup
import PrioritySync.Internal.ClaimContext
import PrioritySync.Internal.Room
-- | Don't check any 'RoomConstraint's when acquiring a 'Room'.
data Unconstrained u = Unconstrained
type instance UserData (Unconstrained u) = u
instance RoomGroup (Unconstrained u) where
roomsOf = const []
instance ClaimContext (Unconstrained u) where
type ClaimHandle (Unconstrained u) = ()
approveClaimsEntering _ cs = mapM_ approve cs >> return ()
approveClaimsExiting _ cs = mapM_ approve cs >> return ()
waitingAction _ _ = return ()