/
tl_destroy_session_gen.go
152 lines (133 loc) · 3.37 KB
/
tl_destroy_session_gen.go
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
// Code generated by gotdgen, DO NOT EDIT.
package mt
import (
"context"
"errors"
"fmt"
"sort"
"strings"
"go.uber.org/multierr"
"github.com/gotd/td/bin"
"github.com/gotd/td/tdjson"
"github.com/gotd/td/tdp"
"github.com/gotd/td/tgerr"
)
// No-op definition for keeping imports.
var (
_ = bin.Buffer{}
_ = context.Background()
_ = fmt.Stringer(nil)
_ = strings.Builder{}
_ = errors.Is
_ = multierr.AppendInto
_ = sort.Ints
_ = tdp.Format
_ = tgerr.Error{}
_ = tdjson.Encoder{}
)
// DestroySessionRequest represents TL type `destroy_session#e7512126`.
type DestroySessionRequest struct {
// SessionID field of DestroySessionRequest.
SessionID int64
}
// DestroySessionRequestTypeID is TL type id of DestroySessionRequest.
const DestroySessionRequestTypeID = 0xe7512126
// Ensuring interfaces in compile-time for DestroySessionRequest.
var (
_ bin.Encoder = &DestroySessionRequest{}
_ bin.Decoder = &DestroySessionRequest{}
_ bin.BareEncoder = &DestroySessionRequest{}
_ bin.BareDecoder = &DestroySessionRequest{}
)
func (d *DestroySessionRequest) Zero() bool {
if d == nil {
return true
}
if !(d.SessionID == 0) {
return false
}
return true
}
// String implements fmt.Stringer.
func (d *DestroySessionRequest) String() string {
if d == nil {
return "DestroySessionRequest(nil)"
}
type Alias DestroySessionRequest
return fmt.Sprintf("DestroySessionRequest%+v", Alias(*d))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*DestroySessionRequest) TypeID() uint32 {
return DestroySessionRequestTypeID
}
// TypeName returns name of type in TL schema.
func (*DestroySessionRequest) TypeName() string {
return "destroy_session"
}
// TypeInfo returns info about TL type.
func (d *DestroySessionRequest) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "destroy_session",
ID: DestroySessionRequestTypeID,
}
if d == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "SessionID",
SchemaName: "session_id",
},
}
return typ
}
// Encode implements bin.Encoder.
func (d *DestroySessionRequest) Encode(b *bin.Buffer) error {
if d == nil {
return fmt.Errorf("can't encode destroy_session#e7512126 as nil")
}
b.PutID(DestroySessionRequestTypeID)
return d.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (d *DestroySessionRequest) EncodeBare(b *bin.Buffer) error {
if d == nil {
return fmt.Errorf("can't encode destroy_session#e7512126 as nil")
}
b.PutLong(d.SessionID)
return nil
}
// Decode implements bin.Decoder.
func (d *DestroySessionRequest) Decode(b *bin.Buffer) error {
if d == nil {
return fmt.Errorf("can't decode destroy_session#e7512126 to nil")
}
if err := b.ConsumeID(DestroySessionRequestTypeID); err != nil {
return fmt.Errorf("unable to decode destroy_session#e7512126: %w", err)
}
return d.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (d *DestroySessionRequest) DecodeBare(b *bin.Buffer) error {
if d == nil {
return fmt.Errorf("can't decode destroy_session#e7512126 to nil")
}
{
value, err := b.Long()
if err != nil {
return fmt.Errorf("unable to decode destroy_session#e7512126: field session_id: %w", err)
}
d.SessionID = value
}
return nil
}
// GetSessionID returns value of SessionID field.
func (d *DestroySessionRequest) GetSessionID() (value int64) {
if d == nil {
return
}
return d.SessionID
}