client

package
v0.0.0-...-d85f73f Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 7, 2022 License: AGPL-3.0 Imports: 43 Imported by: 0

Documentation

Index

Constants

View Source
const (
	ServiceMethodAccountGetLoginDevice      = "StatSvc.GetDevLoginInfo"
	ServiceMethodAccountSetStatus           = "StatSvc.register"
	ServiceMethodAccountSetStatusFromClient = "StatSvc.SetStatusFromClient"
	ServiceMethodAccountPushLoginNotify     = "StatSvc.SvcReqMSFLoginNotify"

	ServiceMethodConfigPushDomain   = "ConfigPushSvc.PushDomain"
	ServiceMethodConfigPushRequest  = "ConfigPushSvc.PushReq"
	ServiceMethodConfigPushResponse = "ConfigPushSvc.PushResp"

	ServiceMethodFriendListDeleteFriend       = "friendlist.delFriend"
	ServiceMethodFriendListGetFriendGroupList = "friendlist.getFriendGroupList"
	ServiceMethodFriendListGetGroupList       = "friendlist.GetTroopListReqV2"
	ServiceMethodFriendListGetGroupMemberList = "friendlist.GetTroopMemberListReq"

	ServiceMethodMessageDeleteMessage = "MessageSvc.PbDeleteMsg"
	ServiceMethodMessageGetMessage    = "MessageSvc.PbGetMsg"
	ServiceMethodMessageSendMessage   = "MessageSvc.PbSendMsg"
	ServiceMethodMessagePushNotify    = "MessageSvc.PushNotify"
	ServiceMethodMessagePushReaded    = "MessageSvc.PushReaded"

	ServiceMethodMessageUploadImageC2C   = "LongConn.OffPicUp"
	ServiceMethodMessageUploadImageGroup = "ImgStore.GroupPicUp"

	ServiceMethodOnlinePushMessageSyncC2C   = "OnlinePush.PbC2CMsgSync"
	ServiceMethodOnlinePushMessageSyncGroup = "OnlinePush.PbPushGroupMsg"
	ServiceMethodOnlinePushMessageTransport = "OnlinePush.PbPushTransMsg"
	ServiceMethodOnlinePushRequest          = "OnlinePush.ReqPush"
	ServiceMethodOnlinePushResponse         = "OnlinePush.RespPush"
	ServiceMethodOnlinePushSIDTicketExpired = "OnlinePush.SidTicketExpired"

	ServiceMethodQualityTestPushList = "QualityTest.PushList"
)
View Source
const PATH_TO_USER_SIGNATURE_JSON = "user_signatures.json"

Variables

This section is empty.

Functions

func NewMessageGetMessageRequest

func NewMessageGetMessageRequest(
	flag uint32,
	cookie []byte,
) *pb.MessageService_GetRequest

func NewMessageSendMessageRequest

func NewMessageSendMessageRequest(
	routingHead *pb.MessageService_RoutingHead,
	contentHead *pb.MessageCommon_ContentHead,
	messageBody *pb.IMMessageBody_MessageBody,
	seq int32,
	cookie []byte,
) *pb.MessageService_SendRequest

func NewOnlinePushMessageResponse

func NewOnlinePushMessageResponse(
	ctx context.Context,
	username string,
	items []MessageDelete,
	serverIP Uint32IPType,
	seq int32,
) (*codec.ClientToServerMessage, error)

func ParseUserSignature

func ParseUserSignature(
	ctx context.Context,
	username string,
	tlvs map[uint16]tlv.TLVCodec,
) *rpc.UserSignature

Types

type AccountSetStatusRequest

type AccountSetStatusRequest struct {
	Uin          uint64 `jce:",0" json:",omitempty"`
	Bid          uint64 `jce:",1" json:",omitempty"`
	ConnType     uint8  `jce:",2" json:",omitempty"` // constant 0x00
	Other        string `jce:",3" json:",omitempty"` // constant ""
	Status       uint32 `jce:",4" json:",omitempty"`
	OnlinePush   bool   `jce:",5" json:",omitempty"` // constant false
	IsOnline     bool   `jce:",6" json:",omitempty"` // constant false
	IsShowOnline bool   `jce:",7" json:",omitempty"` // constant false
	KickPC       bool   `jce:",8" json:",omitempty"`
	KickWeak     bool   `jce:",9" json:",omitempty"` // constant false
	Timestamp    uint64 `jce:",10" json:",omitempty"`
	SDKVersion   uint32 `jce:",11" json:",omitempty"`
	NetworkType  uint8  `jce:",12" json:",omitempty"` // 0x00: mobile; 0x01: wifi
	BuildVersion string `jce:",13" json:",omitempty"` // constant ""
	RegisterType bool   `jce:",14" json:",omitempty"` // false: appRegister, fillRegProxy, createDefaultRegInfo; true: others
	DevParam     []byte `jce:",15" json:",omitempty"` // constant nil
	GUID         []byte `jce:",16" json:",omitempty"` // placeholder
	LocaleID     uint32 `jce:",17" json:",omitempty"` // constant 0x00000804
	SlientPush   bool   `jce:",18" json:",omitempty"` // constant false
	DeviceName   string `jce:",19" json:",omitempty"`
	DeviceType   string `jce:",20" json:",omitempty"`
	OSVersion    string `jce:",21" json:",omitempty"`
	OpenPush     bool   `jce:",22" json:",omitempty"` // constant true
	LargeSeq     uint32 `jce:",23" json:",omitempty"` // constant 0x00000000

}

func NewAccountSetStatusFromClientRequest

func NewAccountSetStatusFromClientRequest(
	uin uint64,
	status AccountStatusType,
	kick bool,
) *AccountSetStatusRequest

func NewAccountSetStatusRequest

func NewAccountSetStatusRequest(
	uin uint64,
	status AccountStatusType,
	kick bool,
) *AccountSetStatusRequest

type AccountSetStatusResponse

