]>
Commit | Line | Data |
---|---|---|
6988a057 JH |
1 | package hotline |
2 | ||
3 | import ( | |
6988a057 JH |
4 | "github.com/jhalter/mobius/concat" |
5 | ) | |
6 | ||
7 | const GuestAccount = "guest" // default account used when no login is provided for a connection | |
8 | ||
9 | type Account struct { | |
10 | Login string `yaml:"Login"` | |
11 | Name string `yaml:"Name"` | |
12 | Password string `yaml:"Password"` | |
13 | Access *[]byte `yaml:"Access"` // 8 byte bitmap | |
14 | } | |
15 | ||
c5d9af5a JH |
16 | // MarshalBinary marshals an Account to byte slice |
17 | func (a *Account) MarshalBinary() (out []byte) { | |
6988a057 JH |
18 | return concat.Slices( |
19 | []byte{0x00, 0x3}, // param count -- always 3 | |
c5d9af5a JH |
20 | NewField(fieldUserName, []byte(a.Name)).Payload(), |
21 | NewField(fieldUserLogin, negateString([]byte(a.Login))).Payload(), | |
22 | NewField(fieldUserAccess, *a.Access).Payload(), | |
6988a057 JH |
23 | ) |
24 | } |