{-| Module : Network.MPD.Commands.ClientToClient Copyright : (c) Joachim Fasting 2013 License : MIT (see LICENSE) Maintainer : joachifm@fastmail.fm Stability : stable Portability : unportable Client-to-client communication. -} module Network.MPD.Commands.ClientToClient ( -- * Types A.ChannelName , A.MessageText -- * Subscribing to channels , subscribe , unsubscribe , channels -- * Communicating with other clients , readMessages , sendMessage ) where ------------------------------------------------------------------------ import qualified Network.MPD.Applicative.Internal as A import qualified Network.MPD.Applicative.ClientToClient as A import Network.MPD.Core ------------------------------------------------------------------------ subscribe :: MonadMPD m => A.ChannelName -> m () subscribe = A.runCommand . A.subscribe unsubscribe :: MonadMPD m => A.ChannelName -> m () unsubscribe = A.runCommand . A.subscribe channels :: MonadMPD m => m [A.ChannelName] channels = A.runCommand A.channels readMessages :: MonadMPD m => m [(A.ChannelName, A.MessageText)] readMessages = A.runCommand A.readMessages sendMessage :: MonadMPD m => A.ChannelName -> A.MessageText -> m () sendMessage name text = A.runCommand (A.sendMessage name text)