type AccountSetStatusResponse struct {
	Uin            int64  `jce:",0" json:"uin,omitempty"`
	Bid            int64  `jce:",1" json:"bid,omitempty"`
	ReplyCode      uint8  `jce:",2" json:"reply_code,omitempty"`
	Result         string `jce:",3" json:"result,omitempty"`
	ServerTime     int64  `jce:",4" json:"server_time,omitempty"`
	LogQQ          bool   `jce:",5" json:"log_qq,omitempty"`
	NeedKick       bool   `jce:",6" json:"need_kick,omitempty"`
	UpdateFlag     bool   `jce:",7" json:"update_flag,omitempty"`
	Timestamp      int64  `jce:",8" json:"timestamp,omitempty"`
	CrashFlag      bool   `jce:",9" json:"crash_flag,omitempty"`
	ClientIP       string `jce:",10" json:"client_ip,omitempty"`
	ClientPort     int32  `jce:",11" json:"client_port,omitempty"`
	HelloInterval  int32  `jce:",12" json:"hello_interval,omitempty"`
	LargeSeq       int32  `jce:",13" json:"large_seq,omitempty"`
	LargeSeqUpdate bool   `jce:",14" json:"large_seq_update,omitempty"`

	Body0769                 []byte `jce:",15" json:"body0796,omitempty"`
	Status                   int32  `jce:",16" json:"status,omitempty"`
	ExtraOnlineStatus        int64  `jce:",17" json:"extra_online_status,omitempty"`
	ClientBatteryGetInterval int64  `jce:",18" json:"client_battery_get_interval,omitempty"`
	ClientAutoStatusInterval int64  `jce:",19" json:"client_auto_status_interval,omitempty"`
}

type AccountStatus

type AccountStatus struct {
	Uin       uint64   `jce:",1" json:",omitempty"`
	PushIDs   []uint64 `jce:",2" json:",omitempty"` // constant
	Status    uint32   `jce:",3" json:",omitempty"`
	KickPC    bool     `jce:",4" json:",omitempty"`
	KickWeak  bool     `jce:",5" json:",omitempty"` // constant false
	Timestamp uint64   `jce:",6" json:",omitempty"`
	LargeSeq  uint32   `jce:",7" json:",omitempty"` // constant 0x00000000
}

type AccountStatusType

type AccountStatusType uint32
var (
	AccountStatusOnline                AccountStatusType = 0x0000000b // 11
	AccountStatusOffline               AccountStatusType = 0x00000015 // 21
	AccountStatusAway                  AccountStatusType = 0x0000001f // 31
	AccountStatusInvisiable            AccountStatusType = 0x00000029 // 41
	AccountStatusReceiveOfflineMessage AccountStatusType = 0x0000005f // 95
)

type AppPushInfo

type AppPushInfo struct {
	A             uint32                `jce:",1" json:",omitempty"`
	B             string                `jce:",2" json:",omitempty"`
	Bid           uint64                `jce:",3" json:",omitempty"`
	D             uint64                `jce:",4" json:",omitempty"`
	E             uint64                `jce:",5" json:",omitempty"`
	F             uint64                `jce:",6" json:",omitempty"`
	G             uint64                `jce:",7" json:",omitempty"`
	H             uint64                `jce:",8" json:",omitempty"`
	I             string                `jce:",9" json:",omitempty"`
	J             string                `jce:",10" json:",omitempty"`
	AccountStatus AccountStatus         `jce:",10" json:",omitempty"`
	L             NotifyRegisterInfo    `jce:",11" json:",omitempty"`
	M             CommandCallbackerInfo `jce:",12" json:",omitempty"`
	N             string                `jce:",13" json:",omitempty"`
}

type BigDataIP

type BigDataIP struct {
	Type       uint64          `jce:",0" json:"type,omitempty"`
	IPList     []BigDataIPInfo `jce:",1" json:"ip_list,omitempty"`
	ConfigList []NetSegConfig  `jce:",2" json:"config_list,omitempty"`
	Size       uint64          `jce:",3" json:"size,omitempty"`
}

type BigDataIPChannel

type BigDataIPChannel struct {
	BigDataIPList []BigDataIP `jce:",0" json:"big_data_ip_list,omitempty"`
	Sig           []byte      `jce:",1" json:"sig,omitempty"`
	Key           []byte      `jce:",2" json:"key,omitempty"`
	Uin           uint64      `jce:",3" json:"uin,omitempty"`
	Flag          uint32      `jce:",4" json:"flag,omitempty"`
	Buffer        []byte      `jce:",5" json:"buffer,omitempty"`
}

type BigDataIPInfo

type BigDataIPInfo struct {
	Type uint64 `jce:",0" json:"type,omitempty"`
	IP   string `jce:",1" json:"ip,omitempty"`
	Port uint64 `jce:",2" json:"port,omitempty"`
}

type Client

type Client struct {
	// contains filtered or unexported fields
}

func ForClient

func ForClient(ctx context.Context) *Client

func NewClient

func NewClient(cfg *config.Config, rpc rpc.Engine) *Client

func (*Client) AccountSetStatus

func (c *Client) AccountSetStatus(
	ctx context.Context,
	req *AccountSetStatusRequest,
) (*AccountSetStatusResponse, error)

func (*Client) Call

func (c *Client) Call(
	serviceMethod string,
	c2s *codec.ClientToServerMessage,
	s2c *codec.ServerToClientMessage,
) error

func (*Client) FriendListGetGroupList

func (c *Client) FriendListGetGroupList(
	ctx context.Context,
	req *FriendListGetGroupListRequest,
) (*FriendListGetGroupListResponse, error)

func (*Client) GetCacheByUsernameDir

func (c *Client) GetCacheByUsernameDir(username string) string

func (*Client) GetCacheDownloadsDir

func (c *Client) GetCacheDownloadsDir() string

func (*Client) GetEngine

func (c *Client) GetEngine() rpc.Engine

func (*Client) GetHighway

func (c *Client) GetHighway(addr, username string) *highway.Highway

func (*Client) GetNextMessageSeq

func (c *Client) GetNextMessageSeq(peerID, userID, fromID int64) int32

func (*Client) GetNextSeq

func (c *Client) GetNextSeq() uint32

func (*Client) GetRoutingHead

func (c *Client) GetRoutingHead(peerID, userID int64) *pb.MessageService_RoutingHead

func (*Client) GetUserSignature

func (c *Client) GetUserSignature(username string) *rpc.UserSignature

func (*Client) LoadUserSignatures

func (c *Client) LoadUserSignatures(file string) error

func (*Client) MessageDeleteMessage

func (c *Client) MessageDeleteMessage(
	ctx context.Context,
	username string,
	req *pb.MessageService_DeleteRequest,
) (*pb.MessageService_DeleteResponse, error)

func (*Client) MessageGetMessage

