ContentsIndex
Barracuda.LocalUserInfo
MaintainerStephan Friedrichs
Description
A module to store all information about locally active users, i.e. users on this node, not the remote users on the network.
Synopsis
type LocalUserInfo = Map UserID SingleUserInfo
type SingleUserInfo = (Set (ChannelName, ChannelID), PrivateKey, ControlResponse -> IO ())
users :: LocalUserInfo -> Set UserID
channels :: UserID -> LocalUserInfo -> Maybe (Set (ChannelName, ChannelID))
privateKey :: UserID -> LocalUserInfo -> Maybe PrivateKey
handle :: UserID -> LocalUserInfo -> Maybe (ControlResponse -> IO ())
userSend :: UserID -> LocalUserInfo -> ControlResponse -> IO ()
Documentation
type LocalUserInfo = Map UserID SingleUserInfo
A collection to store the SingleUserInfo for locally active users (users at this node).
type SingleUserInfo = (Set (ChannelName, ChannelID), PrivateKey, ControlResponse -> IO ())
A SingleUserInfo contains the joined channels (i.e. Sets of ChannelName and ChannelID), | a private key and a reponse function for a local user.
users :: LocalUserInfo -> Set UserID
Returns a list of all locally active users.
channels :: UserID -> LocalUserInfo -> Maybe (Set (ChannelName, ChannelID))
Returns the channels a given user has joined.
privateKey :: UserID -> LocalUserInfo -> Maybe PrivateKey
Returns the private key of a given user.
handle :: UserID -> LocalUserInfo -> Maybe (ControlResponse -> IO ())
Returns a function to send a ControlResponse to a given users GUI.
userSend :: UserID -> LocalUserInfo -> ControlResponse -> IO ()
Directly sends a ControlResponse to a given user. If the user is not registered, const (return ()) is returned.
Produced by Haddock version 0.8