diff options
| author | Arda Serdar Pektezol <1669855+pektezol@users.noreply.github.com> | 2023-09-17 14:51:01 +0300 |
|---|---|---|
| committer | Arda Serdar Pektezol <1669855+pektezol@users.noreply.github.com> | 2023-09-20 11:10:19 +0300 |
| commit | 7339a8e0a6ce54010ddd19f5d761ca5e2500b657 (patch) | |
| tree | 8fce08ffa4da88a899e1d46a374b6f4956133c80 /pkg | |
| parent | make enum names type specific (diff) | |
| download | sdp.go-7339a8e0a6ce54010ddd19f5d761ca5e2500b657.tar.gz sdp.go-7339a8e0a6ce54010ddd19f5d761ca5e2500b657.tar.bz2 sdp.go-7339a8e0a6ce54010ddd19f5d761ca5e2500b657.zip | |
parse netSignOnState flags
Diffstat (limited to 'pkg')
| -rw-r--r-- | pkg/messages/types/netFile.go | 39 |
1 files changed, 32 insertions, 7 deletions
diff --git a/pkg/messages/types/netFile.go b/pkg/messages/types/netFile.go index 328900c..c9c587d 100644 --- a/pkg/messages/types/netFile.go +++ b/pkg/messages/types/netFile.go | |||
| @@ -1,17 +1,42 @@ | |||
| 1 | package messages | 1 | package messages |
| 2 | 2 | ||
| 3 | import "github.com/pektezol/bitreader" | 3 | import ( |
| 4 | "fmt" | ||
| 5 | |||
| 6 | "github.com/pektezol/bitreader" | ||
| 7 | ) | ||
| 4 | 8 | ||
| 5 | type NetFile struct { | 9 | type NetFile struct { |
| 6 | TransferId int32 | 10 | TransferId uint32 |
| 7 | FileName string | 11 | FileName string |
| 8 | FileRequested bool | 12 | FileFlags string |
| 13 | } | ||
| 14 | |||
| 15 | type NetFileFlags int | ||
| 16 | |||
| 17 | const ( | ||
| 18 | ENetFileFlagsNone NetFileFlags = 0 | ||
| 19 | ENetFileFlagsFileRequested NetFileFlags = 1 | ||
| 20 | ENetFileFlagsUnknown NetFileFlags = 1 << 1 | ||
| 21 | ) | ||
| 22 | |||
| 23 | func (netFileFlags NetFileFlags) String() string { | ||
| 24 | switch netFileFlags { | ||
| 25 | case ENetFileFlagsNone: | ||
| 26 | return "None" | ||
| 27 | case ENetFileFlagsFileRequested: | ||
| 28 | return "FileRequested" | ||
| 29 | case ENetFileFlagsUnknown: | ||
| 30 | return "Unknown" | ||
| 31 | default: | ||
| 32 | return fmt.Sprintf("%d", int(netFileFlags)) | ||
| 33 | } | ||
| 9 | } | 34 | } |
| 10 | 35 | ||
| 11 | func ParseNetFile(reader *bitreader.Reader) NetFile { | 36 | func ParseNetFile(reader *bitreader.Reader) NetFile { |
| 12 | return NetFile{ | 37 | return NetFile{ |
| 13 | TransferId: int32(reader.TryReadBits(32)), | 38 | TransferId: reader.TryReadUInt32(), |
| 14 | FileName: reader.TryReadString(), | 39 | FileName: reader.TryReadString(), |
| 15 | FileRequested: reader.TryReadBool(), | 40 | FileFlags: NetFileFlags(reader.TryReadBits(2)).String(), |
| 16 | } | 41 | } |
| 17 | } | 42 | } |