func (c *Client) MessageGetMessage(
	ctx context.Context, uin int64,
	req *pb.MessageService_GetRequest,
) (*pb.MessageService_GetResponse, error)

func (*Client) MessageSendMessage

func (c *Client) MessageSendMessage(
	ctx context.Context,
	username string,
	req *pb.MessageService_SendRequest,
) (*pb.MessageService_SendResponse, error)

func (*Client) MessageUploadImage

func (c *Client) MessageUploadImage(
	ctx context.Context,
	username string,
	reqs ...*pb.Cmd0388_TryUploadImageRequest,
) ([]*pb.Cmd0388_TryUploadImageResponse, error)

func (*Client) NewAccountSetStatusFromClient

func (c *Client) NewAccountSetStatusFromClient(
	ctx context.Context,
	req *AccountSetStatusRequest,
) (*AccountSetStatusResponse, error)

func (*Client) PrintMessageRecord

func (c *Client) PrintMessageRecord(mr *db.MessageRecord)

func (*Client) SaveUserSignatures

func (c *Client) SaveUserSignatures(file string) error

func (*Client) SetDB

func (c *Client) SetDB(db *sql.DB)

func (*Client) SetUserAuthSession

func (c *Client) SetUserAuthSession(username string, session []byte)

func (*Client) SetUserKSIDSession

func (c *Client) SetUserKSIDSession(username string, ksid []byte)

func (*Client) SetUserSignature

func (c *Client) SetUserSignature(
	ctx context.Context,
	username string,
	tlvs map[uint16]tlv.TLVCodec,
)

func (*Client) WithClient

func (c *Client) WithClient(ctx context.Context) context.Context

type ClientLogConfig

type ClientLogConfig struct {
	Type       uint32     `jce:",1" json:"type,omitempty"`
	TimeStart  *Timestamp `jce:",2" json:"time_start,omitempty"`
	TimeFinish *Timestamp `jce:",3" json:"time_finish,omitempty"`
	LogLevel   uint8      `jce:",4" json:"log_level,omitempty"`
	Cookie     uint32     `jce:",5" json:"cookie,omitempty"`
	Seq        uint64     `jce:",6" json:"seq,omitempty"`
}

type CommandCallbackerInfo

type CommandCallbackerInfo struct{}

type ConfigPushRequest

type ConfigPushRequest struct {
	Type   uint32 `jce:",1" json:"type,omitempty"`
	Seq    uint64 `jce:",3" json:"seq,omitempty"`
	Buffer []byte `jce:",2" json:"buffer,omitempty"`
}

type ConfigPushResponse

type ConfigPushResponse struct {
	Type   uint32 `jce:",1" json:"type,omitempty"`
	Seq    uint64 `jce:",2" json:"seq,omitempty"`
	Buffer []byte `jce:",3" json:"buffer,omitempty"`
}

type DomainIP

type DomainIP struct {
	Type   uint32         `jce:",0" json:"type,omitempty"`
	IPList []DomainIPInfo `jce:",1" json:"ip_list,omitempty"`
}

type DomainIPChannel

type DomainIPChannel struct {
	DomainIPList []DomainIP `jce:",0" json:"domain_ip_list,omitempty"`
}

type DomainIPInfo

type DomainIPInfo struct {
	IP   uint32 `jce:",1" json:"ip,omitempty"`
	Port uint32 `jce:",2" json:"port,omitempty"`
}

type FavoriteGroup

type FavoriteGroup struct {
	GroupCode     int64 `jce:",0" json:",omitempty"`
	Timestamp     int64 `jce:",1" json:",omitempty"`
	SNSFlag       int64 `jce:",2" json:",omitempty"`
	OpenTimestamp int64 `jce:",3" json:",omitempty"`
}

type FileStorageServerConfig

type FileStorageServerConfig struct {
	UpLoadList               []FileStorageServerInfo `jce:",0" json:"upload_list,omitempty"`
	PictureDownLoadList      []FileStorageServerInfo `jce:",1" json:"picture_downLoad_list,omitempty"`
	GroupPictureDownLoadList []FileStorageServerInfo `jce:",2" json:"group_picture_downLoad_list,omitempty"`
	QZoneProxyServerList     []FileStorageServerInfo `jce:",3" json:"qzone_proxy_server_list,omitempty"`
	URLEncodeServerList      []FileStorageServerInfo `jce:",4" json:"url_encode_server_list,omitempty"`
	BigDataIPChannel         *BigDataIPChannel       `jce:",5" json:"big_data_ip_channel,omitempty"`
	VIPEmotionList           []FileStorageServerInfo `jce:",6" json:"vip_emotion_list,omitempty"`
	C2CPictureDownLoadList   []FileStorageServerInfo `jce:",7" json:"c2c_picture_downLoad_list,omitempty"`
	FormatIPInfo             *FormatIPInfo           `jce:",8" json:"format_ip_info,omitempty"`
	DomainIPChannel          *DomainIPChannel        `jce:",9" json:"domain_ip_channel,omitempty"`
	PTTList                  []byte                  `jce:",10" json:"ptt_list,omitempty"`
}

type FileStorageServerInfo

type FileStorageServerInfo struct {
	IP   string `jce:",1" json:"ip,omitempty"`
	Port uint32 `jce:",2" json:"port,omitempty"`
}

type FormatIPInfo

type FormatIPInfo struct {
	IP       string `jce:",0" json:"ip,omitempty"`
	Operator uint64 `jce:",1" json:"operator,omitempty"`
}

type FriendGroupInfo

type FriendGroupInfo struct {
	GroupID   int8   `jce:",0" json:",omitempty"`
	GroupName string `jce:",1" json:",omitempty"`
}

type FriendInfo

