module Network.Skype.Protocol.User where
import Data.Typeable (Typeable)
import Network.Skype.Protocol.Types
data UserProperty = UserHandle UserID
| UserFullName UserFullName
| UserBirthday (Maybe UserBirthday)
| UserSex UserSex
| UserLanguage (Maybe (UserLanguageISOCode, UserLanguage))
| UserCountry (Maybe (UserCountryISOCode, UserCountry))
| UserProvince UserProvince
| UserCity UserCity
| UserHomePhone UserPhone
| UserOfficePhone UserPhone
| UserMobilePhone UserPhone
| UserHomepage UserHomepage
| UserAbout UserAbout
| UserHasCallEquipment Bool
| UserIsVideoCapable Bool
| UserIsVoicemailCapable Bool
| UserBuddyStatus UserBuddyStatus
| UserIsAuthorized Bool
| UserIsBlocked Bool
| UserOnlineStatus UserOnlineStatus
| UserLastOnlineTimestamp Timestamp
| UserCanLeaveVoicemail Bool
| UserSpeedDial UserSpeedDial
| UserReceiveAuthRequest UserAuthRequestMessage
| UserMoodText UserMoodText
| UserRichMoodText UserRichMoodText
| UserTimezone UserTimezoneOffset
| UserIsCallForwardingActive Bool
| UserNumberOfAuthedBuddies Int
| UserDisplayName UserDisplayName
deriving (Eq, Show, Typeable)
data UserSex = UserSexUnknown
| UserSexMale
| UserSexFemale
deriving (Eq, Show, Typeable)
data UserStatus = UserStatusUnknown
| UserStatusOnline
| UserStatusOffline
| UserStatusSkypeMe
| UserStatusAway
| UserStatusNotAvailable
| UserStatusDoNotDisturb
| UserStatusInvisible
| UserStatusLoggedOut
deriving (Eq, Show, Typeable)
data UserBuddyStatus = UserBuddyStatusNeverBeen
| UserBuddyStatusDeleted
| UserBuddyStatusPending
| UserBuddyStatusAdded
deriving (Eq, Show, Typeable)
data UserOnlineStatus = UserOnlineStatusUnknown
| UserOnlineStatusOffline
| UserOnlineStatusOnline
| UserOnlineStatusAway
| UserOnlineStatusNotAvailable
| UserOnlineStatusDoNotDisturb
deriving (Eq, Show, Typeable)