Files
mautrix-telegram/pkg/gotd/tdapi/tl_can_transfer_ownership_result_gen.go
T
2025-06-27 20:03:37 -07:00

800 lines
25 KiB
Go

// Code generated by gotdgen, DO NOT EDIT.
package tdapi
import (
"context"
"errors"
"fmt"
"sort"
"strings"
"go.uber.org/multierr"
"go.mau.fi/mautrix-telegram/pkg/gotd/bin"
"go.mau.fi/mautrix-telegram/pkg/gotd/tdjson"
"go.mau.fi/mautrix-telegram/pkg/gotd/tdp"
"go.mau.fi/mautrix-telegram/pkg/gotd/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{}
)
// CanTransferOwnershipResultOk represents TL type `canTransferOwnershipResultOk#faa48643`.
type CanTransferOwnershipResultOk struct {
}
// CanTransferOwnershipResultOkTypeID is TL type id of CanTransferOwnershipResultOk.
const CanTransferOwnershipResultOkTypeID = 0xfaa48643
// construct implements constructor of CanTransferOwnershipResultClass.
func (c CanTransferOwnershipResultOk) construct() CanTransferOwnershipResultClass { return &c }
// Ensuring interfaces in compile-time for CanTransferOwnershipResultOk.
var (
_ bin.Encoder = &CanTransferOwnershipResultOk{}
_ bin.Decoder = &CanTransferOwnershipResultOk{}
_ bin.BareEncoder = &CanTransferOwnershipResultOk{}
_ bin.BareDecoder = &CanTransferOwnershipResultOk{}
_ CanTransferOwnershipResultClass = &CanTransferOwnershipResultOk{}
)
func (c *CanTransferOwnershipResultOk) Zero() bool {
if c == nil {
return true
}
return true
}
// String implements fmt.Stringer.
func (c *CanTransferOwnershipResultOk) String() string {
if c == nil {
return "CanTransferOwnershipResultOk(nil)"
}
type Alias CanTransferOwnershipResultOk
return fmt.Sprintf("CanTransferOwnershipResultOk%+v", Alias(*c))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*CanTransferOwnershipResultOk) TypeID() uint32 {
return CanTransferOwnershipResultOkTypeID
}
// TypeName returns name of type in TL schema.
func (*CanTransferOwnershipResultOk) TypeName() string {
return "canTransferOwnershipResultOk"
}
// TypeInfo returns info about TL type.
func (c *CanTransferOwnershipResultOk) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "canTransferOwnershipResultOk",
ID: CanTransferOwnershipResultOkTypeID,
}
if c == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{}
return typ
}
// Encode implements bin.Encoder.
func (c *CanTransferOwnershipResultOk) Encode(b *bin.Buffer) error {
if c == nil {
return fmt.Errorf("can't encode canTransferOwnershipResultOk#faa48643 as nil")
}
b.PutID(CanTransferOwnershipResultOkTypeID)
return c.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (c *CanTransferOwnershipResultOk) EncodeBare(b *bin.Buffer) error {
if c == nil {
return fmt.Errorf("can't encode canTransferOwnershipResultOk#faa48643 as nil")
}
return nil
}
// Decode implements bin.Decoder.
func (c *CanTransferOwnershipResultOk) Decode(b *bin.Buffer) error {
if c == nil {
return fmt.Errorf("can't decode canTransferOwnershipResultOk#faa48643 to nil")
}
if err := b.ConsumeID(CanTransferOwnershipResultOkTypeID); err != nil {
return fmt.Errorf("unable to decode canTransferOwnershipResultOk#faa48643: %w", err)
}
return c.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (c *CanTransferOwnershipResultOk) DecodeBare(b *bin.Buffer) error {
if c == nil {
return fmt.Errorf("can't decode canTransferOwnershipResultOk#faa48643 to nil")
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (c *CanTransferOwnershipResultOk) EncodeTDLibJSON(b tdjson.Encoder) error {
if c == nil {
return fmt.Errorf("can't encode canTransferOwnershipResultOk#faa48643 as nil")
}
b.ObjStart()
b.PutID("canTransferOwnershipResultOk")
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (c *CanTransferOwnershipResultOk) DecodeTDLibJSON(b tdjson.Decoder) error {
if c == nil {
return fmt.Errorf("can't decode canTransferOwnershipResultOk#faa48643 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("canTransferOwnershipResultOk"); err != nil {
return fmt.Errorf("unable to decode canTransferOwnershipResultOk#faa48643: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// CanTransferOwnershipResultPasswordNeeded represents TL type `canTransferOwnershipResultPasswordNeeded#5c4a4adf`.
type CanTransferOwnershipResultPasswordNeeded struct {
}
// CanTransferOwnershipResultPasswordNeededTypeID is TL type id of CanTransferOwnershipResultPasswordNeeded.
const CanTransferOwnershipResultPasswordNeededTypeID = 0x5c4a4adf
// construct implements constructor of CanTransferOwnershipResultClass.
func (c CanTransferOwnershipResultPasswordNeeded) construct() CanTransferOwnershipResultClass {
return &c
}
// Ensuring interfaces in compile-time for CanTransferOwnershipResultPasswordNeeded.
var (
_ bin.Encoder = &CanTransferOwnershipResultPasswordNeeded{}
_ bin.Decoder = &CanTransferOwnershipResultPasswordNeeded{}
_ bin.BareEncoder = &CanTransferOwnershipResultPasswordNeeded{}
_ bin.BareDecoder = &CanTransferOwnershipResultPasswordNeeded{}
_ CanTransferOwnershipResultClass = &CanTransferOwnershipResultPasswordNeeded{}
)
func (c *CanTransferOwnershipResultPasswordNeeded) Zero() bool {
if c == nil {
return true
}
return true
}
// String implements fmt.Stringer.
func (c *CanTransferOwnershipResultPasswordNeeded) String() string {
if c == nil {
return "CanTransferOwnershipResultPasswordNeeded(nil)"
}
type Alias CanTransferOwnershipResultPasswordNeeded
return fmt.Sprintf("CanTransferOwnershipResultPasswordNeeded%+v", Alias(*c))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*CanTransferOwnershipResultPasswordNeeded) TypeID() uint32 {
return CanTransferOwnershipResultPasswordNeededTypeID
}
// TypeName returns name of type in TL schema.
func (*CanTransferOwnershipResultPasswordNeeded) TypeName() string {
return "canTransferOwnershipResultPasswordNeeded"
}
// TypeInfo returns info about TL type.
func (c *CanTransferOwnershipResultPasswordNeeded) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "canTransferOwnershipResultPasswordNeeded",
ID: CanTransferOwnershipResultPasswordNeededTypeID,
}
if c == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{}
return typ
}
// Encode implements bin.Encoder.
func (c *CanTransferOwnershipResultPasswordNeeded) Encode(b *bin.Buffer) error {
if c == nil {
return fmt.Errorf("can't encode canTransferOwnershipResultPasswordNeeded#5c4a4adf as nil")
}
b.PutID(CanTransferOwnershipResultPasswordNeededTypeID)
return c.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (c *CanTransferOwnershipResultPasswordNeeded) EncodeBare(b *bin.Buffer) error {
if c == nil {
return fmt.Errorf("can't encode canTransferOwnershipResultPasswordNeeded#5c4a4adf as nil")
}
return nil
}
// Decode implements bin.Decoder.
func (c *CanTransferOwnershipResultPasswordNeeded) Decode(b *bin.Buffer) error {
if c == nil {
return fmt.Errorf("can't decode canTransferOwnershipResultPasswordNeeded#5c4a4adf to nil")
}
if err := b.ConsumeID(CanTransferOwnershipResultPasswordNeededTypeID); err != nil {
return fmt.Errorf("unable to decode canTransferOwnershipResultPasswordNeeded#5c4a4adf: %w", err)
}
return c.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (c *CanTransferOwnershipResultPasswordNeeded) DecodeBare(b *bin.Buffer) error {
if c == nil {
return fmt.Errorf("can't decode canTransferOwnershipResultPasswordNeeded#5c4a4adf to nil")
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (c *CanTransferOwnershipResultPasswordNeeded) EncodeTDLibJSON(b tdjson.Encoder) error {
if c == nil {
return fmt.Errorf("can't encode canTransferOwnershipResultPasswordNeeded#5c4a4adf as nil")
}
b.ObjStart()
b.PutID("canTransferOwnershipResultPasswordNeeded")
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (c *CanTransferOwnershipResultPasswordNeeded) DecodeTDLibJSON(b tdjson.Decoder) error {
if c == nil {
return fmt.Errorf("can't decode canTransferOwnershipResultPasswordNeeded#5c4a4adf to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("canTransferOwnershipResultPasswordNeeded"); err != nil {
return fmt.Errorf("unable to decode canTransferOwnershipResultPasswordNeeded#5c4a4adf: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// CanTransferOwnershipResultPasswordTooFresh represents TL type `canTransferOwnershipResultPasswordTooFresh#305d9b11`.
type CanTransferOwnershipResultPasswordTooFresh struct {
// Time left before the session can be used to transfer ownership of a chat, in seconds
RetryAfter int32
}
// CanTransferOwnershipResultPasswordTooFreshTypeID is TL type id of CanTransferOwnershipResultPasswordTooFresh.
const CanTransferOwnershipResultPasswordTooFreshTypeID = 0x305d9b11
// construct implements constructor of CanTransferOwnershipResultClass.
func (c CanTransferOwnershipResultPasswordTooFresh) construct() CanTransferOwnershipResultClass {
return &c
}
// Ensuring interfaces in compile-time for CanTransferOwnershipResultPasswordTooFresh.
var (
_ bin.Encoder = &CanTransferOwnershipResultPasswordTooFresh{}
_ bin.Decoder = &CanTransferOwnershipResultPasswordTooFresh{}
_ bin.BareEncoder = &CanTransferOwnershipResultPasswordTooFresh{}
_ bin.BareDecoder = &CanTransferOwnershipResultPasswordTooFresh{}
_ CanTransferOwnershipResultClass = &CanTransferOwnershipResultPasswordTooFresh{}
)
func (c *CanTransferOwnershipResultPasswordTooFresh) Zero() bool {
if c == nil {
return true
}
if !(c.RetryAfter == 0) {
return false
}
return true
}
// String implements fmt.Stringer.
func (c *CanTransferOwnershipResultPasswordTooFresh) String() string {
if c == nil {
return "CanTransferOwnershipResultPasswordTooFresh(nil)"
}
type Alias CanTransferOwnershipResultPasswordTooFresh
return fmt.Sprintf("CanTransferOwnershipResultPasswordTooFresh%+v", Alias(*c))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*CanTransferOwnershipResultPasswordTooFresh) TypeID() uint32 {
return CanTransferOwnershipResultPasswordTooFreshTypeID
}
// TypeName returns name of type in TL schema.
func (*CanTransferOwnershipResultPasswordTooFresh) TypeName() string {
return "canTransferOwnershipResultPasswordTooFresh"
}
// TypeInfo returns info about TL type.
func (c *CanTransferOwnershipResultPasswordTooFresh) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "canTransferOwnershipResultPasswordTooFresh",
ID: CanTransferOwnershipResultPasswordTooFreshTypeID,
}
if c == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "RetryAfter",
SchemaName: "retry_after",
},
}
return typ
}
// Encode implements bin.Encoder.
func (c *CanTransferOwnershipResultPasswordTooFresh) Encode(b *bin.Buffer) error {
if c == nil {
return fmt.Errorf("can't encode canTransferOwnershipResultPasswordTooFresh#305d9b11 as nil")
}
b.PutID(CanTransferOwnershipResultPasswordTooFreshTypeID)
return c.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (c *CanTransferOwnershipResultPasswordTooFresh) EncodeBare(b *bin.Buffer) error {
if c == nil {
return fmt.Errorf("can't encode canTransferOwnershipResultPasswordTooFresh#305d9b11 as nil")
}
b.PutInt32(c.RetryAfter)
return nil
}
// Decode implements bin.Decoder.
func (c *CanTransferOwnershipResultPasswordTooFresh) Decode(b *bin.Buffer) error {
if c == nil {
return fmt.Errorf("can't decode canTransferOwnershipResultPasswordTooFresh#305d9b11 to nil")
}
if err := b.ConsumeID(CanTransferOwnershipResultPasswordTooFreshTypeID); err != nil {
return fmt.Errorf("unable to decode canTransferOwnershipResultPasswordTooFresh#305d9b11: %w", err)
}
return c.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (c *CanTransferOwnershipResultPasswordTooFresh) DecodeBare(b *bin.Buffer) error {
if c == nil {
return fmt.Errorf("can't decode canTransferOwnershipResultPasswordTooFresh#305d9b11 to nil")
}
{
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode canTransferOwnershipResultPasswordTooFresh#305d9b11: field retry_after: %w", err)
}
c.RetryAfter = value
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (c *CanTransferOwnershipResultPasswordTooFresh) EncodeTDLibJSON(b tdjson.Encoder) error {
if c == nil {
return fmt.Errorf("can't encode canTransferOwnershipResultPasswordTooFresh#305d9b11 as nil")
}
b.ObjStart()
b.PutID("canTransferOwnershipResultPasswordTooFresh")
b.Comma()
b.FieldStart("retry_after")
b.PutInt32(c.RetryAfter)
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (c *CanTransferOwnershipResultPasswordTooFresh) DecodeTDLibJSON(b tdjson.Decoder) error {
if c == nil {
return fmt.Errorf("can't decode canTransferOwnershipResultPasswordTooFresh#305d9b11 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("canTransferOwnershipResultPasswordTooFresh"); err != nil {
return fmt.Errorf("unable to decode canTransferOwnershipResultPasswordTooFresh#305d9b11: %w", err)
}
case "retry_after":
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode canTransferOwnershipResultPasswordTooFresh#305d9b11: field retry_after: %w", err)
}
c.RetryAfter = value
default:
return b.Skip()
}
return nil
})
}
// GetRetryAfter returns value of RetryAfter field.
func (c *CanTransferOwnershipResultPasswordTooFresh) GetRetryAfter() (value int32) {
if c == nil {
return
}
return c.RetryAfter
}
// CanTransferOwnershipResultSessionTooFresh represents TL type `canTransferOwnershipResultSessionTooFresh#3ab0c8e1`.
type CanTransferOwnershipResultSessionTooFresh struct {
// Time left before the session can be used to transfer ownership of a chat, in seconds
RetryAfter int32
}
// CanTransferOwnershipResultSessionTooFreshTypeID is TL type id of CanTransferOwnershipResultSessionTooFresh.
const CanTransferOwnershipResultSessionTooFreshTypeID = 0x3ab0c8e1
// construct implements constructor of CanTransferOwnershipResultClass.
func (c CanTransferOwnershipResultSessionTooFresh) construct() CanTransferOwnershipResultClass {
return &c
}
// Ensuring interfaces in compile-time for CanTransferOwnershipResultSessionTooFresh.
var (
_ bin.Encoder = &CanTransferOwnershipResultSessionTooFresh{}
_ bin.Decoder = &CanTransferOwnershipResultSessionTooFresh{}
_ bin.BareEncoder = &CanTransferOwnershipResultSessionTooFresh{}
_ bin.BareDecoder = &CanTransferOwnershipResultSessionTooFresh{}
_ CanTransferOwnershipResultClass = &CanTransferOwnershipResultSessionTooFresh{}
)
func (c *CanTransferOwnershipResultSessionTooFresh) Zero() bool {
if c == nil {
return true
}
if !(c.RetryAfter == 0) {
return false
}
return true
}
// String implements fmt.Stringer.
func (c *CanTransferOwnershipResultSessionTooFresh) String() string {
if c == nil {
return "CanTransferOwnershipResultSessionTooFresh(nil)"
}
type Alias CanTransferOwnershipResultSessionTooFresh
return fmt.Sprintf("CanTransferOwnershipResultSessionTooFresh%+v", Alias(*c))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*CanTransferOwnershipResultSessionTooFresh) TypeID() uint32 {
return CanTransferOwnershipResultSessionTooFreshTypeID
}
// TypeName returns name of type in TL schema.
func (*CanTransferOwnershipResultSessionTooFresh) TypeName() string {
return "canTransferOwnershipResultSessionTooFresh"
}
// TypeInfo returns info about TL type.
func (c *CanTransferOwnershipResultSessionTooFresh) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "canTransferOwnershipResultSessionTooFresh",
ID: CanTransferOwnershipResultSessionTooFreshTypeID,
}
if c == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "RetryAfter",
SchemaName: "retry_after",
},
}
return typ
}
// Encode implements bin.Encoder.
func (c *CanTransferOwnershipResultSessionTooFresh) Encode(b *bin.Buffer) error {
if c == nil {
return fmt.Errorf("can't encode canTransferOwnershipResultSessionTooFresh#3ab0c8e1 as nil")
}
b.PutID(CanTransferOwnershipResultSessionTooFreshTypeID)
return c.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (c *CanTransferOwnershipResultSessionTooFresh) EncodeBare(b *bin.Buffer) error {
if c == nil {
return fmt.Errorf("can't encode canTransferOwnershipResultSessionTooFresh#3ab0c8e1 as nil")
}
b.PutInt32(c.RetryAfter)
return nil
}
// Decode implements bin.Decoder.
func (c *CanTransferOwnershipResultSessionTooFresh) Decode(b *bin.Buffer) error {
if c == nil {
return fmt.Errorf("can't decode canTransferOwnershipResultSessionTooFresh#3ab0c8e1 to nil")
}
if err := b.ConsumeID(CanTransferOwnershipResultSessionTooFreshTypeID); err != nil {
return fmt.Errorf("unable to decode canTransferOwnershipResultSessionTooFresh#3ab0c8e1: %w", err)
}
return c.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (c *CanTransferOwnershipResultSessionTooFresh) DecodeBare(b *bin.Buffer) error {
if c == nil {
return fmt.Errorf("can't decode canTransferOwnershipResultSessionTooFresh#3ab0c8e1 to nil")
}
{
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode canTransferOwnershipResultSessionTooFresh#3ab0c8e1: field retry_after: %w", err)
}
c.RetryAfter = value
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (c *CanTransferOwnershipResultSessionTooFresh) EncodeTDLibJSON(b tdjson.Encoder) error {
if c == nil {
return fmt.Errorf("can't encode canTransferOwnershipResultSessionTooFresh#3ab0c8e1 as nil")
}
b.ObjStart()
b.PutID("canTransferOwnershipResultSessionTooFresh")
b.Comma()
b.FieldStart("retry_after")
b.PutInt32(c.RetryAfter)
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (c *CanTransferOwnershipResultSessionTooFresh) DecodeTDLibJSON(b tdjson.Decoder) error {
if c == nil {
return fmt.Errorf("can't decode canTransferOwnershipResultSessionTooFresh#3ab0c8e1 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("canTransferOwnershipResultSessionTooFresh"); err != nil {
return fmt.Errorf("unable to decode canTransferOwnershipResultSessionTooFresh#3ab0c8e1: %w", err)
}
case "retry_after":
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode canTransferOwnershipResultSessionTooFresh#3ab0c8e1: field retry_after: %w", err)
}
c.RetryAfter = value
default:
return b.Skip()
}
return nil
})
}
// GetRetryAfter returns value of RetryAfter field.
func (c *CanTransferOwnershipResultSessionTooFresh) GetRetryAfter() (value int32) {
if c == nil {
return
}
return c.RetryAfter
}
// CanTransferOwnershipResultClassName is schema name of CanTransferOwnershipResultClass.
const CanTransferOwnershipResultClassName = "CanTransferOwnershipResult"
// CanTransferOwnershipResultClass represents CanTransferOwnershipResult generic type.
//
// Example:
//
// g, err := tdapi.DecodeCanTransferOwnershipResult(buf)
// if err != nil {
// panic(err)
// }
// switch v := g.(type) {
// case *tdapi.CanTransferOwnershipResultOk: // canTransferOwnershipResultOk#faa48643
// case *tdapi.CanTransferOwnershipResultPasswordNeeded: // canTransferOwnershipResultPasswordNeeded#5c4a4adf
// case *tdapi.CanTransferOwnershipResultPasswordTooFresh: // canTransferOwnershipResultPasswordTooFresh#305d9b11
// case *tdapi.CanTransferOwnershipResultSessionTooFresh: // canTransferOwnershipResultSessionTooFresh#3ab0c8e1
// default: panic(v)
// }
type CanTransferOwnershipResultClass interface {
bin.Encoder
bin.Decoder
bin.BareEncoder
bin.BareDecoder
construct() CanTransferOwnershipResultClass
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
TypeID() uint32
// TypeName returns name of type in TL schema.
TypeName() string
// String implements fmt.Stringer.
String() string
// Zero returns true if current object has a zero value.
Zero() bool
EncodeTDLibJSON(b tdjson.Encoder) error
DecodeTDLibJSON(b tdjson.Decoder) error
}
// DecodeCanTransferOwnershipResult implements binary de-serialization for CanTransferOwnershipResultClass.
func DecodeCanTransferOwnershipResult(buf *bin.Buffer) (CanTransferOwnershipResultClass, error) {
id, err := buf.PeekID()
if err != nil {
return nil, err
}
switch id {
case CanTransferOwnershipResultOkTypeID:
// Decoding canTransferOwnershipResultOk#faa48643.
v := CanTransferOwnershipResultOk{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode CanTransferOwnershipResultClass: %w", err)
}
return &v, nil
case CanTransferOwnershipResultPasswordNeededTypeID:
// Decoding canTransferOwnershipResultPasswordNeeded#5c4a4adf.
v := CanTransferOwnershipResultPasswordNeeded{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode CanTransferOwnershipResultClass: %w", err)
}
return &v, nil
case CanTransferOwnershipResultPasswordTooFreshTypeID:
// Decoding canTransferOwnershipResultPasswordTooFresh#305d9b11.
v := CanTransferOwnershipResultPasswordTooFresh{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode CanTransferOwnershipResultClass: %w", err)
}
return &v, nil
case CanTransferOwnershipResultSessionTooFreshTypeID:
// Decoding canTransferOwnershipResultSessionTooFresh#3ab0c8e1.
v := CanTransferOwnershipResultSessionTooFresh{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode CanTransferOwnershipResultClass: %w", err)
}
return &v, nil
default:
return nil, fmt.Errorf("unable to decode CanTransferOwnershipResultClass: %w", bin.NewUnexpectedID(id))
}
}
// DecodeTDLibJSONCanTransferOwnershipResult implements binary de-serialization for CanTransferOwnershipResultClass.
func DecodeTDLibJSONCanTransferOwnershipResult(buf tdjson.Decoder) (CanTransferOwnershipResultClass, error) {
id, err := buf.FindTypeID()
if err != nil {
return nil, err
}
switch id {
case "canTransferOwnershipResultOk":
// Decoding canTransferOwnershipResultOk#faa48643.
v := CanTransferOwnershipResultOk{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode CanTransferOwnershipResultClass: %w", err)
}
return &v, nil
case "canTransferOwnershipResultPasswordNeeded":
// Decoding canTransferOwnershipResultPasswordNeeded#5c4a4adf.
v := CanTransferOwnershipResultPasswordNeeded{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode CanTransferOwnershipResultClass: %w", err)
}
return &v, nil
case "canTransferOwnershipResultPasswordTooFresh":
// Decoding canTransferOwnershipResultPasswordTooFresh#305d9b11.
v := CanTransferOwnershipResultPasswordTooFresh{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode CanTransferOwnershipResultClass: %w", err)
}
return &v, nil
case "canTransferOwnershipResultSessionTooFresh":
// Decoding canTransferOwnershipResultSessionTooFresh#3ab0c8e1.
v := CanTransferOwnershipResultSessionTooFresh{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode CanTransferOwnershipResultClass: %w", err)
}
return &v, nil
default:
return nil, fmt.Errorf("unable to decode CanTransferOwnershipResultClass: %w", tdjson.NewUnexpectedID(id))
}
}
// CanTransferOwnershipResult boxes the CanTransferOwnershipResultClass providing a helper.
type CanTransferOwnershipResultBox struct {
CanTransferOwnershipResult CanTransferOwnershipResultClass
}
// Decode implements bin.Decoder for CanTransferOwnershipResultBox.
func (b *CanTransferOwnershipResultBox) Decode(buf *bin.Buffer) error {
if b == nil {
return fmt.Errorf("unable to decode CanTransferOwnershipResultBox to nil")
}
v, err := DecodeCanTransferOwnershipResult(buf)
if err != nil {
return fmt.Errorf("unable to decode boxed value: %w", err)
}
b.CanTransferOwnershipResult = v
return nil
}
// Encode implements bin.Encode for CanTransferOwnershipResultBox.
func (b *CanTransferOwnershipResultBox) Encode(buf *bin.Buffer) error {
if b == nil || b.CanTransferOwnershipResult == nil {
return fmt.Errorf("unable to encode CanTransferOwnershipResultClass as nil")
}
return b.CanTransferOwnershipResult.Encode(buf)
}
// DecodeTDLibJSON implements bin.Decoder for CanTransferOwnershipResultBox.
func (b *CanTransferOwnershipResultBox) DecodeTDLibJSON(buf tdjson.Decoder) error {
if b == nil {
return fmt.Errorf("unable to decode CanTransferOwnershipResultBox to nil")
}
v, err := DecodeTDLibJSONCanTransferOwnershipResult(buf)
if err != nil {
return fmt.Errorf("unable to decode boxed value: %w", err)
}
b.CanTransferOwnershipResult = v
return nil
}
// EncodeTDLibJSON implements bin.Encode for CanTransferOwnershipResultBox.
func (b *CanTransferOwnershipResultBox) EncodeTDLibJSON(buf tdjson.Encoder) error {
if b == nil || b.CanTransferOwnershipResult == nil {
return fmt.Errorf("unable to encode CanTransferOwnershipResultClass as nil")
}
return b.CanTransferOwnershipResult.EncodeTDLibJSON(buf)
}