type FriendInfo struct {
	FriendUin             int64        `jce:",0" json:",omitempty"`
	GroupID               int8         `jce:",1" json:",omitempty"`
	FaceID                int16        `jce:",2" json:",omitempty"`
	Remark                string       `jce:",3" json:",omitempty"`
	QQType                int8         `jce:",4" json:",omitempty"`
	Status                int8         `jce:",5" json:",omitempty"`
	MemberLevel           int8         `jce:",6" json:",omitempty"`
	IsMobileQQOnLine      bool         `jce:",7" json:",omitempty"`
	QQOnLineState         int8         `jce:",8" json:",omitempty"`
	IsIphoneOnline        bool         `jce:",9" json:",omitempty"`
	DetalStatusFlag       int8         `jce:",10" json:",omitempty"`
	QQOnLineStateV2       int8         `jce:",11" json:",omitempty"`
	ShowName              string       `jce:",12" json:",omitempty"`
	IsRemark              bool         `jce:",13" json:",omitempty"`
	Nick                  string       `jce:",14" json:",omitempty"`
	SpecialFlag           int8         `jce:",15" json:",omitempty"`
	IMGroupID             []byte       `jce:",16" json:",omitempty"`
	MSFGroupID            []byte       `jce:",17" json:",omitempty"`
	TermType              int32        `jce:",18" json:",omitempty"`
	VIPBaseInfo           *VIPBaseInfo `jce:",19" json:",omitempty"`
	Network               int8         `jce:",20" json:",omitempty"`
	Ring                  []byte       `jce:",21" json:",omitempty"`
	AbiFlag               int64        `jce:",22" json:",omitempty"`
	FaceAddonId           int64        `jce:",23" json:",omitempty"`
	NetworkType           int32        `jce:",24" json:",omitempty"`
	VIPFont               int64        `jce:",25" json:",omitempty"`
	IconType              int32        `jce:",26" json:",omitempty"`
	TermDesc              string       `jce:",27" json:",omitempty"`
	ColorRing             int64        `jce:",28" json:",omitempty"`
	ApolloFlag            int8         `jce:",29" json:",omitempty"`
	ApolloTimestamp       int64        `jce:",30" json:",omitempty"`
	Gender                int8         `jce:",31" json:",omitempty"`
	FounderFont           int64        `jce:",32" json:",omitempty"`
	EimId                 string       `jce:",33" json:",omitempty"`
	EimMobile             string       `jce:",34" json:",omitempty"`
	OlympicTorch          int8         `jce:",35" json:",omitempty"`
	ApolloSignTime        int64        `jce:",36" json:",omitempty"`
	LaviUin               int64        `jce:",37" json:",omitempty"`
	TagUpdateTime         int64        `jce:",38" json:",omitempty"`
	GameLastLoginTime     int64        `jce:",39" json:",omitempty"`
	GameAppID             int64        `jce:",40" json:",omitempty"`
	CardID                []byte       `jce:",41" json:",omitempty"`
	BitSet                int64        `jce:",42" json:",omitempty"`
	KingOfGloryFlag       int8         `jce:",43" json:",omitempty"`
	KingOfGloryRank       int64        `jce:",44" json:",omitempty"`
	MasterUin             string       `jce:",45" json:",omitempty"`
	LastMedalUpdateTime   int64        `jce:",46" json:",omitempty"`
	FaceStoreId           int64        `jce:",47" json:",omitempty"`
	FontEffect            int64        `jce:",48" json:",omitempty"`
	DOVID                 string       `jce:",49" json:",omitempty"`
	BothFlag              int64        `jce:",50" json:",omitempty"`
	CentiShow3DFlag       int8         `jce:",51" json:",omitempty"`
	IntimateInfo          []byte       `jce:",52" json:",omitempty"`
	ShowNameplate         int8         `jce:",53" json:",omitempty"`
	NewLoverDiamondFlag   int8         `jce:",54" json:",omitempty"`
	ExtSnsFrdData         []byte       `jce:",55" json:",omitempty"`
	MutualMarkData        []byte       `jce:",56" json:",omitempty"`
	ExtOnlineStatus       int64        `jce:",57" json:",omitempty"`
	BatteryStatus         int32        `jce:",58" json:",omitempty"`
	MusicInfo             []byte       `jce:",59" json:",omitempty"`
	PoiInfo               []byte       `jce:",60" json:",omitempty"`
	ExtOnlineBusinessInfo []byte       `jce:",61" json:",omitempty"`
}

type FriendListGetFriendGroupListRequest

type FriendListGetFriendGroupListRequest struct {
	RequestType     int32   `jce:",0" json:",omitempty"`
	IsReflush       bool    `jce:",1" json:",omitempty"`
	Uin             int64   `jce:",2" json:",omitempty"`
	StartIndex      int16   `jce:",3" json:",omitempty"`
	GetFriendCount  int16   `jce:",4" json:",omitempty"`
	GroupID         int8    `jce:",5" json:",omitempty"`
	IsGetGroupInfo  bool    `jce:",6" json:",omitempty"`
	GroupStartIndex int8    `jce:",7" json:",omitempty"`
	GetGroupCount   int8    `jce:",8" json:",omitempty"`
	IsGetMSFGroup   bool    `jce:",9" json:",omitempty"`
	IsShowTermType  bool    `jce:",10" json:",omitempty"`
	Version         int64   `jce:",11" json:",omitempty"`
	UinList         []int64 `jce:",12" json:",omitempty"`
	AppType         int32   `jce:",13" json:",omitempty"`
	IsGetDOVID      bool    `jce:",14" json:",omitempty"`
	IsGetBothFlag   bool    `jce:",15" json:",omitempty"`
	OIDB0x0D50      []byte  `jce:",16" json:",omitempty"`
	OIDB0x0D6B      []byte  `jce:",17" json:",omitempty"`
	SNSTypeList     []int64 `jce:",18" json:",omitempty"`
}

func NewFriendListGetFriendGroupListRequest

func NewFriendListGetFriendGroupListRequest(
	uin int64,
	startIndex, friendCount int16,
	groupStartIndex, groupCount int8,
) *FriendListGetFriendGroupListRequest

type FriendListGetFriendGroupListResponse

