blob: 46779460668d978ec5ad0caec216fb151e2bfb82 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
package messages
import (
"math"
"github.com/pektezol/bitreader"
)
type SvcClassInfo struct {
ClassCount uint16
CreateOnClient bool
ServerClasses []serverClass
}
type serverClass struct {
ClassId int16
ClassName string
DataTableName string
}
func ParseSvcClassInfo(reader *bitreader.Reader) SvcClassInfo {
svcClassInfo := SvcClassInfo{
ClassCount: reader.TryReadUInt16(),
CreateOnClient: reader.TryReadBool(),
}
classes := []serverClass{}
if !svcClassInfo.CreateOnClient {
for count := 0; count < int(svcClassInfo.ClassCount); count++ {
classes = append(classes, serverClass{
ClassId: int16(reader.TryReadBits(uint64(math.Log2(float64(svcClassInfo.ClassCount)) + 1))),
ClassName: reader.TryReadString(),
DataTableName: reader.TryReadString(),
})
}
} else {
}
svcClassInfo.ServerClasses = classes
return svcClassInfo
}
|