54 lines
1.2 KiB
Go
54 lines
1.2 KiB
Go
package libnmdc
|
|
|
|
// This structure represents a user connected to a hub.
|
|
type UserInfo struct {
|
|
Nick string
|
|
Description string
|
|
ClientTag string
|
|
ClientVersion string
|
|
Email string
|
|
ShareSize uint64
|
|
Flag UserFlag
|
|
Slots uint64
|
|
HubsUnregistered uint64
|
|
HubsRegistered uint64
|
|
HubsOperator uint64
|
|
IsOperator bool
|
|
|
|
UserInfo_NMDCOnly
|
|
UserInfo_ADCOnly
|
|
}
|
|
|
|
type UserInfo_NMDCOnly struct {
|
|
Speed string
|
|
IPAddress string
|
|
ConnectionMode ConnectionMode
|
|
}
|
|
|
|
type UserInfo_ADCOnly struct {
|
|
SharedFiles uint64
|
|
UploadSpeedBps uint64
|
|
DownloadSpeedBps uint64
|
|
IsBot bool
|
|
IsRegistered bool
|
|
IsSuperUser bool
|
|
IsHubOwner bool
|
|
IPv4Address string // Passive <==> these fields are not set
|
|
IPv6Address string
|
|
IPv4UDPPort uint64
|
|
IPv6UDPPort uint64
|
|
Keyprint string
|
|
CID string
|
|
SupportFlags map[string]struct{}
|
|
}
|
|
|
|
func NewUserInfo(username string) *UserInfo {
|
|
return &UserInfo{
|
|
Nick: username,
|
|
HubsUnregistered: 1,
|
|
UserInfo_NMDCOnly: UserInfo_NMDCOnly{
|
|
ConnectionMode: CONNECTIONMODE_PASSIVE,
|
|
},
|
|
}
|
|
}
|