type FriendListGetFriendGroupListResponse struct {
	RequestType             int32                            `jce:",0" json:",omitempty"`
	IsReflush               bool                             `jce:",1" json:",omitempty"`
	Uin                     int64                            `jce:",2" json:",omitempty"`
	StartIndex              int16                            `jce:",3" json:",omitempty"`
	GetFriendCount          int16                            `jce:",4" json:",omitempty"`
	TotoalFriendCount       int16                            `jce:",5" json:",omitempty"`
	FriendCount             int16                            `jce:",6" json:",omitempty"`
	FriendInfoList          []FriendInfo                     `jce:",7" json:",omitempty"`
	GroupID                 int8                             `jce:",8" json:",omitempty"`
	IsGetGroupInfo          bool                             `jce:",9" json:",omitempty"`
	GroupStartIndex         int8                             `jce:",10" json:",omitempty"`
	GetGroupCount           int8                             `jce:",11" json:",omitempty"`
	TotoalGroupCount        int16                            `jce:",12" json:",omitempty"`
	GroupCount              int8                             `jce:",13" json:",omitempty"`
	GroupInfoList           []FriendGroupInfo                `jce:",14" json:",omitempty"`
	Result                  int32                            `jce:",15" json:",omitempty"`
	ErrorCode               int16                            `jce:",16" json:",omitempty"`
	OnlineFriendCount       int16                            `jce:",17" json:",omitempty"`
	ServerTime              int64                            `jce:",18" json:",omitempty"`
	QQOnlineCount           int16                            `jce:",19" json:",omitempty"`
	GroupInfoList2          []FriendGroupInfo                `jce:",20" json:",omitempty"`
	RespType                int8                             `jce:",21" json:",omitempty"`
	HasOtherRespFlag        int8                             `jce:",22" json:",omitempty"`
	FriendInfo              *FriendInfo                      `jce:",23" json:",omitempty"`
	ShowPcIcon              int8                             `jce:",24" json:",omitempty"`
	GetExtraSNSResponseCode int16                            `jce:",25" json:",omitempty"`
	SubServerResponseCode   *FriendListSubServerResponseCode `jce:",26" json:",omitempty"`
}

type FriendListGetGroupListRequest

type FriendListGetGroupListRequest struct {
	Uin               int64              `jce:",0" json:",omitempty"`
	GetMSFMessageFlag int8               `jce:",1" json:",omitempty"`
	Cookie            []byte             `jce:",2" json:",omitempty"`
	GroupInfoList     []GroupInfoRequest `jce:",3" json:",omitempty"`
	GroupFlagExtra    int8               `jce:",4" json:",omitempty"`
	Version           int32              `jce:",5" json:",omitempty"`
	CompanyID         int64              `jce:",6" json:",omitempty"`
	VersionNumber     int64              `jce:",7" json:",omitempty"`
	GetLongGroupName  int8               `jce:",8" json:",omitempty"`
}

func NewFriendListGetGroupListRequest

func NewFriendListGetGroupListRequest(
	uin int64,
	cookie []byte,
) *FriendListGetGroupListRequest

type FriendListGetGroupListResponse

type FriendListGetGroupListResponse struct {
	Uin                int64           `jce:",0" json:",omitempty"`
	GroupCount         int16           `jce:",1" json:",omitempty"`
	Result             int32           `jce:",2" json:",omitempty"`
	ErrorCode          int16           `jce:",3" json:",omitempty"`
	Cookie             []byte          `jce:",4" json:",omitempty"`
	GroupList          []GroupInfo     `jce:",5" json:",omitempty"`
	GroupListDelete    []GroupInfo     `jce:",6" json:",omitempty"`
	GroupRankList      []GroupRankInfo `jce:",7" json:",omitempty"`
	FavouriteGroupList []FavoriteGroup `jce:",8" json:",omitempty"`
	GroupListExtra     []GroupInfo     `jce:",9" json:",omitempty"`
	GroupInfoExtra     []int64         `jce:",10" json:",omitempty"`
}

type FriendListGetGroupMemberListRequest

type FriendListGetGroupMemberListRequest struct {
	Uin                 int64 `jce:",0" json:",omitempty"`
	GroupCode           int64 `jce:",1" json:",omitempty"`
	NextUin             int64 `jce:",2" json:",omitempty"`
	GroupUin            int64 `jce:",3" json:",omitempty"`
	Version             int64 `jce:",4" json:",omitempty"`
	ReqType             int64 `jce:",5" json:",omitempty"`
	GetListAppointTime  int64 `jce:",6" json:",omitempty"`
	RichCardNameVersion int8  `jce:",7" json:",omitempty"`
}

func NewFriendListGetGroupMemberListRequest

func NewFriendListGetGroupMemberListRequest(
	uin, groupCode, nextUin, groupUin int64,
) *FriendListGetGroupMemberListRequest

type FriendListGetGroupMemberListResponse

type FriendListGetGroupMemberListResponse struct {
	Uin             int64             `jce:",0" json:",omitempty"`
	GroupCode       int64             `jce:",1" json:",omitempty"`
	GroupUin        int64             `jce:",2" json:",omitempty"`
	GroupMemberList []GroupMemberInfo `jce:",3" json:",omitempty"`
	NextUin         int64             `jce:",4" json:",omitempty"`
	Result          int32             `jce:",5" json:",omitempty"`
	ErrorCode       int16             `jce:",6" json:",omitempty"`
	OfficeMode      int64             `jce:",7" json:",omitempty"`
	NextGetTime     int64             `jce:",8" json:",omitempty"`
}

type FriendListSubServerResponseCode

type FriendListSubServerResponseCode struct {
	GetMutualMarkCode   int16 `jce:",0" json:",omitempty"`
	GetIntimateInfoCode int16 `jce:",1" json:",omitempty"`
}

type GroupInfo

type GroupInfo struct {
	GroupUin              int64  `jce:",0" json:",omitempty"`
	GroupCode             int64  `jce:",1" json:",omitempty"`
	Flag                  int8   `jce:",2" json:",omitempty"`
	GroupInfoSeq          int64  `jce:",3" json:",omitempty"`
	GroupName             string `jce:",4" json:",omitempty"`
	GroupMemo             string `jce:",5" json:",omitempty"`
	GroupFlagExt          int64  `jce:",6" json:",omitempty"`
	GroupRankSeq          int64  `jce:",7" json:",omitempty"`
	CertificationType     int64  `jce:",8" json:",omitempty"`
	ShutupTimestamp       int64  `jce:",9" json:",omitempty"`
	MyShutupTimestamp     int64  `jce:",10" json:",omitempty"`
	CmdUinUinFlag         int64  `jce:",11" json:",omitempty"`
	AdditionalFlag        int64  `jce:",12" json:",omitempty"`
	GroupTypeFlag         int64  `jce:",13" json:",omitempty"`
	GroupSecType          int64  `jce:",14" json:",omitempty"`
	GroupSecTypeInfo      int64  `jce:",15" json:",omitempty"`
	GroupClassExt         int64  `jce:",16" json:",omitempty"`
	AppPrivilegeFlag      int64  `jce:",17" json:",omitempty"`
	SubscriptionUin       int64  `jce:",18" json:",omitempty"`
	MemberNum             int64  `jce:",19" json:",omitempty"`
	MemberNumSeq          int64  `jce:",20" json:",omitempty"`
	MemberCardSeq         int64  `jce:",21" json:",omitempty"`
	GroupFlagExt3         int64  `jce:",22" json:",omitempty"`
	GroupOwnerUin         int64  `jce:",23" json:",omitempty"`
	IsConfGroup           bool   `jce:",24" json:",omitempty"`
	IsModifyConfGroupFace bool   `jce:",25" json:",omitempty"`
	IsModifyConfGroupName bool   `jce:",26" json:",omitempty"`
	CmduinJoinTime        int64  `jce:",27" json:",omitempty"`
	CompanyID             int64  `jce:",28" json:",omitempty"`
	MaxGroupMemberNum     int64  `jce:",29" json:",omitempty"`
	CmdUinGroupMask       int64  `jce:",30" json:",omitempty"`
	HLGuildAppid          int64  `jce:",31" json:",omitempty"`
	HLGuildSubType        int64  `jce:",32" json:",omitempty"`
	CmdUinRingtoneID      int64  `jce:",33" json:",omitempty"`
	CmdUinFlagEx2         int64  `jce:",34" json:",omitempty"`
	GroupFlagExt4         int64  `jce:",35" json:",omitempty"`
	AppealDeadline        int64  `jce:",36" json:",omitempty"`
	GroupFlag             int64  `jce:",37" json:",omitempty"`
	GroupRemark           []byte `jce:",38" json:",omitempty"`
}

type GroupInfoRequest

type GroupInfoRequest struct {
	GroupCode         int64 `jce:",0" json:",omitempty"`
	GroupInfoSeq      int64 `jce:",1" json:",omitempty"`
	GroupFlagExtra    int64 `jce:",2" json:",omitempty"`
	GroupRankSeq      int64 `jce:",3" json:",omitempty"`
	GroupInfoExtraSeq int64 `jce:",4" json:",omitempty"`
}

type GroupMemberInfo

type GroupMemberInfo struct {
	MemberUin              int64          `jce:",0" json:",omitempty"`
	FaceID                 int16          `jce:",1" json:",omitempty"`
	Age                    int8           `jce:",2" json:",omitempty"`
	Gender                 int8           `jce:",3" json:",omitempty"`
	Nick                   string         `jce:",4" json:",omitempty"`
	Status                 int8           `jce:",5" json:",omitempty"`
	ShowName               string         `jce:",6" json:",omitempty"`
	Name                   string         `jce:",8" json:",omitempty"`
	Gender2                int8           `jce:",9" json:",omitempty"`
	Phone                  string         `jce:",10" json:",omitempty"`
	Email                  string         `jce:",11" json:",omitempty"`
	Memo                   string         `jce:",12" json:",omitempty"`
	AutoRemark             string         `jce:",13" json:",omitempty"`
	MemberLevel            int64          `jce:",14" json:",omitempty"`
	JoinTime               int64          `jce:",15" json:",omitempty"`
	LastSpeakTime          int64          `jce:",16" json:",omitempty"`
	CreditLevel            int64          `jce:",17" json:",omitempty"`
	Flag                   int64          `jce:",18" json:",omitempty"`
	FlagExt                int64          `jce:",19" json:",omitempty"`
	Point                  int64          `jce:",20" json:",omitempty"`
	Concerned              int8           `jce:",21" json:",omitempty"`
	Shielded               int8           `jce:",22" json:",omitempty"`
	SpecialTitle           string         `jce:",23" json:",omitempty"`
	SpecialTitleExpireTime int64          `jce:",24" json:",omitempty"`
	Job                    string         `jce:",25" json:",omitempty"`
	ApolloFlag             int8           `jce:",26" json:",omitempty"`
	ApolloTimestamp        int64          `jce:",27" json:",omitempty"`
	GlobalGroupLevel       int64          `jce:",28" json:",omitempty"`
	TitleId                int64          `jce:",29" json:",omitempty"`
	ShutupTimestap         int64          `jce:",30" json:",omitempty"`
	GlobalGroupPoint       int64          `jce:",31" json:",omitempty"`
	QZoneUserInfo          *QZoneUserInfo `jce:",32" json:",omitempty"`
	RichCardNameVer        int8           `jce:",33" json:",omitempty"`
	VipType                int64          `jce:",34" json:",omitempty"`
	VipLevel               int64          `jce:",35" json:",omitempty"`
	BigClubLevel           int64          `jce:",36" json:",omitempty"`
	BigClubFlag            int64          `jce:",37" json:",omitempty"`
	Nameplate              int64          `jce:",38" json:",omitempty"`
	GroupHonor             []byte         `jce:",39" json:",omitempty"`
	Remark                 []byte         `jce:",40" json:",omitempty"`
	RichFlag               int8           `jce:",41" json:",omitempty"`
}

type GroupRankInfo

type GroupRankInfo struct {
	GroupCode            int64           `jce:",0" json:",omitempty"`
	GroupRankSysFlag     int8            `jce:",1" json:",omitempty"`
	GroupRankUserFlag    int8            `jce:",2" json:",omitempty"`
	RankMap              []LevelRankPair `jce:",3" json:",omitempty"`
	GroupRankSeq         int64           `jce:",4" json:",omitempty"`
	OwnerName            string          `jce:",5" json:",omitempty"`
	AdminName            string          `jce:",6" json:",omitempty"`
	OfficeMode           int64           `jce:",7" json:",omitempty"`
	GroupRankUserFlagNew int8            `jce:",8" json:",omitempty"`
	RankMapNew           []LevelRankPair `jce:",9" json:",omitempty"`
}

type LevelRankPair

type LevelRankPair struct {
	Level int64  `jce:",0" json:",omitempty"`
	Rank  string `jce:",1" json:",omitempty"`
}

type Message

type Message struct {
	FromUin         int64            `jce:",0" json:"from_uin,omitempty"`
	MessageTime     int64            `jce:",1" json:"message_time,omitempty"`
	MessageType     int16            `jce:",2" json:"message_type,omitempty"`
	MessageSeq      int32            `jce:",3" json:"message_seq,omitempty"`
	Message         string           `jce:",4" json:"message,omitempty"`
	RealMessageTime int64            `jce:",5" json:"real_message_time,omitempty"`
	MessageBytes    []byte           `jce:",6" json:"message_bytes,omitempty"`
	AppShareID      int64            `jce:",7" json:"app_share_id,omitempty"`
	MessageCookie   []byte           `jce:",8" json:"message_cookie,omitempty"`
	AppShareCookie  []byte           `jce:",9" json:"app_share_cookie,omitempty"`
	MessageUid      int64            `jce:",10" json:"message_uid,omitempty"`
	LastChangeTime  int64            `jce:",11" json:"last_change_time,omitempty"`
	Pictures        []Picture        `jce:",12" json:"pictures,omitempty"`
	ShareData       *ShareData       `jce:",13" json:"share_data,omitempty"`
	FromInstanceID  int64            `jce:",14" json:"from_instance_id,omitempty"`
	FromRemark      []byte           `jce:",15" json:"from_remark,omitempty"`
	FromMobile      string           `jce:",16" json:"from_mobile,omitempty"`
	FromName        string           `jce:",17" json:"from_name,omitempty"`
	FromNick        []string         `jce:",18" json:"from_nick,omitempty"`
	TempMessageHead *TempMessageHead `jce:",19" json:"temp_message_head,omitempty"`
}

type MessageDelete

type MessageDelete struct {
	FromUin       int64  `jce:",0" json:"from_uin,omitempty"`
	MessageTime   int64  `jce:",1" json:"message_time,omitempty"`
	MessageSeq    int32  `jce:",2" json:"message_seq,omitempty"`
	MessageCookie []byte `jce:",3" json:"message_cookie,omitempty"`
}

type MessagePushNotifyRequest

type MessagePushNotifyRequest struct {
	Uin         int64  `jce:",0" json:"uin,omitempty"`
	Type        uint8  `jce:",1" json:"type,omitempty"`
	Service     string `jce:",2" json:"service,omitempty"`
	Cmd         string `jce:",3" json:"cmd,omitempty"`
	Cookie      []byte `jce:",4" json:"cookie,omitempty"`
	MessageType uint16 `jce:",5" json:"message_type,omitempty"`
	UserActive  uint32 `jce:",6" json:"user_active,omitempty"`
	GeneralFlag uint32 `jce:",7" json:"general_flag,omitempty"`
	BindedUin   int64  `jce:",8" json:"binded_uin,omitempty"`

	Message       *Message     `jce:",9" json:"message,omitempty"`
	ControlBuffer string       `jce:",10" json:"control_buffer,omitempty"`
	ServerBuffer  []byte       `jce:",11" json:"server_buffer,omitempty"`
	PingFlag      uint64       `jce:",12" json:"ping_flag,omitempty"`
	ServerIP      Uint32IPType `jce:",13" json:"server_ip,omitempty"`
}

type MessagePushReadedRequest

type MessagePushReadedRequest struct {
	Type    uint8                  `jce:",0" json:"type,omitempty"`
	C2C     []MessageReadedC2C     `jce:",1" json:"c2c,omitempty"`
	Group   []MessageReadedGroup   `jce:",2" json:"group,omitempty"`
	Discuss []MessageReadedDiscuss `jce:",3" json:"discuss,omitempty"`
}

type MessageReadedC2C

type MessageReadedC2C struct {
	Uin          int64 `jce:",0" json:"uin,omitempty"`
	LastReadTime int64 `jce:",1" json:"last_read_time,omitempty"`
}

type MessageReadedDiscuss

type MessageReadedDiscuss struct {
	Uin        int64 `jce:",0" json:"uin,omitempty"`
	Type       int64 `jce:",1" json:"type,omitempty"`
	MemberSeq  int32 `jce:",2" json:"member_seq,omitempty"`
	MessageSeq int32 `jce:",3" json:"message_seq,omitempty"`
}

type MessageReadedGroup

type MessageReadedGroup struct {
	Uin        int64 `jce:",0" json:"uin,omitempty"`
	Type       int64 `jce:",1" json:"type,omitempty"`
	MemberSeq  int32 `jce:",2" json:"member_seq,omitempty"`
	MessageSeq int32 `jce:",3" json:"message_seq,omitempty"`
}

type MessageType0210

type MessageType0210 struct {
	SubType int64  `jce:",0" json:",omitempty"`
	Buffer  []byte `jce:",10" json:",omitempty"`
}

type NetSegConfig

type NetSegConfig struct {
	NetType           uint64 `jce:",0" json:"net_type,omitempty"`
	SegSize           uint64 `jce:",1" json:"seg_size,omitempty"`
	SegNumber         uint64 `jce:",2" json:"seg_number,omitempty"`
	CurrentConnNumber uint64 `jce:",3" json:"current_conn_number,omitempty"`
}

type NotifyRegisterInfo

type NotifyRegisterInfo struct{}

type OnlinePushMessageResponse

type OnlinePushMessageResponse struct {
	Uin      int64           `jce:",0" json:"uin,omitempty"`
	Items    []MessageDelete `jce:",1" json:"items,omitempty"`
	ServerIP Uint32IPType    `jce:",2" json:"server_ip,omitempty"`
}

type OnlinePushRequest

type OnlinePushRequest struct {
	Uin             int64             `jce:",0" json:"uin,omitempty"`
	Time            int64             `jce:",1" json:"time,omitempty"`
	Messages        []*Message        `jce:",2" json:"messages,omitempty"`
	ServerIP        Uint32IPType      `jce:",3" json:"server_ip,omitempty"`
	SyncCookie      []byte            `jce:",4" json:"sync_cookie,omitempty"`
	UinPairMessages []*UinPairMessage `jce:",5" json:"uin_pair_messages,omitempty"`
	Previews        map[string][]byte `jce:",6" json:"previews,omitempty"`
	UserActive      int32             `jce:",7" json:"user_active,omitempty"`
	GeneralFlag     int32             `jce:",12" json:"general_flag,omitempty"`
}

type OnlinePushResponse

type OnlinePushResponse struct {
	Type   int32  `jce:",1" json:"type,omitempty"`
	Seq    int64  `jce:",2" json:"seq,omitempty"`
	Buffer []byte `jce:",3" json:"buffer,omitempty"`
}

type Picture

type Picture struct {
	Path []byte `jce:",0" json:"path,omitempty"`
	Host []byte `jce:",1" json:"host,omitempty"`
}

type ProxyIP

type ProxyIP struct {
	Type   uint64        `jce:",0" json:"type,omitempty"`
	IPlist []ProxyIPInfo `jce:",1" json:"ip_list,omitempty"`
}

type ProxyIPChannel

type ProxyIPChannel struct {
	ProxyIPList []ProxyIP `jce:",0" json:"proxy_ip_list,omitempty"`
	Reconnect   uint32    `jce:",1" json:"reconnect,omitempty"`
}

type ProxyIPInfo

type ProxyIPInfo struct {
	Type uint32 `jce:",0" json:"type,omitempty"`
	IP   uint32 `jce:",1" json:"ip,omitempty"`
	Port uint32 `jce:",2" json:"port,omitempty"`
}

type PushServiceRequest

type PushServiceRequest struct {
	Uin uint64 `jce:",0" json:",omitempty"`
	Map uint64 `jce:",1" json:",omitempty"`
	Str uint8  `jce:",2" json:",omitempty"`
}

type QZoneUserInfo

type QZoneUserInfo struct {
	StarState  int32             `jce:",0" json:",omitempty"`
	ExtendInfo map[string]string `jce:",1" json:",omitempty"`
}

type SSOServerConfig

type SSOServerConfig struct {
	TGTGList     []SSOServerInfo `jce:",1" json:"2g3g_list,omitempty"`
	WiFiList     []SSOServerInfo `jce:",3" json:"wifi_list,omitempty"`
	Reconnect    uint32          `jce:",4" json:"reconnect,omitempty"`
	TestSpeed    bool            `jce:",5" json:"test_speed,omitempty"`
	UseNewList   bool            `jce:",6" json:"use_new_list,omitempty"`
	MultiConn    uint32          `jce:",7" json:"multi_conn,omitempty"`
	HTTP2G3GList []SSOServerInfo `jce:",8" json:"http_2g3g_list,omitempty"`
	HTTPWiFiList []SSOServerInfo `jce:",9" json:"http_wifi_list,omitempty"`

	Unknown12 []uint64 `jce:",12" json:"unknown12,omitempty"`
	Unknown13 []uint64 `jce:",13" json:"unknown13,omitempty"`
	Unknown14 uint64   `jce:",14" json:"unknown14,omitempty"`
	Unknown15 uint64   `jce:",15" json:"unknown15,omitempty"`
	Unknown16 string   `jce:",16" json:"unknown16,omitempty"`

} // SsoServerList

type SSOServerInfo

type SSOServerInfo struct {
	IP           string `jce:",1" json:"ip,omitempty"`
	Port         uint32 `jce:",2" json:"port,omitempty"`
	LinkType     bool   `jce:",3" json:"link_type,omitempty"`
	Proxy        bool   `jce:",4" json:"proxy,omitempty"`
	ProtocolType bool   `jce:",5" json:"protocol_type,omitempty"`
	Timeout      uint32 `jce:",6" json:"timeout,omitempty"`
	Location     string `jce:",8" json:"location,omitempty"`

} // SsoServerListInfo

type ShareData

type ShareData struct {
	PackageName string `jce:",0" json:"package_name,omitempty"`
	MessageTail string `jce:",1" json:"message_tail,omitempty"`
	PictureURL  string `jce:",2" json:"picture_url,omitempty"`
	URL         string `jce:",3" json:"url,omitempty"`
}

type TempMessageHead

type TempMessageHead struct {
	C2CType     int32 `jce:",0" json:"c2c_type,omitempty"`
	ServiceType int32 `jce:",1" json:"service_type,omitempty"`
}

type Timestamp

type Timestamp struct {
	Year  uint32 `jce:",1" json:"year,omitempty"`
	Month uint8  `jce:",2" json:"month,omitempty"`
	Day   uint8  `jce:",3" json:"day,omitempty"`
	Hour  uint8  `jce:",4" json:"hour,omitempty"`
}

type UinPairMessage

type UinPairMessage struct {
	LastReadTime     int64      `jce:",1" json:"last_read_time,omitempty"`
	PeerUin          int64      `jce:",2" json:"peer_uin,omitempty"`
	MessageCompleted int64      `jce:",3" json:"message_completed,omitempty"`
	Messages         []*Message `jce:",4" json:"messages,omitempty"`
}

type Uint32IPType

type Uint32IPType uint32

func (Uint32IPType) MarshalJSON

func (v Uint32IPType) MarshalJSON() ([]byte, error)

func (Uint32IPType) String

func (v Uint32IPType) String() string

func (*Uint32IPType) UnmarshalJSON

func (v *Uint32IPType) UnmarshalJSON(p []byte) error

type UploadImageRequest

type UploadImageRequest struct {
	*UploadRequest
	BusinessType   int32
	Filename       string
	FileSize       int64
	Height         int32
	Width          int32
	IsContact      bool
	IsRaw          bool
	IsSnapChat     bool
	MD5            []byte
	PictureType    int32
	TransferURL    string
	TypeHotPicture int32
}

type UploadRequest

type UploadRequest struct {
	PeerUin   int64
	SecondUin int64
	SelfUin   int64
	UinType   int
}

type UploadTempBlob

type UploadTempBlob struct {
	URL     string               `json:"url"`
	Name    string               `json:"name"`
	Size    int64                `json:"size"`
	Digests map[string][]byte    `json:"digests"`
	Photo   *UploadTempBlobPhoto `json:"photo"`
}

func NewMessageUploadImageRequest

func NewMessageUploadImageRequest(
	peerUin int64,
	selfUin int64,
	fileID string,
	cacheDir string,
) (*pb.Cmd0388_TryUploadImageRequest, *UploadTempBlob, error)

type UploadTempBlobPhoto

type UploadTempBlobPhoto struct {
	Height int32 `json:"height"`
	Width  int32 `json:"width"`
}

type VIPBaseInfo

type VIPBaseInfo struct {
	OpenInfoMap       map[uint64]VIPOpenInfo `jce:",0" json:",omitempty"`
	NameplateVIPType  int32                  `jce:",1" json:",omitempty"`
	GrayNameplateFlag int32                  `jce:",2" json:",omitempty"`
	ExtendNameplateId string                 `jce:",3" json:",omitempty"`
}

type VIPOpenInfo

type VIPOpenInfo struct {
	Open        bool  `jce:",0" json:",omitempty"`
	VIPType     int32 `jce:",1" json:",omitempty"`
	VIPLevel    int32 `jce:",2" json:",omitempty"`
	VIPFlag     int32 `jce:",3" json:",omitempty"`
	NameplateID int64 `jce:",4" json:",omitempty"`
}

type VendorPushInfo

type VendorPushInfo struct {
	Type uint64 `jce:",0" json:",omitempty"`
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL