forked from jshiffer/matterbridge
Use mod vendor for vendored directory (backwards compatible)
This commit is contained in:
parent
4fb4b7aa6c
commit
51062863a5
3
vendor/github.com/42wim/go-gitter/.gitignore
generated
vendored
Normal file
3
vendor/github.com/42wim/go-gitter/.gitignore
generated
vendored
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
.idea
|
||||||
|
/test
|
||||||
|
app.yaml
|
154
vendor/github.com/42wim/go-gitter/README.md
generated
vendored
Normal file
154
vendor/github.com/42wim/go-gitter/README.md
generated
vendored
Normal file
@ -0,0 +1,154 @@
|
|||||||
|
# gitter
|
||||||
|
Gitter API in Go
|
||||||
|
https://developer.gitter.im
|
||||||
|
|
||||||
|
#### Install
|
||||||
|
|
||||||
|
`go get github.com/sromku/go-gitter`
|
||||||
|
|
||||||
|
- [Initialize](#initialize)
|
||||||
|
- [Users](#users)
|
||||||
|
- [Rooms](#rooms)
|
||||||
|
- [Messages](#messages)
|
||||||
|
- [Stream](#stream)
|
||||||
|
- [Faye (Experimental)](#faye-experimental)
|
||||||
|
- [Debug](#debug)
|
||||||
|
- [App Engine](#app-engine)
|
||||||
|
|
||||||
|
##### Initialize
|
||||||
|
``` Go
|
||||||
|
api := gitter.New("YOUR_ACCESS_TOKEN")
|
||||||
|
```
|
||||||
|
|
||||||
|
##### Users
|
||||||
|
|
||||||
|
- Get current user
|
||||||
|
|
||||||
|
``` Go
|
||||||
|
user, err := api.GetUser()
|
||||||
|
```
|
||||||
|
|
||||||
|
##### Rooms
|
||||||
|
|
||||||
|
- Get all rooms
|
||||||
|
``` Go
|
||||||
|
rooms, err := api.GetRooms()
|
||||||
|
```
|
||||||
|
|
||||||
|
- Get room by id
|
||||||
|
``` Go
|
||||||
|
room, err := api.GetRoom("roomID")
|
||||||
|
```
|
||||||
|
|
||||||
|
- Get rooms of some user
|
||||||
|
``` Go
|
||||||
|
rooms, err := api.GetRooms("userID")
|
||||||
|
```
|
||||||
|
|
||||||
|
- Join room
|
||||||
|
``` Go
|
||||||
|
room, err := api.JoinRoom("roomID", "userID")
|
||||||
|
```
|
||||||
|
|
||||||
|
- Leave room
|
||||||
|
``` Go
|
||||||
|
room, err := api.LeaveRoom("roomID", "userID")
|
||||||
|
```
|
||||||
|
|
||||||
|
- Get room id
|
||||||
|
``` Go
|
||||||
|
id, err := api.GetRoomId("room/uri")
|
||||||
|
```
|
||||||
|
|
||||||
|
- Search gitter rooms
|
||||||
|
``` Go
|
||||||
|
rooms, err := api.SearchRooms("search/string")
|
||||||
|
```
|
||||||
|
##### Messages
|
||||||
|
|
||||||
|
- Get messages of room
|
||||||
|
``` Go
|
||||||
|
messages, err := api.GetMessages("roomID", nil)
|
||||||
|
```
|
||||||
|
|
||||||
|
- Get one message
|
||||||
|
``` Go
|
||||||
|
message, err := api.GetMessage("roomID", "messageID")
|
||||||
|
```
|
||||||
|
|
||||||
|
- Send message
|
||||||
|
``` Go
|
||||||
|
err := api.SendMessage("roomID", "free chat text")
|
||||||
|
```
|
||||||
|
|
||||||
|
##### Stream
|
||||||
|
|
||||||
|
Create stream to the room and start listening to incoming messages
|
||||||
|
|
||||||
|
``` Go
|
||||||
|
stream := api.Stream(room.Id)
|
||||||
|
go api.Listen(stream)
|
||||||
|
|
||||||
|
for {
|
||||||
|
event := <-stream.Event
|
||||||
|
switch ev := event.Data.(type) {
|
||||||
|
case *gitter.MessageReceived:
|
||||||
|
fmt.Println(ev.Message.From.Username + ": " + ev.Message.Text)
|
||||||
|
case *gitter.GitterConnectionClosed:
|
||||||
|
// connection was closed
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
Close stream connection
|
||||||
|
|
||||||
|
``` Go
|
||||||
|
stream.Close()
|
||||||
|
```
|
||||||
|
|
||||||
|
##### Faye (Experimental)
|
||||||
|
|
||||||
|
``` Go
|
||||||
|
faye := api.Faye(room.ID)
|
||||||
|
go faye.Listen()
|
||||||
|
|
||||||
|
for {
|
||||||
|
event := <-faye.Event
|
||||||
|
switch ev := event.Data.(type) {
|
||||||
|
case *gitter.MessageReceived:
|
||||||
|
fmt.Println(ev.Message.From.Username + ": " + ev.Message.Text)
|
||||||
|
case *gitter.GitterConnectionClosed: //this one is never called in Faye
|
||||||
|
// connection was closed
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
##### Debug
|
||||||
|
|
||||||
|
You can print the internal errors by enabling debug to true
|
||||||
|
|
||||||
|
``` Go
|
||||||
|
api.SetDebug(true, nil)
|
||||||
|
```
|
||||||
|
|
||||||
|
You can also define your own `io.Writer` in case you want to persist the logs somewhere.
|
||||||
|
For example keeping the errors on file
|
||||||
|
|
||||||
|
``` Go
|
||||||
|
logFile, err := os.Create("gitter.log")
|
||||||
|
api.SetDebug(true, logFile)
|
||||||
|
```
|
||||||
|
|
||||||
|
##### App Engine
|
||||||
|
|
||||||
|
Initialize app engine client and continue as usual
|
||||||
|
|
||||||
|
``` Go
|
||||||
|
c := appengine.NewContext(r)
|
||||||
|
client := urlfetch.Client(c)
|
||||||
|
|
||||||
|
api := gitter.New("YOUR_ACCESS_TOKEN")
|
||||||
|
api.SetClient(client)
|
||||||
|
```
|
||||||
|
|
||||||
|
[Documentation](https://godoc.org/github.com/sromku/go-gitter)
|
27
vendor/github.com/42wim/go-ircevent/LICENSE
generated
vendored
27
vendor/github.com/42wim/go-ircevent/LICENSE
generated
vendored
@ -1,27 +0,0 @@
|
|||||||
// Copyright (c) 2009 Thomas Jager. All rights reserved.
|
|
||||||
//
|
|
||||||
// Redistribution and use in source and binary forms, with or without
|
|
||||||
// modification, are permitted provided that the following conditions are
|
|
||||||
// met:
|
|
||||||
//
|
|
||||||
// * Redistributions of source code must retain the above copyright
|
|
||||||
// notice, this list of conditions and the following disclaimer.
|
|
||||||
// * Redistributions in binary form must reproduce the above
|
|
||||||
// copyright notice, this list of conditions and the following disclaimer
|
|
||||||
// in the documentation and/or other materials provided with the
|
|
||||||
// distribution.
|
|
||||||
// * Neither the name of Google Inc. nor the names of its
|
|
||||||
// contributors may be used to endorse or promote products derived from
|
|
||||||
// this software without specific prior written permission.
|
|
||||||
//
|
|
||||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
|
||||||
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
|
||||||
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
|
||||||
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
|
||||||
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
|
||||||
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
|
||||||
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
|
||||||
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
|
||||||
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
||||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
||||||
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
578
vendor/github.com/42wim/go-ircevent/irc.go
generated
vendored
578
vendor/github.com/42wim/go-ircevent/irc.go
generated
vendored
@ -1,578 +0,0 @@
|
|||||||
// Copyright 2009 Thomas Jager <mail@jager.no> All rights reserved.
|
|
||||||
// Use of this source code is governed by a BSD-style
|
|
||||||
// license that can be found in the LICENSE file.
|
|
||||||
|
|
||||||
/*
|
|
||||||
This package provides an event based IRC client library. It allows to
|
|
||||||
register callbacks for the events you need to handle. Its features
|
|
||||||
include handling standard CTCP, reconnecting on errors and detecting
|
|
||||||
stones servers.
|
|
||||||
Details of the IRC protocol can be found in the following RFCs:
|
|
||||||
https://tools.ietf.org/html/rfc1459
|
|
||||||
https://tools.ietf.org/html/rfc2810
|
|
||||||
https://tools.ietf.org/html/rfc2811
|
|
||||||
https://tools.ietf.org/html/rfc2812
|
|
||||||
https://tools.ietf.org/html/rfc2813
|
|
||||||
The details of the client-to-client protocol (CTCP) can be found here: http://www.irchelp.org/irchelp/rfc/ctcpspec.html
|
|
||||||
*/
|
|
||||||
|
|
||||||
package irc
|
|
||||||
|
|
||||||
import (
|
|
||||||
"bufio"
|
|
||||||
"bytes"
|
|
||||||
"crypto/tls"
|
|
||||||
"errors"
|
|
||||||
"fmt"
|
|
||||||
"log"
|
|
||||||
"net"
|
|
||||||
"os"
|
|
||||||
"strconv"
|
|
||||||
"strings"
|
|
||||||
"time"
|
|
||||||
)
|
|
||||||
|
|
||||||
const (
|
|
||||||
VERSION = "go-ircevent v2.1"
|
|
||||||
)
|
|
||||||
|
|
||||||
var ErrDisconnected = errors.New("Disconnect Called")
|
|
||||||
|
|
||||||
// Read data from a connection. To be used as a goroutine.
|
|
||||||
func (irc *Connection) readLoop() {
|
|
||||||
defer irc.Done()
|
|
||||||
br := bufio.NewReaderSize(irc.socket, 512)
|
|
||||||
|
|
||||||
errChan := irc.ErrorChan()
|
|
||||||
|
|
||||||
for {
|
|
||||||
select {
|
|
||||||
case <-irc.end:
|
|
||||||
return
|
|
||||||
default:
|
|
||||||
// Set a read deadline based on the combined timeout and ping frequency
|
|
||||||
// We should ALWAYS have received a response from the server within the timeout
|
|
||||||
// after our own pings
|
|
||||||
if irc.socket != nil {
|
|
||||||
irc.socket.SetReadDeadline(time.Now().Add(irc.Timeout + irc.PingFreq))
|
|
||||||
}
|
|
||||||
|
|
||||||
msg, err := br.ReadString('\n')
|
|
||||||
|
|
||||||
// We got past our blocking read, so bin timeout
|
|
||||||
if irc.socket != nil {
|
|
||||||
var zero time.Time
|
|
||||||
irc.socket.SetReadDeadline(zero)
|
|
||||||
}
|
|
||||||
|
|
||||||
if err != nil {
|
|
||||||
errChan <- err
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
if irc.Debug {
|
|
||||||
irc.Log.Printf("<-- %s\n", strings.TrimSpace(msg))
|
|
||||||
}
|
|
||||||
|
|
||||||
irc.Lock()
|
|
||||||
irc.lastMessage = time.Now()
|
|
||||||
irc.Unlock()
|
|
||||||
event, err := parseToEvent(msg)
|
|
||||||
event.Connection = irc
|
|
||||||
if err == nil {
|
|
||||||
/* XXX: len(args) == 0: args should be empty */
|
|
||||||
irc.RunCallbacks(event)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Unescape tag values as defined in the IRCv3.2 message tags spec
|
|
||||||
// http://ircv3.net/specs/core/message-tags-3.2.html
|
|
||||||
func unescapeTagValue(value string) string {
|
|
||||||
value = strings.Replace(value, "\\:", ";", -1)
|
|
||||||
value = strings.Replace(value, "\\s", " ", -1)
|
|
||||||
value = strings.Replace(value, "\\\\", "\\", -1)
|
|
||||||
value = strings.Replace(value, "\\r", "\r", -1)
|
|
||||||
value = strings.Replace(value, "\\n", "\n", -1)
|
|
||||||
return value
|
|
||||||
}
|
|
||||||
|
|
||||||
//Parse raw irc messages
|
|
||||||
func parseToEvent(msg string) (*Event, error) {
|
|
||||||
msg = strings.TrimSuffix(msg, "\n") //Remove \r\n
|
|
||||||
msg = strings.TrimSuffix(msg, "\r")
|
|
||||||
event := &Event{Raw: msg}
|
|
||||||
if len(msg) < 5 {
|
|
||||||
return nil, errors.New("Malformed msg from server")
|
|
||||||
}
|
|
||||||
|
|
||||||
if msg[0] == '@' {
|
|
||||||
// IRCv3 Message Tags
|
|
||||||
if i := strings.Index(msg, " "); i > -1 {
|
|
||||||
event.Tags = make(map[string]string)
|
|
||||||
tags := strings.Split(msg[1:i], ";")
|
|
||||||
for _, data := range tags {
|
|
||||||
parts := strings.SplitN(data, "=", 2)
|
|
||||||
if len(parts) == 1 {
|
|
||||||
event.Tags[parts[0]] = ""
|
|
||||||
} else {
|
|
||||||
event.Tags[parts[0]] = unescapeTagValue(parts[1])
|
|
||||||
}
|
|
||||||
}
|
|
||||||
msg = msg[i+1 : len(msg)]
|
|
||||||
} else {
|
|
||||||
return nil, errors.New("Malformed msg from server")
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if msg[0] == ':' {
|
|
||||||
if i := strings.Index(msg, " "); i > -1 {
|
|
||||||
event.Source = msg[1:i]
|
|
||||||
msg = msg[i+1 : len(msg)]
|
|
||||||
|
|
||||||
} else {
|
|
||||||
return nil, errors.New("Malformed msg from server")
|
|
||||||
}
|
|
||||||
|
|
||||||
if i, j := strings.Index(event.Source, "!"), strings.Index(event.Source, "@"); i > -1 && j > -1 && i < j {
|
|
||||||
event.Nick = event.Source[0:i]
|
|
||||||
event.User = event.Source[i+1 : j]
|
|
||||||
event.Host = event.Source[j+1 : len(event.Source)]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
split := strings.SplitN(msg, " :", 2)
|
|
||||||
args := strings.Split(split[0], " ")
|
|
||||||
event.Code = strings.ToUpper(args[0])
|
|
||||||
event.Arguments = args[1:]
|
|
||||||
if len(split) > 1 {
|
|
||||||
event.Arguments = append(event.Arguments, split[1])
|
|
||||||
}
|
|
||||||
return event, nil
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
// Loop to write to a connection. To be used as a goroutine.
|
|
||||||
func (irc *Connection) writeLoop() {
|
|
||||||
defer irc.Done()
|
|
||||||
errChan := irc.ErrorChan()
|
|
||||||
for {
|
|
||||||
select {
|
|
||||||
case <-irc.end:
|
|
||||||
return
|
|
||||||
case b, ok := <-irc.pwrite:
|
|
||||||
if !ok || b == "" || irc.socket == nil {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
if irc.Debug {
|
|
||||||
irc.Log.Printf("--> %s\n", strings.TrimSpace(b))
|
|
||||||
}
|
|
||||||
|
|
||||||
// Set a write deadline based on the time out
|
|
||||||
irc.socket.SetWriteDeadline(time.Now().Add(irc.Timeout))
|
|
||||||
|
|
||||||
_, err := irc.socket.Write([]byte(b))
|
|
||||||
|
|
||||||
// Past blocking write, bin timeout
|
|
||||||
var zero time.Time
|
|
||||||
irc.socket.SetWriteDeadline(zero)
|
|
||||||
|
|
||||||
if err != nil {
|
|
||||||
errChan <- err
|
|
||||||
return
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Pings the server if we have not received any messages for 5 minutes
|
|
||||||
// to keep the connection alive. To be used as a goroutine.
|
|
||||||
func (irc *Connection) pingLoop() {
|
|
||||||
defer irc.Done()
|
|
||||||
ticker := time.NewTicker(1 * time.Minute) // Tick every minute for monitoring
|
|
||||||
ticker2 := time.NewTicker(irc.PingFreq) // Tick at the ping frequency.
|
|
||||||
for {
|
|
||||||
select {
|
|
||||||
case <-ticker.C:
|
|
||||||
//Ping if we haven't received anything from the server within the keep alive period
|
|
||||||
if time.Since(irc.lastMessage) >= irc.KeepAlive {
|
|
||||||
irc.SendRawf("PING %d", time.Now().UnixNano())
|
|
||||||
}
|
|
||||||
case <-ticker2.C:
|
|
||||||
//Ping at the ping frequency
|
|
||||||
irc.SendRawf("PING %d", time.Now().UnixNano())
|
|
||||||
//Try to recapture nickname if it's not as configured.
|
|
||||||
irc.Lock()
|
|
||||||
if irc.nick != irc.nickcurrent {
|
|
||||||
irc.nickcurrent = irc.nick
|
|
||||||
irc.SendRawf("NICK %s", irc.nick)
|
|
||||||
}
|
|
||||||
irc.Unlock()
|
|
||||||
case <-irc.end:
|
|
||||||
ticker.Stop()
|
|
||||||
ticker2.Stop()
|
|
||||||
return
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (irc *Connection) isQuitting() bool {
|
|
||||||
irc.Lock()
|
|
||||||
defer irc.Unlock()
|
|
||||||
return irc.quit
|
|
||||||
}
|
|
||||||
|
|
||||||
// Main loop to control the connection.
|
|
||||||
func (irc *Connection) Loop() {
|
|
||||||
errChan := irc.ErrorChan()
|
|
||||||
connTime := time.Now()
|
|
||||||
for !irc.isQuitting() {
|
|
||||||
err := <-errChan
|
|
||||||
close(irc.end)
|
|
||||||
irc.Wait()
|
|
||||||
for !irc.isQuitting() {
|
|
||||||
irc.Log.Printf("Error, disconnected: %s\n", err)
|
|
||||||
if time.Now().Sub(connTime) < time.Second*5 {
|
|
||||||
irc.Log.Println("Rreconnecting too fast, sleeping 60 seconds")
|
|
||||||
time.Sleep(60 * time.Second)
|
|
||||||
}
|
|
||||||
if err = irc.Reconnect(); err != nil {
|
|
||||||
irc.Log.Printf("Error while reconnecting: %s\n", err)
|
|
||||||
time.Sleep(60 * time.Second)
|
|
||||||
} else {
|
|
||||||
errChan = irc.ErrorChan()
|
|
||||||
break
|
|
||||||
}
|
|
||||||
}
|
|
||||||
connTime = time.Now()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Quit the current connection and disconnect from the server
|
|
||||||
// RFC 1459 details: https://tools.ietf.org/html/rfc1459#section-4.1.6
|
|
||||||
func (irc *Connection) Quit() {
|
|
||||||
quit := "QUIT"
|
|
||||||
|
|
||||||
if irc.QuitMessage != "" {
|
|
||||||
quit = fmt.Sprintf("QUIT :%s", irc.QuitMessage)
|
|
||||||
}
|
|
||||||
|
|
||||||
irc.SendRaw(quit)
|
|
||||||
irc.Lock()
|
|
||||||
irc.stopped = true
|
|
||||||
irc.quit = true
|
|
||||||
irc.Unlock()
|
|
||||||
}
|
|
||||||
|
|
||||||
// Use the connection to join a given channel.
|
|
||||||
// RFC 1459 details: https://tools.ietf.org/html/rfc1459#section-4.2.1
|
|
||||||
func (irc *Connection) Join(channel string) {
|
|
||||||
irc.pwrite <- fmt.Sprintf("JOIN %s\r\n", channel)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Leave a given channel.
|
|
||||||
// RFC 1459 details: https://tools.ietf.org/html/rfc1459#section-4.2.2
|
|
||||||
func (irc *Connection) Part(channel string) {
|
|
||||||
irc.pwrite <- fmt.Sprintf("PART %s\r\n", channel)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Send a notification to a nickname. This is similar to Privmsg but must not receive replies.
|
|
||||||
// RFC 1459 details: https://tools.ietf.org/html/rfc1459#section-4.4.2
|
|
||||||
func (irc *Connection) Notice(target, message string) {
|
|
||||||
irc.pwrite <- fmt.Sprintf("NOTICE %s :%s\r\n", target, message)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Send a formated notification to a nickname.
|
|
||||||
// RFC 1459 details: https://tools.ietf.org/html/rfc1459#section-4.4.2
|
|
||||||
func (irc *Connection) Noticef(target, format string, a ...interface{}) {
|
|
||||||
irc.Notice(target, fmt.Sprintf(format, a...))
|
|
||||||
}
|
|
||||||
|
|
||||||
// Send (action) message to a target (channel or nickname).
|
|
||||||
// No clear RFC on this one...
|
|
||||||
func (irc *Connection) Action(target, message string) {
|
|
||||||
irc.pwrite <- fmt.Sprintf("PRIVMSG %s :\001ACTION %s\001\r\n", target, message)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Send formatted (action) message to a target (channel or nickname).
|
|
||||||
func (irc *Connection) Actionf(target, format string, a ...interface{}) {
|
|
||||||
irc.Action(target, fmt.Sprintf(format, a...))
|
|
||||||
}
|
|
||||||
|
|
||||||
// Send (private) message to a target (channel or nickname).
|
|
||||||
// RFC 1459 details: https://tools.ietf.org/html/rfc1459#section-4.4.1
|
|
||||||
func (irc *Connection) Privmsg(target, message string) {
|
|
||||||
irc.pwrite <- fmt.Sprintf("PRIVMSG %s :%s\r\n", target, message)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Send formated string to specified target (channel or nickname).
|
|
||||||
func (irc *Connection) Privmsgf(target, format string, a ...interface{}) {
|
|
||||||
irc.Privmsg(target, fmt.Sprintf(format, a...))
|
|
||||||
}
|
|
||||||
|
|
||||||
// Kick <user> from <channel> with <msg>. For no message, pass empty string ("")
|
|
||||||
func (irc *Connection) Kick(user, channel, msg string) {
|
|
||||||
var cmd bytes.Buffer
|
|
||||||
cmd.WriteString(fmt.Sprintf("KICK %s %s", channel, user))
|
|
||||||
if msg != "" {
|
|
||||||
cmd.WriteString(fmt.Sprintf(" :%s", msg))
|
|
||||||
}
|
|
||||||
cmd.WriteString("\r\n")
|
|
||||||
irc.pwrite <- cmd.String()
|
|
||||||
}
|
|
||||||
|
|
||||||
// Kick all <users> from <channel> with <msg>. For no message, pass
|
|
||||||
// empty string ("")
|
|
||||||
func (irc *Connection) MultiKick(users []string, channel string, msg string) {
|
|
||||||
var cmd bytes.Buffer
|
|
||||||
cmd.WriteString(fmt.Sprintf("KICK %s %s", channel, strings.Join(users, ",")))
|
|
||||||
if msg != "" {
|
|
||||||
cmd.WriteString(fmt.Sprintf(" :%s", msg))
|
|
||||||
}
|
|
||||||
cmd.WriteString("\r\n")
|
|
||||||
irc.pwrite <- cmd.String()
|
|
||||||
}
|
|
||||||
|
|
||||||
// Send raw string.
|
|
||||||
func (irc *Connection) SendRaw(message string) {
|
|
||||||
irc.pwrite <- message + "\r\n"
|
|
||||||
}
|
|
||||||
|
|
||||||
// Send raw formated string.
|
|
||||||
func (irc *Connection) SendRawf(format string, a ...interface{}) {
|
|
||||||
irc.SendRaw(fmt.Sprintf(format, a...))
|
|
||||||
}
|
|
||||||
|
|
||||||
// Set (new) nickname.
|
|
||||||
// RFC 1459 details: https://tools.ietf.org/html/rfc1459#section-4.1.2
|
|
||||||
func (irc *Connection) Nick(n string) {
|
|
||||||
irc.nick = n
|
|
||||||
irc.SendRawf("NICK %s", n)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Determine nick currently used with the connection.
|
|
||||||
func (irc *Connection) GetNick() string {
|
|
||||||
return irc.nickcurrent
|
|
||||||
}
|
|
||||||
|
|
||||||
// Query information about a particular nickname.
|
|
||||||
// RFC 1459: https://tools.ietf.org/html/rfc1459#section-4.5.2
|
|
||||||
func (irc *Connection) Whois(nick string) {
|
|
||||||
irc.SendRawf("WHOIS %s", nick)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Query information about a given nickname in the server.
|
|
||||||
// RFC 1459 details: https://tools.ietf.org/html/rfc1459#section-4.5.1
|
|
||||||
func (irc *Connection) Who(nick string) {
|
|
||||||
irc.SendRawf("WHO %s", nick)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Set different modes for a target (channel or nickname).
|
|
||||||
// RFC 1459 details: https://tools.ietf.org/html/rfc1459#section-4.2.3
|
|
||||||
func (irc *Connection) Mode(target string, modestring ...string) {
|
|
||||||
if len(modestring) > 0 {
|
|
||||||
mode := strings.Join(modestring, " ")
|
|
||||||
irc.SendRawf("MODE %s %s", target, mode)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
irc.SendRawf("MODE %s", target)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (irc *Connection) ErrorChan() chan error {
|
|
||||||
return irc.Error
|
|
||||||
}
|
|
||||||
|
|
||||||
// Returns true if the connection is connected to an IRC server.
|
|
||||||
func (irc *Connection) Connected() bool {
|
|
||||||
return !irc.stopped
|
|
||||||
}
|
|
||||||
|
|
||||||
// A disconnect sends all buffered messages (if possible),
|
|
||||||
// stops all goroutines and then closes the socket.
|
|
||||||
func (irc *Connection) Disconnect() {
|
|
||||||
if irc.socket != nil {
|
|
||||||
irc.socket.Close()
|
|
||||||
}
|
|
||||||
irc.ErrorChan() <- ErrDisconnected
|
|
||||||
}
|
|
||||||
|
|
||||||
// Reconnect to a server using the current connection.
|
|
||||||
func (irc *Connection) Reconnect() error {
|
|
||||||
irc.end = make(chan struct{})
|
|
||||||
return irc.Connect(irc.Server)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Connect to a given server using the current connection configuration.
|
|
||||||
// This function also takes care of identification if a password is provided.
|
|
||||||
// RFC 1459 details: https://tools.ietf.org/html/rfc1459#section-4.1
|
|
||||||
func (irc *Connection) Connect(server string) error {
|
|
||||||
irc.Server = server
|
|
||||||
// mark Server as stopped since there can be an error during connect
|
|
||||||
irc.stopped = true
|
|
||||||
|
|
||||||
// make sure everything is ready for connection
|
|
||||||
if len(irc.Server) == 0 {
|
|
||||||
return errors.New("empty 'server'")
|
|
||||||
}
|
|
||||||
if strings.Count(irc.Server, ":") != 1 {
|
|
||||||
return errors.New("wrong number of ':' in address")
|
|
||||||
}
|
|
||||||
if strings.Index(irc.Server, ":") == 0 {
|
|
||||||
return errors.New("hostname is missing")
|
|
||||||
}
|
|
||||||
if strings.Index(irc.Server, ":") == len(irc.Server)-1 {
|
|
||||||
return errors.New("port missing")
|
|
||||||
}
|
|
||||||
// check for valid range
|
|
||||||
ports := strings.Split(irc.Server, ":")[1]
|
|
||||||
port, err := strconv.Atoi(ports)
|
|
||||||
if err != nil {
|
|
||||||
return errors.New("extracting port failed")
|
|
||||||
}
|
|
||||||
if !((port >= 0) && (port <= 65535)) {
|
|
||||||
return errors.New("port number outside valid range")
|
|
||||||
}
|
|
||||||
if irc.Log == nil {
|
|
||||||
return errors.New("'Log' points to nil")
|
|
||||||
}
|
|
||||||
if len(irc.nick) == 0 {
|
|
||||||
return errors.New("empty 'nick'")
|
|
||||||
}
|
|
||||||
if len(irc.user) == 0 {
|
|
||||||
return errors.New("empty 'user'")
|
|
||||||
}
|
|
||||||
|
|
||||||
if irc.UseTLS {
|
|
||||||
dialer := &net.Dialer{Timeout: irc.Timeout}
|
|
||||||
irc.socket, err = tls.DialWithDialer(dialer, "tcp", irc.Server, irc.TLSConfig)
|
|
||||||
} else {
|
|
||||||
irc.socket, err = net.DialTimeout("tcp", irc.Server, irc.Timeout)
|
|
||||||
}
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
irc.stopped = false
|
|
||||||
irc.Log.Printf("Connected to %s (%s)\n", irc.Server, irc.socket.RemoteAddr())
|
|
||||||
|
|
||||||
irc.pwrite = make(chan string, 10)
|
|
||||||
irc.Error = make(chan error, 2)
|
|
||||||
irc.Add(3)
|
|
||||||
go irc.readLoop()
|
|
||||||
go irc.writeLoop()
|
|
||||||
go irc.pingLoop()
|
|
||||||
if len(irc.Password) > 0 {
|
|
||||||
irc.pwrite <- fmt.Sprintf("PASS %s\r\n", irc.Password)
|
|
||||||
}
|
|
||||||
|
|
||||||
err = irc.negotiateCaps()
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
irc.pwrite <- fmt.Sprintf("NICK %s\r\n", irc.nick)
|
|
||||||
irc.pwrite <- fmt.Sprintf("USER %s 0.0.0.0 0.0.0.0 :%s\r\n", irc.user, irc.user)
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// Negotiate IRCv3 capabilities
|
|
||||||
func (irc *Connection) negotiateCaps() error {
|
|
||||||
saslResChan := make(chan *SASLResult)
|
|
||||||
if irc.UseSASL {
|
|
||||||
irc.RequestCaps = append(irc.RequestCaps, "sasl")
|
|
||||||
irc.setupSASLCallbacks(saslResChan)
|
|
||||||
}
|
|
||||||
|
|
||||||
if len(irc.RequestCaps) == 0 {
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
cap_chan := make(chan bool, len(irc.RequestCaps))
|
|
||||||
irc.AddCallback("CAP", func(e *Event) {
|
|
||||||
if len(e.Arguments) != 3 {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
command := e.Arguments[1]
|
|
||||||
|
|
||||||
if command == "LS" {
|
|
||||||
missing_caps := len(irc.RequestCaps)
|
|
||||||
for _, cap_name := range strings.Split(e.Arguments[2], " ") {
|
|
||||||
for _, req_cap := range irc.RequestCaps {
|
|
||||||
if cap_name == req_cap {
|
|
||||||
irc.pwrite <- fmt.Sprintf("CAP REQ :%s\r\n", cap_name)
|
|
||||||
missing_caps--
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
for i := 0; i < missing_caps; i++ {
|
|
||||||
cap_chan <- true
|
|
||||||
}
|
|
||||||
} else if command == "ACK" || command == "NAK" {
|
|
||||||
for _, cap_name := range strings.Split(strings.TrimSpace(e.Arguments[2]), " ") {
|
|
||||||
if cap_name == "" {
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
|
|
||||||
if command == "ACK" {
|
|
||||||
irc.AcknowledgedCaps = append(irc.AcknowledgedCaps, cap_name)
|
|
||||||
}
|
|
||||||
cap_chan <- true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
irc.pwrite <- "CAP LS\r\n"
|
|
||||||
|
|
||||||
if irc.UseSASL {
|
|
||||||
select {
|
|
||||||
case res := <-saslResChan:
|
|
||||||
if res.Failed {
|
|
||||||
close(saslResChan)
|
|
||||||
return res.Err
|
|
||||||
}
|
|
||||||
case <-time.After(time.Second * 15):
|
|
||||||
close(saslResChan)
|
|
||||||
return errors.New("SASL setup timed out. This shouldn't happen.")
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Wait for all capabilities to be ACKed or NAKed before ending negotiation
|
|
||||||
for i := 0; i < len(irc.RequestCaps); i++ {
|
|
||||||
<-cap_chan
|
|
||||||
}
|
|
||||||
irc.pwrite <- fmt.Sprintf("CAP END\r\n")
|
|
||||||
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// Create a connection with the (publicly visible) nickname and username.
|
|
||||||
// The nickname is later used to address the user. Returns nil if nick
|
|
||||||
// or user are empty.
|
|
||||||
func IRC(nick, user string) *Connection {
|
|
||||||
// catch invalid values
|
|
||||||
if len(nick) == 0 {
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
if len(user) == 0 {
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
irc := &Connection{
|
|
||||||
nick: nick,
|
|
||||||
nickcurrent: nick,
|
|
||||||
user: user,
|
|
||||||
Log: log.New(os.Stdout, "", log.LstdFlags),
|
|
||||||
end: make(chan struct{}),
|
|
||||||
Version: VERSION,
|
|
||||||
KeepAlive: 4 * time.Minute,
|
|
||||||
Timeout: 1 * time.Minute,
|
|
||||||
PingFreq: 15 * time.Minute,
|
|
||||||
SASLMech: "PLAIN",
|
|
||||||
QuitMessage: "",
|
|
||||||
}
|
|
||||||
irc.setupCallbacks()
|
|
||||||
return irc
|
|
||||||
}
|
|
222
vendor/github.com/42wim/go-ircevent/irc_callback.go
generated
vendored
222
vendor/github.com/42wim/go-ircevent/irc_callback.go
generated
vendored
@ -1,222 +0,0 @@
|
|||||||
package irc
|
|
||||||
|
|
||||||
import (
|
|
||||||
"strconv"
|
|
||||||
"strings"
|
|
||||||
"time"
|
|
||||||
)
|
|
||||||
|
|
||||||
// Register a callback to a connection and event code. A callback is a function
|
|
||||||
// which takes only an Event pointer as parameter. Valid event codes are all
|
|
||||||
// IRC/CTCP commands and error/response codes. This function returns the ID of
|
|
||||||
// the registered callback for later management.
|
|
||||||
func (irc *Connection) AddCallback(eventcode string, callback func(*Event)) int {
|
|
||||||
eventcode = strings.ToUpper(eventcode)
|
|
||||||
id := 0
|
|
||||||
if _, ok := irc.events[eventcode]; !ok {
|
|
||||||
irc.events[eventcode] = make(map[int]func(*Event))
|
|
||||||
id = 0
|
|
||||||
} else {
|
|
||||||
id = len(irc.events[eventcode])
|
|
||||||
}
|
|
||||||
irc.events[eventcode][id] = callback
|
|
||||||
return id
|
|
||||||
}
|
|
||||||
|
|
||||||
// Remove callback i (ID) from the given event code. This functions returns
|
|
||||||
// true upon success, false if any error occurs.
|
|
||||||
func (irc *Connection) RemoveCallback(eventcode string, i int) bool {
|
|
||||||
eventcode = strings.ToUpper(eventcode)
|
|
||||||
|
|
||||||
if event, ok := irc.events[eventcode]; ok {
|
|
||||||
if _, ok := event[i]; ok {
|
|
||||||
delete(irc.events[eventcode], i)
|
|
||||||
return true
|
|
||||||
}
|
|
||||||
irc.Log.Printf("Event found, but no callback found at id %d\n", i)
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
|
|
||||||
irc.Log.Println("Event not found")
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
|
|
||||||
// Remove all callbacks from a given event code. It returns true
|
|
||||||
// if given event code is found and cleared.
|
|
||||||
func (irc *Connection) ClearCallback(eventcode string) bool {
|
|
||||||
eventcode = strings.ToUpper(eventcode)
|
|
||||||
|
|
||||||
if _, ok := irc.events[eventcode]; ok {
|
|
||||||
irc.events[eventcode] = make(map[int]func(*Event))
|
|
||||||
return true
|
|
||||||
}
|
|
||||||
|
|
||||||
irc.Log.Println("Event not found")
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
|
|
||||||
// Replace callback i (ID) associated with a given event code with a new callback function.
|
|
||||||
func (irc *Connection) ReplaceCallback(eventcode string, i int, callback func(*Event)) {
|
|
||||||
eventcode = strings.ToUpper(eventcode)
|
|
||||||
|
|
||||||
if event, ok := irc.events[eventcode]; ok {
|
|
||||||
if _, ok := event[i]; ok {
|
|
||||||
event[i] = callback
|
|
||||||
return
|
|
||||||
}
|
|
||||||
irc.Log.Printf("Event found, but no callback found at id %d\n", i)
|
|
||||||
}
|
|
||||||
irc.Log.Printf("Event not found. Use AddCallBack\n")
|
|
||||||
}
|
|
||||||
|
|
||||||
// Execute all callbacks associated with a given event.
|
|
||||||
func (irc *Connection) RunCallbacks(event *Event) {
|
|
||||||
msg := event.Message()
|
|
||||||
if event.Code == "PRIVMSG" && len(msg) > 2 && msg[0] == '\x01' {
|
|
||||||
event.Code = "CTCP" //Unknown CTCP
|
|
||||||
|
|
||||||
if i := strings.LastIndex(msg, "\x01"); i > 0 {
|
|
||||||
msg = msg[1:i]
|
|
||||||
} else {
|
|
||||||
irc.Log.Printf("Invalid CTCP Message: %s\n", strconv.Quote(msg))
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
if msg == "VERSION" {
|
|
||||||
event.Code = "CTCP_VERSION"
|
|
||||||
|
|
||||||
} else if msg == "TIME" {
|
|
||||||
event.Code = "CTCP_TIME"
|
|
||||||
|
|
||||||
} else if strings.HasPrefix(msg, "PING") {
|
|
||||||
event.Code = "CTCP_PING"
|
|
||||||
|
|
||||||
} else if msg == "USERINFO" {
|
|
||||||
event.Code = "CTCP_USERINFO"
|
|
||||||
|
|
||||||
} else if msg == "CLIENTINFO" {
|
|
||||||
event.Code = "CTCP_CLIENTINFO"
|
|
||||||
|
|
||||||
} else if strings.HasPrefix(msg, "ACTION") {
|
|
||||||
event.Code = "CTCP_ACTION"
|
|
||||||
if len(msg) > 6 {
|
|
||||||
msg = msg[7:]
|
|
||||||
} else {
|
|
||||||
msg = ""
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
event.Arguments[len(event.Arguments)-1] = msg
|
|
||||||
}
|
|
||||||
|
|
||||||
if callbacks, ok := irc.events[event.Code]; ok {
|
|
||||||
if irc.VerboseCallbackHandler {
|
|
||||||
irc.Log.Printf("%v (%v) >> %#v\n", event.Code, len(callbacks), event)
|
|
||||||
}
|
|
||||||
|
|
||||||
for _, callback := range callbacks {
|
|
||||||
callback(event)
|
|
||||||
}
|
|
||||||
} else if irc.VerboseCallbackHandler {
|
|
||||||
irc.Log.Printf("%v (0) >> %#v\n", event.Code, event)
|
|
||||||
}
|
|
||||||
|
|
||||||
if callbacks, ok := irc.events["*"]; ok {
|
|
||||||
if irc.VerboseCallbackHandler {
|
|
||||||
irc.Log.Printf("%v (0) >> %#v\n", event.Code, event)
|
|
||||||
}
|
|
||||||
|
|
||||||
for _, callback := range callbacks {
|
|
||||||
callback(event)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Set up some initial callbacks to handle the IRC/CTCP protocol.
|
|
||||||
func (irc *Connection) setupCallbacks() {
|
|
||||||
irc.events = make(map[string]map[int]func(*Event))
|
|
||||||
|
|
||||||
//Handle error events.
|
|
||||||
irc.AddCallback("ERROR", func(e *Event) { irc.Disconnect() })
|
|
||||||
|
|
||||||
//Handle ping events
|
|
||||||
irc.AddCallback("PING", func(e *Event) { irc.SendRaw("PONG :" + e.Message()) })
|
|
||||||
|
|
||||||
//Version handler
|
|
||||||
irc.AddCallback("CTCP_VERSION", func(e *Event) {
|
|
||||||
irc.SendRawf("NOTICE %s :\x01VERSION %s\x01", e.Nick, irc.Version)
|
|
||||||
})
|
|
||||||
|
|
||||||
irc.AddCallback("CTCP_USERINFO", func(e *Event) {
|
|
||||||
irc.SendRawf("NOTICE %s :\x01USERINFO %s\x01", e.Nick, irc.user)
|
|
||||||
})
|
|
||||||
|
|
||||||
irc.AddCallback("CTCP_CLIENTINFO", func(e *Event) {
|
|
||||||
irc.SendRawf("NOTICE %s :\x01CLIENTINFO PING VERSION TIME USERINFO CLIENTINFO\x01", e.Nick)
|
|
||||||
})
|
|
||||||
|
|
||||||
irc.AddCallback("CTCP_TIME", func(e *Event) {
|
|
||||||
ltime := time.Now()
|
|
||||||
irc.SendRawf("NOTICE %s :\x01TIME %s\x01", e.Nick, ltime.String())
|
|
||||||
})
|
|
||||||
|
|
||||||
irc.AddCallback("CTCP_PING", func(e *Event) { irc.SendRawf("NOTICE %s :\x01%s\x01", e.Nick, e.Message()) })
|
|
||||||
|
|
||||||
// 437: ERR_UNAVAILRESOURCE "<nick/channel> :Nick/channel is temporarily unavailable"
|
|
||||||
// Add a _ to current nick. If irc.nickcurrent is empty this cannot
|
|
||||||
// work. It has to be set somewhere first in case the nick is already
|
|
||||||
// taken or unavailable from the beginning.
|
|
||||||
irc.AddCallback("437", func(e *Event) {
|
|
||||||
// If irc.nickcurrent hasn't been set yet, set to irc.nick
|
|
||||||
if irc.nickcurrent == "" {
|
|
||||||
irc.nickcurrent = irc.nick
|
|
||||||
}
|
|
||||||
|
|
||||||
if len(irc.nickcurrent) > 8 {
|
|
||||||
irc.nickcurrent = "_" + irc.nickcurrent
|
|
||||||
} else {
|
|
||||||
irc.nickcurrent = irc.nickcurrent + "_"
|
|
||||||
}
|
|
||||||
irc.SendRawf("NICK %s", irc.nickcurrent)
|
|
||||||
})
|
|
||||||
|
|
||||||
// 433: ERR_NICKNAMEINUSE "<nick> :Nickname is already in use"
|
|
||||||
// Add a _ to current nick.
|
|
||||||
irc.AddCallback("433", func(e *Event) {
|
|
||||||
// If irc.nickcurrent hasn't been set yet, set to irc.nick
|
|
||||||
if irc.nickcurrent == "" {
|
|
||||||
irc.nickcurrent = irc.nick
|
|
||||||
}
|
|
||||||
|
|
||||||
if len(irc.nickcurrent) > 8 {
|
|
||||||
irc.nickcurrent = "_" + irc.nickcurrent
|
|
||||||
} else {
|
|
||||||
irc.nickcurrent = irc.nickcurrent + "_"
|
|
||||||
}
|
|
||||||
irc.SendRawf("NICK %s", irc.nickcurrent)
|
|
||||||
})
|
|
||||||
|
|
||||||
irc.AddCallback("PONG", func(e *Event) {
|
|
||||||
ns, _ := strconv.ParseInt(e.Message(), 10, 64)
|
|
||||||
delta := time.Duration(time.Now().UnixNano() - ns)
|
|
||||||
if irc.Debug {
|
|
||||||
irc.Log.Printf("Lag: %.3f s\n", delta.Seconds())
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
// NICK Define a nickname.
|
|
||||||
// Set irc.nickcurrent to the new nick actually used in this connection.
|
|
||||||
irc.AddCallback("NICK", func(e *Event) {
|
|
||||||
if e.Nick == irc.nick {
|
|
||||||
irc.nickcurrent = e.Message()
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
// 1: RPL_WELCOME "Welcome to the Internet Relay Network <nick>!<user>@<host>"
|
|
||||||
// Set irc.nickcurrent to the actually used nick in this connection.
|
|
||||||
irc.AddCallback("001", func(e *Event) {
|
|
||||||
irc.Lock()
|
|
||||||
irc.nickcurrent = e.Arguments[0]
|
|
||||||
irc.Unlock()
|
|
||||||
})
|
|
||||||
}
|
|
53
vendor/github.com/42wim/go-ircevent/irc_sasl.go
generated
vendored
53
vendor/github.com/42wim/go-ircevent/irc_sasl.go
generated
vendored
@ -1,53 +0,0 @@
|
|||||||
package irc
|
|
||||||
|
|
||||||
import (
|
|
||||||
"encoding/base64"
|
|
||||||
"errors"
|
|
||||||
"fmt"
|
|
||||||
"strings"
|
|
||||||
)
|
|
||||||
|
|
||||||
type SASLResult struct {
|
|
||||||
Failed bool
|
|
||||||
Err error
|
|
||||||
}
|
|
||||||
|
|
||||||
func (irc *Connection) setupSASLCallbacks(result chan<- *SASLResult) {
|
|
||||||
irc.AddCallback("CAP", func(e *Event) {
|
|
||||||
if len(e.Arguments) == 3 {
|
|
||||||
if e.Arguments[1] == "LS" {
|
|
||||||
if !strings.Contains(e.Arguments[2], "sasl") {
|
|
||||||
result <- &SASLResult{true, errors.New("no SASL capability " + e.Arguments[2])}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if e.Arguments[1] == "ACK" {
|
|
||||||
if irc.SASLMech != "PLAIN" {
|
|
||||||
result <- &SASLResult{true, errors.New("only PLAIN is supported")}
|
|
||||||
}
|
|
||||||
irc.SendRaw("AUTHENTICATE " + irc.SASLMech)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
})
|
|
||||||
irc.AddCallback("AUTHENTICATE", func(e *Event) {
|
|
||||||
str := base64.StdEncoding.EncodeToString([]byte(fmt.Sprintf("%s\x00%s\x00%s", irc.SASLLogin, irc.SASLLogin, irc.SASLPassword)))
|
|
||||||
irc.SendRaw("AUTHENTICATE " + str)
|
|
||||||
})
|
|
||||||
irc.AddCallback("901", func(e *Event) {
|
|
||||||
irc.SendRaw("CAP END")
|
|
||||||
irc.SendRaw("QUIT")
|
|
||||||
result <- &SASLResult{true, errors.New(e.Arguments[1])}
|
|
||||||
})
|
|
||||||
irc.AddCallback("902", func(e *Event) {
|
|
||||||
irc.SendRaw("CAP END")
|
|
||||||
irc.SendRaw("QUIT")
|
|
||||||
result <- &SASLResult{true, errors.New(e.Arguments[1])}
|
|
||||||
})
|
|
||||||
irc.AddCallback("903", func(e *Event) {
|
|
||||||
result <- &SASLResult{false, nil}
|
|
||||||
})
|
|
||||||
irc.AddCallback("904", func(e *Event) {
|
|
||||||
irc.SendRaw("CAP END")
|
|
||||||
irc.SendRaw("QUIT")
|
|
||||||
result <- &SASLResult{true, errors.New(e.Arguments[1])}
|
|
||||||
})
|
|
||||||
}
|
|
76
vendor/github.com/42wim/go-ircevent/irc_struct.go
generated
vendored
76
vendor/github.com/42wim/go-ircevent/irc_struct.go
generated
vendored
@ -1,76 +0,0 @@
|
|||||||
// Copyright 2009 Thomas Jager <mail@jager.no> All rights reserved.
|
|
||||||
// Use of this source code is governed by a BSD-style
|
|
||||||
// license that can be found in the LICENSE file.
|
|
||||||
|
|
||||||
package irc
|
|
||||||
|
|
||||||
import (
|
|
||||||
"crypto/tls"
|
|
||||||
"log"
|
|
||||||
"net"
|
|
||||||
"sync"
|
|
||||||
"time"
|
|
||||||
)
|
|
||||||
|
|
||||||
type Connection struct {
|
|
||||||
sync.Mutex
|
|
||||||
sync.WaitGroup
|
|
||||||
Debug bool
|
|
||||||
Error chan error
|
|
||||||
Password string
|
|
||||||
UseTLS bool
|
|
||||||
UseSASL bool
|
|
||||||
RequestCaps []string
|
|
||||||
AcknowledgedCaps []string
|
|
||||||
SASLLogin string
|
|
||||||
SASLPassword string
|
|
||||||
SASLMech string
|
|
||||||
TLSConfig *tls.Config
|
|
||||||
Version string
|
|
||||||
Timeout time.Duration
|
|
||||||
PingFreq time.Duration
|
|
||||||
KeepAlive time.Duration
|
|
||||||
Server string
|
|
||||||
|
|
||||||
socket net.Conn
|
|
||||||
pwrite chan string
|
|
||||||
end chan struct{}
|
|
||||||
|
|
||||||
nick string //The nickname we want.
|
|
||||||
nickcurrent string //The nickname we currently have.
|
|
||||||
user string
|
|
||||||
registered bool
|
|
||||||
events map[string]map[int]func(*Event)
|
|
||||||
|
|
||||||
QuitMessage string
|
|
||||||
lastMessage time.Time
|
|
||||||
|
|
||||||
VerboseCallbackHandler bool
|
|
||||||
Log *log.Logger
|
|
||||||
|
|
||||||
stopped bool
|
|
||||||
quit bool //User called Quit, do not reconnect.
|
|
||||||
}
|
|
||||||
|
|
||||||
// A struct to represent an event.
|
|
||||||
type Event struct {
|
|
||||||
Code string
|
|
||||||
Raw string
|
|
||||||
Nick string //<nick>
|
|
||||||
Host string //<nick>!<usr>@<host>
|
|
||||||
Source string //<host>
|
|
||||||
User string //<usr>
|
|
||||||
Arguments []string
|
|
||||||
Tags map[string]string
|
|
||||||
Connection *Connection
|
|
||||||
}
|
|
||||||
|
|
||||||
// Retrieve the last message from Event arguments.
|
|
||||||
// This function leaves the arguments untouched and
|
|
||||||
// returns an empty string if there are none.
|
|
||||||
func (e *Event) Message() string {
|
|
||||||
if len(e.Arguments) == 0 {
|
|
||||||
return ""
|
|
||||||
}
|
|
||||||
return e.Arguments[len(e.Arguments)-1]
|
|
||||||
}
|
|
14
vendor/github.com/42wim/go-ircevent/irc_test_fuzz.go
generated
vendored
14
vendor/github.com/42wim/go-ircevent/irc_test_fuzz.go
generated
vendored
@ -1,14 +0,0 @@
|
|||||||
// +build gofuzz
|
|
||||||
|
|
||||||
package irc
|
|
||||||
|
|
||||||
func Fuzz(data []byte) int {
|
|
||||||
b := bytes.NewBuffer(data)
|
|
||||||
event, err := parseToEvent(b.String())
|
|
||||||
if err == nil {
|
|
||||||
irc := IRC("go-eventirc", "go-eventirc")
|
|
||||||
irc.RunCallbacks(event)
|
|
||||||
return 1
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
5
vendor/github.com/BurntSushi/toml/.gitignore
generated
vendored
Normal file
5
vendor/github.com/BurntSushi/toml/.gitignore
generated
vendored
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
TAGS
|
||||||
|
tags
|
||||||
|
.*.swp
|
||||||
|
tomlcheck/tomlcheck
|
||||||
|
toml.test
|
15
vendor/github.com/BurntSushi/toml/.travis.yml
generated
vendored
Normal file
15
vendor/github.com/BurntSushi/toml/.travis.yml
generated
vendored
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
language: go
|
||||||
|
go:
|
||||||
|
- 1.1
|
||||||
|
- 1.2
|
||||||
|
- 1.3
|
||||||
|
- 1.4
|
||||||
|
- 1.5
|
||||||
|
- 1.6
|
||||||
|
- tip
|
||||||
|
install:
|
||||||
|
- go install ./...
|
||||||
|
- go get github.com/BurntSushi/toml-test
|
||||||
|
script:
|
||||||
|
- export PATH="$PATH:$HOME/gopath/bin"
|
||||||
|
- make test
|
3
vendor/github.com/BurntSushi/toml/COMPATIBLE
generated
vendored
Normal file
3
vendor/github.com/BurntSushi/toml/COMPATIBLE
generated
vendored
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
Compatible with TOML version
|
||||||
|
[v0.4.0](https://github.com/toml-lang/toml/blob/v0.4.0/versions/en/toml-v0.4.0.md)
|
||||||
|
|
19
vendor/github.com/BurntSushi/toml/Makefile
generated
vendored
Normal file
19
vendor/github.com/BurntSushi/toml/Makefile
generated
vendored
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
install:
|
||||||
|
go install ./...
|
||||||
|
|
||||||
|
test: install
|
||||||
|
go test -v
|
||||||
|
toml-test toml-test-decoder
|
||||||
|
toml-test -encoder toml-test-encoder
|
||||||
|
|
||||||
|
fmt:
|
||||||
|
gofmt -w *.go */*.go
|
||||||
|
colcheck *.go */*.go
|
||||||
|
|
||||||
|
tags:
|
||||||
|
find ./ -name '*.go' -print0 | xargs -0 gotags > TAGS
|
||||||
|
|
||||||
|
push:
|
||||||
|
git push origin master
|
||||||
|
git push github master
|
||||||
|
|
218
vendor/github.com/BurntSushi/toml/README.md
generated
vendored
Normal file
218
vendor/github.com/BurntSushi/toml/README.md
generated
vendored
Normal file
@ -0,0 +1,218 @@
|
|||||||
|
## TOML parser and encoder for Go with reflection
|
||||||
|
|
||||||
|
TOML stands for Tom's Obvious, Minimal Language. This Go package provides a
|
||||||
|
reflection interface similar to Go's standard library `json` and `xml`
|
||||||
|
packages. This package also supports the `encoding.TextUnmarshaler` and
|
||||||
|
`encoding.TextMarshaler` interfaces so that you can define custom data
|
||||||
|
representations. (There is an example of this below.)
|
||||||
|
|
||||||
|
Spec: https://github.com/toml-lang/toml
|
||||||
|
|
||||||
|
Compatible with TOML version
|
||||||
|
[v0.4.0](https://github.com/toml-lang/toml/blob/master/versions/en/toml-v0.4.0.md)
|
||||||
|
|
||||||
|
Documentation: https://godoc.org/github.com/BurntSushi/toml
|
||||||
|
|
||||||
|
Installation:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
go get github.com/BurntSushi/toml
|
||||||
|
```
|
||||||
|
|
||||||
|
Try the toml validator:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
go get github.com/BurntSushi/toml/cmd/tomlv
|
||||||
|
tomlv some-toml-file.toml
|
||||||
|
```
|
||||||
|
|
||||||
|
[![Build Status](https://travis-ci.org/BurntSushi/toml.svg?branch=master)](https://travis-ci.org/BurntSushi/toml) [![GoDoc](https://godoc.org/github.com/BurntSushi/toml?status.svg)](https://godoc.org/github.com/BurntSushi/toml)
|
||||||
|
|
||||||
|
### Testing
|
||||||
|
|
||||||
|
This package passes all tests in
|
||||||
|
[toml-test](https://github.com/BurntSushi/toml-test) for both the decoder
|
||||||
|
and the encoder.
|
||||||
|
|
||||||
|
### Examples
|
||||||
|
|
||||||
|
This package works similarly to how the Go standard library handles `XML`
|
||||||
|
and `JSON`. Namely, data is loaded into Go values via reflection.
|
||||||
|
|
||||||
|
For the simplest example, consider some TOML file as just a list of keys
|
||||||
|
and values:
|
||||||
|
|
||||||
|
```toml
|
||||||
|
Age = 25
|
||||||
|
Cats = [ "Cauchy", "Plato" ]
|
||||||
|
Pi = 3.14
|
||||||
|
Perfection = [ 6, 28, 496, 8128 ]
|
||||||
|
DOB = 1987-07-05T05:45:00Z
|
||||||
|
```
|
||||||
|
|
||||||
|
Which could be defined in Go as:
|
||||||
|
|
||||||
|
```go
|
||||||
|
type Config struct {
|
||||||
|
Age int
|
||||||
|
Cats []string
|
||||||
|
Pi float64
|
||||||
|
Perfection []int
|
||||||
|
DOB time.Time // requires `import time`
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
And then decoded with:
|
||||||
|
|
||||||
|
```go
|
||||||
|
var conf Config
|
||||||
|
if _, err := toml.Decode(tomlData, &conf); err != nil {
|
||||||
|
// handle error
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
You can also use struct tags if your struct field name doesn't map to a TOML
|
||||||
|
key value directly:
|
||||||
|
|
||||||
|
```toml
|
||||||
|
some_key_NAME = "wat"
|
||||||
|
```
|
||||||
|
|
||||||
|
```go
|
||||||
|
type TOML struct {
|
||||||
|
ObscureKey string `toml:"some_key_NAME"`
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### Using the `encoding.TextUnmarshaler` interface
|
||||||
|
|
||||||
|
Here's an example that automatically parses duration strings into
|
||||||
|
`time.Duration` values:
|
||||||
|
|
||||||
|
```toml
|
||||||
|
[[song]]
|
||||||
|
name = "Thunder Road"
|
||||||
|
duration = "4m49s"
|
||||||
|
|
||||||
|
[[song]]
|
||||||
|
name = "Stairway to Heaven"
|
||||||
|
duration = "8m03s"
|
||||||
|
```
|
||||||
|
|
||||||
|
Which can be decoded with:
|
||||||
|
|
||||||
|
```go
|
||||||
|
type song struct {
|
||||||
|
Name string
|
||||||
|
Duration duration
|
||||||
|
}
|
||||||
|
type songs struct {
|
||||||
|
Song []song
|
||||||
|
}
|
||||||
|
var favorites songs
|
||||||
|
if _, err := toml.Decode(blob, &favorites); err != nil {
|
||||||
|
log.Fatal(err)
|
||||||
|
}
|
||||||
|
|
||||||
|
for _, s := range favorites.Song {
|
||||||
|
fmt.Printf("%s (%s)\n", s.Name, s.Duration)
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
And you'll also need a `duration` type that satisfies the
|
||||||
|
`encoding.TextUnmarshaler` interface:
|
||||||
|
|
||||||
|
```go
|
||||||
|
type duration struct {
|
||||||
|
time.Duration
|
||||||
|
}
|
||||||
|
|
||||||
|
func (d *duration) UnmarshalText(text []byte) error {
|
||||||
|
var err error
|
||||||
|
d.Duration, err = time.ParseDuration(string(text))
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### More complex usage
|
||||||
|
|
||||||
|
Here's an example of how to load the example from the official spec page:
|
||||||
|
|
||||||
|
```toml
|
||||||
|
# This is a TOML document. Boom.
|
||||||
|
|
||||||
|
title = "TOML Example"
|
||||||
|
|
||||||
|
[owner]
|
||||||
|
name = "Tom Preston-Werner"
|
||||||
|
organization = "GitHub"
|
||||||
|
bio = "GitHub Cofounder & CEO\nLikes tater tots and beer."
|
||||||
|
dob = 1979-05-27T07:32:00Z # First class dates? Why not?
|
||||||
|
|
||||||
|
[database]
|
||||||
|
server = "192.168.1.1"
|
||||||
|
ports = [ 8001, 8001, 8002 ]
|
||||||
|
connection_max = 5000
|
||||||
|
enabled = true
|
||||||
|
|
||||||
|
[servers]
|
||||||
|
|
||||||
|
# You can indent as you please. Tabs or spaces. TOML don't care.
|
||||||
|
[servers.alpha]
|
||||||
|
ip = "10.0.0.1"
|
||||||
|
dc = "eqdc10"
|
||||||
|
|
||||||
|
[servers.beta]
|
||||||
|
ip = "10.0.0.2"
|
||||||
|
dc = "eqdc10"
|
||||||
|
|
||||||
|
[clients]
|
||||||
|
data = [ ["gamma", "delta"], [1, 2] ] # just an update to make sure parsers support it
|
||||||
|
|
||||||
|
# Line breaks are OK when inside arrays
|
||||||
|
hosts = [
|
||||||
|
"alpha",
|
||||||
|
"omega"
|
||||||
|
]
|
||||||
|
```
|
||||||
|
|
||||||
|
And the corresponding Go types are:
|
||||||
|
|
||||||
|
```go
|
||||||
|
type tomlConfig struct {
|
||||||
|
Title string
|
||||||
|
Owner ownerInfo
|
||||||
|
DB database `toml:"database"`
|
||||||
|
Servers map[string]server
|
||||||
|
Clients clients
|
||||||
|
}
|
||||||
|
|
||||||
|
type ownerInfo struct {
|
||||||
|
Name string
|
||||||
|
Org string `toml:"organization"`
|
||||||
|
Bio string
|
||||||
|
DOB time.Time
|
||||||
|
}
|
||||||
|
|
||||||
|
type database struct {
|
||||||
|
Server string
|
||||||
|
Ports []int
|
||||||
|
ConnMax int `toml:"connection_max"`
|
||||||
|
Enabled bool
|
||||||
|
}
|
||||||
|
|
||||||
|
type server struct {
|
||||||
|
IP string
|
||||||
|
DC string
|
||||||
|
}
|
||||||
|
|
||||||
|
type clients struct {
|
||||||
|
Data [][]interface{}
|
||||||
|
Hosts []string
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
Note that a case insensitive match will be tried if an exact match can't be
|
||||||
|
found.
|
||||||
|
|
||||||
|
A working example of the above can be found in `_examples/example.{go,toml}`.
|
90
vendor/github.com/BurntSushi/toml/cmd/toml-test-decoder/main.go
generated
vendored
90
vendor/github.com/BurntSushi/toml/cmd/toml-test-decoder/main.go
generated
vendored
@ -1,90 +0,0 @@
|
|||||||
// Command toml-test-decoder satisfies the toml-test interface for testing
|
|
||||||
// TOML decoders. Namely, it accepts TOML on stdin and outputs JSON on stdout.
|
|
||||||
package main
|
|
||||||
|
|
||||||
import (
|
|
||||||
"encoding/json"
|
|
||||||
"flag"
|
|
||||||
"fmt"
|
|
||||||
"log"
|
|
||||||
"os"
|
|
||||||
"path"
|
|
||||||
"time"
|
|
||||||
|
|
||||||
"github.com/BurntSushi/toml"
|
|
||||||
)
|
|
||||||
|
|
||||||
func init() {
|
|
||||||
log.SetFlags(0)
|
|
||||||
|
|
||||||
flag.Usage = usage
|
|
||||||
flag.Parse()
|
|
||||||
}
|
|
||||||
|
|
||||||
func usage() {
|
|
||||||
log.Printf("Usage: %s < toml-file\n", path.Base(os.Args[0]))
|
|
||||||
flag.PrintDefaults()
|
|
||||||
|
|
||||||
os.Exit(1)
|
|
||||||
}
|
|
||||||
|
|
||||||
func main() {
|
|
||||||
if flag.NArg() != 0 {
|
|
||||||
flag.Usage()
|
|
||||||
}
|
|
||||||
|
|
||||||
var tmp interface{}
|
|
||||||
if _, err := toml.DecodeReader(os.Stdin, &tmp); err != nil {
|
|
||||||
log.Fatalf("Error decoding TOML: %s", err)
|
|
||||||
}
|
|
||||||
|
|
||||||
typedTmp := translate(tmp)
|
|
||||||
if err := json.NewEncoder(os.Stdout).Encode(typedTmp); err != nil {
|
|
||||||
log.Fatalf("Error encoding JSON: %s", err)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func translate(tomlData interface{}) interface{} {
|
|
||||||
switch orig := tomlData.(type) {
|
|
||||||
case map[string]interface{}:
|
|
||||||
typed := make(map[string]interface{}, len(orig))
|
|
||||||
for k, v := range orig {
|
|
||||||
typed[k] = translate(v)
|
|
||||||
}
|
|
||||||
return typed
|
|
||||||
case []map[string]interface{}:
|
|
||||||
typed := make([]map[string]interface{}, len(orig))
|
|
||||||
for i, v := range orig {
|
|
||||||
typed[i] = translate(v).(map[string]interface{})
|
|
||||||
}
|
|
||||||
return typed
|
|
||||||
case []interface{}:
|
|
||||||
typed := make([]interface{}, len(orig))
|
|
||||||
for i, v := range orig {
|
|
||||||
typed[i] = translate(v)
|
|
||||||
}
|
|
||||||
|
|
||||||
// We don't really need to tag arrays, but let's be future proof.
|
|
||||||
// (If TOML ever supports tuples, we'll need this.)
|
|
||||||
return tag("array", typed)
|
|
||||||
case time.Time:
|
|
||||||
return tag("datetime", orig.Format("2006-01-02T15:04:05Z"))
|
|
||||||
case bool:
|
|
||||||
return tag("bool", fmt.Sprintf("%v", orig))
|
|
||||||
case int64:
|
|
||||||
return tag("integer", fmt.Sprintf("%d", orig))
|
|
||||||
case float64:
|
|
||||||
return tag("float", fmt.Sprintf("%v", orig))
|
|
||||||
case string:
|
|
||||||
return tag("string", orig)
|
|
||||||
}
|
|
||||||
|
|
||||||
panic(fmt.Sprintf("Unknown type: %T", tomlData))
|
|
||||||
}
|
|
||||||
|
|
||||||
func tag(typeName string, data interface{}) map[string]interface{} {
|
|
||||||
return map[string]interface{}{
|
|
||||||
"type": typeName,
|
|
||||||
"value": data,
|
|
||||||
}
|
|
||||||
}
|
|
131
vendor/github.com/BurntSushi/toml/cmd/toml-test-encoder/main.go
generated
vendored
131
vendor/github.com/BurntSushi/toml/cmd/toml-test-encoder/main.go
generated
vendored
@ -1,131 +0,0 @@
|
|||||||
// Command toml-test-encoder satisfies the toml-test interface for testing
|
|
||||||
// TOML encoders. Namely, it accepts JSON on stdin and outputs TOML on stdout.
|
|
||||||
package main
|
|
||||||
|
|
||||||
import (
|
|
||||||
"encoding/json"
|
|
||||||
"flag"
|
|
||||||
"log"
|
|
||||||
"os"
|
|
||||||
"path"
|
|
||||||
"strconv"
|
|
||||||
"time"
|
|
||||||
|
|
||||||
"github.com/BurntSushi/toml"
|
|
||||||
)
|
|
||||||
|
|
||||||
func init() {
|
|
||||||
log.SetFlags(0)
|
|
||||||
|
|
||||||
flag.Usage = usage
|
|
||||||
flag.Parse()
|
|
||||||
}
|
|
||||||
|
|
||||||
func usage() {
|
|
||||||
log.Printf("Usage: %s < json-file\n", path.Base(os.Args[0]))
|
|
||||||
flag.PrintDefaults()
|
|
||||||
|
|
||||||
os.Exit(1)
|
|
||||||
}
|
|
||||||
|
|
||||||
func main() {
|
|
||||||
if flag.NArg() != 0 {
|
|
||||||
flag.Usage()
|
|
||||||
}
|
|
||||||
|
|
||||||
var tmp interface{}
|
|
||||||
if err := json.NewDecoder(os.Stdin).Decode(&tmp); err != nil {
|
|
||||||
log.Fatalf("Error decoding JSON: %s", err)
|
|
||||||
}
|
|
||||||
|
|
||||||
tomlData := translate(tmp)
|
|
||||||
if err := toml.NewEncoder(os.Stdout).Encode(tomlData); err != nil {
|
|
||||||
log.Fatalf("Error encoding TOML: %s", err)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func translate(typedJson interface{}) interface{} {
|
|
||||||
switch v := typedJson.(type) {
|
|
||||||
case map[string]interface{}:
|
|
||||||
if len(v) == 2 && in("type", v) && in("value", v) {
|
|
||||||
return untag(v)
|
|
||||||
}
|
|
||||||
m := make(map[string]interface{}, len(v))
|
|
||||||
for k, v2 := range v {
|
|
||||||
m[k] = translate(v2)
|
|
||||||
}
|
|
||||||
return m
|
|
||||||
case []interface{}:
|
|
||||||
tabArray := make([]map[string]interface{}, len(v))
|
|
||||||
for i := range v {
|
|
||||||
if m, ok := translate(v[i]).(map[string]interface{}); ok {
|
|
||||||
tabArray[i] = m
|
|
||||||
} else {
|
|
||||||
log.Fatalf("JSON arrays may only contain objects. This " +
|
|
||||||
"corresponds to only tables being allowed in " +
|
|
||||||
"TOML table arrays.")
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return tabArray
|
|
||||||
}
|
|
||||||
log.Fatalf("Unrecognized JSON format '%T'.", typedJson)
|
|
||||||
panic("unreachable")
|
|
||||||
}
|
|
||||||
|
|
||||||
func untag(typed map[string]interface{}) interface{} {
|
|
||||||
t := typed["type"].(string)
|
|
||||||
v := typed["value"]
|
|
||||||
switch t {
|
|
||||||
case "string":
|
|
||||||
return v.(string)
|
|
||||||
case "integer":
|
|
||||||
v := v.(string)
|
|
||||||
n, err := strconv.Atoi(v)
|
|
||||||
if err != nil {
|
|
||||||
log.Fatalf("Could not parse '%s' as integer: %s", v, err)
|
|
||||||
}
|
|
||||||
return n
|
|
||||||
case "float":
|
|
||||||
v := v.(string)
|
|
||||||
f, err := strconv.ParseFloat(v, 64)
|
|
||||||
if err != nil {
|
|
||||||
log.Fatalf("Could not parse '%s' as float64: %s", v, err)
|
|
||||||
}
|
|
||||||
return f
|
|
||||||
case "datetime":
|
|
||||||
v := v.(string)
|
|
||||||
t, err := time.Parse("2006-01-02T15:04:05Z", v)
|
|
||||||
if err != nil {
|
|
||||||
log.Fatalf("Could not parse '%s' as a datetime: %s", v, err)
|
|
||||||
}
|
|
||||||
return t
|
|
||||||
case "bool":
|
|
||||||
v := v.(string)
|
|
||||||
switch v {
|
|
||||||
case "true":
|
|
||||||
return true
|
|
||||||
case "false":
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
log.Fatalf("Could not parse '%s' as a boolean.", v)
|
|
||||||
case "array":
|
|
||||||
v := v.([]interface{})
|
|
||||||
array := make([]interface{}, len(v))
|
|
||||||
for i := range v {
|
|
||||||
if m, ok := v[i].(map[string]interface{}); ok {
|
|
||||||
array[i] = untag(m)
|
|
||||||
} else {
|
|
||||||
log.Fatalf("Arrays may only contain other arrays or "+
|
|
||||||
"primitive values, but found a '%T'.", m)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return array
|
|
||||||
}
|
|
||||||
log.Fatalf("Unrecognized tag type '%s'.", t)
|
|
||||||
panic("unreachable")
|
|
||||||
}
|
|
||||||
|
|
||||||
func in(key string, m map[string]interface{}) bool {
|
|
||||||
_, ok := m[key]
|
|
||||||
return ok
|
|
||||||
}
|
|
61
vendor/github.com/BurntSushi/toml/cmd/tomlv/main.go
generated
vendored
61
vendor/github.com/BurntSushi/toml/cmd/tomlv/main.go
generated
vendored
@ -1,61 +0,0 @@
|
|||||||
// Command tomlv validates TOML documents and prints each key's type.
|
|
||||||
package main
|
|
||||||
|
|
||||||
import (
|
|
||||||
"flag"
|
|
||||||
"fmt"
|
|
||||||
"log"
|
|
||||||
"os"
|
|
||||||
"path"
|
|
||||||
"strings"
|
|
||||||
"text/tabwriter"
|
|
||||||
|
|
||||||
"github.com/BurntSushi/toml"
|
|
||||||
)
|
|
||||||
|
|
||||||
var (
|
|
||||||
flagTypes = false
|
|
||||||
)
|
|
||||||
|
|
||||||
func init() {
|
|
||||||
log.SetFlags(0)
|
|
||||||
|
|
||||||
flag.BoolVar(&flagTypes, "types", flagTypes,
|
|
||||||
"When set, the types of every defined key will be shown.")
|
|
||||||
|
|
||||||
flag.Usage = usage
|
|
||||||
flag.Parse()
|
|
||||||
}
|
|
||||||
|
|
||||||
func usage() {
|
|
||||||
log.Printf("Usage: %s toml-file [ toml-file ... ]\n",
|
|
||||||
path.Base(os.Args[0]))
|
|
||||||
flag.PrintDefaults()
|
|
||||||
|
|
||||||
os.Exit(1)
|
|
||||||
}
|
|
||||||
|
|
||||||
func main() {
|
|
||||||
if flag.NArg() < 1 {
|
|
||||||
flag.Usage()
|
|
||||||
}
|
|
||||||
for _, f := range flag.Args() {
|
|
||||||
var tmp interface{}
|
|
||||||
md, err := toml.DecodeFile(f, &tmp)
|
|
||||||
if err != nil {
|
|
||||||
log.Fatalf("Error in '%s': %s", f, err)
|
|
||||||
}
|
|
||||||
if flagTypes {
|
|
||||||
printTypes(md)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func printTypes(md toml.MetaData) {
|
|
||||||
tabw := tabwriter.NewWriter(os.Stdout, 0, 0, 2, ' ', 0)
|
|
||||||
for _, key := range md.Keys() {
|
|
||||||
fmt.Fprintf(tabw, "%s%s\t%s\n",
|
|
||||||
strings.Repeat(" ", len(key)-1), key, md.Type(key...))
|
|
||||||
}
|
|
||||||
tabw.Flush()
|
|
||||||
}
|
|
1
vendor/github.com/BurntSushi/toml/session.vim
generated
vendored
Normal file
1
vendor/github.com/BurntSushi/toml/session.vim
generated
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
au BufWritePost *.go silent!make tags > /dev/null 2>&1
|
22
vendor/github.com/GeertJohan/go.rice/LICENSE
generated
vendored
22
vendor/github.com/GeertJohan/go.rice/LICENSE
generated
vendored
@ -1,22 +0,0 @@
|
|||||||
Copyright (c) 2013, Geert-Johan Riemer
|
|
||||||
All rights reserved.
|
|
||||||
|
|
||||||
Redistribution and use in source and binary forms, with or without
|
|
||||||
modification, are permitted provided that the following conditions are met:
|
|
||||||
|
|
||||||
1. Redistributions of source code must retain the above copyright notice, this
|
|
||||||
list of conditions and the following disclaimer.
|
|
||||||
2. Redistributions in binary form must reproduce the above copyright notice,
|
|
||||||
this list of conditions and the following disclaimer in the documentation
|
|
||||||
and/or other materials provided with the distribution.
|
|
||||||
|
|
||||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
|
||||||
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
|
||||||
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
||||||
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
|
|
||||||
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
|
||||||
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
|
||||||
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
|
||||||
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
||||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
|
||||||
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
138
vendor/github.com/GeertJohan/go.rice/appended.go
generated
vendored
138
vendor/github.com/GeertJohan/go.rice/appended.go
generated
vendored
@ -1,138 +0,0 @@
|
|||||||
package rice
|
|
||||||
|
|
||||||
import (
|
|
||||||
"archive/zip"
|
|
||||||
"log"
|
|
||||||
"os"
|
|
||||||
"path/filepath"
|
|
||||||
"strings"
|
|
||||||
"time"
|
|
||||||
|
|
||||||
"github.com/daaku/go.zipexe"
|
|
||||||
"github.com/kardianos/osext"
|
|
||||||
)
|
|
||||||
|
|
||||||
// appendedBox defines an appended box
|
|
||||||
type appendedBox struct {
|
|
||||||
Name string // box name
|
|
||||||
Files map[string]*appendedFile // appended files (*zip.File) by full path
|
|
||||||
}
|
|
||||||
|
|
||||||
type appendedFile struct {
|
|
||||||
zipFile *zip.File
|
|
||||||
dir bool
|
|
||||||
dirInfo *appendedDirInfo
|
|
||||||
children []*appendedFile
|
|
||||||
content []byte
|
|
||||||
}
|
|
||||||
|
|
||||||
// appendedBoxes is a public register of appendes boxes
|
|
||||||
var appendedBoxes = make(map[string]*appendedBox)
|
|
||||||
|
|
||||||
func init() {
|
|
||||||
// find if exec is appended
|
|
||||||
thisFile, err := osext.Executable()
|
|
||||||
if err != nil {
|
|
||||||
return // not appended or cant find self executable
|
|
||||||
}
|
|
||||||
closer, rd, err := zipexe.OpenCloser(thisFile)
|
|
||||||
if err != nil {
|
|
||||||
return // not appended
|
|
||||||
}
|
|
||||||
defer closer.Close()
|
|
||||||
|
|
||||||
for _, f := range rd.File {
|
|
||||||
// get box and file name from f.Name
|
|
||||||
fileParts := strings.SplitN(strings.TrimLeft(filepath.ToSlash(f.Name), "/"), "/", 2)
|
|
||||||
boxName := fileParts[0]
|
|
||||||
var fileName string
|
|
||||||
if len(fileParts) > 1 {
|
|
||||||
fileName = fileParts[1]
|
|
||||||
}
|
|
||||||
|
|
||||||
// find box or create new one if doesn't exist
|
|
||||||
box := appendedBoxes[boxName]
|
|
||||||
if box == nil {
|
|
||||||
box = &appendedBox{
|
|
||||||
Name: boxName,
|
|
||||||
Files: make(map[string]*appendedFile),
|
|
||||||
}
|
|
||||||
appendedBoxes[boxName] = box
|
|
||||||
}
|
|
||||||
|
|
||||||
// create and add file to box
|
|
||||||
af := &appendedFile{
|
|
||||||
zipFile: f,
|
|
||||||
}
|
|
||||||
if f.Comment == "dir" {
|
|
||||||
af.dir = true
|
|
||||||
af.dirInfo = &appendedDirInfo{
|
|
||||||
name: filepath.Base(af.zipFile.Name),
|
|
||||||
//++ TODO: use zip modtime when that is set correctly: af.zipFile.ModTime()
|
|
||||||
time: time.Now(),
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
// this is a file, we need it's contents so we can create a bytes.Reader when the file is opened
|
|
||||||
// make a new byteslice
|
|
||||||
af.content = make([]byte, af.zipFile.FileInfo().Size())
|
|
||||||
// ignore reading empty files from zip (empty file still is a valid file to be read though!)
|
|
||||||
if len(af.content) > 0 {
|
|
||||||
// open io.ReadCloser
|
|
||||||
rc, err := af.zipFile.Open()
|
|
||||||
if err != nil {
|
|
||||||
af.content = nil // this will cause an error when the file is being opened or seeked (which is good)
|
|
||||||
// TODO: it's quite blunt to just log this stuff. but this is in init, so rice.Debug can't be changed yet..
|
|
||||||
log.Printf("error opening appended file %s: %v", af.zipFile.Name, err)
|
|
||||||
} else {
|
|
||||||
_, err = rc.Read(af.content)
|
|
||||||
rc.Close()
|
|
||||||
if err != nil {
|
|
||||||
af.content = nil // this will cause an error when the file is being opened or seeked (which is good)
|
|
||||||
// TODO: it's quite blunt to just log this stuff. but this is in init, so rice.Debug can't be changed yet..
|
|
||||||
log.Printf("error reading data for appended file %s: %v", af.zipFile.Name, err)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// add appendedFile to box file list
|
|
||||||
box.Files[fileName] = af
|
|
||||||
|
|
||||||
// add to parent dir (if any)
|
|
||||||
dirName := filepath.Dir(fileName)
|
|
||||||
if dirName == "." {
|
|
||||||
dirName = ""
|
|
||||||
}
|
|
||||||
if fileName != "" { // don't make box root dir a child of itself
|
|
||||||
if dir := box.Files[dirName]; dir != nil {
|
|
||||||
dir.children = append(dir.children, af)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// implements os.FileInfo.
|
|
||||||
// used for Readdir()
|
|
||||||
type appendedDirInfo struct {
|
|
||||||
name string
|
|
||||||
time time.Time
|
|
||||||
}
|
|
||||||
|
|
||||||
func (adi *appendedDirInfo) Name() string {
|
|
||||||
return adi.name
|
|
||||||
}
|
|
||||||
func (adi *appendedDirInfo) Size() int64 {
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
func (adi *appendedDirInfo) Mode() os.FileMode {
|
|
||||||
return os.ModeDir
|
|
||||||
}
|
|
||||||
func (adi *appendedDirInfo) ModTime() time.Time {
|
|
||||||
return adi.time
|
|
||||||
}
|
|
||||||
func (adi *appendedDirInfo) IsDir() bool {
|
|
||||||
return true
|
|
||||||
}
|
|
||||||
func (adi *appendedDirInfo) Sys() interface{} {
|
|
||||||
return nil
|
|
||||||
}
|
|
337
vendor/github.com/GeertJohan/go.rice/box.go
generated
vendored
337
vendor/github.com/GeertJohan/go.rice/box.go
generated
vendored
@ -1,337 +0,0 @@
|
|||||||
package rice
|
|
||||||
|
|
||||||
import (
|
|
||||||
"bytes"
|
|
||||||
"errors"
|
|
||||||
"fmt"
|
|
||||||
"io/ioutil"
|
|
||||||
"os"
|
|
||||||
"path/filepath"
|
|
||||||
"runtime"
|
|
||||||
"strings"
|
|
||||||
"time"
|
|
||||||
|
|
||||||
"github.com/GeertJohan/go.rice/embedded"
|
|
||||||
)
|
|
||||||
|
|
||||||
// Box abstracts a directory for resources/files.
|
|
||||||
// It can either load files from disk, or from embedded code (when `rice --embed` was ran).
|
|
||||||
type Box struct {
|
|
||||||
name string
|
|
||||||
absolutePath string
|
|
||||||
embed *embedded.EmbeddedBox
|
|
||||||
appendd *appendedBox
|
|
||||||
}
|
|
||||||
|
|
||||||
var defaultLocateOrder = []LocateMethod{LocateEmbedded, LocateAppended, LocateFS}
|
|
||||||
|
|
||||||
func findBox(name string, order []LocateMethod) (*Box, error) {
|
|
||||||
b := &Box{name: name}
|
|
||||||
|
|
||||||
// no support for absolute paths since gopath can be different on different machines.
|
|
||||||
// therefore, required box must be located relative to package requiring it.
|
|
||||||
if filepath.IsAbs(name) {
|
|
||||||
return nil, errors.New("given name/path is absolute")
|
|
||||||
}
|
|
||||||
|
|
||||||
var err error
|
|
||||||
for _, method := range order {
|
|
||||||
switch method {
|
|
||||||
case LocateEmbedded:
|
|
||||||
if embed := embedded.EmbeddedBoxes[name]; embed != nil {
|
|
||||||
b.embed = embed
|
|
||||||
return b, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
case LocateAppended:
|
|
||||||
appendedBoxName := strings.Replace(name, `/`, `-`, -1)
|
|
||||||
if appendd := appendedBoxes[appendedBoxName]; appendd != nil {
|
|
||||||
b.appendd = appendd
|
|
||||||
return b, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
case LocateFS:
|
|
||||||
// resolve absolute directory path
|
|
||||||
err := b.resolveAbsolutePathFromCaller()
|
|
||||||
if err != nil {
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
// check if absolutePath exists on filesystem
|
|
||||||
info, err := os.Stat(b.absolutePath)
|
|
||||||
if err != nil {
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
// check if absolutePath is actually a directory
|
|
||||||
if !info.IsDir() {
|
|
||||||
err = errors.New("given name/path is not a directory")
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
return b, nil
|
|
||||||
case LocateWorkingDirectory:
|
|
||||||
// resolve absolute directory path
|
|
||||||
err := b.resolveAbsolutePathFromWorkingDirectory()
|
|
||||||
if err != nil {
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
// check if absolutePath exists on filesystem
|
|
||||||
info, err := os.Stat(b.absolutePath)
|
|
||||||
if err != nil {
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
// check if absolutePath is actually a directory
|
|
||||||
if !info.IsDir() {
|
|
||||||
err = errors.New("given name/path is not a directory")
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
return b, nil
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if err == nil {
|
|
||||||
err = fmt.Errorf("could not locate box %q", name)
|
|
||||||
}
|
|
||||||
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
// FindBox returns a Box instance for given name.
|
|
||||||
// When the given name is a relative path, it's base path will be the calling pkg/cmd's source root.
|
|
||||||
// When the given name is absolute, it's absolute. derp.
|
|
||||||
// Make sure the path doesn't contain any sensitive information as it might be placed into generated go source (embedded).
|
|
||||||
func FindBox(name string) (*Box, error) {
|
|
||||||
return findBox(name, defaultLocateOrder)
|
|
||||||
}
|
|
||||||
|
|
||||||
// MustFindBox returns a Box instance for given name, like FindBox does.
|
|
||||||
// It does not return an error, instead it panics when an error occurs.
|
|
||||||
func MustFindBox(name string) *Box {
|
|
||||||
box, err := findBox(name, defaultLocateOrder)
|
|
||||||
if err != nil {
|
|
||||||
panic(err)
|
|
||||||
}
|
|
||||||
return box
|
|
||||||
}
|
|
||||||
|
|
||||||
// This is injected as a mutable function literal so that we can mock it out in
|
|
||||||
// tests and return a fixed test file.
|
|
||||||
var resolveAbsolutePathFromCaller = func(name string, nStackFrames int) (string, error) {
|
|
||||||
_, callingGoFile, _, ok := runtime.Caller(nStackFrames)
|
|
||||||
if !ok {
|
|
||||||
return "", errors.New("couldn't find caller on stack")
|
|
||||||
}
|
|
||||||
|
|
||||||
// resolve to proper path
|
|
||||||
pkgDir := filepath.Dir(callingGoFile)
|
|
||||||
// fix for go cover
|
|
||||||
const coverPath = "_test/_obj_test"
|
|
||||||
if !filepath.IsAbs(pkgDir) {
|
|
||||||
if i := strings.Index(pkgDir, coverPath); i >= 0 {
|
|
||||||
pkgDir = pkgDir[:i] + pkgDir[i+len(coverPath):] // remove coverPath
|
|
||||||
pkgDir = filepath.Join(os.Getenv("GOPATH"), "src", pkgDir) // make absolute
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return filepath.Join(pkgDir, name), nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (b *Box) resolveAbsolutePathFromCaller() error {
|
|
||||||
path, err := resolveAbsolutePathFromCaller(b.name, 4)
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
b.absolutePath = path
|
|
||||||
return nil
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
func (b *Box) resolveAbsolutePathFromWorkingDirectory() error {
|
|
||||||
path, err := os.Getwd()
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
b.absolutePath = filepath.Join(path, b.name)
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// IsEmbedded indicates wether this box was embedded into the application
|
|
||||||
func (b *Box) IsEmbedded() bool {
|
|
||||||
return b.embed != nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// IsAppended indicates wether this box was appended to the application
|
|
||||||
func (b *Box) IsAppended() bool {
|
|
||||||
return b.appendd != nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// Time returns how actual the box is.
|
|
||||||
// When the box is embedded, it's value is saved in the embedding code.
|
|
||||||
// When the box is live, this methods returns time.Now()
|
|
||||||
func (b *Box) Time() time.Time {
|
|
||||||
if b.IsEmbedded() {
|
|
||||||
return b.embed.Time
|
|
||||||
}
|
|
||||||
|
|
||||||
//++ TODO: return time for appended box
|
|
||||||
|
|
||||||
return time.Now()
|
|
||||||
}
|
|
||||||
|
|
||||||
// Open opens a File from the box
|
|
||||||
// If there is an error, it will be of type *os.PathError.
|
|
||||||
func (b *Box) Open(name string) (*File, error) {
|
|
||||||
if Debug {
|
|
||||||
fmt.Printf("Open(%s)\n", name)
|
|
||||||
}
|
|
||||||
|
|
||||||
if b.IsEmbedded() {
|
|
||||||
if Debug {
|
|
||||||
fmt.Println("Box is embedded")
|
|
||||||
}
|
|
||||||
|
|
||||||
// trim prefix (paths are relative to box)
|
|
||||||
name = strings.TrimLeft(name, "/")
|
|
||||||
if Debug {
|
|
||||||
fmt.Printf("Trying %s\n", name)
|
|
||||||
}
|
|
||||||
|
|
||||||
// search for file
|
|
||||||
ef := b.embed.Files[name]
|
|
||||||
if ef == nil {
|
|
||||||
if Debug {
|
|
||||||
fmt.Println("Didn't find file in embed")
|
|
||||||
}
|
|
||||||
// file not found, try dir
|
|
||||||
ed := b.embed.Dirs[name]
|
|
||||||
if ed == nil {
|
|
||||||
if Debug {
|
|
||||||
fmt.Println("Didn't find dir in embed")
|
|
||||||
}
|
|
||||||
// dir not found, error out
|
|
||||||
return nil, &os.PathError{
|
|
||||||
Op: "open",
|
|
||||||
Path: name,
|
|
||||||
Err: os.ErrNotExist,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if Debug {
|
|
||||||
fmt.Println("Found dir. Returning virtual dir")
|
|
||||||
}
|
|
||||||
vd := newVirtualDir(ed)
|
|
||||||
return &File{virtualD: vd}, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// box is embedded
|
|
||||||
if Debug {
|
|
||||||
fmt.Println("Found file. Returning virtual file")
|
|
||||||
}
|
|
||||||
vf := newVirtualFile(ef)
|
|
||||||
return &File{virtualF: vf}, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
if b.IsAppended() {
|
|
||||||
// trim prefix (paths are relative to box)
|
|
||||||
name = strings.TrimLeft(name, "/")
|
|
||||||
|
|
||||||
// search for file
|
|
||||||
appendedFile := b.appendd.Files[name]
|
|
||||||
if appendedFile == nil {
|
|
||||||
return nil, &os.PathError{
|
|
||||||
Op: "open",
|
|
||||||
Path: name,
|
|
||||||
Err: os.ErrNotExist,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// create new file
|
|
||||||
f := &File{
|
|
||||||
appendedF: appendedFile,
|
|
||||||
}
|
|
||||||
|
|
||||||
// if this file is a directory, we want to be able to read and seek
|
|
||||||
if !appendedFile.dir {
|
|
||||||
// looks like malformed data in zip, error now
|
|
||||||
if appendedFile.content == nil {
|
|
||||||
return nil, &os.PathError{
|
|
||||||
Op: "open",
|
|
||||||
Path: "name",
|
|
||||||
Err: errors.New("error reading data from zip file"),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// create new bytes.Reader
|
|
||||||
f.appendedFileReader = bytes.NewReader(appendedFile.content)
|
|
||||||
}
|
|
||||||
|
|
||||||
// all done
|
|
||||||
return f, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// perform os open
|
|
||||||
if Debug {
|
|
||||||
fmt.Printf("Using os.Open(%s)", filepath.Join(b.absolutePath, name))
|
|
||||||
}
|
|
||||||
file, err := os.Open(filepath.Join(b.absolutePath, name))
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
return &File{realF: file}, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// Bytes returns the content of the file with given name as []byte.
|
|
||||||
func (b *Box) Bytes(name string) ([]byte, error) {
|
|
||||||
file, err := b.Open(name)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
defer file.Close()
|
|
||||||
|
|
||||||
content, err := ioutil.ReadAll(file)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
return content, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// MustBytes returns the content of the file with given name as []byte.
|
|
||||||
// panic's on error.
|
|
||||||
func (b *Box) MustBytes(name string) []byte {
|
|
||||||
bts, err := b.Bytes(name)
|
|
||||||
if err != nil {
|
|
||||||
panic(err)
|
|
||||||
}
|
|
||||||
return bts
|
|
||||||
}
|
|
||||||
|
|
||||||
// String returns the content of the file with given name as string.
|
|
||||||
func (b *Box) String(name string) (string, error) {
|
|
||||||
// check if box is embedded, optimized fast path
|
|
||||||
if b.IsEmbedded() {
|
|
||||||
// find file in embed
|
|
||||||
ef := b.embed.Files[name]
|
|
||||||
if ef == nil {
|
|
||||||
return "", os.ErrNotExist
|
|
||||||
}
|
|
||||||
// return as string
|
|
||||||
return ef.Content, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
bts, err := b.Bytes(name)
|
|
||||||
if err != nil {
|
|
||||||
return "", err
|
|
||||||
}
|
|
||||||
return string(bts), nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// MustString returns the content of the file with given name as string.
|
|
||||||
// panic's on error.
|
|
||||||
func (b *Box) MustString(name string) string {
|
|
||||||
str, err := b.String(name)
|
|
||||||
if err != nil {
|
|
||||||
panic(err)
|
|
||||||
}
|
|
||||||
return str
|
|
||||||
}
|
|
||||||
|
|
||||||
// Name returns the name of the box
|
|
||||||
func (b *Box) Name() string {
|
|
||||||
return b.name
|
|
||||||
}
|
|
39
vendor/github.com/GeertJohan/go.rice/config.go
generated
vendored
39
vendor/github.com/GeertJohan/go.rice/config.go
generated
vendored
@ -1,39 +0,0 @@
|
|||||||
package rice
|
|
||||||
|
|
||||||
// LocateMethod defines how a box is located.
|
|
||||||
type LocateMethod int
|
|
||||||
|
|
||||||
const (
|
|
||||||
LocateFS = LocateMethod(iota) // Locate on the filesystem according to package path.
|
|
||||||
LocateAppended // Locate boxes appended to the executable.
|
|
||||||
LocateEmbedded // Locate embedded boxes.
|
|
||||||
LocateWorkingDirectory // Locate on the binary working directory
|
|
||||||
)
|
|
||||||
|
|
||||||
// Config allows customizing the box lookup behavior.
|
|
||||||
type Config struct {
|
|
||||||
// LocateOrder defines the priority order that boxes are searched for. By
|
|
||||||
// default, the package global FindBox searches for embedded boxes first,
|
|
||||||
// then appended boxes, and then finally boxes on the filesystem. That
|
|
||||||
// search order may be customized by provided the ordered list here. Leaving
|
|
||||||
// out a particular method will omit that from the search space. For
|
|
||||||
// example, []LocateMethod{LocateEmbedded, LocateAppended} will never search
|
|
||||||
// the filesystem for boxes.
|
|
||||||
LocateOrder []LocateMethod
|
|
||||||
}
|
|
||||||
|
|
||||||
// FindBox searches for boxes using the LocateOrder of the config.
|
|
||||||
func (c *Config) FindBox(boxName string) (*Box, error) {
|
|
||||||
return findBox(boxName, c.LocateOrder)
|
|
||||||
}
|
|
||||||
|
|
||||||
// MustFindBox searches for boxes using the LocateOrder of the config, like
|
|
||||||
// FindBox does. It does not return an error, instead it panics when an error
|
|
||||||
// occurs.
|
|
||||||
func (c *Config) MustFindBox(boxName string) *Box {
|
|
||||||
box, err := findBox(boxName, c.LocateOrder)
|
|
||||||
if err != nil {
|
|
||||||
panic(err)
|
|
||||||
}
|
|
||||||
return box
|
|
||||||
}
|
|
4
vendor/github.com/GeertJohan/go.rice/debug.go
generated
vendored
4
vendor/github.com/GeertJohan/go.rice/debug.go
generated
vendored
@ -1,4 +0,0 @@
|
|||||||
package rice
|
|
||||||
|
|
||||||
// Debug can be set to true to enable debugging.
|
|
||||||
var Debug = false
|
|
90
vendor/github.com/GeertJohan/go.rice/embedded.go
generated
vendored
90
vendor/github.com/GeertJohan/go.rice/embedded.go
generated
vendored
@ -1,90 +0,0 @@
|
|||||||
package rice
|
|
||||||
|
|
||||||
import (
|
|
||||||
"os"
|
|
||||||
"time"
|
|
||||||
|
|
||||||
"github.com/GeertJohan/go.rice/embedded"
|
|
||||||
)
|
|
||||||
|
|
||||||
// re-type to make exported methods invisible to user (godoc)
|
|
||||||
// they're not required for the user
|
|
||||||
// embeddedDirInfo implements os.FileInfo
|
|
||||||
type embeddedDirInfo embedded.EmbeddedDir
|
|
||||||
|
|
||||||
// Name returns the base name of the directory
|
|
||||||
// (implementing os.FileInfo)
|
|
||||||
func (ed *embeddedDirInfo) Name() string {
|
|
||||||
return ed.Filename
|
|
||||||
}
|
|
||||||
|
|
||||||
// Size always returns 0
|
|
||||||
// (implementing os.FileInfo)
|
|
||||||
func (ed *embeddedDirInfo) Size() int64 {
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
// Mode returns the file mode bits
|
|
||||||
// (implementing os.FileInfo)
|
|
||||||
func (ed *embeddedDirInfo) Mode() os.FileMode {
|
|
||||||
return os.FileMode(0555 | os.ModeDir) // dr-xr-xr-x
|
|
||||||
}
|
|
||||||
|
|
||||||
// ModTime returns the modification time
|
|
||||||
// (implementing os.FileInfo)
|
|
||||||
func (ed *embeddedDirInfo) ModTime() time.Time {
|
|
||||||
return ed.DirModTime
|
|
||||||
}
|
|
||||||
|
|
||||||
// IsDir returns the abbreviation for Mode().IsDir() (always true)
|
|
||||||
// (implementing os.FileInfo)
|
|
||||||
func (ed *embeddedDirInfo) IsDir() bool {
|
|
||||||
return true
|
|
||||||
}
|
|
||||||
|
|
||||||
// Sys returns the underlying data source (always nil)
|
|
||||||
// (implementing os.FileInfo)
|
|
||||||
func (ed *embeddedDirInfo) Sys() interface{} {
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// re-type to make exported methods invisible to user (godoc)
|
|
||||||
// they're not required for the user
|
|
||||||
// embeddedFileInfo implements os.FileInfo
|
|
||||||
type embeddedFileInfo embedded.EmbeddedFile
|
|
||||||
|
|
||||||
// Name returns the base name of the file
|
|
||||||
// (implementing os.FileInfo)
|
|
||||||
func (ef *embeddedFileInfo) Name() string {
|
|
||||||
return ef.Filename
|
|
||||||
}
|
|
||||||
|
|
||||||
// Size returns the length in bytes for regular files; system-dependent for others
|
|
||||||
// (implementing os.FileInfo)
|
|
||||||
func (ef *embeddedFileInfo) Size() int64 {
|
|
||||||
return int64(len(ef.Content))
|
|
||||||
}
|
|
||||||
|
|
||||||
// Mode returns the file mode bits
|
|
||||||
// (implementing os.FileInfo)
|
|
||||||
func (ef *embeddedFileInfo) Mode() os.FileMode {
|
|
||||||
return os.FileMode(0555) // r-xr-xr-x
|
|
||||||
}
|
|
||||||
|
|
||||||
// ModTime returns the modification time
|
|
||||||
// (implementing os.FileInfo)
|
|
||||||
func (ef *embeddedFileInfo) ModTime() time.Time {
|
|
||||||
return ef.FileModTime
|
|
||||||
}
|
|
||||||
|
|
||||||
// IsDir returns the abbreviation for Mode().IsDir() (always false)
|
|
||||||
// (implementing os.FileInfo)
|
|
||||||
func (ef *embeddedFileInfo) IsDir() bool {
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
|
|
||||||
// Sys returns the underlying data source (always nil)
|
|
||||||
// (implementing os.FileInfo)
|
|
||||||
func (ef *embeddedFileInfo) Sys() interface{} {
|
|
||||||
return nil
|
|
||||||
}
|
|
80
vendor/github.com/GeertJohan/go.rice/embedded/embedded.go
generated
vendored
80
vendor/github.com/GeertJohan/go.rice/embedded/embedded.go
generated
vendored
@ -1,80 +0,0 @@
|
|||||||
// Package embedded defines embedded data types that are shared between the go.rice package and generated code.
|
|
||||||
package embedded
|
|
||||||
|
|
||||||
import (
|
|
||||||
"fmt"
|
|
||||||
"path/filepath"
|
|
||||||
"strings"
|
|
||||||
"time"
|
|
||||||
)
|
|
||||||
|
|
||||||
const (
|
|
||||||
EmbedTypeGo = 0
|
|
||||||
EmbedTypeSyso = 1
|
|
||||||
)
|
|
||||||
|
|
||||||
// EmbeddedBox defines an embedded box
|
|
||||||
type EmbeddedBox struct {
|
|
||||||
Name string // box name
|
|
||||||
Time time.Time // embed time
|
|
||||||
EmbedType int // kind of embedding
|
|
||||||
Files map[string]*EmbeddedFile // ALL embedded files by full path
|
|
||||||
Dirs map[string]*EmbeddedDir // ALL embedded dirs by full path
|
|
||||||
}
|
|
||||||
|
|
||||||
// Link creates the ChildDirs and ChildFiles links in all EmbeddedDir's
|
|
||||||
func (e *EmbeddedBox) Link() {
|
|
||||||
for path, ed := range e.Dirs {
|
|
||||||
fmt.Println(path)
|
|
||||||
ed.ChildDirs = make([]*EmbeddedDir, 0)
|
|
||||||
ed.ChildFiles = make([]*EmbeddedFile, 0)
|
|
||||||
}
|
|
||||||
for path, ed := range e.Dirs {
|
|
||||||
parentDirpath, _ := filepath.Split(path)
|
|
||||||
if strings.HasSuffix(parentDirpath, "/") {
|
|
||||||
parentDirpath = parentDirpath[:len(parentDirpath)-1]
|
|
||||||
}
|
|
||||||
parentDir := e.Dirs[parentDirpath]
|
|
||||||
if parentDir == nil {
|
|
||||||
panic("parentDir `" + parentDirpath + "` is missing in embedded box")
|
|
||||||
}
|
|
||||||
parentDir.ChildDirs = append(parentDir.ChildDirs, ed)
|
|
||||||
}
|
|
||||||
for path, ef := range e.Files {
|
|
||||||
dirpath, _ := filepath.Split(path)
|
|
||||||
if strings.HasSuffix(dirpath, "/") {
|
|
||||||
dirpath = dirpath[:len(dirpath)-1]
|
|
||||||
}
|
|
||||||
dir := e.Dirs[dirpath]
|
|
||||||
if dir == nil {
|
|
||||||
panic("dir `" + dirpath + "` is missing in embedded box")
|
|
||||||
}
|
|
||||||
dir.ChildFiles = append(dir.ChildFiles, ef)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// EmbeddedDir is instanced in the code generated by the rice tool and contains all necicary information about an embedded file
|
|
||||||
type EmbeddedDir struct {
|
|
||||||
Filename string
|
|
||||||
DirModTime time.Time
|
|
||||||
ChildDirs []*EmbeddedDir // direct childs, as returned by virtualDir.Readdir()
|
|
||||||
ChildFiles []*EmbeddedFile // direct childs, as returned by virtualDir.Readdir()
|
|
||||||
}
|
|
||||||
|
|
||||||
// EmbeddedFile is instanced in the code generated by the rice tool and contains all necicary information about an embedded file
|
|
||||||
type EmbeddedFile struct {
|
|
||||||
Filename string // filename
|
|
||||||
FileModTime time.Time
|
|
||||||
Content string
|
|
||||||
}
|
|
||||||
|
|
||||||
// EmbeddedBoxes is a public register of embedded boxes
|
|
||||||
var EmbeddedBoxes = make(map[string]*EmbeddedBox)
|
|
||||||
|
|
||||||
// RegisterEmbeddedBox registers an EmbeddedBox
|
|
||||||
func RegisterEmbeddedBox(name string, box *EmbeddedBox) {
|
|
||||||
if _, exists := EmbeddedBoxes[name]; exists {
|
|
||||||
panic(fmt.Sprintf("EmbeddedBox with name `%s` exists already", name))
|
|
||||||
}
|
|
||||||
EmbeddedBoxes[name] = box
|
|
||||||
}
|
|
69
vendor/github.com/GeertJohan/go.rice/example/example.go
generated
vendored
69
vendor/github.com/GeertJohan/go.rice/example/example.go
generated
vendored
@ -1,69 +0,0 @@
|
|||||||
package main
|
|
||||||
|
|
||||||
import (
|
|
||||||
"encoding/hex"
|
|
||||||
"fmt"
|
|
||||||
"log"
|
|
||||||
"net/http"
|
|
||||||
"os"
|
|
||||||
"text/template"
|
|
||||||
|
|
||||||
"github.com/GeertJohan/go.rice"
|
|
||||||
"github.com/davecgh/go-spew/spew"
|
|
||||||
)
|
|
||||||
|
|
||||||
func main() {
|
|
||||||
conf := rice.Config{
|
|
||||||
LocateOrder: []rice.LocateMethod{rice.LocateEmbedded, rice.LocateAppended, rice.LocateFS},
|
|
||||||
}
|
|
||||||
box, err := conf.FindBox("example-files")
|
|
||||||
if err != nil {
|
|
||||||
log.Fatalf("error opening rice.Box: %s\n", err)
|
|
||||||
}
|
|
||||||
// spew.Dump(box)
|
|
||||||
|
|
||||||
contentString, err := box.String("file.txt")
|
|
||||||
if err != nil {
|
|
||||||
log.Fatalf("could not read file contents as string: %s\n", err)
|
|
||||||
}
|
|
||||||
log.Printf("Read some file contents as string:\n%s\n", contentString)
|
|
||||||
|
|
||||||
contentBytes, err := box.Bytes("file.txt")
|
|
||||||
if err != nil {
|
|
||||||
log.Fatalf("could not read file contents as byteSlice: %s\n", err)
|
|
||||||
}
|
|
||||||
log.Printf("Read some file contents as byteSlice:\n%s\n", hex.Dump(contentBytes))
|
|
||||||
|
|
||||||
file, err := box.Open("file.txt")
|
|
||||||
if err != nil {
|
|
||||||
log.Fatalf("could not open file: %s\n", err)
|
|
||||||
}
|
|
||||||
spew.Dump(file)
|
|
||||||
|
|
||||||
// find/create a rice.Box
|
|
||||||
templateBox, err := rice.FindBox("example-templates")
|
|
||||||
if err != nil {
|
|
||||||
log.Fatal(err)
|
|
||||||
}
|
|
||||||
// get file contents as string
|
|
||||||
templateString, err := templateBox.String("message.tmpl")
|
|
||||||
if err != nil {
|
|
||||||
log.Fatal(err)
|
|
||||||
}
|
|
||||||
// parse and execute the template
|
|
||||||
tmplMessage, err := template.New("message").Parse(templateString)
|
|
||||||
if err != nil {
|
|
||||||
log.Fatal(err)
|
|
||||||
}
|
|
||||||
tmplMessage.Execute(os.Stdout, map[string]string{"Message": "Hello, world!"})
|
|
||||||
|
|
||||||
http.Handle("/", http.FileServer(box.HTTPBox()))
|
|
||||||
go func() {
|
|
||||||
fmt.Println("Serving files on :8080, press ctrl-C to exit")
|
|
||||||
err := http.ListenAndServe(":8080", nil)
|
|
||||||
if err != nil {
|
|
||||||
log.Fatalf("error serving files: %v", err)
|
|
||||||
}
|
|
||||||
}()
|
|
||||||
select {}
|
|
||||||
}
|
|
144
vendor/github.com/GeertJohan/go.rice/file.go
generated
vendored
144
vendor/github.com/GeertJohan/go.rice/file.go
generated
vendored
@ -1,144 +0,0 @@
|
|||||||
package rice
|
|
||||||
|
|
||||||
import (
|
|
||||||
"bytes"
|
|
||||||
"errors"
|
|
||||||
"os"
|
|
||||||
"path/filepath"
|
|
||||||
)
|
|
||||||
|
|
||||||
// File implements the io.Reader, io.Seeker, io.Closer and http.File interfaces
|
|
||||||
type File struct {
|
|
||||||
// File abstracts file methods so the user doesn't see the difference between rice.virtualFile, rice.virtualDir and os.File
|
|
||||||
// TODO: maybe use internal File interface and four implementations: *os.File, appendedFile, virtualFile, virtualDir
|
|
||||||
|
|
||||||
// real file on disk
|
|
||||||
realF *os.File
|
|
||||||
|
|
||||||
// when embedded (go)
|
|
||||||
virtualF *virtualFile
|
|
||||||
virtualD *virtualDir
|
|
||||||
|
|
||||||
// when appended (zip)
|
|
||||||
appendedF *appendedFile
|
|
||||||
appendedFileReader *bytes.Reader
|
|
||||||
// TODO: is appendedFileReader subject of races? Might need a lock here..
|
|
||||||
}
|
|
||||||
|
|
||||||
// Close is like (*os.File).Close()
|
|
||||||
// Visit http://golang.org/pkg/os/#File.Close for more information
|
|
||||||
func (f *File) Close() error {
|
|
||||||
if f.appendedF != nil {
|
|
||||||
if f.appendedFileReader == nil {
|
|
||||||
return errors.New("already closed")
|
|
||||||
}
|
|
||||||
f.appendedFileReader = nil
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
if f.virtualF != nil {
|
|
||||||
return f.virtualF.close()
|
|
||||||
}
|
|
||||||
if f.virtualD != nil {
|
|
||||||
return f.virtualD.close()
|
|
||||||
}
|
|
||||||
return f.realF.Close()
|
|
||||||
}
|
|
||||||
|
|
||||||
// Stat is like (*os.File).Stat()
|
|
||||||
// Visit http://golang.org/pkg/os/#File.Stat for more information
|
|
||||||
func (f *File) Stat() (os.FileInfo, error) {
|
|
||||||
if f.appendedF != nil {
|
|
||||||
if f.appendedF.dir {
|
|
||||||
return f.appendedF.dirInfo, nil
|
|
||||||
}
|
|
||||||
if f.appendedFileReader == nil {
|
|
||||||
return nil, errors.New("file is closed")
|
|
||||||
}
|
|
||||||
return f.appendedF.zipFile.FileInfo(), nil
|
|
||||||
}
|
|
||||||
if f.virtualF != nil {
|
|
||||||
return f.virtualF.stat()
|
|
||||||
}
|
|
||||||
if f.virtualD != nil {
|
|
||||||
return f.virtualD.stat()
|
|
||||||
}
|
|
||||||
return f.realF.Stat()
|
|
||||||
}
|
|
||||||
|
|
||||||
// Readdir is like (*os.File).Readdir()
|
|
||||||
// Visit http://golang.org/pkg/os/#File.Readdir for more information
|
|
||||||
func (f *File) Readdir(count int) ([]os.FileInfo, error) {
|
|
||||||
if f.appendedF != nil {
|
|
||||||
if f.appendedF.dir {
|
|
||||||
fi := make([]os.FileInfo, 0, len(f.appendedF.children))
|
|
||||||
for _, childAppendedFile := range f.appendedF.children {
|
|
||||||
if childAppendedFile.dir {
|
|
||||||
fi = append(fi, childAppendedFile.dirInfo)
|
|
||||||
} else {
|
|
||||||
fi = append(fi, childAppendedFile.zipFile.FileInfo())
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return fi, nil
|
|
||||||
}
|
|
||||||
//++ TODO: is os.ErrInvalid the correct error for Readdir on file?
|
|
||||||
return nil, os.ErrInvalid
|
|
||||||
}
|
|
||||||
if f.virtualF != nil {
|
|
||||||
return f.virtualF.readdir(count)
|
|
||||||
}
|
|
||||||
if f.virtualD != nil {
|
|
||||||
return f.virtualD.readdir(count)
|
|
||||||
}
|
|
||||||
return f.realF.Readdir(count)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Read is like (*os.File).Read()
|
|
||||||
// Visit http://golang.org/pkg/os/#File.Read for more information
|
|
||||||
func (f *File) Read(bts []byte) (int, error) {
|
|
||||||
if f.appendedF != nil {
|
|
||||||
if f.appendedFileReader == nil {
|
|
||||||
return 0, &os.PathError{
|
|
||||||
Op: "read",
|
|
||||||
Path: filepath.Base(f.appendedF.zipFile.Name),
|
|
||||||
Err: errors.New("file is closed"),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if f.appendedF.dir {
|
|
||||||
return 0, &os.PathError{
|
|
||||||
Op: "read",
|
|
||||||
Path: filepath.Base(f.appendedF.zipFile.Name),
|
|
||||||
Err: errors.New("is a directory"),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return f.appendedFileReader.Read(bts)
|
|
||||||
}
|
|
||||||
if f.virtualF != nil {
|
|
||||||
return f.virtualF.read(bts)
|
|
||||||
}
|
|
||||||
if f.virtualD != nil {
|
|
||||||
return f.virtualD.read(bts)
|
|
||||||
}
|
|
||||||
return f.realF.Read(bts)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Seek is like (*os.File).Seek()
|
|
||||||
// Visit http://golang.org/pkg/os/#File.Seek for more information
|
|
||||||
func (f *File) Seek(offset int64, whence int) (int64, error) {
|
|
||||||
if f.appendedF != nil {
|
|
||||||
if f.appendedFileReader == nil {
|
|
||||||
return 0, &os.PathError{
|
|
||||||
Op: "seek",
|
|
||||||
Path: filepath.Base(f.appendedF.zipFile.Name),
|
|
||||||
Err: errors.New("file is closed"),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return f.appendedFileReader.Seek(offset, whence)
|
|
||||||
}
|
|
||||||
if f.virtualF != nil {
|
|
||||||
return f.virtualF.seek(offset, whence)
|
|
||||||
}
|
|
||||||
if f.virtualD != nil {
|
|
||||||
return f.virtualD.seek(offset, whence)
|
|
||||||
}
|
|
||||||
return f.realF.Seek(offset, whence)
|
|
||||||
}
|
|
21
vendor/github.com/GeertJohan/go.rice/http.go
generated
vendored
21
vendor/github.com/GeertJohan/go.rice/http.go
generated
vendored
@ -1,21 +0,0 @@
|
|||||||
package rice
|
|
||||||
|
|
||||||
import (
|
|
||||||
"net/http"
|
|
||||||
)
|
|
||||||
|
|
||||||
// HTTPBox implements http.FileSystem which allows the use of Box with a http.FileServer.
|
|
||||||
// e.g.: http.Handle("/", http.FileServer(rice.MustFindBox("http-files").HTTPBox()))
|
|
||||||
type HTTPBox struct {
|
|
||||||
*Box
|
|
||||||
}
|
|
||||||
|
|
||||||
// HTTPBox creates a new HTTPBox from an existing Box
|
|
||||||
func (b *Box) HTTPBox() *HTTPBox {
|
|
||||||
return &HTTPBox{b}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Open returns a File using the http.File interface
|
|
||||||
func (hb *HTTPBox) Open(name string) (http.File, error) {
|
|
||||||
return hb.Box.Open(name)
|
|
||||||
}
|
|
172
vendor/github.com/GeertJohan/go.rice/rice/append.go
generated
vendored
172
vendor/github.com/GeertJohan/go.rice/rice/append.go
generated
vendored
@ -1,172 +0,0 @@
|
|||||||
package main
|
|
||||||
|
|
||||||
import (
|
|
||||||
"archive/zip"
|
|
||||||
"fmt"
|
|
||||||
"go/build"
|
|
||||||
"io"
|
|
||||||
"os"
|
|
||||||
"os/exec"
|
|
||||||
"path/filepath"
|
|
||||||
"runtime"
|
|
||||||
"strings"
|
|
||||||
"time"
|
|
||||||
|
|
||||||
"github.com/daaku/go.zipexe"
|
|
||||||
)
|
|
||||||
|
|
||||||
func operationAppend(pkgs []*build.Package) {
|
|
||||||
if runtime.GOOS == "windows" {
|
|
||||||
_, err := exec.LookPath("zip")
|
|
||||||
if err != nil {
|
|
||||||
fmt.Println("#### WARNING ! ####")
|
|
||||||
fmt.Println("`rice append` is known not to work under windows because the `zip` command is not available. Please let me know if you got this to work (and how).")
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// MARKED FOR DELETION
|
|
||||||
// This is actually not required, the append command now has the option --exec required.
|
|
||||||
// // check if package is a command
|
|
||||||
// if !pkg.IsCommand() {
|
|
||||||
// fmt.Println("Error: can not append to non-main package. Please follow instructions at github.com/GeertJohan/go.rice")
|
|
||||||
// os.Exit(1)
|
|
||||||
// }
|
|
||||||
|
|
||||||
// create tmp zipfile
|
|
||||||
tmpZipfileName := filepath.Join(os.TempDir(), fmt.Sprintf("ricebox-%d-%s.zip", time.Now().Unix(), randomString(10)))
|
|
||||||
verbosef("Will create tmp zipfile: %s\n", tmpZipfileName)
|
|
||||||
tmpZipfile, err := os.Create(tmpZipfileName)
|
|
||||||
if err != nil {
|
|
||||||
fmt.Printf("Error creating tmp zipfile: %s\n", err)
|
|
||||||
os.Exit(1)
|
|
||||||
}
|
|
||||||
defer func() {
|
|
||||||
tmpZipfile.Close()
|
|
||||||
os.Remove(tmpZipfileName)
|
|
||||||
}()
|
|
||||||
|
|
||||||
// find abs path for binary file
|
|
||||||
binfileName, err := filepath.Abs(flags.Append.Executable)
|
|
||||||
if err != nil {
|
|
||||||
fmt.Printf("Error finding absolute path for executable to append: %s\n", err)
|
|
||||||
os.Exit(1)
|
|
||||||
}
|
|
||||||
verbosef("Will append to file: %s\n", binfileName)
|
|
||||||
|
|
||||||
// check that command doesn't already have zip appended
|
|
||||||
if rd, _ := zipexe.Open(binfileName); rd != nil {
|
|
||||||
fmt.Printf("Cannot append to already appended executable. Please remove %s and build a fresh one.\n", binfileName)
|
|
||||||
os.Exit(1)
|
|
||||||
}
|
|
||||||
|
|
||||||
// open binfile
|
|
||||||
binfile, err := os.OpenFile(binfileName, os.O_WRONLY, os.ModeAppend)
|
|
||||||
if err != nil {
|
|
||||||
fmt.Printf("Error: unable to open executable file: %s\n", err)
|
|
||||||
os.Exit(1)
|
|
||||||
}
|
|
||||||
|
|
||||||
// create zip.Writer
|
|
||||||
zipWriter := zip.NewWriter(tmpZipfile)
|
|
||||||
|
|
||||||
for _, pkg := range pkgs {
|
|
||||||
// find boxes for this command
|
|
||||||
boxMap := findBoxes(pkg)
|
|
||||||
|
|
||||||
// notify user when no calls to rice.FindBox are made (is this an error and therefore os.Exit(1) ?
|
|
||||||
if len(boxMap) == 0 {
|
|
||||||
fmt.Printf("no calls to rice.FindBox() or rice.MustFindBox() found in import path `%s`\n", pkg.ImportPath)
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
|
|
||||||
verbosef("\n")
|
|
||||||
|
|
||||||
for boxname := range boxMap {
|
|
||||||
appendedBoxName := strings.Replace(boxname, `/`, `-`, -1)
|
|
||||||
|
|
||||||
// walk box path's and insert files
|
|
||||||
boxPath := filepath.Clean(filepath.Join(pkg.Dir, boxname))
|
|
||||||
filepath.Walk(boxPath, func(path string, info os.FileInfo, err error) error {
|
|
||||||
if info == nil {
|
|
||||||
fmt.Printf("Error: box \"%s\" not found on disk\n", path)
|
|
||||||
os.Exit(1)
|
|
||||||
}
|
|
||||||
// create zipFilename
|
|
||||||
zipFileName := filepath.Join(appendedBoxName, strings.TrimPrefix(path, boxPath))
|
|
||||||
// write directories as empty file with comment "dir"
|
|
||||||
if info.IsDir() {
|
|
||||||
_, err := zipWriter.CreateHeader(&zip.FileHeader{
|
|
||||||
Name: zipFileName,
|
|
||||||
Comment: "dir",
|
|
||||||
})
|
|
||||||
if err != nil {
|
|
||||||
fmt.Printf("Error creating dir in tmp zip: %s\n", err)
|
|
||||||
os.Exit(1)
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// create zipFileWriter
|
|
||||||
zipFileHeader, err := zip.FileInfoHeader(info)
|
|
||||||
if err != nil {
|
|
||||||
fmt.Printf("Error creating zip FileHeader: %v\n", err)
|
|
||||||
os.Exit(1)
|
|
||||||
}
|
|
||||||
zipFileHeader.Name = zipFileName
|
|
||||||
zipFileWriter, err := zipWriter.CreateHeader(zipFileHeader)
|
|
||||||
if err != nil {
|
|
||||||
fmt.Printf("Error creating file in tmp zip: %s\n", err)
|
|
||||||
os.Exit(1)
|
|
||||||
}
|
|
||||||
srcFile, err := os.Open(path)
|
|
||||||
if err != nil {
|
|
||||||
fmt.Printf("Error opening file to append: %s\n", err)
|
|
||||||
os.Exit(1)
|
|
||||||
}
|
|
||||||
_, err = io.Copy(zipFileWriter, srcFile)
|
|
||||||
if err != nil {
|
|
||||||
fmt.Printf("Error copying file contents to zip: %s\n", err)
|
|
||||||
os.Exit(1)
|
|
||||||
}
|
|
||||||
srcFile.Close()
|
|
||||||
|
|
||||||
return nil
|
|
||||||
})
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
err = zipWriter.Close()
|
|
||||||
if err != nil {
|
|
||||||
fmt.Printf("Error closing tmp zipfile: %s\n", err)
|
|
||||||
os.Exit(1)
|
|
||||||
}
|
|
||||||
|
|
||||||
err = tmpZipfile.Sync()
|
|
||||||
if err != nil {
|
|
||||||
fmt.Printf("Error syncing tmp zipfile: %s\n", err)
|
|
||||||
os.Exit(1)
|
|
||||||
}
|
|
||||||
_, err = tmpZipfile.Seek(0, 0)
|
|
||||||
if err != nil {
|
|
||||||
fmt.Printf("Error seeking tmp zipfile: %s\n", err)
|
|
||||||
os.Exit(1)
|
|
||||||
}
|
|
||||||
_, err = binfile.Seek(0, 2)
|
|
||||||
if err != nil {
|
|
||||||
fmt.Printf("Error seeking bin file: %s\n", err)
|
|
||||||
os.Exit(1)
|
|
||||||
}
|
|
||||||
|
|
||||||
_, err = io.Copy(binfile, tmpZipfile)
|
|
||||||
if err != nil {
|
|
||||||
fmt.Printf("Error appending zipfile to executable: %s\n", err)
|
|
||||||
os.Exit(1)
|
|
||||||
}
|
|
||||||
|
|
||||||
zipA := exec.Command("zip", "-A", binfileName)
|
|
||||||
err = zipA.Run()
|
|
||||||
if err != nil {
|
|
||||||
fmt.Printf("Error setting zip offset: %s\n", err)
|
|
||||||
os.Exit(1)
|
|
||||||
}
|
|
||||||
}
|
|
33
vendor/github.com/GeertJohan/go.rice/rice/clean.go
generated
vendored
33
vendor/github.com/GeertJohan/go.rice/rice/clean.go
generated
vendored
@ -1,33 +0,0 @@
|
|||||||
package main
|
|
||||||
|
|
||||||
import (
|
|
||||||
"fmt"
|
|
||||||
"go/build"
|
|
||||||
"os"
|
|
||||||
"path/filepath"
|
|
||||||
"strings"
|
|
||||||
)
|
|
||||||
|
|
||||||
func operationClean(pkg *build.Package) {
|
|
||||||
filepath.Walk(pkg.Dir, func(filename string, info os.FileInfo, err error) error {
|
|
||||||
if err != nil {
|
|
||||||
fmt.Printf("error walking pkg dir to clean files: %v\n", err)
|
|
||||||
os.Exit(1)
|
|
||||||
}
|
|
||||||
if info.IsDir() {
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
verbosef("checking file '%s'\n", filename)
|
|
||||||
if filepath.Base(filename) == "rice-box.go" ||
|
|
||||||
strings.HasSuffix(filename, ".rice-box.go") ||
|
|
||||||
strings.HasSuffix(filename, ".rice-box.syso") {
|
|
||||||
err := os.Remove(filename)
|
|
||||||
if err != nil {
|
|
||||||
fmt.Printf("error removing file (%s): %s\n", filename, err)
|
|
||||||
os.Exit(-1)
|
|
||||||
}
|
|
||||||
verbosef("removed file '%s'\n", filename)
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
})
|
|
||||||
}
|
|
158
vendor/github.com/GeertJohan/go.rice/rice/embed-go.go
generated
vendored
158
vendor/github.com/GeertJohan/go.rice/rice/embed-go.go
generated
vendored
@ -1,158 +0,0 @@
|
|||||||
package main
|
|
||||||
|
|
||||||
import (
|
|
||||||
"bytes"
|
|
||||||
"fmt"
|
|
||||||
"go/build"
|
|
||||||
"go/format"
|
|
||||||
"io"
|
|
||||||
"io/ioutil"
|
|
||||||
"log"
|
|
||||||
"os"
|
|
||||||
"path/filepath"
|
|
||||||
"strings"
|
|
||||||
)
|
|
||||||
|
|
||||||
const boxFilename = "rice-box.go"
|
|
||||||
|
|
||||||
func operationEmbedGo(pkg *build.Package) {
|
|
||||||
|
|
||||||
boxMap := findBoxes(pkg)
|
|
||||||
|
|
||||||
// notify user when no calls to rice.FindBox are made (is this an error and therefore os.Exit(1) ?
|
|
||||||
if len(boxMap) == 0 {
|
|
||||||
fmt.Println("no calls to rice.FindBox() found")
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
verbosef("\n")
|
|
||||||
var boxes []*boxDataType
|
|
||||||
|
|
||||||
for boxname := range boxMap {
|
|
||||||
// find path and filename for this box
|
|
||||||
boxPath := filepath.Join(pkg.Dir, boxname)
|
|
||||||
|
|
||||||
// Check to see if the path for the box is a symbolic link. If so, simply
|
|
||||||
// box what the symbolic link points to. Note: the filepath.Walk function
|
|
||||||
// will NOT follow any nested symbolic links. This only handles the case
|
|
||||||
// where the root of the box is a symbolic link.
|
|
||||||
symPath, serr := os.Readlink(boxPath)
|
|
||||||
if serr == nil {
|
|
||||||
boxPath = symPath
|
|
||||||
}
|
|
||||||
|
|
||||||
// verbose info
|
|
||||||
verbosef("embedding box '%s' to '%s'\n", boxname, boxFilename)
|
|
||||||
|
|
||||||
// read box metadata
|
|
||||||
boxInfo, ierr := os.Stat(boxPath)
|
|
||||||
if ierr != nil {
|
|
||||||
fmt.Printf("Error: unable to access box at %s\n", boxPath)
|
|
||||||
os.Exit(1)
|
|
||||||
}
|
|
||||||
|
|
||||||
// create box datastructure (used by template)
|
|
||||||
box := &boxDataType{
|
|
||||||
BoxName: boxname,
|
|
||||||
UnixNow: boxInfo.ModTime().Unix(),
|
|
||||||
Files: make([]*fileDataType, 0),
|
|
||||||
Dirs: make(map[string]*dirDataType),
|
|
||||||
}
|
|
||||||
|
|
||||||
if !boxInfo.IsDir() {
|
|
||||||
fmt.Printf("Error: Box %s must point to a directory but points to %s instead\n",
|
|
||||||
boxname, boxPath)
|
|
||||||
os.Exit(1)
|
|
||||||
}
|
|
||||||
|
|
||||||
// fill box datastructure with file data
|
|
||||||
filepath.Walk(boxPath, func(path string, info os.FileInfo, err error) error {
|
|
||||||
if err != nil {
|
|
||||||
fmt.Printf("error walking box: %s\n", err)
|
|
||||||
os.Exit(1)
|
|
||||||
}
|
|
||||||
|
|
||||||
filename := strings.TrimPrefix(path, boxPath)
|
|
||||||
filename = strings.Replace(filename, "\\", "/", -1)
|
|
||||||
filename = strings.TrimPrefix(filename, "/")
|
|
||||||
if info.IsDir() {
|
|
||||||
dirData := &dirDataType{
|
|
||||||
Identifier: "dir" + nextIdentifier(),
|
|
||||||
FileName: filename,
|
|
||||||
ModTime: info.ModTime().Unix(),
|
|
||||||
ChildFiles: make([]*fileDataType, 0),
|
|
||||||
ChildDirs: make([]*dirDataType, 0),
|
|
||||||
}
|
|
||||||
verbosef("\tincludes dir: '%s'\n", dirData.FileName)
|
|
||||||
box.Dirs[dirData.FileName] = dirData
|
|
||||||
|
|
||||||
// add tree entry (skip for root, it'll create a recursion)
|
|
||||||
if dirData.FileName != "" {
|
|
||||||
pathParts := strings.Split(dirData.FileName, "/")
|
|
||||||
parentDir := box.Dirs[strings.Join(pathParts[:len(pathParts)-1], "/")]
|
|
||||||
parentDir.ChildDirs = append(parentDir.ChildDirs, dirData)
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
fileData := &fileDataType{
|
|
||||||
Identifier: "file" + nextIdentifier(),
|
|
||||||
FileName: filename,
|
|
||||||
ModTime: info.ModTime().Unix(),
|
|
||||||
}
|
|
||||||
verbosef("\tincludes file: '%s'\n", fileData.FileName)
|
|
||||||
fileData.Content, err = ioutil.ReadFile(path)
|
|
||||||
if err != nil {
|
|
||||||
fmt.Printf("error reading file content while walking box: %s\n", err)
|
|
||||||
os.Exit(1)
|
|
||||||
}
|
|
||||||
box.Files = append(box.Files, fileData)
|
|
||||||
|
|
||||||
// add tree entry
|
|
||||||
pathParts := strings.Split(fileData.FileName, "/")
|
|
||||||
parentDir := box.Dirs[strings.Join(pathParts[:len(pathParts)-1], "/")]
|
|
||||||
if parentDir == nil {
|
|
||||||
fmt.Printf("Error: parent of %s is not within the box\n", path)
|
|
||||||
os.Exit(1)
|
|
||||||
}
|
|
||||||
parentDir.ChildFiles = append(parentDir.ChildFiles, fileData)
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
})
|
|
||||||
boxes = append(boxes, box)
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
embedSourceUnformated := bytes.NewBuffer(make([]byte, 0))
|
|
||||||
|
|
||||||
// execute template to buffer
|
|
||||||
err := tmplEmbeddedBox.Execute(
|
|
||||||
embedSourceUnformated,
|
|
||||||
embedFileDataType{pkg.Name, boxes},
|
|
||||||
)
|
|
||||||
if err != nil {
|
|
||||||
log.Printf("error writing embedded box to file (template execute): %s\n", err)
|
|
||||||
os.Exit(1)
|
|
||||||
}
|
|
||||||
|
|
||||||
// format the source code
|
|
||||||
embedSource, err := format.Source(embedSourceUnformated.Bytes())
|
|
||||||
if err != nil {
|
|
||||||
log.Printf("error formatting embedSource: %s\n", err)
|
|
||||||
os.Exit(1)
|
|
||||||
}
|
|
||||||
|
|
||||||
// create go file for box
|
|
||||||
boxFile, err := os.Create(filepath.Join(pkg.Dir, boxFilename))
|
|
||||||
if err != nil {
|
|
||||||
log.Printf("error creating embedded box file: %s\n", err)
|
|
||||||
os.Exit(1)
|
|
||||||
}
|
|
||||||
defer boxFile.Close()
|
|
||||||
|
|
||||||
// write source to file
|
|
||||||
_, err = io.Copy(boxFile, bytes.NewBuffer(embedSource))
|
|
||||||
if err != nil {
|
|
||||||
log.Printf("error writing embedSource to file: %s\n", err)
|
|
||||||
os.Exit(1)
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
204
vendor/github.com/GeertJohan/go.rice/rice/embed-syso.go
generated
vendored
204
vendor/github.com/GeertJohan/go.rice/rice/embed-syso.go
generated
vendored
@ -1,204 +0,0 @@
|
|||||||
package main
|
|
||||||
|
|
||||||
import (
|
|
||||||
"bytes"
|
|
||||||
"encoding/gob"
|
|
||||||
"fmt"
|
|
||||||
"go/build"
|
|
||||||
"io"
|
|
||||||
"io/ioutil"
|
|
||||||
"os"
|
|
||||||
"path/filepath"
|
|
||||||
"regexp"
|
|
||||||
"strings"
|
|
||||||
"text/template"
|
|
||||||
|
|
||||||
"github.com/GeertJohan/go.rice/embedded"
|
|
||||||
"github.com/akavel/rsrc/coff"
|
|
||||||
)
|
|
||||||
|
|
||||||
type sizedReader struct {
|
|
||||||
*bytes.Reader
|
|
||||||
}
|
|
||||||
|
|
||||||
func (s sizedReader) Size() int64 {
|
|
||||||
return int64(s.Len())
|
|
||||||
}
|
|
||||||
|
|
||||||
var tmplEmbeddedSysoHelper *template.Template
|
|
||||||
|
|
||||||
func init() {
|
|
||||||
var err error
|
|
||||||
tmplEmbeddedSysoHelper, err = template.New("embeddedSysoHelper").Parse(`package {{.Package}}
|
|
||||||
// ############# GENERATED CODE #####################
|
|
||||||
// ## This file was generated by the rice tool.
|
|
||||||
// ## Do not edit unless you know what you're doing.
|
|
||||||
// ##################################################
|
|
||||||
|
|
||||||
// extern char _bricebox_{{.Symname}}[], _ericebox_{{.Symname}};
|
|
||||||
// int get_{{.Symname}}_length() {
|
|
||||||
// return &_ericebox_{{.Symname}} - _bricebox_{{.Symname}};
|
|
||||||
// }
|
|
||||||
import "C"
|
|
||||||
import (
|
|
||||||
"bytes"
|
|
||||||
"encoding/gob"
|
|
||||||
"github.com/GeertJohan/go.rice/embedded"
|
|
||||||
"unsafe"
|
|
||||||
)
|
|
||||||
|
|
||||||
func init() {
|
|
||||||
ptr := unsafe.Pointer(&C._bricebox_{{.Symname}})
|
|
||||||
bts := C.GoBytes(ptr, C.get_{{.Symname}}_length())
|
|
||||||
embeddedBox := &embedded.EmbeddedBox{}
|
|
||||||
err := gob.NewDecoder(bytes.NewReader(bts)).Decode(embeddedBox)
|
|
||||||
if err != nil {
|
|
||||||
panic("error decoding embedded box: "+err.Error())
|
|
||||||
}
|
|
||||||
embeddedBox.Link()
|
|
||||||
embedded.RegisterEmbeddedBox(embeddedBox.Name, embeddedBox)
|
|
||||||
}`)
|
|
||||||
if err != nil {
|
|
||||||
panic("could not parse template embeddedSysoHelper: " + err.Error())
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
type embeddedSysoHelperData struct {
|
|
||||||
Package string
|
|
||||||
Symname string
|
|
||||||
}
|
|
||||||
|
|
||||||
func operationEmbedSyso(pkg *build.Package) {
|
|
||||||
|
|
||||||
regexpSynameReplacer := regexp.MustCompile(`[^a-z0-9_]`)
|
|
||||||
|
|
||||||
boxMap := findBoxes(pkg)
|
|
||||||
|
|
||||||
// notify user when no calls to rice.FindBox are made (is this an error and therefore os.Exit(1) ?
|
|
||||||
if len(boxMap) == 0 {
|
|
||||||
fmt.Println("no calls to rice.FindBox() found")
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
verbosef("\n")
|
|
||||||
|
|
||||||
for boxname := range boxMap {
|
|
||||||
// find path and filename for this box
|
|
||||||
boxPath := filepath.Join(pkg.Dir, boxname)
|
|
||||||
boxFilename := strings.Replace(boxname, "/", "-", -1)
|
|
||||||
boxFilename = strings.Replace(boxFilename, "..", "back", -1)
|
|
||||||
boxFilename = strings.Replace(boxFilename, ".", "-", -1)
|
|
||||||
|
|
||||||
// verbose info
|
|
||||||
verbosef("embedding box '%s'\n", boxname)
|
|
||||||
verbosef("\tto file %s\n", boxFilename)
|
|
||||||
|
|
||||||
// read box metadata
|
|
||||||
boxInfo, ierr := os.Stat(boxPath)
|
|
||||||
if ierr != nil {
|
|
||||||
fmt.Printf("Error: unable to access box at %s\n", boxPath)
|
|
||||||
os.Exit(1)
|
|
||||||
}
|
|
||||||
|
|
||||||
// create box datastructure (used by template)
|
|
||||||
box := &embedded.EmbeddedBox{
|
|
||||||
Name: boxname,
|
|
||||||
Time: boxInfo.ModTime(),
|
|
||||||
EmbedType: embedded.EmbedTypeSyso,
|
|
||||||
Files: make(map[string]*embedded.EmbeddedFile),
|
|
||||||
Dirs: make(map[string]*embedded.EmbeddedDir),
|
|
||||||
}
|
|
||||||
|
|
||||||
// fill box datastructure with file data
|
|
||||||
filepath.Walk(boxPath, func(path string, info os.FileInfo, err error) error {
|
|
||||||
if err != nil {
|
|
||||||
fmt.Printf("error walking box: %s\n", err)
|
|
||||||
os.Exit(1)
|
|
||||||
}
|
|
||||||
|
|
||||||
filename := strings.TrimPrefix(path, boxPath)
|
|
||||||
filename = strings.Replace(filename, "\\", "/", -1)
|
|
||||||
filename = strings.TrimPrefix(filename, "/")
|
|
||||||
if info.IsDir() {
|
|
||||||
embeddedDir := &embedded.EmbeddedDir{
|
|
||||||
Filename: filename,
|
|
||||||
DirModTime: info.ModTime(),
|
|
||||||
}
|
|
||||||
verbosef("\tincludes dir: '%s'\n", embeddedDir.Filename)
|
|
||||||
box.Dirs[embeddedDir.Filename] = embeddedDir
|
|
||||||
|
|
||||||
// add tree entry (skip for root, it'll create a recursion)
|
|
||||||
if embeddedDir.Filename != "" {
|
|
||||||
pathParts := strings.Split(embeddedDir.Filename, "/")
|
|
||||||
parentDir := box.Dirs[strings.Join(pathParts[:len(pathParts)-1], "/")]
|
|
||||||
parentDir.ChildDirs = append(parentDir.ChildDirs, embeddedDir)
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
embeddedFile := &embedded.EmbeddedFile{
|
|
||||||
Filename: filename,
|
|
||||||
FileModTime: info.ModTime(),
|
|
||||||
Content: "",
|
|
||||||
}
|
|
||||||
verbosef("\tincludes file: '%s'\n", embeddedFile.Filename)
|
|
||||||
contentBytes, err := ioutil.ReadFile(path)
|
|
||||||
if err != nil {
|
|
||||||
fmt.Printf("error reading file content while walking box: %s\n", err)
|
|
||||||
os.Exit(1)
|
|
||||||
}
|
|
||||||
embeddedFile.Content = string(contentBytes)
|
|
||||||
box.Files[embeddedFile.Filename] = embeddedFile
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
})
|
|
||||||
|
|
||||||
// encode embedded box to gob file
|
|
||||||
boxGobBuf := &bytes.Buffer{}
|
|
||||||
err := gob.NewEncoder(boxGobBuf).Encode(box)
|
|
||||||
if err != nil {
|
|
||||||
fmt.Printf("error encoding box to gob: %v\n", err)
|
|
||||||
os.Exit(1)
|
|
||||||
}
|
|
||||||
|
|
||||||
verbosef("gob-encoded embeddedBox is %d bytes large\n", boxGobBuf.Len())
|
|
||||||
|
|
||||||
// write coff
|
|
||||||
symname := regexpSynameReplacer.ReplaceAllString(boxname, "_")
|
|
||||||
createCoffSyso(boxname, symname, "386", boxGobBuf.Bytes())
|
|
||||||
createCoffSyso(boxname, symname, "amd64", boxGobBuf.Bytes())
|
|
||||||
|
|
||||||
// write go
|
|
||||||
sysoHelperData := embeddedSysoHelperData{
|
|
||||||
Package: pkg.Name,
|
|
||||||
Symname: symname,
|
|
||||||
}
|
|
||||||
fileSysoHelper, err := os.Create(boxFilename + ".rice-box.go")
|
|
||||||
if err != nil {
|
|
||||||
fmt.Printf("error creating syso helper: %v\n", err)
|
|
||||||
os.Exit(1)
|
|
||||||
}
|
|
||||||
err = tmplEmbeddedSysoHelper.Execute(fileSysoHelper, sysoHelperData)
|
|
||||||
if err != nil {
|
|
||||||
fmt.Printf("error executing tmplEmbeddedSysoHelper: %v\n", err)
|
|
||||||
os.Exit(1)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func createCoffSyso(boxFilename string, symname string, arch string, data []byte) {
|
|
||||||
boxCoff := coff.NewRDATA()
|
|
||||||
switch arch {
|
|
||||||
case "386":
|
|
||||||
case "amd64":
|
|
||||||
boxCoff.FileHeader.Machine = 0x8664
|
|
||||||
default:
|
|
||||||
panic("invalid arch")
|
|
||||||
}
|
|
||||||
boxCoff.AddData("_bricebox_"+symname, sizedReader{bytes.NewReader(data)})
|
|
||||||
boxCoff.AddData("_ericebox_"+symname, io.NewSectionReader(strings.NewReader("\000\000"), 0, 2)) // TODO: why? copied from rsrc, which copied it from as-generated
|
|
||||||
boxCoff.Freeze()
|
|
||||||
err := writeCoff(boxCoff, boxFilename+"_"+arch+".rice-box.syso")
|
|
||||||
if err != nil {
|
|
||||||
fmt.Printf("error writing %s coff/.syso: %v\n", arch, err)
|
|
||||||
os.Exit(1)
|
|
||||||
}
|
|
||||||
}
|
|
150
vendor/github.com/GeertJohan/go.rice/rice/find.go
generated
vendored
150
vendor/github.com/GeertJohan/go.rice/rice/find.go
generated
vendored
@ -1,150 +0,0 @@
|
|||||||
package main
|
|
||||||
|
|
||||||
import (
|
|
||||||
"fmt"
|
|
||||||
"go/ast"
|
|
||||||
"go/build"
|
|
||||||
"go/parser"
|
|
||||||
"go/token"
|
|
||||||
"os"
|
|
||||||
"path/filepath"
|
|
||||||
"strings"
|
|
||||||
)
|
|
||||||
|
|
||||||
func badArgument(fileset *token.FileSet, p token.Pos) {
|
|
||||||
pos := fileset.Position(p)
|
|
||||||
filename := pos.Filename
|
|
||||||
base, err := os.Getwd()
|
|
||||||
if err == nil {
|
|
||||||
rpath, perr := filepath.Rel(base, pos.Filename)
|
|
||||||
if perr == nil {
|
|
||||||
filename = rpath
|
|
||||||
}
|
|
||||||
}
|
|
||||||
msg := fmt.Sprintf("%s:%d: Error: found call to rice.FindBox, "+
|
|
||||||
"but argument must be a string literal.\n", filename, pos.Line)
|
|
||||||
fmt.Println(msg)
|
|
||||||
os.Exit(1)
|
|
||||||
}
|
|
||||||
|
|
||||||
func findBoxes(pkg *build.Package) map[string]bool {
|
|
||||||
// create map of boxes to embed
|
|
||||||
var boxMap = make(map[string]bool)
|
|
||||||
|
|
||||||
// create one list of files for this package
|
|
||||||
filenames := make([]string, 0, len(pkg.GoFiles)+len(pkg.CgoFiles))
|
|
||||||
filenames = append(filenames, pkg.GoFiles...)
|
|
||||||
filenames = append(filenames, pkg.CgoFiles...)
|
|
||||||
|
|
||||||
// loop over files, search for rice.FindBox(..) calls
|
|
||||||
for _, filename := range filenames {
|
|
||||||
// find full filepath
|
|
||||||
fullpath := filepath.Join(pkg.Dir, filename)
|
|
||||||
if strings.HasSuffix(filename, "rice-box.go") {
|
|
||||||
// Ignore *.rice-box.go files
|
|
||||||
verbosef("skipping file %q\n", fullpath)
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
verbosef("scanning file %q\n", fullpath)
|
|
||||||
|
|
||||||
fset := token.NewFileSet()
|
|
||||||
f, err := parser.ParseFile(fset, fullpath, nil, 0)
|
|
||||||
if err != nil {
|
|
||||||
fmt.Println(err)
|
|
||||||
os.Exit(1)
|
|
||||||
}
|
|
||||||
|
|
||||||
var riceIsImported bool
|
|
||||||
ricePkgName := "rice"
|
|
||||||
for _, imp := range f.Imports {
|
|
||||||
if strings.HasSuffix(imp.Path.Value, "go.rice\"") {
|
|
||||||
if imp.Name != nil {
|
|
||||||
ricePkgName = imp.Name.Name
|
|
||||||
}
|
|
||||||
riceIsImported = true
|
|
||||||
break
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if !riceIsImported {
|
|
||||||
// Rice wasn't imported, so we won't find a box.
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
if ricePkgName == "_" {
|
|
||||||
// Rice pkg is unnamed, so we won't find a box.
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
|
|
||||||
// Inspect AST, looking for calls to (Must)?FindBox.
|
|
||||||
// First parameter of the func must be a basic literal.
|
|
||||||
// Identifiers won't be resolved.
|
|
||||||
var nextIdentIsBoxFunc bool
|
|
||||||
var nextBasicLitParamIsBoxName bool
|
|
||||||
var boxCall token.Pos
|
|
||||||
var variableToRemember string
|
|
||||||
var validVariablesForBoxes map[string]bool = make(map[string]bool)
|
|
||||||
|
|
||||||
ast.Inspect(f, func(node ast.Node) bool {
|
|
||||||
if node == nil {
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
switch x := node.(type) {
|
|
||||||
// this case fixes the var := func() style assignments, not assignments to vars declared separately from the assignment.
|
|
||||||
case *ast.AssignStmt:
|
|
||||||
var assign = node.(*ast.AssignStmt)
|
|
||||||
name, found := assign.Lhs[0].(*ast.Ident)
|
|
||||||
if found {
|
|
||||||
variableToRemember = name.Name
|
|
||||||
composite, first := assign.Rhs[0].(*ast.CompositeLit)
|
|
||||||
if first {
|
|
||||||
riceSelector, second := composite.Type.(*ast.SelectorExpr)
|
|
||||||
|
|
||||||
if second {
|
|
||||||
callCorrect := riceSelector.Sel.Name == "Config"
|
|
||||||
packageName, third := riceSelector.X.(*ast.Ident)
|
|
||||||
|
|
||||||
if third && callCorrect && packageName.Name == ricePkgName {
|
|
||||||
validVariablesForBoxes[name.Name] = true
|
|
||||||
verbosef("\tfound variable, saving to scan for boxes: %q\n", name.Name)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
case *ast.Ident:
|
|
||||||
if nextIdentIsBoxFunc || ricePkgName == "." {
|
|
||||||
nextIdentIsBoxFunc = false
|
|
||||||
if x.Name == "FindBox" || x.Name == "MustFindBox" {
|
|
||||||
nextBasicLitParamIsBoxName = true
|
|
||||||
boxCall = x.Pos()
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
if x.Name == ricePkgName || validVariablesForBoxes[x.Name] {
|
|
||||||
nextIdentIsBoxFunc = true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
case *ast.BasicLit:
|
|
||||||
if nextBasicLitParamIsBoxName {
|
|
||||||
if x.Kind == token.STRING {
|
|
||||||
nextBasicLitParamIsBoxName = false
|
|
||||||
// trim "" or ``
|
|
||||||
name := x.Value[1 : len(x.Value)-1]
|
|
||||||
boxMap[name] = true
|
|
||||||
verbosef("\tfound box %q\n", name)
|
|
||||||
} else {
|
|
||||||
badArgument(fset, boxCall)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
default:
|
|
||||||
if nextIdentIsBoxFunc {
|
|
||||||
nextIdentIsBoxFunc = false
|
|
||||||
}
|
|
||||||
if nextBasicLitParamIsBoxName {
|
|
||||||
badArgument(fset, boxCall)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return true
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
return boxMap
|
|
||||||
}
|
|
80
vendor/github.com/GeertJohan/go.rice/rice/flags.go
generated
vendored
80
vendor/github.com/GeertJohan/go.rice/rice/flags.go
generated
vendored
@ -1,80 +0,0 @@
|
|||||||
package main
|
|
||||||
|
|
||||||
import (
|
|
||||||
"fmt"
|
|
||||||
"go/build"
|
|
||||||
"os"
|
|
||||||
|
|
||||||
goflags "github.com/jessevdk/go-flags" // rename import to `goflags` (file scope) so we can use `var flags` (package scope)
|
|
||||||
)
|
|
||||||
|
|
||||||
// flags
|
|
||||||
var flags struct {
|
|
||||||
Verbose bool `long:"verbose" short:"v" description:"Show verbose debug information"`
|
|
||||||
ImportPaths []string `long:"import-path" short:"i" description:"Import path(s) to use. Using PWD when left empty. Specify multiple times for more import paths to append"`
|
|
||||||
|
|
||||||
Append struct {
|
|
||||||
Executable string `long:"exec" description:"Executable to append" required:"true"`
|
|
||||||
} `command:"append"`
|
|
||||||
|
|
||||||
EmbedGo struct{} `command:"embed-go" alias:"embed"`
|
|
||||||
EmbedSyso struct{} `command:"embed-syso"`
|
|
||||||
Clean struct{} `command:"clean"`
|
|
||||||
}
|
|
||||||
|
|
||||||
// flags parser
|
|
||||||
var flagsParser *goflags.Parser
|
|
||||||
|
|
||||||
// initFlags parses the given flags.
|
|
||||||
// when the user asks for help (-h or --help): the application exists with status 0
|
|
||||||
// when unexpected flags is given: the application exits with status 1
|
|
||||||
func parseArguments() {
|
|
||||||
// create flags parser in global var, for flagsParser.Active.Name (operation)
|
|
||||||
flagsParser = goflags.NewParser(&flags, goflags.Default)
|
|
||||||
|
|
||||||
// parse flags
|
|
||||||
args, err := flagsParser.Parse()
|
|
||||||
if err != nil {
|
|
||||||
// assert the err to be a flags.Error
|
|
||||||
flagError := err.(*goflags.Error)
|
|
||||||
if flagError.Type == goflags.ErrHelp {
|
|
||||||
// user asked for help on flags.
|
|
||||||
// program can exit successfully
|
|
||||||
os.Exit(0)
|
|
||||||
}
|
|
||||||
if flagError.Type == goflags.ErrUnknownFlag {
|
|
||||||
fmt.Println("Use --help to view available options.")
|
|
||||||
os.Exit(1)
|
|
||||||
}
|
|
||||||
if flagError.Type == goflags.ErrRequired {
|
|
||||||
os.Exit(1)
|
|
||||||
}
|
|
||||||
fmt.Printf("Error parsing flags: %s\n", err)
|
|
||||||
os.Exit(1)
|
|
||||||
}
|
|
||||||
|
|
||||||
// error on left-over arguments
|
|
||||||
if len(args) > 0 {
|
|
||||||
fmt.Printf("Unexpected arguments: %s\nUse --help to view available options.", args)
|
|
||||||
os.Exit(1)
|
|
||||||
}
|
|
||||||
|
|
||||||
// default ImportPath to pwd when not set
|
|
||||||
if len(flags.ImportPaths) == 0 {
|
|
||||||
pwd, err := os.Getwd()
|
|
||||||
if err != nil {
|
|
||||||
fmt.Printf("error getting pwd: %s\n", err)
|
|
||||||
os.Exit(1)
|
|
||||||
}
|
|
||||||
verbosef("using pwd as import path\n")
|
|
||||||
// find non-absolute path for this pwd
|
|
||||||
pkg, err := build.ImportDir(pwd, build.FindOnly)
|
|
||||||
if err != nil {
|
|
||||||
fmt.Printf("error using current directory as import path: %s\n", err)
|
|
||||||
os.Exit(1)
|
|
||||||
}
|
|
||||||
flags.ImportPaths = append(flags.ImportPaths, pkg.ImportPath)
|
|
||||||
verbosef("using import paths: %s\n", flags.ImportPaths)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
}
|
|
14
vendor/github.com/GeertJohan/go.rice/rice/identifier.go
generated
vendored
14
vendor/github.com/GeertJohan/go.rice/rice/identifier.go
generated
vendored
@ -1,14 +0,0 @@
|
|||||||
package main
|
|
||||||
|
|
||||||
import (
|
|
||||||
"strconv"
|
|
||||||
|
|
||||||
"github.com/GeertJohan/go.incremental"
|
|
||||||
)
|
|
||||||
|
|
||||||
var identifierCount incremental.Uint64
|
|
||||||
|
|
||||||
func nextIdentifier() string {
|
|
||||||
num := identifierCount.Next()
|
|
||||||
return strconv.FormatUint(num, 36) // 0123456789abcdefghijklmnopqrstuvwxyz
|
|
||||||
}
|
|
68
vendor/github.com/GeertJohan/go.rice/rice/main.go
generated
vendored
68
vendor/github.com/GeertJohan/go.rice/rice/main.go
generated
vendored
@ -1,68 +0,0 @@
|
|||||||
package main
|
|
||||||
|
|
||||||
import (
|
|
||||||
"fmt"
|
|
||||||
"go/build"
|
|
||||||
"log"
|
|
||||||
"os"
|
|
||||||
)
|
|
||||||
|
|
||||||
func main() {
|
|
||||||
// parser arguments
|
|
||||||
parseArguments()
|
|
||||||
|
|
||||||
// find package for path
|
|
||||||
var pkgs []*build.Package
|
|
||||||
for _, importPath := range flags.ImportPaths {
|
|
||||||
pkg := pkgForPath(importPath)
|
|
||||||
pkgs = append(pkgs, pkg)
|
|
||||||
}
|
|
||||||
|
|
||||||
// switch on the operation to perform
|
|
||||||
switch flagsParser.Active.Name {
|
|
||||||
case "embed", "embed-go":
|
|
||||||
for _, pkg := range pkgs {
|
|
||||||
operationEmbedGo(pkg)
|
|
||||||
}
|
|
||||||
case "embed-syso":
|
|
||||||
log.Println("WARNING: embedding .syso is experimental..")
|
|
||||||
for _, pkg := range pkgs {
|
|
||||||
operationEmbedSyso(pkg)
|
|
||||||
}
|
|
||||||
case "append":
|
|
||||||
operationAppend(pkgs)
|
|
||||||
case "clean":
|
|
||||||
for _, pkg := range pkgs {
|
|
||||||
operationClean(pkg)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// all done
|
|
||||||
verbosef("\n")
|
|
||||||
verbosef("rice finished successfully\n")
|
|
||||||
}
|
|
||||||
|
|
||||||
// helper function to get *build.Package for given path
|
|
||||||
func pkgForPath(path string) *build.Package {
|
|
||||||
// get pwd for relative imports
|
|
||||||
pwd, err := os.Getwd()
|
|
||||||
if err != nil {
|
|
||||||
fmt.Printf("error getting pwd (required for relative imports): %s\n", err)
|
|
||||||
os.Exit(1)
|
|
||||||
}
|
|
||||||
|
|
||||||
// read full package information
|
|
||||||
pkg, err := build.Import(path, pwd, 0)
|
|
||||||
if err != nil {
|
|
||||||
fmt.Printf("error reading package: %s\n", err)
|
|
||||||
os.Exit(1)
|
|
||||||
}
|
|
||||||
|
|
||||||
return pkg
|
|
||||||
}
|
|
||||||
|
|
||||||
func verbosef(format string, stuff ...interface{}) {
|
|
||||||
if flags.Verbose {
|
|
||||||
log.Printf(format, stuff...)
|
|
||||||
}
|
|
||||||
}
|
|
98
vendor/github.com/GeertJohan/go.rice/rice/templates.go
generated
vendored
98
vendor/github.com/GeertJohan/go.rice/rice/templates.go
generated
vendored
@ -1,98 +0,0 @@
|
|||||||
package main
|
|
||||||
|
|
||||||
import (
|
|
||||||
"fmt"
|
|
||||||
"os"
|
|
||||||
"text/template"
|
|
||||||
)
|
|
||||||
|
|
||||||
var tmplEmbeddedBox *template.Template
|
|
||||||
|
|
||||||
func init() {
|
|
||||||
var err error
|
|
||||||
|
|
||||||
// parse embedded box template
|
|
||||||
tmplEmbeddedBox, err = template.New("embeddedBox").Parse(`package {{.Package}}
|
|
||||||
|
|
||||||
import (
|
|
||||||
"github.com/GeertJohan/go.rice/embedded"
|
|
||||||
"time"
|
|
||||||
)
|
|
||||||
|
|
||||||
{{range .Boxes}}
|
|
||||||
func init() {
|
|
||||||
|
|
||||||
// define files
|
|
||||||
{{range .Files}}{{.Identifier}} := &embedded.EmbeddedFile{
|
|
||||||
Filename: ` + "`" + `{{.FileName}}` + "`" + `,
|
|
||||||
FileModTime: time.Unix({{.ModTime}}, 0),
|
|
||||||
Content: string({{.Content | printf "%q"}}),
|
|
||||||
}
|
|
||||||
{{end}}
|
|
||||||
|
|
||||||
// define dirs
|
|
||||||
{{range .Dirs}}{{.Identifier}} := &embedded.EmbeddedDir{
|
|
||||||
Filename: ` + "`" + `{{.FileName}}` + "`" + `,
|
|
||||||
DirModTime: time.Unix({{.ModTime}}, 0),
|
|
||||||
ChildFiles: []*embedded.EmbeddedFile{
|
|
||||||
{{range .ChildFiles}}{{.Identifier}}, // {{.FileName}}
|
|
||||||
{{end}}
|
|
||||||
},
|
|
||||||
}
|
|
||||||
{{end}}
|
|
||||||
|
|
||||||
// link ChildDirs
|
|
||||||
{{range .Dirs}}{{.Identifier}}.ChildDirs = []*embedded.EmbeddedDir{
|
|
||||||
{{range .ChildDirs}}{{.Identifier}}, // {{.FileName}}
|
|
||||||
{{end}}
|
|
||||||
}
|
|
||||||
{{end}}
|
|
||||||
|
|
||||||
// register embeddedBox
|
|
||||||
embedded.RegisterEmbeddedBox(` + "`" + `{{.BoxName}}` + "`" + `, &embedded.EmbeddedBox{
|
|
||||||
Name: ` + "`" + `{{.BoxName}}` + "`" + `,
|
|
||||||
Time: time.Unix({{.UnixNow}}, 0),
|
|
||||||
Dirs: map[string]*embedded.EmbeddedDir{
|
|
||||||
{{range .Dirs}}"{{.FileName}}": {{.Identifier}},
|
|
||||||
{{end}}
|
|
||||||
},
|
|
||||||
Files: map[string]*embedded.EmbeddedFile{
|
|
||||||
{{range .Files}}"{{.FileName}}": {{.Identifier}},
|
|
||||||
{{end}}
|
|
||||||
},
|
|
||||||
})
|
|
||||||
}
|
|
||||||
{{end}}`)
|
|
||||||
if err != nil {
|
|
||||||
fmt.Printf("error parsing embedded box template: %s\n", err)
|
|
||||||
os.Exit(-1)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
type embedFileDataType struct {
|
|
||||||
Package string
|
|
||||||
Boxes []*boxDataType
|
|
||||||
}
|
|
||||||
|
|
||||||
type boxDataType struct {
|
|
||||||
BoxName string
|
|
||||||
UnixNow int64
|
|
||||||
Files []*fileDataType
|
|
||||||
Dirs map[string]*dirDataType
|
|
||||||
}
|
|
||||||
|
|
||||||
type fileDataType struct {
|
|
||||||
Identifier string
|
|
||||||
FileName string
|
|
||||||
Content []byte
|
|
||||||
ModTime int64
|
|
||||||
}
|
|
||||||
|
|
||||||
type dirDataType struct {
|
|
||||||
Identifier string
|
|
||||||
FileName string
|
|
||||||
Content []byte
|
|
||||||
ModTime int64
|
|
||||||
ChildDirs []*dirDataType
|
|
||||||
ChildFiles []*fileDataType
|
|
||||||
}
|
|
22
vendor/github.com/GeertJohan/go.rice/rice/util.go
generated
vendored
22
vendor/github.com/GeertJohan/go.rice/rice/util.go
generated
vendored
@ -1,22 +0,0 @@
|
|||||||
package main
|
|
||||||
|
|
||||||
import (
|
|
||||||
"math/rand"
|
|
||||||
"time"
|
|
||||||
)
|
|
||||||
|
|
||||||
// randomString generates a pseudo-random alpha-numeric string with given length.
|
|
||||||
func randomString(length int) string {
|
|
||||||
rand.Seed(time.Now().UnixNano())
|
|
||||||
k := make([]rune, length)
|
|
||||||
for i := 0; i < length; i++ {
|
|
||||||
c := rand.Intn(35)
|
|
||||||
if c < 10 {
|
|
||||||
c += 48 // numbers (0-9) (0+48 == 48 == '0', 9+48 == 57 == '9')
|
|
||||||
} else {
|
|
||||||
c += 87 // lower case alphabets (a-z) (10+87 == 97 == 'a', 35+87 == 122 = 'z')
|
|
||||||
}
|
|
||||||
k[i] = rune(c)
|
|
||||||
}
|
|
||||||
return string(k)
|
|
||||||
}
|
|
42
vendor/github.com/GeertJohan/go.rice/rice/writecoff.go
generated
vendored
42
vendor/github.com/GeertJohan/go.rice/rice/writecoff.go
generated
vendored
@ -1,42 +0,0 @@
|
|||||||
package main
|
|
||||||
|
|
||||||
import (
|
|
||||||
"fmt"
|
|
||||||
"os"
|
|
||||||
"reflect"
|
|
||||||
|
|
||||||
"github.com/akavel/rsrc/binutil"
|
|
||||||
"github.com/akavel/rsrc/coff"
|
|
||||||
)
|
|
||||||
|
|
||||||
// copied from github.com/akavel/rsrc
|
|
||||||
// LICENSE: MIT
|
|
||||||
// Copyright 2013-2014 The rsrc Authors. (https://github.com/akavel/rsrc/blob/master/AUTHORS)
|
|
||||||
func writeCoff(coff *coff.Coff, fnameout string) error {
|
|
||||||
out, err := os.Create(fnameout)
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
defer out.Close()
|
|
||||||
w := binutil.Writer{W: out}
|
|
||||||
|
|
||||||
// write the resulting file to disk
|
|
||||||
binutil.Walk(coff, func(v reflect.Value, path string) error {
|
|
||||||
if binutil.Plain(v.Kind()) {
|
|
||||||
w.WriteLE(v.Interface())
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
vv, ok := v.Interface().(binutil.SizedReader)
|
|
||||||
if ok {
|
|
||||||
w.WriteFromSized(vv)
|
|
||||||
return binutil.WALK_SKIP
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
})
|
|
||||||
|
|
||||||
if w.Err != nil {
|
|
||||||
return fmt.Errorf("Error writing output file: %s", w.Err)
|
|
||||||
}
|
|
||||||
|
|
||||||
return nil
|
|
||||||
}
|
|
19
vendor/github.com/GeertJohan/go.rice/sort.go
generated
vendored
19
vendor/github.com/GeertJohan/go.rice/sort.go
generated
vendored
@ -1,19 +0,0 @@
|
|||||||
package rice
|
|
||||||
|
|
||||||
import "os"
|
|
||||||
|
|
||||||
// SortByName allows an array of os.FileInfo objects
|
|
||||||
// to be easily sorted by filename using sort.Sort(SortByName(array))
|
|
||||||
type SortByName []os.FileInfo
|
|
||||||
|
|
||||||
func (f SortByName) Len() int { return len(f) }
|
|
||||||
func (f SortByName) Less(i, j int) bool { return f[i].Name() < f[j].Name() }
|
|
||||||
func (f SortByName) Swap(i, j int) { f[i], f[j] = f[j], f[i] }
|
|
||||||
|
|
||||||
// SortByModified allows an array of os.FileInfo objects
|
|
||||||
// to be easily sorted by modified date using sort.Sort(SortByModified(array))
|
|
||||||
type SortByModified []os.FileInfo
|
|
||||||
|
|
||||||
func (f SortByModified) Len() int { return len(f) }
|
|
||||||
func (f SortByModified) Less(i, j int) bool { return f[i].ModTime().Unix() > f[j].ModTime().Unix() }
|
|
||||||
func (f SortByModified) Swap(i, j int) { f[i], f[j] = f[j], f[i] }
|
|
252
vendor/github.com/GeertJohan/go.rice/virtual.go
generated
vendored
252
vendor/github.com/GeertJohan/go.rice/virtual.go
generated
vendored
@ -1,252 +0,0 @@
|
|||||||
package rice
|
|
||||||
|
|
||||||
import (
|
|
||||||
"errors"
|
|
||||||
"io"
|
|
||||||
"os"
|
|
||||||
"path/filepath"
|
|
||||||
"sort"
|
|
||||||
|
|
||||||
"github.com/GeertJohan/go.rice/embedded"
|
|
||||||
)
|
|
||||||
|
|
||||||
//++ TODO: IDEA: merge virtualFile and virtualDir, this decreases work done by rice.File
|
|
||||||
|
|
||||||
// Error indicating some function is not implemented yet (but available to satisfy an interface)
|
|
||||||
var ErrNotImplemented = errors.New("not implemented yet")
|
|
||||||
|
|
||||||
// virtualFile is a 'stateful' virtual file.
|
|
||||||
// virtualFile wraps an *EmbeddedFile for a call to Box.Open() and virtualizes 'read cursor' (offset) and 'closing'.
|
|
||||||
// virtualFile is only internally visible and should be exposed through rice.File
|
|
||||||
type virtualFile struct {
|
|
||||||
*embedded.EmbeddedFile // the actual embedded file, embedded to obtain methods
|
|
||||||
offset int64 // read position on the virtual file
|
|
||||||
closed bool // closed when true
|
|
||||||
}
|
|
||||||
|
|
||||||
// create a new virtualFile for given EmbeddedFile
|
|
||||||
func newVirtualFile(ef *embedded.EmbeddedFile) *virtualFile {
|
|
||||||
vf := &virtualFile{
|
|
||||||
EmbeddedFile: ef,
|
|
||||||
offset: 0,
|
|
||||||
closed: false,
|
|
||||||
}
|
|
||||||
return vf
|
|
||||||
}
|
|
||||||
|
|
||||||
//++ TODO check for nil pointers in all these methods. When so: return os.PathError with Err: os.ErrInvalid
|
|
||||||
|
|
||||||
func (vf *virtualFile) close() error {
|
|
||||||
if vf.closed {
|
|
||||||
return &os.PathError{
|
|
||||||
Op: "close",
|
|
||||||
Path: vf.EmbeddedFile.Filename,
|
|
||||||
Err: errors.New("already closed"),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
vf.EmbeddedFile = nil
|
|
||||||
vf.closed = true
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (vf *virtualFile) stat() (os.FileInfo, error) {
|
|
||||||
if vf.closed {
|
|
||||||
return nil, &os.PathError{
|
|
||||||
Op: "stat",
|
|
||||||
Path: vf.EmbeddedFile.Filename,
|
|
||||||
Err: errors.New("bad file descriptor"),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return (*embeddedFileInfo)(vf.EmbeddedFile), nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (vf *virtualFile) readdir(count int) ([]os.FileInfo, error) {
|
|
||||||
if vf.closed {
|
|
||||||
return nil, &os.PathError{
|
|
||||||
Op: "readdir",
|
|
||||||
Path: vf.EmbeddedFile.Filename,
|
|
||||||
Err: errors.New("bad file descriptor"),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
//TODO: return proper error for a readdir() call on a file
|
|
||||||
return nil, ErrNotImplemented
|
|
||||||
}
|
|
||||||
|
|
||||||
func (vf *virtualFile) read(bts []byte) (int, error) {
|
|
||||||
if vf.closed {
|
|
||||||
return 0, &os.PathError{
|
|
||||||
Op: "read",
|
|
||||||
Path: vf.EmbeddedFile.Filename,
|
|
||||||
Err: errors.New("bad file descriptor"),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
end := vf.offset + int64(len(bts))
|
|
||||||
|
|
||||||
if end >= int64(len(vf.Content)) {
|
|
||||||
// end of file, so return what we have + EOF
|
|
||||||
n := copy(bts, vf.Content[vf.offset:])
|
|
||||||
vf.offset = 0
|
|
||||||
return n, io.EOF
|
|
||||||
}
|
|
||||||
|
|
||||||
n := copy(bts, vf.Content[vf.offset:end])
|
|
||||||
vf.offset += int64(n)
|
|
||||||
return n, nil
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
func (vf *virtualFile) seek(offset int64, whence int) (int64, error) {
|
|
||||||
if vf.closed {
|
|
||||||
return 0, &os.PathError{
|
|
||||||
Op: "seek",
|
|
||||||
Path: vf.EmbeddedFile.Filename,
|
|
||||||
Err: errors.New("bad file descriptor"),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
var e error
|
|
||||||
|
|
||||||
//++ TODO: check if this is correct implementation for seek
|
|
||||||
switch whence {
|
|
||||||
case os.SEEK_SET:
|
|
||||||
//++ check if new offset isn't out of bounds, set e when it is, then break out of switch
|
|
||||||
vf.offset = offset
|
|
||||||
case os.SEEK_CUR:
|
|
||||||
//++ check if new offset isn't out of bounds, set e when it is, then break out of switch
|
|
||||||
vf.offset += offset
|
|
||||||
case os.SEEK_END:
|
|
||||||
//++ check if new offset isn't out of bounds, set e when it is, then break out of switch
|
|
||||||
vf.offset = int64(len(vf.EmbeddedFile.Content)) - offset
|
|
||||||
}
|
|
||||||
|
|
||||||
if e != nil {
|
|
||||||
return 0, &os.PathError{
|
|
||||||
Op: "seek",
|
|
||||||
Path: vf.Filename,
|
|
||||||
Err: e,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return vf.offset, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// virtualDir is a 'stateful' virtual directory.
|
|
||||||
// virtualDir wraps an *EmbeddedDir for a call to Box.Open() and virtualizes 'closing'.
|
|
||||||
// virtualDir is only internally visible and should be exposed through rice.File
|
|
||||||
type virtualDir struct {
|
|
||||||
*embedded.EmbeddedDir
|
|
||||||
offset int // readdir position on the directory
|
|
||||||
closed bool
|
|
||||||
}
|
|
||||||
|
|
||||||
// create a new virtualDir for given EmbeddedDir
|
|
||||||
func newVirtualDir(ed *embedded.EmbeddedDir) *virtualDir {
|
|
||||||
vd := &virtualDir{
|
|
||||||
EmbeddedDir: ed,
|
|
||||||
offset: 0,
|
|
||||||
closed: false,
|
|
||||||
}
|
|
||||||
return vd
|
|
||||||
}
|
|
||||||
|
|
||||||
func (vd *virtualDir) close() error {
|
|
||||||
//++ TODO: needs sync mutex?
|
|
||||||
if vd.closed {
|
|
||||||
return &os.PathError{
|
|
||||||
Op: "close",
|
|
||||||
Path: vd.EmbeddedDir.Filename,
|
|
||||||
Err: errors.New("already closed"),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
vd.closed = true
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (vd *virtualDir) stat() (os.FileInfo, error) {
|
|
||||||
if vd.closed {
|
|
||||||
return nil, &os.PathError{
|
|
||||||
Op: "stat",
|
|
||||||
Path: vd.EmbeddedDir.Filename,
|
|
||||||
Err: errors.New("bad file descriptor"),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return (*embeddedDirInfo)(vd.EmbeddedDir), nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (vd *virtualDir) readdir(n int) (fi []os.FileInfo, err error) {
|
|
||||||
|
|
||||||
if vd.closed {
|
|
||||||
return nil, &os.PathError{
|
|
||||||
Op: "readdir",
|
|
||||||
Path: vd.EmbeddedDir.Filename,
|
|
||||||
Err: errors.New("bad file descriptor"),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Build up the array of our contents
|
|
||||||
var files []os.FileInfo
|
|
||||||
|
|
||||||
// Add the child directories
|
|
||||||
for _, child := range vd.ChildDirs {
|
|
||||||
child.Filename = filepath.Base(child.Filename)
|
|
||||||
files = append(files, (*embeddedDirInfo)(child))
|
|
||||||
}
|
|
||||||
|
|
||||||
// Add the child files
|
|
||||||
for _, child := range vd.ChildFiles {
|
|
||||||
child.Filename = filepath.Base(child.Filename)
|
|
||||||
files = append(files, (*embeddedFileInfo)(child))
|
|
||||||
}
|
|
||||||
|
|
||||||
// Sort it by filename (lexical order)
|
|
||||||
sort.Sort(SortByName(files))
|
|
||||||
|
|
||||||
// Return all contents if that's what is requested
|
|
||||||
if n <= 0 {
|
|
||||||
vd.offset = 0
|
|
||||||
return files, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// If user has requested past the end of our list
|
|
||||||
// return what we can and send an EOF
|
|
||||||
if vd.offset+n >= len(files) {
|
|
||||||
offset := vd.offset
|
|
||||||
vd.offset = 0
|
|
||||||
return files[offset:], io.EOF
|
|
||||||
}
|
|
||||||
|
|
||||||
offset := vd.offset
|
|
||||||
vd.offset += n
|
|
||||||
return files[offset : offset+n], nil
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
func (vd *virtualDir) read(bts []byte) (int, error) {
|
|
||||||
if vd.closed {
|
|
||||||
return 0, &os.PathError{
|
|
||||||
Op: "read",
|
|
||||||
Path: vd.EmbeddedDir.Filename,
|
|
||||||
Err: errors.New("bad file descriptor"),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return 0, &os.PathError{
|
|
||||||
Op: "read",
|
|
||||||
Path: vd.EmbeddedDir.Filename,
|
|
||||||
Err: errors.New("is a directory"),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (vd *virtualDir) seek(offset int64, whence int) (int64, error) {
|
|
||||||
if vd.closed {
|
|
||||||
return 0, &os.PathError{
|
|
||||||
Op: "seek",
|
|
||||||
Path: vd.EmbeddedDir.Filename,
|
|
||||||
Err: errors.New("bad file descriptor"),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return 0, &os.PathError{
|
|
||||||
Op: "seek",
|
|
||||||
Path: vd.Filename,
|
|
||||||
Err: errors.New("is a directory"),
|
|
||||||
}
|
|
||||||
}
|
|
122
vendor/github.com/GeertJohan/go.rice/walk.go
generated
vendored
122
vendor/github.com/GeertJohan/go.rice/walk.go
generated
vendored
@ -1,122 +0,0 @@
|
|||||||
package rice
|
|
||||||
|
|
||||||
import (
|
|
||||||
"os"
|
|
||||||
"path/filepath"
|
|
||||||
"sort"
|
|
||||||
"strings"
|
|
||||||
)
|
|
||||||
|
|
||||||
// Walk is like filepath.Walk()
|
|
||||||
// Visit http://golang.org/pkg/path/filepath/#Walk for more information
|
|
||||||
func (b *Box) Walk(path string, walkFn filepath.WalkFunc) error {
|
|
||||||
|
|
||||||
pathFile, err := b.Open(path)
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
defer pathFile.Close()
|
|
||||||
|
|
||||||
pathInfo, err := pathFile.Stat()
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
if b.IsAppended() || b.IsEmbedded() {
|
|
||||||
return b.walk(path, pathInfo, walkFn)
|
|
||||||
}
|
|
||||||
|
|
||||||
// We don't have any embedded or appended box so use live filesystem mode
|
|
||||||
return filepath.Walk(b.absolutePath+string(os.PathSeparator)+path, func(path string, info os.FileInfo, err error) error {
|
|
||||||
|
|
||||||
// Strip out the box name from the returned paths
|
|
||||||
path = strings.TrimPrefix(path, b.absolutePath+string(os.PathSeparator))
|
|
||||||
return walkFn(path, info, err)
|
|
||||||
|
|
||||||
})
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
// walk recursively descends path.
|
|
||||||
// See walk() in $GOROOT/src/pkg/path/filepath/path.go
|
|
||||||
func (b *Box) walk(path string, info os.FileInfo, walkFn filepath.WalkFunc) error {
|
|
||||||
|
|
||||||
err := walkFn(path, info, nil)
|
|
||||||
if err != nil {
|
|
||||||
if info.IsDir() && err == filepath.SkipDir {
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
if !info.IsDir() {
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
names, err := b.readDirNames(path)
|
|
||||||
if err != nil {
|
|
||||||
return walkFn(path, info, err)
|
|
||||||
}
|
|
||||||
|
|
||||||
for _, name := range names {
|
|
||||||
|
|
||||||
filename := filepath.Join(path, name)
|
|
||||||
fileObject, err := b.Open(filename)
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
defer fileObject.Close()
|
|
||||||
|
|
||||||
fileInfo, err := fileObject.Stat()
|
|
||||||
if err != nil {
|
|
||||||
if err := walkFn(filename, fileInfo, err); err != nil && err != filepath.SkipDir {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
err = b.walk(filename, fileInfo, walkFn)
|
|
||||||
if err != nil {
|
|
||||||
if !fileInfo.IsDir() || err != filepath.SkipDir {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return nil
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
// readDirNames reads the directory named by path and returns a sorted list of directory entries.
|
|
||||||
// See readDirNames() in $GOROOT/pkg/path/filepath/path.go
|
|
||||||
func (b *Box) readDirNames(path string) ([]string, error) {
|
|
||||||
|
|
||||||
f, err := b.Open(path)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
defer f.Close()
|
|
||||||
|
|
||||||
stat, err := f.Stat()
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
if !stat.IsDir() {
|
|
||||||
return nil, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
infos, err := f.Readdir(0)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
var names []string
|
|
||||||
|
|
||||||
for _, info := range infos {
|
|
||||||
names = append(names, info.Name())
|
|
||||||
}
|
|
||||||
|
|
||||||
sort.Strings(names)
|
|
||||||
return names, nil
|
|
||||||
|
|
||||||
}
|
|
22
vendor/github.com/Philipp15b/go-steam/.gitignore
generated
vendored
Normal file
22
vendor/github.com/Philipp15b/go-steam/.gitignore
generated
vendored
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
# Compiled Object files, Static and Dynamic libs (Shared Objects)
|
||||||
|
*.o
|
||||||
|
*.a
|
||||||
|
*.so
|
||||||
|
|
||||||
|
# Folders
|
||||||
|
_obj
|
||||||
|
_test
|
||||||
|
|
||||||
|
# Architecture specific extensions/prefixes
|
||||||
|
*.[568vq]
|
||||||
|
[568vq].out
|
||||||
|
|
||||||
|
*.cgo1.go
|
||||||
|
*.cgo2.c
|
||||||
|
_cgo_defun.c
|
||||||
|
_cgo_gotypes.go
|
||||||
|
_cgo_export.*
|
||||||
|
|
||||||
|
_testmain.go
|
||||||
|
|
||||||
|
*.exe
|
3
vendor/github.com/Philipp15b/go-steam/.gitmodules
generated
vendored
Normal file
3
vendor/github.com/Philipp15b/go-steam/.gitmodules
generated
vendored
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
[submodule "generator/SteamKit"]
|
||||||
|
path = generator/SteamKit
|
||||||
|
url = https://github.com/Philipp15b/SteamKit.git
|
64
vendor/github.com/Philipp15b/go-steam/README.md
generated
vendored
Normal file
64
vendor/github.com/Philipp15b/go-steam/README.md
generated
vendored
Normal file
@ -0,0 +1,64 @@
|
|||||||
|
# Steam for Go
|
||||||
|
|
||||||
|
This library implements Steam's protocol to allow automation of different actions on Steam without running an actual Steam client. It is based on [SteamKit2](https://github.com/SteamRE/SteamKit), a .NET library.
|
||||||
|
|
||||||
|
In addition, it contains APIs to Steam Community features, like trade offers and inventories.
|
||||||
|
|
||||||
|
Some of the currently implemented features:
|
||||||
|
|
||||||
|
* Trading and trade offers, including inventories and notifications
|
||||||
|
* Friend and group management
|
||||||
|
* Chatting with friends
|
||||||
|
* Persona states (online, offline, looking to trade, etc.)
|
||||||
|
* SteamGuard with two-factor authentication
|
||||||
|
* Team Fortress 2: Crafting, moving, naming and deleting items
|
||||||
|
|
||||||
|
If this is useful to you, there's also the [go-steamapi](https://github.com/Philipp15b/go-steamapi) package that wraps some of the official Steam Web API's types.
|
||||||
|
|
||||||
|
## Installation
|
||||||
|
|
||||||
|
go get github.com/Philipp15b/go-steam
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
|
||||||
|
You can view the documentation with the [`godoc`](http://golang.org/cmd/godoc) tool or
|
||||||
|
[online on godoc.org](http://godoc.org/github.com/Philipp15b/go-steam).
|
||||||
|
|
||||||
|
You should also take a look at the following sub-packages:
|
||||||
|
|
||||||
|
* [`gsbot`](http://godoc.org/github.com/Philipp15b/go-steam/gsbot) utilites that make writing bots easier
|
||||||
|
* [example bot](http://godoc.org/github.com/Philipp15b/go-steam/gsbot/gsbot) and [its source code](https://github.com/Philipp15b/go-steam/blob/master/gsbot/gsbot/gsbot.go)
|
||||||
|
* [`trade`](http://godoc.org/github.com/Philipp15b/go-steam/trade) for trading
|
||||||
|
* [`tradeoffer`](http://godoc.org/github.com/Philipp15b/go-steam/tradeoffer) for trade offers
|
||||||
|
* [`economy/inventory`](http://godoc.org/github.com/Philipp15b/go-steam/economy/inventory) for inventories
|
||||||
|
* [`tf2`](http://godoc.org/github.com/Philipp15b/go-steam/tf2) for Team Fortress 2 related things
|
||||||
|
|
||||||
|
## Working with go-steam
|
||||||
|
|
||||||
|
Whether you want to develop your own Steam bot or directly work on go-steam itself, there are are few things to know.
|
||||||
|
|
||||||
|
* If something is not working, check first if the same operation works (under the same conditions!) in the Steam client on that account. Maybe there's something go-steam doesn't handle correctly or you're missing a warning that's not obviously shown in go-steam. This is particularly important when working with trading since there are [restrictions](https://support.steampowered.com/kb_article.php?ref=1047-edfm-2932), for example newly authorized devices will not be able to trade for seven days.
|
||||||
|
* Since Steam does not maintain a public API for most of the things go-steam implements, you can expect that sometimes things break randomly. Especially the `trade` and `tradeoffer` packages have been affected in the past.
|
||||||
|
* Always gather as much information as possible. When you file an issue, be as precise and complete as you can. This makes debugging way easier.
|
||||||
|
* If you haven't noticed yet, expect to find lots of things out yourself. Debugging can be complicated and Steam's internals are too.
|
||||||
|
* Sometimes things break and other [SteamKit ports](https://github.com/SteamRE/SteamKit/wiki/Ports) are fixed already. Maybe take a look what people are saying over there? There's also the [SteamKit IRC channel](https://github.com/SteamRE/SteamKit/wiki#contact).
|
||||||
|
|
||||||
|
## Updating go-steam to a new SteamKit version
|
||||||
|
|
||||||
|
To update go-steam to a new version of SteamKit, do the following:
|
||||||
|
|
||||||
|
go get github.com/golang/protobuf/protoc-gen-go/
|
||||||
|
git submodule init && git submodule update
|
||||||
|
cd generator
|
||||||
|
go run generator.go clean proto steamlang
|
||||||
|
|
||||||
|
Make sure that `$GOPATH/bin` / `protoc-gen-go` is in your `$PATH`. You'll also need [`protoc`](https://developers.google.com/protocol-buffers/docs/downloads), the protocol buffer compiler. At the moment, we use Protocol Buffers 2.6.1 with `proco-gen-go`-[2402d76](https://github.com/golang/protobuf/tree/2402d76f3d41f928c7902a765dfc872356dd3aad).
|
||||||
|
|
||||||
|
To compile the Steam Language files, you also need the [.NET Framework](https://www.microsoft.com/net/downloads)
|
||||||
|
on Windows or [mono](http://www.go-mono.com/mono-downloads/download.html) on other operating systems.
|
||||||
|
|
||||||
|
Apply the protocol changes where necessary.
|
||||||
|
|
||||||
|
## License
|
||||||
|
|
||||||
|
Steam for Go is licensed under the New BSD License. More information can be found in LICENSE.txt.
|
35
vendor/github.com/Philipp15b/go-steam/community/community.go
generated
vendored
35
vendor/github.com/Philipp15b/go-steam/community/community.go
generated
vendored
@ -1,35 +0,0 @@
|
|||||||
package community
|
|
||||||
|
|
||||||
import (
|
|
||||||
"net/http"
|
|
||||||
"net/http/cookiejar"
|
|
||||||
"net/url"
|
|
||||||
)
|
|
||||||
|
|
||||||
const cookiePath = "https://steamcommunity.com/"
|
|
||||||
|
|
||||||
func SetCookies(client *http.Client, sessionId, steamLogin, steamLoginSecure string) {
|
|
||||||
if client.Jar == nil {
|
|
||||||
client.Jar, _ = cookiejar.New(new(cookiejar.Options))
|
|
||||||
}
|
|
||||||
base, err := url.Parse(cookiePath)
|
|
||||||
if err != nil {
|
|
||||||
panic(err)
|
|
||||||
}
|
|
||||||
client.Jar.SetCookies(base, []*http.Cookie{
|
|
||||||
// It seems that, for some reason, Steam tries to URL-decode the cookie.
|
|
||||||
&http.Cookie{
|
|
||||||
Name: "sessionid",
|
|
||||||
Value: url.QueryEscape(sessionId),
|
|
||||||
},
|
|
||||||
// steamLogin is already URL-encoded.
|
|
||||||
&http.Cookie{
|
|
||||||
Name: "steamLogin",
|
|
||||||
Value: steamLogin,
|
|
||||||
},
|
|
||||||
&http.Cookie{
|
|
||||||
Name: "steamLoginSecure",
|
|
||||||
Value: steamLoginSecure,
|
|
||||||
},
|
|
||||||
})
|
|
||||||
}
|
|
3651
vendor/github.com/Philipp15b/go-steam/dota/protocol/protobuf/base.pb.go
generated
vendored
3651
vendor/github.com/Philipp15b/go-steam/dota/protocol/protobuf/base.pb.go
generated
vendored
File diff suppressed because it is too large
Load Diff
18413
vendor/github.com/Philipp15b/go-steam/dota/protocol/protobuf/dota_client.pb.go
generated
vendored
18413
vendor/github.com/Philipp15b/go-steam/dota/protocol/protobuf/dota_client.pb.go
generated
vendored
File diff suppressed because it is too large
Load Diff
6123
vendor/github.com/Philipp15b/go-steam/dota/protocol/protobuf/dota_client_fantasy.pb.go
generated
vendored
6123
vendor/github.com/Philipp15b/go-steam/dota/protocol/protobuf/dota_client_fantasy.pb.go
generated
vendored
File diff suppressed because it is too large
Load Diff
10997
vendor/github.com/Philipp15b/go-steam/dota/protocol/protobuf/dota_common.pb.go
generated
vendored
10997
vendor/github.com/Philipp15b/go-steam/dota/protocol/protobuf/dota_common.pb.go
generated
vendored
File diff suppressed because it is too large
Load Diff
4441
vendor/github.com/Philipp15b/go-steam/dota/protocol/protobuf/econ.pb.go
generated
vendored
4441
vendor/github.com/Philipp15b/go-steam/dota/protocol/protobuf/econ.pb.go
generated
vendored
File diff suppressed because it is too large
Load Diff
1825
vendor/github.com/Philipp15b/go-steam/dota/protocol/protobuf/gcsdk.pb.go
generated
vendored
1825
vendor/github.com/Philipp15b/go-steam/dota/protocol/protobuf/gcsdk.pb.go
generated
vendored
File diff suppressed because it is too large
Load Diff
579
vendor/github.com/Philipp15b/go-steam/dota/protocol/protobuf/system.pb.go
generated
vendored
579
vendor/github.com/Philipp15b/go-steam/dota/protocol/protobuf/system.pb.go
generated
vendored
@ -1,579 +0,0 @@
|
|||||||
// Code generated by protoc-gen-go.
|
|
||||||
// source: gcsystemmsgs.proto
|
|
||||||
// DO NOT EDIT!
|
|
||||||
|
|
||||||
package protobuf
|
|
||||||
|
|
||||||
import proto "github.com/golang/protobuf/proto"
|
|
||||||
import fmt "fmt"
|
|
||||||
import math "math"
|
|
||||||
|
|
||||||
// Reference imports to suppress errors if they are not otherwise used.
|
|
||||||
var _ = proto.Marshal
|
|
||||||
var _ = fmt.Errorf
|
|
||||||
var _ = math.Inf
|
|
||||||
|
|
||||||
// This is a compile-time assertion to ensure that this generated file
|
|
||||||
// is compatible with the proto package protobuf is being compiled against.
|
|
||||||
const _ = proto.ProtoPackageIsVersion1
|
|
||||||
|
|
||||||
type EGCSystemMsg int32
|
|
||||||
|
|
||||||
const (
|
|
||||||
EGCSystemMsg_k_EGCMsgInvalid EGCSystemMsg = 0
|
|
||||||
EGCSystemMsg_k_EGCMsgMulti EGCSystemMsg = 1
|
|
||||||
EGCSystemMsg_k_EGCMsgGenericReply EGCSystemMsg = 10
|
|
||||||
EGCSystemMsg_k_EGCMsgSystemBase EGCSystemMsg = 50
|
|
||||||
EGCSystemMsg_k_EGCMsgAchievementAwarded EGCSystemMsg = 51
|
|
||||||
EGCSystemMsg_k_EGCMsgConCommand EGCSystemMsg = 52
|
|
||||||
EGCSystemMsg_k_EGCMsgStartPlaying EGCSystemMsg = 53
|
|
||||||
EGCSystemMsg_k_EGCMsgStopPlaying EGCSystemMsg = 54
|
|
||||||
EGCSystemMsg_k_EGCMsgStartGameserver EGCSystemMsg = 55
|
|
||||||
EGCSystemMsg_k_EGCMsgStopGameserver EGCSystemMsg = 56
|
|
||||||
EGCSystemMsg_k_EGCMsgWGRequest EGCSystemMsg = 57
|
|
||||||
EGCSystemMsg_k_EGCMsgWGResponse EGCSystemMsg = 58
|
|
||||||
EGCSystemMsg_k_EGCMsgGetUserGameStatsSchema EGCSystemMsg = 59
|
|
||||||
EGCSystemMsg_k_EGCMsgGetUserGameStatsSchemaResponse EGCSystemMsg = 60
|
|
||||||
EGCSystemMsg_k_EGCMsgGetUserStatsDEPRECATED EGCSystemMsg = 61
|
|
||||||
EGCSystemMsg_k_EGCMsgGetUserStatsResponse EGCSystemMsg = 62
|
|
||||||
EGCSystemMsg_k_EGCMsgAppInfoUpdated EGCSystemMsg = 63
|
|
||||||
EGCSystemMsg_k_EGCMsgValidateSession EGCSystemMsg = 64
|
|
||||||
EGCSystemMsg_k_EGCMsgValidateSessionResponse EGCSystemMsg = 65
|
|
||||||
EGCSystemMsg_k_EGCMsgLookupAccountFromInput EGCSystemMsg = 66
|
|
||||||
EGCSystemMsg_k_EGCMsgSendHTTPRequest EGCSystemMsg = 67
|
|
||||||
EGCSystemMsg_k_EGCMsgSendHTTPRequestResponse EGCSystemMsg = 68
|
|
||||||
EGCSystemMsg_k_EGCMsgPreTestSetup EGCSystemMsg = 69
|
|
||||||
EGCSystemMsg_k_EGCMsgRecordSupportAction EGCSystemMsg = 70
|
|
||||||
EGCSystemMsg_k_EGCMsgGetAccountDetails_DEPRECATED EGCSystemMsg = 71
|
|
||||||
EGCSystemMsg_k_EGCMsgReceiveInterAppMessage EGCSystemMsg = 73
|
|
||||||
EGCSystemMsg_k_EGCMsgFindAccounts EGCSystemMsg = 74
|
|
||||||
EGCSystemMsg_k_EGCMsgPostAlert EGCSystemMsg = 75
|
|
||||||
EGCSystemMsg_k_EGCMsgGetLicenses EGCSystemMsg = 76
|
|
||||||
EGCSystemMsg_k_EGCMsgGetUserStats EGCSystemMsg = 77
|
|
||||||
EGCSystemMsg_k_EGCMsgGetCommands EGCSystemMsg = 78
|
|
||||||
EGCSystemMsg_k_EGCMsgGetCommandsResponse EGCSystemMsg = 79
|
|
||||||
EGCSystemMsg_k_EGCMsgAddFreeLicense EGCSystemMsg = 80
|
|
||||||
EGCSystemMsg_k_EGCMsgAddFreeLicenseResponse EGCSystemMsg = 81
|
|
||||||
EGCSystemMsg_k_EGCMsgGetIPLocation EGCSystemMsg = 82
|
|
||||||
EGCSystemMsg_k_EGCMsgGetIPLocationResponse EGCSystemMsg = 83
|
|
||||||
EGCSystemMsg_k_EGCMsgSystemStatsSchema EGCSystemMsg = 84
|
|
||||||
EGCSystemMsg_k_EGCMsgGetSystemStats EGCSystemMsg = 85
|
|
||||||
EGCSystemMsg_k_EGCMsgGetSystemStatsResponse EGCSystemMsg = 86
|
|
||||||
EGCSystemMsg_k_EGCMsgSendEmail EGCSystemMsg = 87
|
|
||||||
EGCSystemMsg_k_EGCMsgSendEmailResponse EGCSystemMsg = 88
|
|
||||||
EGCSystemMsg_k_EGCMsgGetEmailTemplate EGCSystemMsg = 89
|
|
||||||
EGCSystemMsg_k_EGCMsgGetEmailTemplateResponse EGCSystemMsg = 90
|
|
||||||
EGCSystemMsg_k_EGCMsgGrantGuestPass EGCSystemMsg = 91
|
|
||||||
EGCSystemMsg_k_EGCMsgGrantGuestPassResponse EGCSystemMsg = 92
|
|
||||||
EGCSystemMsg_k_EGCMsgGetAccountDetails EGCSystemMsg = 93
|
|
||||||
EGCSystemMsg_k_EGCMsgGetAccountDetailsResponse EGCSystemMsg = 94
|
|
||||||
EGCSystemMsg_k_EGCMsgGetPersonaNames EGCSystemMsg = 95
|
|
||||||
EGCSystemMsg_k_EGCMsgGetPersonaNamesResponse EGCSystemMsg = 96
|
|
||||||
EGCSystemMsg_k_EGCMsgMultiplexMsg EGCSystemMsg = 97
|
|
||||||
EGCSystemMsg_k_EGCMsgWebAPIRegisterInterfaces EGCSystemMsg = 101
|
|
||||||
EGCSystemMsg_k_EGCMsgWebAPIJobRequest EGCSystemMsg = 102
|
|
||||||
EGCSystemMsg_k_EGCMsgWebAPIJobRequestHttpResponse EGCSystemMsg = 104
|
|
||||||
EGCSystemMsg_k_EGCMsgWebAPIJobRequestForwardResponse EGCSystemMsg = 105
|
|
||||||
EGCSystemMsg_k_EGCMsgMemCachedGet EGCSystemMsg = 200
|
|
||||||
EGCSystemMsg_k_EGCMsgMemCachedGetResponse EGCSystemMsg = 201
|
|
||||||
EGCSystemMsg_k_EGCMsgMemCachedSet EGCSystemMsg = 202
|
|
||||||
EGCSystemMsg_k_EGCMsgMemCachedDelete EGCSystemMsg = 203
|
|
||||||
EGCSystemMsg_k_EGCMsgMemCachedStats EGCSystemMsg = 204
|
|
||||||
EGCSystemMsg_k_EGCMsgMemCachedStatsResponse EGCSystemMsg = 205
|
|
||||||
EGCSystemMsg_k_EGCMsgSQLStats EGCSystemMsg = 210
|
|
||||||
EGCSystemMsg_k_EGCMsgSQLStatsResponse EGCSystemMsg = 211
|
|
||||||
EGCSystemMsg_k_EGCMsgMasterSetDirectory EGCSystemMsg = 220
|
|
||||||
EGCSystemMsg_k_EGCMsgMasterSetDirectoryResponse EGCSystemMsg = 221
|
|
||||||
EGCSystemMsg_k_EGCMsgMasterSetWebAPIRouting EGCSystemMsg = 222
|
|
||||||
EGCSystemMsg_k_EGCMsgMasterSetWebAPIRoutingResponse EGCSystemMsg = 223
|
|
||||||
EGCSystemMsg_k_EGCMsgMasterSetClientMsgRouting EGCSystemMsg = 224
|
|
||||||
EGCSystemMsg_k_EGCMsgMasterSetClientMsgRoutingResponse EGCSystemMsg = 225
|
|
||||||
EGCSystemMsg_k_EGCMsgSetOptions EGCSystemMsg = 226
|
|
||||||
EGCSystemMsg_k_EGCMsgSetOptionsResponse EGCSystemMsg = 227
|
|
||||||
EGCSystemMsg_k_EGCMsgSystemBase2 EGCSystemMsg = 500
|
|
||||||
EGCSystemMsg_k_EGCMsgGetPurchaseTrustStatus EGCSystemMsg = 501
|
|
||||||
EGCSystemMsg_k_EGCMsgGetPurchaseTrustStatusResponse EGCSystemMsg = 502
|
|
||||||
EGCSystemMsg_k_EGCMsgUpdateSession EGCSystemMsg = 503
|
|
||||||
EGCSystemMsg_k_EGCMsgGCAccountVacStatusChange EGCSystemMsg = 504
|
|
||||||
EGCSystemMsg_k_EGCMsgCheckFriendship EGCSystemMsg = 505
|
|
||||||
EGCSystemMsg_k_EGCMsgCheckFriendshipResponse EGCSystemMsg = 506
|
|
||||||
EGCSystemMsg_k_EGCMsgGetPartnerAccountLink EGCSystemMsg = 507
|
|
||||||
EGCSystemMsg_k_EGCMsgGetPartnerAccountLinkResponse EGCSystemMsg = 508
|
|
||||||
EGCSystemMsg_k_EGCMsgVSReportedSuspiciousActivity EGCSystemMsg = 509
|
|
||||||
EGCSystemMsg_k_EGCMsgDPPartnerMicroTxns EGCSystemMsg = 512
|
|
||||||
EGCSystemMsg_k_EGCMsgDPPartnerMicroTxnsResponse EGCSystemMsg = 513
|
|
||||||
EGCSystemMsg_k_EGCMsgGetIPASN EGCSystemMsg = 514
|
|
||||||
EGCSystemMsg_k_EGCMsgGetIPASNResponse EGCSystemMsg = 515
|
|
||||||
EGCSystemMsg_k_EGCMsgGetAppFriendsList EGCSystemMsg = 516
|
|
||||||
EGCSystemMsg_k_EGCMsgGetAppFriendsListResponse EGCSystemMsg = 517
|
|
||||||
)
|
|
||||||
|
|
||||||
var EGCSystemMsg_name = map[int32]string{
|
|
||||||
0: "k_EGCMsgInvalid",
|
|
||||||
1: "k_EGCMsgMulti",
|
|
||||||
10: "k_EGCMsgGenericReply",
|
|
||||||
50: "k_EGCMsgSystemBase",
|
|
||||||
51: "k_EGCMsgAchievementAwarded",
|
|
||||||
52: "k_EGCMsgConCommand",
|
|
||||||
53: "k_EGCMsgStartPlaying",
|
|
||||||
54: "k_EGCMsgStopPlaying",
|
|
||||||
55: "k_EGCMsgStartGameserver",
|
|
||||||
56: "k_EGCMsgStopGameserver",
|
|
||||||
57: "k_EGCMsgWGRequest",
|
|
||||||
58: "k_EGCMsgWGResponse",
|
|
||||||
59: "k_EGCMsgGetUserGameStatsSchema",
|
|
||||||
60: "k_EGCMsgGetUserGameStatsSchemaResponse",
|
|
||||||
61: "k_EGCMsgGetUserStatsDEPRECATED",
|
|
||||||
62: "k_EGCMsgGetUserStatsResponse",
|
|
||||||
63: "k_EGCMsgAppInfoUpdated",
|
|
||||||
64: "k_EGCMsgValidateSession",
|
|
||||||
65: "k_EGCMsgValidateSessionResponse",
|
|
||||||
66: "k_EGCMsgLookupAccountFromInput",
|
|
||||||
67: "k_EGCMsgSendHTTPRequest",
|
|
||||||
68: "k_EGCMsgSendHTTPRequestResponse",
|
|
||||||
69: "k_EGCMsgPreTestSetup",
|
|
||||||
70: "k_EGCMsgRecordSupportAction",
|
|
||||||
71: "k_EGCMsgGetAccountDetails_DEPRECATED",
|
|
||||||
73: "k_EGCMsgReceiveInterAppMessage",
|
|
||||||
74: "k_EGCMsgFindAccounts",
|
|
||||||
75: "k_EGCMsgPostAlert",
|
|
||||||
76: "k_EGCMsgGetLicenses",
|
|
||||||
77: "k_EGCMsgGetUserStats",
|
|
||||||
78: "k_EGCMsgGetCommands",
|
|
||||||
79: "k_EGCMsgGetCommandsResponse",
|
|
||||||
80: "k_EGCMsgAddFreeLicense",
|
|
||||||
81: "k_EGCMsgAddFreeLicenseResponse",
|
|
||||||
82: "k_EGCMsgGetIPLocation",
|
|
||||||
83: "k_EGCMsgGetIPLocationResponse",
|
|
||||||
84: "k_EGCMsgSystemStatsSchema",
|
|
||||||
85: "k_EGCMsgGetSystemStats",
|
|
||||||
86: "k_EGCMsgGetSystemStatsResponse",
|
|
||||||
87: "k_EGCMsgSendEmail",
|
|
||||||
88: "k_EGCMsgSendEmailResponse",
|
|
||||||
89: "k_EGCMsgGetEmailTemplate",
|
|
||||||
90: "k_EGCMsgGetEmailTemplateResponse",
|
|
||||||
91: "k_EGCMsgGrantGuestPass",
|
|
||||||
92: "k_EGCMsgGrantGuestPassResponse",
|
|
||||||
93: "k_EGCMsgGetAccountDetails",
|
|
||||||
94: "k_EGCMsgGetAccountDetailsResponse",
|
|
||||||
95: "k_EGCMsgGetPersonaNames",
|
|
||||||
96: "k_EGCMsgGetPersonaNamesResponse",
|
|
||||||
97: "k_EGCMsgMultiplexMsg",
|
|
||||||
101: "k_EGCMsgWebAPIRegisterInterfaces",
|
|
||||||
102: "k_EGCMsgWebAPIJobRequest",
|
|
||||||
104: "k_EGCMsgWebAPIJobRequestHttpResponse",
|
|
||||||
105: "k_EGCMsgWebAPIJobRequestForwardResponse",
|
|
||||||
200: "k_EGCMsgMemCachedGet",
|
|
||||||
201: "k_EGCMsgMemCachedGetResponse",
|
|
||||||
202: "k_EGCMsgMemCachedSet",
|
|
||||||
203: "k_EGCMsgMemCachedDelete",
|
|
||||||
204: "k_EGCMsgMemCachedStats",
|
|
||||||
205: "k_EGCMsgMemCachedStatsResponse",
|
|
||||||
210: "k_EGCMsgSQLStats",
|
|
||||||
211: "k_EGCMsgSQLStatsResponse",
|
|
||||||
220: "k_EGCMsgMasterSetDirectory",
|
|
||||||
221: "k_EGCMsgMasterSetDirectoryResponse",
|
|
||||||
222: "k_EGCMsgMasterSetWebAPIRouting",
|
|
||||||
223: "k_EGCMsgMasterSetWebAPIRoutingResponse",
|
|
||||||
224: "k_EGCMsgMasterSetClientMsgRouting",
|
|
||||||
225: "k_EGCMsgMasterSetClientMsgRoutingResponse",
|
|
||||||
226: "k_EGCMsgSetOptions",
|
|
||||||
227: "k_EGCMsgSetOptionsResponse",
|
|
||||||
500: "k_EGCMsgSystemBase2",
|
|
||||||
501: "k_EGCMsgGetPurchaseTrustStatus",
|
|
||||||
502: "k_EGCMsgGetPurchaseTrustStatusResponse",
|
|
||||||
503: "k_EGCMsgUpdateSession",
|
|
||||||
504: "k_EGCMsgGCAccountVacStatusChange",
|
|
||||||
505: "k_EGCMsgCheckFriendship",
|
|
||||||
506: "k_EGCMsgCheckFriendshipResponse",
|
|
||||||
507: "k_EGCMsgGetPartnerAccountLink",
|
|
||||||
508: "k_EGCMsgGetPartnerAccountLinkResponse",
|
|
||||||
509: "k_EGCMsgVSReportedSuspiciousActivity",
|
|
||||||
512: "k_EGCMsgDPPartnerMicroTxns",
|
|
||||||
513: "k_EGCMsgDPPartnerMicroTxnsResponse",
|
|
||||||
514: "k_EGCMsgGetIPASN",
|
|
||||||
515: "k_EGCMsgGetIPASNResponse",
|
|
||||||
516: "k_EGCMsgGetAppFriendsList",
|
|
||||||
517: "k_EGCMsgGetAppFriendsListResponse",
|
|
||||||
}
|
|
||||||
var EGCSystemMsg_value = map[string]int32{
|
|
||||||
"k_EGCMsgInvalid": 0,
|
|
||||||
"k_EGCMsgMulti": 1,
|
|
||||||
"k_EGCMsgGenericReply": 10,
|
|
||||||
"k_EGCMsgSystemBase": 50,
|
|
||||||
"k_EGCMsgAchievementAwarded": 51,
|
|
||||||
"k_EGCMsgConCommand": 52,
|
|
||||||
"k_EGCMsgStartPlaying": 53,
|
|
||||||
"k_EGCMsgStopPlaying": 54,
|
|
||||||
"k_EGCMsgStartGameserver": 55,
|
|
||||||
"k_EGCMsgStopGameserver": 56,
|
|
||||||
"k_EGCMsgWGRequest": 57,
|
|
||||||
"k_EGCMsgWGResponse": 58,
|
|
||||||
"k_EGCMsgGetUserGameStatsSchema": 59,
|
|
||||||
"k_EGCMsgGetUserGameStatsSchemaResponse": 60,
|
|
||||||
"k_EGCMsgGetUserStatsDEPRECATED": 61,
|
|
||||||
"k_EGCMsgGetUserStatsResponse": 62,
|
|
||||||
"k_EGCMsgAppInfoUpdated": 63,
|
|
||||||
"k_EGCMsgValidateSession": 64,
|
|
||||||
"k_EGCMsgValidateSessionResponse": 65,
|
|
||||||
"k_EGCMsgLookupAccountFromInput": 66,
|
|
||||||
"k_EGCMsgSendHTTPRequest": 67,
|
|
||||||
"k_EGCMsgSendHTTPRequestResponse": 68,
|
|
||||||
"k_EGCMsgPreTestSetup": 69,
|
|
||||||
"k_EGCMsgRecordSupportAction": 70,
|
|
||||||
"k_EGCMsgGetAccountDetails_DEPRECATED": 71,
|
|
||||||
"k_EGCMsgReceiveInterAppMessage": 73,
|
|
||||||
"k_EGCMsgFindAccounts": 74,
|
|
||||||
"k_EGCMsgPostAlert": 75,
|
|
||||||
"k_EGCMsgGetLicenses": 76,
|
|
||||||
"k_EGCMsgGetUserStats": 77,
|
|
||||||
"k_EGCMsgGetCommands": 78,
|
|
||||||
"k_EGCMsgGetCommandsResponse": 79,
|
|
||||||
"k_EGCMsgAddFreeLicense": 80,
|
|
||||||
"k_EGCMsgAddFreeLicenseResponse": 81,
|
|
||||||
"k_EGCMsgGetIPLocation": 82,
|
|
||||||
"k_EGCMsgGetIPLocationResponse": 83,
|
|
||||||
"k_EGCMsgSystemStatsSchema": 84,
|
|
||||||
"k_EGCMsgGetSystemStats": 85,
|
|
||||||
"k_EGCMsgGetSystemStatsResponse": 86,
|
|
||||||
"k_EGCMsgSendEmail": 87,
|
|
||||||
"k_EGCMsgSendEmailResponse": 88,
|
|
||||||
"k_EGCMsgGetEmailTemplate": 89,
|
|
||||||
"k_EGCMsgGetEmailTemplateResponse": 90,
|
|
||||||
"k_EGCMsgGrantGuestPass": 91,
|
|
||||||
"k_EGCMsgGrantGuestPassResponse": 92,
|
|
||||||
"k_EGCMsgGetAccountDetails": 93,
|
|
||||||
"k_EGCMsgGetAccountDetailsResponse": 94,
|
|
||||||
"k_EGCMsgGetPersonaNames": 95,
|
|
||||||
"k_EGCMsgGetPersonaNamesResponse": 96,
|
|
||||||
"k_EGCMsgMultiplexMsg": 97,
|
|
||||||
"k_EGCMsgWebAPIRegisterInterfaces": 101,
|
|
||||||
"k_EGCMsgWebAPIJobRequest": 102,
|
|
||||||
"k_EGCMsgWebAPIJobRequestHttpResponse": 104,
|
|
||||||
"k_EGCMsgWebAPIJobRequestForwardResponse": 105,
|
|
||||||
"k_EGCMsgMemCachedGet": 200,
|
|
||||||
"k_EGCMsgMemCachedGetResponse": 201,
|
|
||||||
"k_EGCMsgMemCachedSet": 202,
|
|
||||||
"k_EGCMsgMemCachedDelete": 203,
|
|
||||||
"k_EGCMsgMemCachedStats": 204,
|
|
||||||
"k_EGCMsgMemCachedStatsResponse": 205,
|
|
||||||
"k_EGCMsgSQLStats": 210,
|
|
||||||
"k_EGCMsgSQLStatsResponse": 211,
|
|
||||||
"k_EGCMsgMasterSetDirectory": 220,
|
|
||||||
"k_EGCMsgMasterSetDirectoryResponse": 221,
|
|
||||||
"k_EGCMsgMasterSetWebAPIRouting": 222,
|
|
||||||
"k_EGCMsgMasterSetWebAPIRoutingResponse": 223,
|
|
||||||
"k_EGCMsgMasterSetClientMsgRouting": 224,
|
|
||||||
"k_EGCMsgMasterSetClientMsgRoutingResponse": 225,
|
|
||||||
"k_EGCMsgSetOptions": 226,
|
|
||||||
"k_EGCMsgSetOptionsResponse": 227,
|
|
||||||
"k_EGCMsgSystemBase2": 500,
|
|
||||||
"k_EGCMsgGetPurchaseTrustStatus": 501,
|
|
||||||
"k_EGCMsgGetPurchaseTrustStatusResponse": 502,
|
|
||||||
"k_EGCMsgUpdateSession": 503,
|
|
||||||
"k_EGCMsgGCAccountVacStatusChange": 504,
|
|
||||||
"k_EGCMsgCheckFriendship": 505,
|
|
||||||
"k_EGCMsgCheckFriendshipResponse": 506,
|
|
||||||
"k_EGCMsgGetPartnerAccountLink": 507,
|
|
||||||
"k_EGCMsgGetPartnerAccountLinkResponse": 508,
|
|
||||||
"k_EGCMsgVSReportedSuspiciousActivity": 509,
|
|
||||||
"k_EGCMsgDPPartnerMicroTxns": 512,
|
|
||||||
"k_EGCMsgDPPartnerMicroTxnsResponse": 513,
|
|
||||||
"k_EGCMsgGetIPASN": 514,
|
|
||||||
"k_EGCMsgGetIPASNResponse": 515,
|
|
||||||
"k_EGCMsgGetAppFriendsList": 516,
|
|
||||||
"k_EGCMsgGetAppFriendsListResponse": 517,
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x EGCSystemMsg) Enum() *EGCSystemMsg {
|
|
||||||
p := new(EGCSystemMsg)
|
|
||||||
*p = x
|
|
||||||
return p
|
|
||||||
}
|
|
||||||
func (x EGCSystemMsg) String() string {
|
|
||||||
return proto.EnumName(EGCSystemMsg_name, int32(x))
|
|
||||||
}
|
|
||||||
func (x *EGCSystemMsg) UnmarshalJSON(data []byte) error {
|
|
||||||
value, err := proto.UnmarshalJSONEnum(EGCSystemMsg_value, data, "EGCSystemMsg")
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
*x = EGCSystemMsg(value)
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
func (EGCSystemMsg) EnumDescriptor() ([]byte, []int) { return system_fileDescriptor0, []int{0} }
|
|
||||||
|
|
||||||
type ESOMsg int32
|
|
||||||
|
|
||||||
const (
|
|
||||||
ESOMsg_k_ESOMsg_Create ESOMsg = 21
|
|
||||||
ESOMsg_k_ESOMsg_Update ESOMsg = 22
|
|
||||||
ESOMsg_k_ESOMsg_Destroy ESOMsg = 23
|
|
||||||
ESOMsg_k_ESOMsg_CacheSubscribed ESOMsg = 24
|
|
||||||
ESOMsg_k_ESOMsg_CacheUnsubscribed ESOMsg = 25
|
|
||||||
ESOMsg_k_ESOMsg_UpdateMultiple ESOMsg = 26
|
|
||||||
ESOMsg_k_ESOMsg_CacheSubscriptionRefresh ESOMsg = 28
|
|
||||||
ESOMsg_k_ESOMsg_CacheSubscribedUpToDate ESOMsg = 29
|
|
||||||
)
|
|
||||||
|
|
||||||
var ESOMsg_name = map[int32]string{
|
|
||||||
21: "k_ESOMsg_Create",
|
|
||||||
22: "k_ESOMsg_Update",
|
|
||||||
23: "k_ESOMsg_Destroy",
|
|
||||||
24: "k_ESOMsg_CacheSubscribed",
|
|
||||||
25: "k_ESOMsg_CacheUnsubscribed",
|
|
||||||
26: "k_ESOMsg_UpdateMultiple",
|
|
||||||
28: "k_ESOMsg_CacheSubscriptionRefresh",
|
|
||||||
29: "k_ESOMsg_CacheSubscribedUpToDate",
|
|
||||||
}
|
|
||||||
var ESOMsg_value = map[string]int32{
|
|
||||||
"k_ESOMsg_Create": 21,
|
|
||||||
"k_ESOMsg_Update": 22,
|
|
||||||
"k_ESOMsg_Destroy": 23,
|
|
||||||
"k_ESOMsg_CacheSubscribed": 24,
|
|
||||||
"k_ESOMsg_CacheUnsubscribed": 25,
|
|
||||||
"k_ESOMsg_UpdateMultiple": 26,
|
|
||||||
"k_ESOMsg_CacheSubscriptionRefresh": 28,
|
|
||||||
"k_ESOMsg_CacheSubscribedUpToDate": 29,
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x ESOMsg) Enum() *ESOMsg {
|
|
||||||
p := new(ESOMsg)
|
|
||||||
*p = x
|
|
||||||
return p
|
|
||||||
}
|
|
||||||
func (x ESOMsg) String() string {
|
|
||||||
return proto.EnumName(ESOMsg_name, int32(x))
|
|
||||||
}
|
|
||||||
func (x *ESOMsg) UnmarshalJSON(data []byte) error {
|
|
||||||
value, err := proto.UnmarshalJSONEnum(ESOMsg_value, data, "ESOMsg")
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
*x = ESOMsg(value)
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
func (ESOMsg) EnumDescriptor() ([]byte, []int) { return system_fileDescriptor0, []int{1} }
|
|
||||||
|
|
||||||
type EGCBaseClientMsg int32
|
|
||||||
|
|
||||||
const (
|
|
||||||
EGCBaseClientMsg_k_EMsgGCPingRequest EGCBaseClientMsg = 3001
|
|
||||||
EGCBaseClientMsg_k_EMsgGCPingResponse EGCBaseClientMsg = 3002
|
|
||||||
EGCBaseClientMsg_k_EMsgGCClientWelcome EGCBaseClientMsg = 4004
|
|
||||||
EGCBaseClientMsg_k_EMsgGCServerWelcome EGCBaseClientMsg = 4005
|
|
||||||
EGCBaseClientMsg_k_EMsgGCClientHello EGCBaseClientMsg = 4006
|
|
||||||
EGCBaseClientMsg_k_EMsgGCServerHello EGCBaseClientMsg = 4007
|
|
||||||
EGCBaseClientMsg_k_EMsgGCClientConnectionStatus EGCBaseClientMsg = 4009
|
|
||||||
EGCBaseClientMsg_k_EMsgGCServerConnectionStatus EGCBaseClientMsg = 4010
|
|
||||||
)
|
|
||||||
|
|
||||||
var EGCBaseClientMsg_name = map[int32]string{
|
|
||||||
3001: "k_EMsgGCPingRequest",
|
|
||||||
3002: "k_EMsgGCPingResponse",
|
|
||||||
4004: "k_EMsgGCClientWelcome",
|
|
||||||
4005: "k_EMsgGCServerWelcome",
|
|
||||||
4006: "k_EMsgGCClientHello",
|
|
||||||
4007: "k_EMsgGCServerHello",
|
|
||||||
4009: "k_EMsgGCClientConnectionStatus",
|
|
||||||
4010: "k_EMsgGCServerConnectionStatus",
|
|
||||||
}
|
|
||||||
var EGCBaseClientMsg_value = map[string]int32{
|
|
||||||
"k_EMsgGCPingRequest": 3001,
|
|
||||||
"k_EMsgGCPingResponse": 3002,
|
|
||||||
"k_EMsgGCClientWelcome": 4004,
|
|
||||||
"k_EMsgGCServerWelcome": 4005,
|
|
||||||
"k_EMsgGCClientHello": 4006,
|
|
||||||
"k_EMsgGCServerHello": 4007,
|
|
||||||
"k_EMsgGCClientConnectionStatus": 4009,
|
|
||||||
"k_EMsgGCServerConnectionStatus": 4010,
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x EGCBaseClientMsg) Enum() *EGCBaseClientMsg {
|
|
||||||
p := new(EGCBaseClientMsg)
|
|
||||||
*p = x
|
|
||||||
return p
|
|
||||||
}
|
|
||||||
func (x EGCBaseClientMsg) String() string {
|
|
||||||
return proto.EnumName(EGCBaseClientMsg_name, int32(x))
|
|
||||||
}
|
|
||||||
func (x *EGCBaseClientMsg) UnmarshalJSON(data []byte) error {
|
|
||||||
value, err := proto.UnmarshalJSONEnum(EGCBaseClientMsg_value, data, "EGCBaseClientMsg")
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
*x = EGCBaseClientMsg(value)
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
func (EGCBaseClientMsg) EnumDescriptor() ([]byte, []int) { return system_fileDescriptor0, []int{2} }
|
|
||||||
|
|
||||||
type EGCToGCMsg int32
|
|
||||||
|
|
||||||
const (
|
|
||||||
EGCToGCMsg_k_EGCToGCMsgMasterAck EGCToGCMsg = 150
|
|
||||||
EGCToGCMsg_k_EGCToGCMsgMasterAckResponse EGCToGCMsg = 151
|
|
||||||
EGCToGCMsg_k_EGCToGCMsgRouted EGCToGCMsg = 152
|
|
||||||
EGCToGCMsg_k_EGCToGCMsgRoutedReply EGCToGCMsg = 153
|
|
||||||
EGCToGCMsg_k_EMsgGCUpdateSubGCSessionInfo EGCToGCMsg = 154
|
|
||||||
EGCToGCMsg_k_EMsgGCRequestSubGCSessionInfo EGCToGCMsg = 155
|
|
||||||
EGCToGCMsg_k_EMsgGCRequestSubGCSessionInfoResponse EGCToGCMsg = 156
|
|
||||||
EGCToGCMsg_k_EGCToGCMsgMasterStartupComplete EGCToGCMsg = 157
|
|
||||||
EGCToGCMsg_k_EMsgGCToGCSOCacheSubscribe EGCToGCMsg = 158
|
|
||||||
EGCToGCMsg_k_EMsgGCToGCSOCacheUnsubscribe EGCToGCMsg = 159
|
|
||||||
EGCToGCMsg_k_EMsgGCToGCLoadSessionSOCache EGCToGCMsg = 160
|
|
||||||
EGCToGCMsg_k_EMsgGCToGCLoadSessionSOCacheResponse EGCToGCMsg = 161
|
|
||||||
EGCToGCMsg_k_EMsgGCToGCUpdateSessionStats EGCToGCMsg = 162
|
|
||||||
)
|
|
||||||
|
|
||||||
var EGCToGCMsg_name = map[int32]string{
|
|
||||||
150: "k_EGCToGCMsgMasterAck",
|
|
||||||
151: "k_EGCToGCMsgMasterAckResponse",
|
|
||||||
152: "k_EGCToGCMsgRouted",
|
|
||||||
153: "k_EGCToGCMsgRoutedReply",
|
|
||||||
154: "k_EMsgGCUpdateSubGCSessionInfo",
|
|
||||||
155: "k_EMsgGCRequestSubGCSessionInfo",
|
|
||||||
156: "k_EMsgGCRequestSubGCSessionInfoResponse",
|
|
||||||
157: "k_EGCToGCMsgMasterStartupComplete",
|
|
||||||
158: "k_EMsgGCToGCSOCacheSubscribe",
|
|
||||||
159: "k_EMsgGCToGCSOCacheUnsubscribe",
|
|
||||||
160: "k_EMsgGCToGCLoadSessionSOCache",
|
|
||||||
161: "k_EMsgGCToGCLoadSessionSOCacheResponse",
|
|
||||||
162: "k_EMsgGCToGCUpdateSessionStats",
|
|
||||||
}
|
|
||||||
var EGCToGCMsg_value = map[string]int32{
|
|
||||||
"k_EGCToGCMsgMasterAck": 150,
|
|
||||||
"k_EGCToGCMsgMasterAckResponse": 151,
|
|
||||||
"k_EGCToGCMsgRouted": 152,
|
|
||||||
"k_EGCToGCMsgRoutedReply": 153,
|
|
||||||
"k_EMsgGCUpdateSubGCSessionInfo": 154,
|
|
||||||
"k_EMsgGCRequestSubGCSessionInfo": 155,
|
|
||||||
"k_EMsgGCRequestSubGCSessionInfoResponse": 156,
|
|
||||||
"k_EGCToGCMsgMasterStartupComplete": 157,
|
|
||||||
"k_EMsgGCToGCSOCacheSubscribe": 158,
|
|
||||||
"k_EMsgGCToGCSOCacheUnsubscribe": 159,
|
|
||||||
"k_EMsgGCToGCLoadSessionSOCache": 160,
|
|
||||||
"k_EMsgGCToGCLoadSessionSOCacheResponse": 161,
|
|
||||||
"k_EMsgGCToGCUpdateSessionStats": 162,
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x EGCToGCMsg) Enum() *EGCToGCMsg {
|
|
||||||
p := new(EGCToGCMsg)
|
|
||||||
*p = x
|
|
||||||
return p
|
|
||||||
}
|
|
||||||
func (x EGCToGCMsg) String() string {
|
|
||||||
return proto.EnumName(EGCToGCMsg_name, int32(x))
|
|
||||||
}
|
|
||||||
func (x *EGCToGCMsg) UnmarshalJSON(data []byte) error {
|
|
||||||
value, err := proto.UnmarshalJSONEnum(EGCToGCMsg_value, data, "EGCToGCMsg")
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
*x = EGCToGCMsg(value)
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
func (EGCToGCMsg) EnumDescriptor() ([]byte, []int) { return system_fileDescriptor0, []int{3} }
|
|
||||||
|
|
||||||
func init() {
|
|
||||||
proto.RegisterEnum("EGCSystemMsg", EGCSystemMsg_name, EGCSystemMsg_value)
|
|
||||||
proto.RegisterEnum("ESOMsg", ESOMsg_name, ESOMsg_value)
|
|
||||||
proto.RegisterEnum("EGCBaseClientMsg", EGCBaseClientMsg_name, EGCBaseClientMsg_value)
|
|
||||||
proto.RegisterEnum("EGCToGCMsg", EGCToGCMsg_name, EGCToGCMsg_value)
|
|
||||||
}
|
|
||||||
|
|
||||||
var system_fileDescriptor0 = []byte{
|
|
||||||
// 1475 bytes of a gzipped FileDescriptorProto
|
|
||||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x84, 0x57, 0x59, 0x73, 0x1b, 0xc5,
|
|
||||||
0x13, 0xcf, 0x96, 0xfc, 0xff, 0x3f, 0x4c, 0x41, 0xd1, 0x99, 0xc4, 0x47, 0x12, 0x27, 0x4a, 0x42,
|
|
||||||
0x0e, 0x62, 0xa8, 0x3c, 0x84, 0xfb, 0x46, 0x91, 0x64, 0x5b, 0x41, 0x8e, 0x15, 0x4b, 0xb6, 0xb9,
|
|
||||||
0xcd, 0x7a, 0x35, 0xb6, 0xb6, 0x2c, 0xed, 0x2c, 0x33, 0xbb, 0x26, 0x7e, 0x0b, 0xd7, 0x57, 0xe0,
|
|
||||||
0xbe, 0x8b, 0xa3, 0xe0, 0x1b, 0xc0, 0x27, 0xe0, 0x7c, 0x81, 0x57, 0xee, 0x7c, 0x01, 0x1e, 0xb8,
|
|
||||||
0x21, 0x55, 0xf4, 0xee, 0xce, 0xce, 0xce, 0x4a, 0xb2, 0x79, 0x93, 0xe6, 0xd7, 0xdd, 0xd3, 0xdd,
|
|
||||||
0xd3, 0xfd, 0xeb, 0x5e, 0x42, 0xd7, 0x1d, 0xb9, 0x25, 0x03, 0xd6, 0xeb, 0xc9, 0x75, 0x79, 0xda,
|
|
||||||
0x17, 0x3c, 0xe0, 0x53, 0x97, 0x47, 0xc9, 0x55, 0xd5, 0x99, 0x72, 0x33, 0x3e, 0x9f, 0x93, 0xeb,
|
|
||||||
0x74, 0x0f, 0xb9, 0x66, 0x63, 0x05, 0x4f, 0xf0, 0x77, 0xcd, 0xdb, 0xb4, 0xbb, 0x6e, 0x1b, 0x76,
|
|
||||||
0xd1, 0xdd, 0xe4, 0xea, 0xf4, 0x70, 0x2e, 0xec, 0x06, 0x2e, 0x58, 0x74, 0x82, 0xec, 0x4d, 0x8f,
|
|
||||||
0x66, 0x98, 0xc7, 0x84, 0xeb, 0x2c, 0x30, 0xbf, 0xbb, 0x05, 0x84, 0x8e, 0x11, 0x9a, 0x22, 0x89,
|
|
||||||
0xd9, 0xb3, 0xb6, 0x64, 0x70, 0x86, 0x1e, 0x22, 0xfb, 0xd3, 0xf3, 0x92, 0xd3, 0x71, 0xd9, 0x26,
|
|
||||||
0xeb, 0x31, 0x2f, 0x28, 0x3d, 0x69, 0x8b, 0x36, 0x6b, 0xc3, 0x8d, 0xa6, 0x5e, 0x99, 0x7b, 0x65,
|
|
||||||
0xde, 0xeb, 0xd9, 0x5e, 0x1b, 0x6e, 0x32, 0x6f, 0x6a, 0x06, 0xb6, 0x08, 0x1a, 0x5d, 0x7b, 0xcb,
|
|
||||||
0xf5, 0xd6, 0xe1, 0x66, 0x3a, 0x4e, 0xf6, 0x64, 0x08, 0xf7, 0x53, 0xe0, 0x16, 0x7a, 0x80, 0x8c,
|
|
||||||
0xe7, 0x54, 0x66, 0xec, 0x1e, 0x93, 0x4c, 0x6c, 0x32, 0x01, 0xb7, 0xd2, 0xfd, 0x64, 0xcc, 0xd4,
|
|
||||||
0x32, 0xb0, 0xdb, 0xe8, 0x28, 0xd9, 0x9d, 0x62, 0xcb, 0x33, 0x0b, 0xec, 0x89, 0x90, 0xc9, 0x00,
|
|
||||||
0x6e, 0x37, 0x5d, 0x8b, 0x8e, 0xa5, 0xcf, 0x3d, 0x0c, 0xe9, 0x0e, 0x7a, 0x94, 0x1c, 0xca, 0x92,
|
|
||||||
0x10, 0x2c, 0xa2, 0x99, 0xc8, 0x1a, 0x5e, 0x19, 0xc8, 0xa6, 0xd3, 0x61, 0x3d, 0x1b, 0xee, 0xa4,
|
|
||||||
0x53, 0xe4, 0xc4, 0xce, 0x32, 0xda, 0xde, 0x5d, 0x43, 0xec, 0xc5, 0x72, 0x95, 0x6a, 0x63, 0xa1,
|
|
||||||
0x5a, 0x2e, 0xb5, 0xaa, 0x15, 0xb8, 0x9b, 0x1e, 0x26, 0x93, 0xc3, 0x64, 0xb4, 0x95, 0x7b, 0xcc,
|
|
||||||
0x00, 0x4b, 0xbe, 0x5f, 0xf3, 0xd6, 0xf8, 0xa2, 0xdf, 0xb6, 0x03, 0x4c, 0xf2, 0xbd, 0x66, 0x66,
|
|
||||||
0x96, 0xa2, 0xc7, 0xc5, 0xe3, 0x26, 0x93, 0xd2, 0xe5, 0x1e, 0xdc, 0x47, 0xaf, 0x25, 0xc5, 0x6d,
|
|
||||||
0x40, 0x6d, 0xbd, 0x64, 0xfa, 0x58, 0xe7, 0x7c, 0x23, 0xf4, 0x4b, 0x8e, 0xc3, 0x43, 0x2f, 0x98,
|
|
||||||
0x16, 0xbc, 0x57, 0xf3, 0xfc, 0x30, 0x80, 0xb3, 0xb9, 0xfc, 0x33, 0xaf, 0x3d, 0xdb, 0x6a, 0x35,
|
|
||||||
0xd2, 0x64, 0x96, 0xcd, 0x5b, 0xfa, 0x40, 0x7d, 0x4b, 0xc5, 0x7c, 0xf4, 0x86, 0x60, 0x2d, 0x04,
|
|
||||||
0x9b, 0x2c, 0x08, 0x7d, 0xa8, 0xd2, 0x22, 0x39, 0x90, 0x22, 0x0b, 0xcc, 0xe1, 0xa2, 0xdd, 0x0c,
|
|
||||||
0x7d, 0x9f, 0x8b, 0xa0, 0xe4, 0x04, 0x51, 0x14, 0xd3, 0xf4, 0x3a, 0x72, 0xcc, 0x48, 0x90, 0xf2,
|
|
||||||
0xae, 0xc2, 0x02, 0xdb, 0xed, 0xca, 0x15, 0x23, 0x95, 0x33, 0x66, 0x28, 0x68, 0x8a, 0xb9, 0x9b,
|
|
||||||
0xac, 0xe6, 0x05, 0x4c, 0x60, 0xd2, 0xe6, 0x30, 0x6c, 0x7b, 0x9d, 0x41, 0xcd, 0x74, 0x64, 0xda,
|
|
||||||
0xf5, 0xda, 0xca, 0x9c, 0x84, 0x73, 0x66, 0xad, 0x34, 0xb8, 0x0c, 0x4a, 0x5d, 0x26, 0x02, 0xb8,
|
|
||||||
0xdf, 0x2c, 0x4a, 0xbc, 0xbe, 0xee, 0x3a, 0x0c, 0x23, 0x92, 0x50, 0xcf, 0x77, 0x4c, 0xf6, 0x70,
|
|
||||||
0x30, 0xd7, 0xa7, 0xa2, 0x2a, 0x5f, 0xc2, 0x79, 0x33, 0x56, 0x03, 0xd0, 0x69, 0x9a, 0xcf, 0x3d,
|
|
||||||
0x75, 0xbb, 0x3d, 0x2d, 0x18, 0x53, 0x17, 0x42, 0xc3, 0x8c, 0x2e, 0x8f, 0x69, 0xfd, 0x0b, 0x74,
|
|
||||||
0x1f, 0x19, 0x35, 0x2e, 0xa8, 0x35, 0xea, 0xdc, 0xb1, 0xe3, 0x34, 0x2e, 0xd0, 0x23, 0xe4, 0xe0,
|
|
||||||
0x50, 0x48, 0x6b, 0x37, 0xe9, 0x41, 0xb2, 0x2f, 0xdf, 0xe9, 0x66, 0xe5, 0xb7, 0x4c, 0xe7, 0xd0,
|
|
||||||
0x82, 0x21, 0x01, 0x8b, 0x7d, 0x95, 0x6e, 0x60, 0xda, 0xfc, 0x92, 0x99, 0xe0, 0xa8, 0x50, 0xaa,
|
|
||||||
0x3d, 0x7c, 0x41, 0x58, 0xce, 0xdd, 0x9a, 0x1e, 0x6b, 0xad, 0x07, 0xe8, 0x24, 0x99, 0x30, 0x2c,
|
|
||||||
0xc7, 0x68, 0x8b, 0xf5, 0xfc, 0x2e, 0x16, 0x33, 0x3c, 0x48, 0x8f, 0x91, 0xc3, 0xdb, 0xa1, 0xda,
|
|
||||||
0xc6, 0x43, 0x39, 0xcf, 0x85, 0xed, 0x05, 0x33, 0x51, 0x75, 0x36, 0x6c, 0x29, 0xe1, 0xe1, 0x9c,
|
|
||||||
0xe7, 0x39, 0x4c, 0xeb, 0x3f, 0x62, 0xba, 0x38, 0x50, 0x82, 0xf0, 0x28, 0x3d, 0x4e, 0x8e, 0x6c,
|
|
||||||
0x0b, 0x6b, 0x2b, 0x8f, 0x99, 0x5d, 0x84, 0x62, 0x0d, 0x26, 0x24, 0xf7, 0xec, 0xf3, 0x11, 0x5d,
|
|
||||||
0xc1, 0x8a, 0xd9, 0x45, 0x7d, 0xa0, 0xb6, 0xf0, 0xb8, 0x59, 0x72, 0x31, 0x6f, 0xfb, 0x5d, 0x76,
|
|
||||||
0x11, 0x7f, 0x83, 0x6d, 0xe6, 0x61, 0x99, 0xad, 0x96, 0x1a, 0xb5, 0x05, 0xb6, 0xee, 0xe2, 0x23,
|
|
||||||
0x88, 0xb8, 0x03, 0xd6, 0x6c, 0x07, 0x2f, 0x61, 0x66, 0x2e, 0x13, 0xa9, 0x73, 0x7c, 0x35, 0x6d,
|
|
||||||
0xe4, 0x35, 0xb3, 0xd1, 0xfa, 0xd1, 0xd9, 0x20, 0xf0, 0xb5, 0x1f, 0x1d, 0x7a, 0x3d, 0x39, 0xb9,
|
|
||||||
0x9d, 0xe4, 0x34, 0x17, 0xd1, 0x04, 0xd0, 0xc2, 0x2e, 0xd6, 0x64, 0xe6, 0x34, 0xeb, 0x95, 0x6d,
|
|
||||||
0x2c, 0xa7, 0x36, 0x86, 0x08, 0x9f, 0x58, 0x58, 0x93, 0x93, 0xc3, 0x20, 0xad, 0xfc, 0xa9, 0x35,
|
|
||||||
0x54, 0x1b, 0xa9, 0x03, 0x3e, 0xb3, 0x30, 0x9a, 0xf1, 0x01, 0xa8, 0xc2, 0xba, 0x0c, 0x0b, 0xe3,
|
|
||||||
0x73, 0x0b, 0xb3, 0x3d, 0x36, 0xa8, 0x18, 0x57, 0xeb, 0x17, 0x16, 0x66, 0xfb, 0xd0, 0x70, 0x50,
|
|
||||||
0x5f, 0xfd, 0xa5, 0x85, 0xf5, 0x0a, 0xba, 0x30, 0x2f, 0xd4, 0x13, 0xdd, 0xaf, 0x2c, 0x2c, 0x86,
|
|
||||||
0x89, 0xfe, 0x63, 0xad, 0xf5, 0xb5, 0x85, 0x3d, 0xae, 0xc7, 0xe2, 0x9c, 0x1d, 0xbd, 0x00, 0x7a,
|
|
||||||
0x5b, 0x71, 0x05, 0x73, 0x02, 0x2e, 0xb6, 0xe0, 0x1b, 0x8b, 0x9e, 0x24, 0x47, 0xb7, 0x17, 0xd0,
|
|
||||||
0x96, 0xbe, 0xcd, 0x3b, 0x99, 0x0a, 0xaa, 0xc7, 0xe5, 0x61, 0x10, 0x4d, 0xc6, 0xef, 0x2c, 0x7c,
|
|
||||||
0x8a, 0x13, 0x3b, 0x0b, 0x69, 0x8b, 0xdf, 0x5b, 0xf4, 0x44, 0x56, 0xa8, 0x5a, 0xb8, 0xdc, 0x75,
|
|
||||||
0x71, 0x6c, 0x47, 0x94, 0xa9, 0x8c, 0xfe, 0x60, 0xd1, 0xd3, 0xe4, 0xd4, 0x7f, 0xca, 0x69, 0xbb,
|
|
||||||
0x3f, 0x5a, 0x48, 0x78, 0xd9, 0x8a, 0xc0, 0x82, 0x79, 0x3f, 0xe2, 0x15, 0x09, 0x3f, 0xe5, 0x92,
|
|
||||||
0x91, 0x01, 0x5a, 0xf3, 0x72, 0xb4, 0x76, 0xec, 0x19, 0x5c, 0x2e, 0xce, 0xc0, 0x2f, 0x05, 0x33,
|
|
||||||
0xfa, 0xa8, 0x21, 0x42, 0xe1, 0x74, 0x10, 0x6a, 0x89, 0x10, 0x47, 0x07, 0xe6, 0x3c, 0x94, 0xf0,
|
|
||||||
0x6b, 0xc1, 0x8c, 0x7e, 0xb8, 0x90, 0xbe, 0xeb, 0xb7, 0x02, 0xb2, 0x80, 0x26, 0xc7, 0x64, 0x80,
|
|
||||||
0xa6, 0x93, 0xf2, 0xf7, 0x02, 0xb6, 0x70, 0xc6, 0x23, 0x65, 0xd5, 0xc1, 0x4b, 0xb6, 0x93, 0x18,
|
|
||||||
0x29, 0x77, 0x6c, 0x0f, 0x87, 0xc7, 0x1f, 0x05, 0xb3, 0xe4, 0xca, 0x1d, 0xe6, 0x6c, 0x4c, 0x0b,
|
|
||||||
0x4c, 0x4a, 0x5b, 0x76, 0x5c, 0x1f, 0xfe, 0x2c, 0x60, 0x13, 0x16, 0xb7, 0x41, 0xb5, 0x1b, 0x7f,
|
|
||||||
0x15, 0x90, 0x70, 0x4c, 0x22, 0x6e, 0xe0, 0x3a, 0x83, 0xeb, 0x96, 0xba, 0xb2, 0xee, 0x7a, 0x1b,
|
|
||||||
0xf0, 0x77, 0x01, 0x97, 0x8c, 0xe3, 0x3b, 0xca, 0x68, 0x7b, 0xff, 0x14, 0xe8, 0xa9, 0xac, 0x6d,
|
|
||||||
0x97, 0x9a, 0xb8, 0xb4, 0xe1, 0xec, 0xc4, 0x62, 0x0e, 0xa5, 0xef, 0x3a, 0x2e, 0x0f, 0x65, 0x34,
|
|
||||||
0x47, 0x37, 0xdd, 0x60, 0x0b, 0xae, 0x14, 0xcc, 0xe7, 0xa8, 0x34, 0x94, 0xd5, 0x39, 0xd7, 0x11,
|
|
||||||
0xbc, 0x75, 0x11, 0xdf, 0xeb, 0xd2, 0x88, 0x59, 0x9b, 0x83, 0x02, 0xfa, 0xd2, 0xa7, 0x46, 0xcc,
|
|
||||||
0xde, 0x88, 0xa7, 0x49, 0xa9, 0x79, 0x1e, 0x9e, 0x1e, 0x31, 0x7b, 0x23, 0x3d, 0xd6, 0x5a, 0xcf,
|
|
||||||
0x8c, 0xe0, 0xca, 0x98, 0xe3, 0x51, 0xdf, 0x57, 0x19, 0xaa, 0x23, 0x55, 0xc1, 0xb3, 0x23, 0x66,
|
|
||||||
0x7d, 0x0e, 0xe0, 0xda, 0xce, 0x73, 0x23, 0x53, 0x3f, 0x5b, 0xe4, 0xff, 0xd5, 0xe6, 0x7c, 0xb6,
|
|
||||||
0xdf, 0xc6, 0xbf, 0x57, 0xca, 0x82, 0x45, 0x53, 0x61, 0x34, 0x77, 0x98, 0x3c, 0x35, 0x8c, 0xd1,
|
|
||||||
0xbd, 0xb1, 0xcb, 0xc9, 0x61, 0x05, 0x99, 0x4a, 0xf0, 0x2d, 0x18, 0x57, 0x94, 0xa8, 0xf4, 0x23,
|
|
||||||
0x1e, 0x68, 0x86, 0xab, 0xd2, 0x11, 0xee, 0x2a, 0xae, 0x57, 0x13, 0x6a, 0xc7, 0x35, 0xd0, 0x45,
|
|
||||||
0x4f, 0x66, 0xf8, 0x3e, 0x45, 0xe9, 0xe6, 0x45, 0x29, 0x2f, 0xc3, 0x7e, 0x35, 0x16, 0x06, 0x4d,
|
|
||||||
0xfb, 0xc9, 0xd8, 0x5d, 0x13, 0x4c, 0x76, 0x60, 0x52, 0x51, 0xf7, 0x50, 0x0f, 0x16, 0xfd, 0x16,
|
|
||||||
0xaf, 0x44, 0xde, 0x1f, 0x9c, 0xba, 0x62, 0x11, 0xc0, 0xcc, 0x44, 0xed, 0xa1, 0x3b, 0x51, 0x75,
|
|
||||||
0x4f, 0x5c, 0xb3, 0x8d, 0xb8, 0x25, 0x13, 0x2a, 0xff, 0x68, 0x5c, 0xd1, 0xa6, 0x81, 0xa8, 0xe4,
|
|
||||||
0x7d, 0x3c, 0xae, 0xda, 0x20, 0x86, 0x12, 0x4b, 0xcb, 0xac, 0xeb, 0xf0, 0x1e, 0x83, 0x77, 0x8a,
|
|
||||||
0x26, 0xd6, 0x8c, 0x77, 0xe8, 0x14, 0x7b, 0xb7, 0x68, 0x5e, 0x96, 0xe8, 0xcd, 0xb2, 0x6e, 0x97,
|
|
||||||
0xc3, 0x7b, 0x39, 0x24, 0xd1, 0x4a, 0x90, 0xf7, 0x8b, 0xaa, 0x89, 0x0d, 0x1d, 0xfc, 0x12, 0xf0,
|
|
||||||
0x58, 0xbc, 0xd9, 0xa9, 0x26, 0xfe, 0x20, 0x27, 0x94, 0xa8, 0x0f, 0x08, 0x7d, 0x58, 0x9c, 0xba,
|
|
||||||
0x5c, 0x20, 0x04, 0xe3, 0x6f, 0xf1, 0xb8, 0x3a, 0x74, 0x2f, 0xab, 0xff, 0x09, 0x4b, 0x95, 0x9c,
|
|
||||||
0x0d, 0x78, 0xde, 0xd2, 0x0d, 0xd6, 0x8f, 0xe9, 0x24, 0xbc, 0x90, 0x31, 0x96, 0x92, 0x89, 0x38,
|
|
||||||
0x0d, 0x1f, 0xf4, 0xc5, 0x6c, 0xa8, 0xe4, 0x80, 0xe4, 0x53, 0xe8, 0x25, 0xcb, 0x74, 0x55, 0x51,
|
|
||||||
0x48, 0xb8, 0x1a, 0x79, 0x1d, 0xf3, 0x48, 0xb4, 0x99, 0xc3, 0xcb, 0x96, 0xa2, 0x81, 0x58, 0x48,
|
|
||||||
0xbd, 0xc8, 0x80, 0xd4, 0x2b, 0x16, 0xbd, 0x21, 0x9e, 0xa1, 0x3b, 0x49, 0x69, 0x7f, 0x5f, 0xcd,
|
|
||||||
0x98, 0x3b, 0x17, 0x53, 0xfc, 0x2d, 0x14, 0xfa, 0xb8, 0x47, 0xfa, 0xf1, 0xd4, 0x7b, 0x2d, 0x9d,
|
|
||||||
0xa8, 0xb1, 0xd5, 0x48, 0xb4, 0x39, 0x9f, 0xaf, 0x28, 0x78, 0x3d, 0x17, 0x83, 0x21, 0x62, 0x14,
|
|
||||||
0x36, 0xbc, 0x31, 0x20, 0x54, 0xe7, 0x76, 0x5b, 0x79, 0xa6, 0xe4, 0xe1, 0xcd, 0x74, 0xf6, 0xec,
|
|
||||||
0x20, 0xa4, 0x23, 0x78, 0x6b, 0xc0, 0x62, 0x8e, 0x81, 0x93, 0xd9, 0xfa, 0xb6, 0x75, 0xf6, 0x7f,
|
|
||||||
0xb3, 0xd6, 0x25, 0x6b, 0xd7, 0xbf, 0x01, 0x00, 0x00, 0xff, 0xff, 0x05, 0xab, 0xaf, 0x14, 0xda,
|
|
||||||
0x0e, 0x00, 0x00,
|
|
||||||
}
|
|
188
vendor/github.com/Philipp15b/go-steam/economy/inventory/inventory.go
generated
vendored
188
vendor/github.com/Philipp15b/go-steam/economy/inventory/inventory.go
generated
vendored
@ -1,188 +0,0 @@
|
|||||||
/*
|
|
||||||
Includes inventory types as used in the trade package
|
|
||||||
*/
|
|
||||||
package inventory
|
|
||||||
|
|
||||||
import (
|
|
||||||
"bytes"
|
|
||||||
"encoding/json"
|
|
||||||
"fmt"
|
|
||||||
"github.com/Philipp15b/go-steam/jsont"
|
|
||||||
"strconv"
|
|
||||||
)
|
|
||||||
|
|
||||||
type GenericInventory map[uint32]map[uint64]*Inventory
|
|
||||||
|
|
||||||
func NewGenericInventory() GenericInventory {
|
|
||||||
iMap := make(map[uint32]map[uint64]*Inventory)
|
|
||||||
return GenericInventory(iMap)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Get inventory for specified AppId and ContextId
|
|
||||||
func (i *GenericInventory) Get(appId uint32, contextId uint64) (*Inventory, error) {
|
|
||||||
iMap := (map[uint32]map[uint64]*Inventory)(*i)
|
|
||||||
iMap2, ok := iMap[appId]
|
|
||||||
if !ok {
|
|
||||||
return nil, fmt.Errorf("inventory for specified appId not found")
|
|
||||||
}
|
|
||||||
inv, ok := iMap2[contextId]
|
|
||||||
if !ok {
|
|
||||||
return nil, fmt.Errorf("inventory for specified contextId not found")
|
|
||||||
}
|
|
||||||
return inv, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (i *GenericInventory) Add(appId uint32, contextId uint64, inv *Inventory) {
|
|
||||||
iMap := (map[uint32]map[uint64]*Inventory)(*i)
|
|
||||||
iMap2, ok := iMap[appId]
|
|
||||||
if !ok {
|
|
||||||
iMap2 = make(map[uint64]*Inventory)
|
|
||||||
iMap[appId] = iMap2
|
|
||||||
}
|
|
||||||
iMap2[contextId] = inv
|
|
||||||
}
|
|
||||||
|
|
||||||
type Inventory struct {
|
|
||||||
Items Items `json:"rgInventory"`
|
|
||||||
Currencies Currencies `json:"rgCurrency"`
|
|
||||||
Descriptions Descriptions `json:"rgDescriptions"`
|
|
||||||
AppInfo *AppInfo `json:"rgAppInfo"`
|
|
||||||
}
|
|
||||||
|
|
||||||
// Items key is an AssetId
|
|
||||||
type Items map[string]*Item
|
|
||||||
|
|
||||||
func (i *Items) ToMap() map[string]*Item {
|
|
||||||
return (map[string]*Item)(*i)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (i *Items) Get(assetId uint64) (*Item, error) {
|
|
||||||
iMap := (map[string]*Item)(*i)
|
|
||||||
if item, ok := iMap[strconv.FormatUint(assetId, 10)]; ok {
|
|
||||||
return item, nil
|
|
||||||
}
|
|
||||||
return nil, fmt.Errorf("item not found")
|
|
||||||
}
|
|
||||||
|
|
||||||
func (i *Items) UnmarshalJSON(data []byte) error {
|
|
||||||
if bytes.Equal(data, []byte("[]")) {
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
return json.Unmarshal(data, (*map[string]*Item)(i))
|
|
||||||
}
|
|
||||||
|
|
||||||
type Currencies map[string]*Currency
|
|
||||||
|
|
||||||
func (c *Currencies) ToMap() map[string]*Currency {
|
|
||||||
return (map[string]*Currency)(*c)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (c *Currencies) UnmarshalJSON(data []byte) error {
|
|
||||||
if bytes.Equal(data, []byte("[]")) {
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
return json.Unmarshal(data, (*map[string]*Currency)(c))
|
|
||||||
}
|
|
||||||
|
|
||||||
// Descriptions key format is %d_%d, first %d is ClassId, second is InstanceId
|
|
||||||
type Descriptions map[string]*Description
|
|
||||||
|
|
||||||
func (d *Descriptions) ToMap() map[string]*Description {
|
|
||||||
return (map[string]*Description)(*d)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (d *Descriptions) Get(classId uint64, instanceId uint64) (*Description, error) {
|
|
||||||
dMap := (map[string]*Description)(*d)
|
|
||||||
descId := fmt.Sprintf("%v_%v", classId, instanceId)
|
|
||||||
if desc, ok := dMap[descId]; ok {
|
|
||||||
return desc, nil
|
|
||||||
}
|
|
||||||
return nil, fmt.Errorf("description not found")
|
|
||||||
}
|
|
||||||
|
|
||||||
func (d *Descriptions) UnmarshalJSON(data []byte) error {
|
|
||||||
if bytes.Equal(data, []byte("[]")) {
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
return json.Unmarshal(data, (*map[string]*Description)(d))
|
|
||||||
}
|
|
||||||
|
|
||||||
type Item struct {
|
|
||||||
Id uint64 `json:",string"`
|
|
||||||
ClassId uint64 `json:",string"`
|
|
||||||
InstanceId uint64 `json:",string"`
|
|
||||||
Amount uint64 `json:",string"`
|
|
||||||
Pos uint32
|
|
||||||
}
|
|
||||||
|
|
||||||
type Currency struct {
|
|
||||||
Id uint64 `json:",string"`
|
|
||||||
ClassId uint64 `json:",string"`
|
|
||||||
IsCurrency bool `json:"is_currency"`
|
|
||||||
Pos uint32
|
|
||||||
}
|
|
||||||
|
|
||||||
type Description struct {
|
|
||||||
AppId uint32 `json:",string"`
|
|
||||||
ClassId uint64 `json:",string"`
|
|
||||||
InstanceId uint64 `json:",string"`
|
|
||||||
|
|
||||||
IconUrl string `json:"icon_url"`
|
|
||||||
IconUrlLarge string `json:"icon_url_large"`
|
|
||||||
IconDragUrl string `json:"icon_drag_url"`
|
|
||||||
|
|
||||||
Name string
|
|
||||||
MarketName string `json:"market_name"`
|
|
||||||
MarketHashName string `json:"market_hash_name"`
|
|
||||||
|
|
||||||
// Colors in hex, for example `B2B2B2`
|
|
||||||
NameColor string `json:"name_color"`
|
|
||||||
BackgroundColor string `json:"background_color"`
|
|
||||||
|
|
||||||
Type string
|
|
||||||
|
|
||||||
Tradable jsont.UintBool
|
|
||||||
Marketable jsont.UintBool
|
|
||||||
Commodity jsont.UintBool
|
|
||||||
MarketTradableRestriction uint32 `json:"market_tradable_restriction,string"`
|
|
||||||
|
|
||||||
Descriptions DescriptionLines
|
|
||||||
Actions []*Action
|
|
||||||
// Application-specific data, like "def_index" and "quality" for TF2
|
|
||||||
AppData map[string]string
|
|
||||||
Tags []*Tag
|
|
||||||
}
|
|
||||||
|
|
||||||
type DescriptionLines []*DescriptionLine
|
|
||||||
|
|
||||||
func (d *DescriptionLines) UnmarshalJSON(data []byte) error {
|
|
||||||
if bytes.Equal(data, []byte(`""`)) {
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
return json.Unmarshal(data, (*[]*DescriptionLine)(d))
|
|
||||||
}
|
|
||||||
|
|
||||||
type DescriptionLine struct {
|
|
||||||
Value string
|
|
||||||
Type *string // Is `html` for HTML descriptions
|
|
||||||
Color *string
|
|
||||||
}
|
|
||||||
|
|
||||||
type Action struct {
|
|
||||||
Name string
|
|
||||||
Link string
|
|
||||||
}
|
|
||||||
|
|
||||||
type AppInfo struct {
|
|
||||||
AppId uint32
|
|
||||||
Name string
|
|
||||||
Icon string
|
|
||||||
Link string
|
|
||||||
}
|
|
||||||
|
|
||||||
type Tag struct {
|
|
||||||
InternalName string `json:internal_name`
|
|
||||||
Name string
|
|
||||||
Category string
|
|
||||||
CategoryName string `json:category_name`
|
|
||||||
}
|
|
79
vendor/github.com/Philipp15b/go-steam/economy/inventory/inventory_apps.go
generated
vendored
79
vendor/github.com/Philipp15b/go-steam/economy/inventory/inventory_apps.go
generated
vendored
@ -1,79 +0,0 @@
|
|||||||
package inventory
|
|
||||||
|
|
||||||
import (
|
|
||||||
"encoding/json"
|
|
||||||
"fmt"
|
|
||||||
"github.com/Philipp15b/go-steam/steamid"
|
|
||||||
"io/ioutil"
|
|
||||||
"net/http"
|
|
||||||
"regexp"
|
|
||||||
"strconv"
|
|
||||||
)
|
|
||||||
|
|
||||||
type InventoryApps map[string]*InventoryApp
|
|
||||||
|
|
||||||
func (i *InventoryApps) Get(appId uint32) (*InventoryApp, error) {
|
|
||||||
iMap := (map[string]*InventoryApp)(*i)
|
|
||||||
if inventoryApp, ok := iMap[strconv.FormatUint(uint64(appId), 10)]; ok {
|
|
||||||
return inventoryApp, nil
|
|
||||||
}
|
|
||||||
return nil, fmt.Errorf("inventory app not found")
|
|
||||||
}
|
|
||||||
|
|
||||||
func (i *InventoryApps) ToMap() map[string]*InventoryApp {
|
|
||||||
return (map[string]*InventoryApp)(*i)
|
|
||||||
}
|
|
||||||
|
|
||||||
type InventoryApp struct {
|
|
||||||
AppId uint32
|
|
||||||
Name string
|
|
||||||
Icon string
|
|
||||||
Link string
|
|
||||||
AssetCount uint32 `json:"asset_count"`
|
|
||||||
InventoryLogo string `json:"inventory_logo"`
|
|
||||||
TradePermissions string `json:"trade_permissions"`
|
|
||||||
Contexts Contexts `json:"rgContexts"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type Contexts map[string]*Context
|
|
||||||
|
|
||||||
func (c *Contexts) Get(contextId uint64) (*Context, error) {
|
|
||||||
cMap := (map[string]*Context)(*c)
|
|
||||||
if context, ok := cMap[strconv.FormatUint(contextId, 10)]; ok {
|
|
||||||
return context, nil
|
|
||||||
}
|
|
||||||
return nil, fmt.Errorf("context not found")
|
|
||||||
}
|
|
||||||
|
|
||||||
func (c *Contexts) ToMap() map[string]*Context {
|
|
||||||
return (map[string]*Context)(*c)
|
|
||||||
}
|
|
||||||
|
|
||||||
type Context struct {
|
|
||||||
ContextId uint64 `json:"id,string"`
|
|
||||||
AssetCount uint32 `json:"asset_count"`
|
|
||||||
Name string
|
|
||||||
}
|
|
||||||
|
|
||||||
func GetInventoryApps(client *http.Client, steamId steamid.SteamId) (InventoryApps, error) {
|
|
||||||
resp, err := http.Get("http://steamcommunity.com/profiles/" + steamId.ToString() + "/inventory/")
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
defer resp.Body.Close()
|
|
||||||
respBody, err := ioutil.ReadAll(resp.Body)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
reg := regexp.MustCompile("var g_rgAppContextData = (.*?);")
|
|
||||||
inventoryAppsMatches := reg.FindSubmatch(respBody)
|
|
||||||
if inventoryAppsMatches == nil {
|
|
||||||
return nil, fmt.Errorf("profile inventory not found in steam response")
|
|
||||||
}
|
|
||||||
var inventoryApps InventoryApps
|
|
||||||
if err = json.Unmarshal(inventoryAppsMatches[1], &inventoryApps); err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
return inventoryApps, nil
|
|
||||||
}
|
|
28
vendor/github.com/Philipp15b/go-steam/economy/inventory/own.go
generated
vendored
28
vendor/github.com/Philipp15b/go-steam/economy/inventory/own.go
generated
vendored
@ -1,28 +0,0 @@
|
|||||||
package inventory
|
|
||||||
|
|
||||||
import (
|
|
||||||
"fmt"
|
|
||||||
"net/http"
|
|
||||||
"strconv"
|
|
||||||
)
|
|
||||||
|
|
||||||
func GetPartialOwnInventory(client *http.Client, contextId uint64, appId uint32, start *uint) (*PartialInventory, error) {
|
|
||||||
// TODO: the "trading" parameter can be left off to return non-tradable items too
|
|
||||||
url := fmt.Sprintf("http://steamcommunity.com/my/inventory/json/%d/%d?trading=1", appId, contextId)
|
|
||||||
if start != nil {
|
|
||||||
url += "&start=" + strconv.FormatUint(uint64(*start), 10)
|
|
||||||
}
|
|
||||||
req, err := http.NewRequest("GET", url, nil)
|
|
||||||
if err != nil {
|
|
||||||
panic(err)
|
|
||||||
}
|
|
||||||
return DoInventoryRequest(client, req)
|
|
||||||
}
|
|
||||||
|
|
||||||
func GetOwnInventory(client *http.Client, contextId uint64, appId uint32) (*Inventory, error) {
|
|
||||||
return GetFullInventory(func() (*PartialInventory, error) {
|
|
||||||
return GetPartialOwnInventory(client, contextId, appId, nil)
|
|
||||||
}, func(start uint) (*PartialInventory, error) {
|
|
||||||
return GetPartialOwnInventory(client, contextId, appId, &start)
|
|
||||||
})
|
|
||||||
}
|
|
91
vendor/github.com/Philipp15b/go-steam/economy/inventory/partial.go
generated
vendored
91
vendor/github.com/Philipp15b/go-steam/economy/inventory/partial.go
generated
vendored
@ -1,91 +0,0 @@
|
|||||||
package inventory
|
|
||||||
|
|
||||||
import (
|
|
||||||
"bytes"
|
|
||||||
"encoding/json"
|
|
||||||
"errors"
|
|
||||||
"net/http"
|
|
||||||
)
|
|
||||||
|
|
||||||
// A partial inventory as sent by the Steam API.
|
|
||||||
type PartialInventory struct {
|
|
||||||
Success bool
|
|
||||||
Error string
|
|
||||||
Inventory
|
|
||||||
More bool
|
|
||||||
MoreStart MoreStart `json:"more_start"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type MoreStart uint
|
|
||||||
|
|
||||||
func (m *MoreStart) UnmarshalJSON(data []byte) error {
|
|
||||||
if bytes.Equal(data, []byte("false")) {
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
return json.Unmarshal(data, (*uint)(m))
|
|
||||||
}
|
|
||||||
|
|
||||||
func DoInventoryRequest(client *http.Client, req *http.Request) (*PartialInventory, error) {
|
|
||||||
resp, err := client.Do(req)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
defer resp.Body.Close()
|
|
||||||
|
|
||||||
inv := new(PartialInventory)
|
|
||||||
err = json.NewDecoder(resp.Body).Decode(inv)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
return inv, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func GetFullInventory(getFirst func() (*PartialInventory, error), getNext func(start uint) (*PartialInventory, error)) (*Inventory, error) {
|
|
||||||
first, err := getFirst()
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
if !first.Success {
|
|
||||||
return nil, errors.New("GetFullInventory API call failed: " + first.Error)
|
|
||||||
}
|
|
||||||
|
|
||||||
result := &first.Inventory
|
|
||||||
var next *PartialInventory
|
|
||||||
for latest := first; latest.More; latest = next {
|
|
||||||
next, err := getNext(uint(latest.MoreStart))
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
if !next.Success {
|
|
||||||
return nil, errors.New("GetFullInventory API call failed: " + next.Error)
|
|
||||||
}
|
|
||||||
|
|
||||||
result = Merge(result, &next.Inventory)
|
|
||||||
}
|
|
||||||
|
|
||||||
return result, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// Merges the given Inventory into a single Inventory.
|
|
||||||
// The given slice must have at least one element. The first element of the slice is used
|
|
||||||
// and modified.
|
|
||||||
func Merge(p ...*Inventory) *Inventory {
|
|
||||||
inv := p[0]
|
|
||||||
for idx, i := range p {
|
|
||||||
if idx == 0 {
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
|
|
||||||
for key, value := range i.Items {
|
|
||||||
inv.Items[key] = value
|
|
||||||
}
|
|
||||||
for key, value := range i.Descriptions {
|
|
||||||
inv.Descriptions[key] = value
|
|
||||||
}
|
|
||||||
for key, value := range i.Currencies {
|
|
||||||
inv.Currencies[key] = value
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return inv
|
|
||||||
}
|
|
295
vendor/github.com/Philipp15b/go-steam/generator/generator.go
generated
vendored
295
vendor/github.com/Philipp15b/go-steam/generator/generator.go
generated
vendored
@ -1,295 +0,0 @@
|
|||||||
/*
|
|
||||||
This program generates the protobuf and SteamLanguage files from the SteamKit data.
|
|
||||||
*/
|
|
||||||
package main
|
|
||||||
|
|
||||||
import (
|
|
||||||
"bytes"
|
|
||||||
"fmt"
|
|
||||||
"go/ast"
|
|
||||||
"go/parser"
|
|
||||||
"go/token"
|
|
||||||
"io"
|
|
||||||
"io/ioutil"
|
|
||||||
"os"
|
|
||||||
"os/exec"
|
|
||||||
"path/filepath"
|
|
||||||
"regexp"
|
|
||||||
"runtime"
|
|
||||||
"strings"
|
|
||||||
)
|
|
||||||
|
|
||||||
var printCommands = false
|
|
||||||
|
|
||||||
func main() {
|
|
||||||
args := strings.Join(os.Args[1:], " ")
|
|
||||||
|
|
||||||
found := false
|
|
||||||
if strings.Contains(args, "clean") {
|
|
||||||
clean()
|
|
||||||
found = true
|
|
||||||
}
|
|
||||||
if strings.Contains(args, "steamlang") {
|
|
||||||
buildSteamLanguage()
|
|
||||||
found = true
|
|
||||||
}
|
|
||||||
if strings.Contains(args, "proto") {
|
|
||||||
buildProto()
|
|
||||||
found = true
|
|
||||||
}
|
|
||||||
|
|
||||||
if !found {
|
|
||||||
os.Stderr.WriteString("Invalid target!\nAvailable targets: clean, proto, steamlang\n")
|
|
||||||
os.Exit(1)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func clean() {
|
|
||||||
print("# Cleaning")
|
|
||||||
cleanGlob("../protocol/**/*.pb.go")
|
|
||||||
cleanGlob("../tf2/protocol/**/*.pb.go")
|
|
||||||
cleanGlob("../dota/protocol/**/*.pb.go")
|
|
||||||
|
|
||||||
os.Remove("../protocol/steamlang/enums.go")
|
|
||||||
os.Remove("../protocol/steamlang/messages.go")
|
|
||||||
}
|
|
||||||
|
|
||||||
func cleanGlob(pattern string) {
|
|
||||||
protos, _ := filepath.Glob(pattern)
|
|
||||||
for _, proto := range protos {
|
|
||||||
err := os.Remove(proto)
|
|
||||||
if err != nil {
|
|
||||||
panic(err)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func buildSteamLanguage() {
|
|
||||||
print("# Building Steam Language")
|
|
||||||
exePath := "./GoSteamLanguageGenerator/bin/Debug/GoSteamLanguageGenerator.exe"
|
|
||||||
|
|
||||||
if runtime.GOOS != "windows" {
|
|
||||||
execute("mono", exePath, "./SteamKit", "../protocol/steamlang")
|
|
||||||
} else {
|
|
||||||
execute(exePath, "./SteamKit", "../protocol/steamlang")
|
|
||||||
}
|
|
||||||
execute("gofmt", "-w", "../protocol/steamlang/enums.go", "../protocol/steamlang/messages.go")
|
|
||||||
}
|
|
||||||
|
|
||||||
func buildProto() {
|
|
||||||
print("# Building Protobufs")
|
|
||||||
|
|
||||||
buildProtoMap("steamclient", clientProtoFiles, "../protocol/protobuf")
|
|
||||||
buildProtoMap("tf", tf2ProtoFiles, "../tf2/protocol/protobuf")
|
|
||||||
buildProtoMap("dota", dotaProtoFiles, "../dota/protocol/protobuf")
|
|
||||||
}
|
|
||||||
|
|
||||||
func buildProtoMap(srcSubdir string, files map[string]string, outDir string) {
|
|
||||||
os.MkdirAll(outDir, os.ModePerm)
|
|
||||||
for proto, out := range files {
|
|
||||||
full := filepath.Join(outDir, out)
|
|
||||||
compileProto("SteamKit/Resources/Protobufs", srcSubdir, proto, full)
|
|
||||||
fixProto(full)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Maps the proto files to their target files.
|
|
||||||
// See `SteamKit/Resources/Protobufs/steamclient/generate-base.bat` for reference.
|
|
||||||
var clientProtoFiles = map[string]string{
|
|
||||||
"steammessages_base.proto": "base.pb.go",
|
|
||||||
"encrypted_app_ticket.proto": "app_ticket.pb.go",
|
|
||||||
|
|
||||||
"steammessages_clientserver.proto": "client_server.pb.go",
|
|
||||||
"steammessages_clientserver_2.proto": "client_server_2.pb.go",
|
|
||||||
|
|
||||||
"content_manifest.proto": "content_manifest.pb.go",
|
|
||||||
|
|
||||||
"steammessages_unified_base.steamclient.proto": "unified/base.pb.go",
|
|
||||||
"steammessages_cloud.steamclient.proto": "unified/cloud.pb.go",
|
|
||||||
"steammessages_credentials.steamclient.proto": "unified/credentials.pb.go",
|
|
||||||
"steammessages_deviceauth.steamclient.proto": "unified/deviceauth.pb.go",
|
|
||||||
"steammessages_gamenotifications.steamclient.proto": "unified/gamenotifications.pb.go",
|
|
||||||
"steammessages_offline.steamclient.proto": "unified/offline.pb.go",
|
|
||||||
"steammessages_parental.steamclient.proto": "unified/parental.pb.go",
|
|
||||||
"steammessages_partnerapps.steamclient.proto": "unified/partnerapps.pb.go",
|
|
||||||
"steammessages_player.steamclient.proto": "unified/player.pb.go",
|
|
||||||
"steammessages_publishedfile.steamclient.proto": "unified/publishedfile.pb.go",
|
|
||||||
}
|
|
||||||
|
|
||||||
var tf2ProtoFiles = map[string]string{
|
|
||||||
"base_gcmessages.proto": "base.pb.go",
|
|
||||||
"econ_gcmessages.proto": "econ.pb.go",
|
|
||||||
"gcsdk_gcmessages.proto": "gcsdk.pb.go",
|
|
||||||
"tf_gcmessages.proto": "tf.pb.go",
|
|
||||||
"gcsystemmsgs.proto": "system.pb.go",
|
|
||||||
}
|
|
||||||
|
|
||||||
var dotaProtoFiles = map[string]string{
|
|
||||||
"base_gcmessages.proto": "base.pb.go",
|
|
||||||
"econ_gcmessages.proto": "econ.pb.go",
|
|
||||||
"gcsdk_gcmessages.proto": "gcsdk.pb.go",
|
|
||||||
"dota_gcmessages_common.proto": "dota_common.pb.go",
|
|
||||||
"dota_gcmessages_client.proto": "dota_client.pb.go",
|
|
||||||
"dota_gcmessages_client_fantasy.proto": "dota_client_fantasy.pb.go",
|
|
||||||
"gcsystemmsgs.proto": "system.pb.go",
|
|
||||||
}
|
|
||||||
|
|
||||||
func compileProto(srcBase, srcSubdir, proto, target string) {
|
|
||||||
outDir, _ := filepath.Split(target)
|
|
||||||
err := os.MkdirAll(outDir, os.ModePerm)
|
|
||||||
if err != nil {
|
|
||||||
panic(err)
|
|
||||||
}
|
|
||||||
execute("protoc", "--go_out="+outDir, "-I="+srcBase+"/"+srcSubdir, "-I="+srcBase, filepath.Join(srcBase, srcSubdir, proto))
|
|
||||||
out := strings.Replace(filepath.Join(outDir, proto), ".proto", ".pb.go", 1)
|
|
||||||
err = forceRename(out, target)
|
|
||||||
if err != nil {
|
|
||||||
panic(err)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func forceRename(from, to string) error {
|
|
||||||
if from != to {
|
|
||||||
os.Remove(to)
|
|
||||||
}
|
|
||||||
return os.Rename(from, to)
|
|
||||||
}
|
|
||||||
|
|
||||||
var pkgRegex = regexp.MustCompile(`(package \w+)`)
|
|
||||||
var pkgCommentRegex = regexp.MustCompile(`(?s)(\/\*.*?\*\/\n)package`)
|
|
||||||
var unusedImportCommentRegex = regexp.MustCompile("// discarding unused import .*\n")
|
|
||||||
var fileDescriptorVarRegex = regexp.MustCompile(`fileDescriptor\d+`)
|
|
||||||
|
|
||||||
func fixProto(path string) {
|
|
||||||
// goprotobuf is really bad at dependencies, so we must fix them manually...
|
|
||||||
// It tries to load each dependency of a file as a seperate package (but in a very, very wrong way).
|
|
||||||
// Because we want some files in the same package, we'll remove those imports to local files.
|
|
||||||
|
|
||||||
file, err := ioutil.ReadFile(path)
|
|
||||||
if err != nil {
|
|
||||||
panic(err)
|
|
||||||
}
|
|
||||||
|
|
||||||
fset := token.NewFileSet()
|
|
||||||
f, err := parser.ParseFile(fset, path, file, parser.ImportsOnly)
|
|
||||||
if err != nil {
|
|
||||||
panic("Error parsing " + path + ": " + err.Error())
|
|
||||||
}
|
|
||||||
|
|
||||||
importsToRemove := make([]*ast.ImportSpec, 0)
|
|
||||||
for _, i := range f.Imports {
|
|
||||||
// We remove all local imports
|
|
||||||
if i.Path.Value == "\".\"" {
|
|
||||||
importsToRemove = append(importsToRemove, i)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
for _, itr := range importsToRemove {
|
|
||||||
// remove the package name from all types
|
|
||||||
file = bytes.Replace(file, []byte(itr.Name.Name+"."), []byte{}, -1)
|
|
||||||
// and remove the import itself
|
|
||||||
file = bytes.Replace(file, []byte(fmt.Sprintf("import %v %v\n", itr.Name.Name, itr.Path.Value)), []byte{}, -1)
|
|
||||||
}
|
|
||||||
|
|
||||||
// remove the package comment because it just includes a list of all messages and
|
|
||||||
// collides not only with the other compiled protobuf files, but also our own documentation.
|
|
||||||
file = cutAllSubmatch(pkgCommentRegex, file, 1)
|
|
||||||
|
|
||||||
// remove warnings
|
|
||||||
file = unusedImportCommentRegex.ReplaceAllLiteral(file, []byte{})
|
|
||||||
|
|
||||||
// fix the package name
|
|
||||||
file = pkgRegex.ReplaceAll(file, []byte("package "+inferPackageName(path)))
|
|
||||||
|
|
||||||
// fix the google dependency;
|
|
||||||
// we just reuse the one from protoc-gen-go
|
|
||||||
file = bytes.Replace(file, []byte("google/protobuf"), []byte("github.com/golang/protobuf/protoc-gen-go/descriptor"), -1)
|
|
||||||
|
|
||||||
// we need to prefix local variables created by protoc-gen-go so that they don't clash with others in the same package
|
|
||||||
filename := strings.Split(filepath.Base(path), ".")[0]
|
|
||||||
file = fileDescriptorVarRegex.ReplaceAllFunc(file, func(match []byte) []byte {
|
|
||||||
return []byte(filename + "_" + string(match))
|
|
||||||
})
|
|
||||||
|
|
||||||
err = ioutil.WriteFile(path, file, os.ModePerm)
|
|
||||||
if err != nil {
|
|
||||||
panic(err)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func inferPackageName(path string) string {
|
|
||||||
pieces := strings.Split(path, string(filepath.Separator))
|
|
||||||
return pieces[len(pieces)-2]
|
|
||||||
}
|
|
||||||
|
|
||||||
func cutAllSubmatch(r *regexp.Regexp, b []byte, n int) []byte {
|
|
||||||
i := r.FindSubmatchIndex(b)
|
|
||||||
return bytesCut(b, i[2*n], i[2*n+1])
|
|
||||||
}
|
|
||||||
|
|
||||||
// Removes the given section from the byte array
|
|
||||||
func bytesCut(b []byte, from, to int) []byte {
|
|
||||||
buf := new(bytes.Buffer)
|
|
||||||
buf.Write(b[:from])
|
|
||||||
buf.Write(b[to:])
|
|
||||||
return buf.Bytes()
|
|
||||||
}
|
|
||||||
|
|
||||||
func print(text string) { os.Stdout.WriteString(text + "\n") }
|
|
||||||
|
|
||||||
func printerr(text string) { os.Stderr.WriteString(text + "\n") }
|
|
||||||
|
|
||||||
// This writer appends a "> " after every newline so that the outpout appears quoted.
|
|
||||||
type QuotedWriter struct {
|
|
||||||
w io.Writer
|
|
||||||
started bool
|
|
||||||
}
|
|
||||||
|
|
||||||
func NewQuotedWriter(w io.Writer) *QuotedWriter {
|
|
||||||
return &QuotedWriter{w, false}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (w *QuotedWriter) Write(p []byte) (n int, err error) {
|
|
||||||
if !w.started {
|
|
||||||
_, err = w.w.Write([]byte("> "))
|
|
||||||
if err != nil {
|
|
||||||
return n, err
|
|
||||||
}
|
|
||||||
w.started = true
|
|
||||||
}
|
|
||||||
|
|
||||||
for i, c := range p {
|
|
||||||
if c == '\n' {
|
|
||||||
nw, err := w.w.Write(p[n : i+1])
|
|
||||||
n += nw
|
|
||||||
if err != nil {
|
|
||||||
return n, err
|
|
||||||
}
|
|
||||||
|
|
||||||
_, err = w.w.Write([]byte("> "))
|
|
||||||
if err != nil {
|
|
||||||
return n, err
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if n != len(p) {
|
|
||||||
nw, err := w.w.Write(p[n:len(p)])
|
|
||||||
n += nw
|
|
||||||
return n, err
|
|
||||||
}
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
func execute(command string, args ...string) {
|
|
||||||
if printCommands {
|
|
||||||
print(command + " " + strings.Join(args, " "))
|
|
||||||
}
|
|
||||||
cmd := exec.Command(command, args...)
|
|
||||||
cmd.Stdout = NewQuotedWriter(os.Stdout)
|
|
||||||
cmd.Stderr = NewQuotedWriter(os.Stderr)
|
|
||||||
err := cmd.Run()
|
|
||||||
if err != nil {
|
|
||||||
printerr(err.Error())
|
|
||||||
os.Exit(1)
|
|
||||||
}
|
|
||||||
}
|
|
210
vendor/github.com/Philipp15b/go-steam/gsbot/gsbot.go
generated
vendored
210
vendor/github.com/Philipp15b/go-steam/gsbot/gsbot.go
generated
vendored
@ -1,210 +0,0 @@
|
|||||||
// The GsBot package contains some useful utilites for working with the
|
|
||||||
// steam package. It implements authentication with sentries, server lists and
|
|
||||||
// logging messages and events.
|
|
||||||
//
|
|
||||||
// Every module is optional and requires an instance of the GsBot struct.
|
|
||||||
// Should a module have a `HandlePacket` method, you must register it with the
|
|
||||||
// steam.Client with `RegisterPacketHandler`. Any module with a `HandleEvent`
|
|
||||||
// method must be integrated into your event loop and should be called for each
|
|
||||||
// event you receive.
|
|
||||||
package gsbot
|
|
||||||
|
|
||||||
import (
|
|
||||||
"encoding/hex"
|
|
||||||
"encoding/json"
|
|
||||||
"fmt"
|
|
||||||
"io/ioutil"
|
|
||||||
"log"
|
|
||||||
"math/rand"
|
|
||||||
"net"
|
|
||||||
"os"
|
|
||||||
"path"
|
|
||||||
"reflect"
|
|
||||||
"time"
|
|
||||||
|
|
||||||
"github.com/Philipp15b/go-steam"
|
|
||||||
"github.com/Philipp15b/go-steam/netutil"
|
|
||||||
"github.com/Philipp15b/go-steam/protocol"
|
|
||||||
"github.com/davecgh/go-spew/spew"
|
|
||||||
)
|
|
||||||
|
|
||||||
// Base structure holding common data among GsBot modules.
|
|
||||||
type GsBot struct {
|
|
||||||
Client *steam.Client
|
|
||||||
Log *log.Logger
|
|
||||||
}
|
|
||||||
|
|
||||||
// Creates a new GsBot with a new steam.Client where logs are written to stdout.
|
|
||||||
func Default() *GsBot {
|
|
||||||
return &GsBot{
|
|
||||||
steam.NewClient(),
|
|
||||||
log.New(os.Stdout, "", 0),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// This module handles authentication. It logs on automatically after a ConnectedEvent
|
|
||||||
// and saves the sentry data to a file which is also used for logon if available.
|
|
||||||
// If you're logging on for the first time Steam may require an authcode. You can then
|
|
||||||
// connect again with the new logon details.
|
|
||||||
type Auth struct {
|
|
||||||
bot *GsBot
|
|
||||||
details *LogOnDetails
|
|
||||||
sentryPath string
|
|
||||||
machineAuthHash []byte
|
|
||||||
}
|
|
||||||
|
|
||||||
func NewAuth(bot *GsBot, details *LogOnDetails, sentryPath string) *Auth {
|
|
||||||
return &Auth{
|
|
||||||
bot: bot,
|
|
||||||
details: details,
|
|
||||||
sentryPath: sentryPath,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
type LogOnDetails struct {
|
|
||||||
Username string
|
|
||||||
Password string
|
|
||||||
AuthCode string
|
|
||||||
TwoFactorCode string
|
|
||||||
}
|
|
||||||
|
|
||||||
// This is called automatically after every ConnectedEvent, but must be called once again manually
|
|
||||||
// with an authcode if Steam requires it when logging on for the first time.
|
|
||||||
func (a *Auth) LogOn(details *LogOnDetails) {
|
|
||||||
a.details = details
|
|
||||||
sentry, err := ioutil.ReadFile(a.sentryPath)
|
|
||||||
if err != nil {
|
|
||||||
a.bot.Log.Printf("Error loading sentry file from path %v - This is normal if you're logging in for the first time.\n", a.sentryPath)
|
|
||||||
}
|
|
||||||
a.bot.Client.Auth.LogOn(&steam.LogOnDetails{
|
|
||||||
Username: details.Username,
|
|
||||||
Password: details.Password,
|
|
||||||
SentryFileHash: sentry,
|
|
||||||
AuthCode: details.AuthCode,
|
|
||||||
TwoFactorCode: details.TwoFactorCode,
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
func (a *Auth) HandleEvent(event interface{}) {
|
|
||||||
switch e := event.(type) {
|
|
||||||
case *steam.ConnectedEvent:
|
|
||||||
a.LogOn(a.details)
|
|
||||||
case *steam.LoggedOnEvent:
|
|
||||||
a.bot.Log.Printf("Logged on (%v) with SteamId %v and account flags %v", e.Result, e.ClientSteamId, e.AccountFlags)
|
|
||||||
case *steam.MachineAuthUpdateEvent:
|
|
||||||
a.machineAuthHash = e.Hash
|
|
||||||
err := ioutil.WriteFile(a.sentryPath, e.Hash, 0666)
|
|
||||||
if err != nil {
|
|
||||||
panic(err)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// This module saves the server list from ClientCMListEvent and uses
|
|
||||||
// it when you call `Connect()`.
|
|
||||||
type ServerList struct {
|
|
||||||
bot *GsBot
|
|
||||||
listPath string
|
|
||||||
}
|
|
||||||
|
|
||||||
func NewServerList(bot *GsBot, listPath string) *ServerList {
|
|
||||||
return &ServerList{
|
|
||||||
bot,
|
|
||||||
listPath,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (s *ServerList) HandleEvent(event interface{}) {
|
|
||||||
switch e := event.(type) {
|
|
||||||
case *steam.ClientCMListEvent:
|
|
||||||
d, err := json.Marshal(e.Addresses)
|
|
||||||
if err != nil {
|
|
||||||
panic(err)
|
|
||||||
}
|
|
||||||
err = ioutil.WriteFile(s.listPath, d, 0666)
|
|
||||||
if err != nil {
|
|
||||||
panic(err)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (s *ServerList) Connect() (bool, error) {
|
|
||||||
return s.ConnectBind(nil)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (s *ServerList) ConnectBind(laddr *net.TCPAddr) (bool, error) {
|
|
||||||
d, err := ioutil.ReadFile(s.listPath)
|
|
||||||
if err != nil {
|
|
||||||
s.bot.Log.Println("Connecting to random server.")
|
|
||||||
s.bot.Client.Connect()
|
|
||||||
return false, nil
|
|
||||||
}
|
|
||||||
var addrs []*netutil.PortAddr
|
|
||||||
err = json.Unmarshal(d, &addrs)
|
|
||||||
if err != nil {
|
|
||||||
return false, err
|
|
||||||
}
|
|
||||||
raddr := addrs[rand.Intn(len(addrs))]
|
|
||||||
s.bot.Log.Printf("Connecting to %v from server list\n", raddr)
|
|
||||||
s.bot.Client.ConnectToBind(raddr, laddr)
|
|
||||||
return true, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// This module logs incoming packets and events to a directory.
|
|
||||||
type Debug struct {
|
|
||||||
packetId, eventId uint64
|
|
||||||
bot *GsBot
|
|
||||||
base string
|
|
||||||
}
|
|
||||||
|
|
||||||
func NewDebug(bot *GsBot, base string) (*Debug, error) {
|
|
||||||
base = path.Join(base, fmt.Sprint(time.Now().Unix()))
|
|
||||||
err := os.MkdirAll(path.Join(base, "events"), 0700)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
err = os.MkdirAll(path.Join(base, "packets"), 0700)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
return &Debug{
|
|
||||||
0, 0,
|
|
||||||
bot,
|
|
||||||
base,
|
|
||||||
}, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (d *Debug) HandlePacket(packet *protocol.Packet) {
|
|
||||||
d.packetId++
|
|
||||||
name := path.Join(d.base, "packets", fmt.Sprintf("%d_%d_%s", time.Now().Unix(), d.packetId, packet.EMsg))
|
|
||||||
|
|
||||||
text := packet.String() + "\n\n" + hex.Dump(packet.Data)
|
|
||||||
err := ioutil.WriteFile(name+".txt", []byte(text), 0666)
|
|
||||||
if err != nil {
|
|
||||||
panic(err)
|
|
||||||
}
|
|
||||||
|
|
||||||
err = ioutil.WriteFile(name+".bin", packet.Data, 0666)
|
|
||||||
if err != nil {
|
|
||||||
panic(err)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (d *Debug) HandleEvent(event interface{}) {
|
|
||||||
d.eventId++
|
|
||||||
name := fmt.Sprintf("%d_%d_%s.txt", time.Now().Unix(), d.eventId, name(event))
|
|
||||||
err := ioutil.WriteFile(path.Join(d.base, "events", name), []byte(spew.Sdump(event)), 0666)
|
|
||||||
if err != nil {
|
|
||||||
panic(err)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func name(obj interface{}) string {
|
|
||||||
val := reflect.ValueOf(obj)
|
|
||||||
ind := reflect.Indirect(val)
|
|
||||||
if ind.IsValid() {
|
|
||||||
return ind.Type().Name()
|
|
||||||
} else {
|
|
||||||
return val.Type().Name()
|
|
||||||
}
|
|
||||||
}
|
|
56
vendor/github.com/Philipp15b/go-steam/gsbot/gsbot/gsbot.go
generated
vendored
56
vendor/github.com/Philipp15b/go-steam/gsbot/gsbot/gsbot.go
generated
vendored
@ -1,56 +0,0 @@
|
|||||||
// A simple example that uses the modules from the gsbot package and go-steam to log on
|
|
||||||
// to the Steam network.
|
|
||||||
//
|
|
||||||
// The command expects log on data, optionally with an auth code:
|
|
||||||
//
|
|
||||||
// gsbot [username] [password]
|
|
||||||
// gsbot [username] [password] [authcode]
|
|
||||||
package main
|
|
||||||
|
|
||||||
import (
|
|
||||||
"fmt"
|
|
||||||
"os"
|
|
||||||
|
|
||||||
"github.com/Philipp15b/go-steam"
|
|
||||||
"github.com/Philipp15b/go-steam/gsbot"
|
|
||||||
"github.com/Philipp15b/go-steam/protocol/steamlang"
|
|
||||||
)
|
|
||||||
|
|
||||||
func main() {
|
|
||||||
if len(os.Args) < 3 {
|
|
||||||
fmt.Println("gsbot example\nusage: \n\tgsbot [username] [password] [authcode]")
|
|
||||||
return
|
|
||||||
}
|
|
||||||
authcode := ""
|
|
||||||
if len(os.Args) > 3 {
|
|
||||||
authcode = os.Args[3]
|
|
||||||
}
|
|
||||||
|
|
||||||
bot := gsbot.Default()
|
|
||||||
client := bot.Client
|
|
||||||
auth := gsbot.NewAuth(bot, &gsbot.LogOnDetails{
|
|
||||||
os.Args[1],
|
|
||||||
os.Args[2],
|
|
||||||
authcode,
|
|
||||||
}, "sentry.bin")
|
|
||||||
debug, err := gsbot.NewDebug(bot, "debug")
|
|
||||||
if err != nil {
|
|
||||||
panic(err)
|
|
||||||
}
|
|
||||||
client.RegisterPacketHandler(debug)
|
|
||||||
serverList := gsbot.NewServerList(bot, "serverlist.json")
|
|
||||||
serverList.Connect()
|
|
||||||
|
|
||||||
for event := range client.Events() {
|
|
||||||
auth.HandleEvent(event)
|
|
||||||
debug.HandleEvent(event)
|
|
||||||
serverList.HandleEvent(event)
|
|
||||||
|
|
||||||
switch e := event.(type) {
|
|
||||||
case error:
|
|
||||||
fmt.Printf("Error: %v", e)
|
|
||||||
case *steam.LoggedOnEvent:
|
|
||||||
client.Social.SetPersonaState(steamlang.EPersonaState_Online)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
19
vendor/github.com/Philipp15b/go-steam/jsont/jsont.go
generated
vendored
19
vendor/github.com/Philipp15b/go-steam/jsont/jsont.go
generated
vendored
@ -1,19 +0,0 @@
|
|||||||
// Includes helper types for working with JSON data
|
|
||||||
package jsont
|
|
||||||
|
|
||||||
import (
|
|
||||||
"encoding/json"
|
|
||||||
)
|
|
||||||
|
|
||||||
// A boolean value that can be unmarshaled from a number in JSON.
|
|
||||||
type UintBool bool
|
|
||||||
|
|
||||||
func (u *UintBool) UnmarshalJSON(data []byte) error {
|
|
||||||
var n uint
|
|
||||||
err := json.Unmarshal(data, &n)
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
*u = n != 0
|
|
||||||
return nil
|
|
||||||
}
|
|
141
vendor/github.com/Philipp15b/go-steam/protocol/protobuf/unified/base.pb.go
generated
vendored
141
vendor/github.com/Philipp15b/go-steam/protocol/protobuf/unified/base.pb.go
generated
vendored
@ -1,141 +0,0 @@
|
|||||||
// Code generated by protoc-gen-go.
|
|
||||||
// source: steammessages_unified_base.steamclient.proto
|
|
||||||
// DO NOT EDIT!
|
|
||||||
|
|
||||||
package unified
|
|
||||||
|
|
||||||
import proto "github.com/golang/protobuf/proto"
|
|
||||||
import fmt "fmt"
|
|
||||||
import math "math"
|
|
||||||
import google_protobuf "github.com/golang/protobuf/protoc-gen-go/descriptor"
|
|
||||||
|
|
||||||
// Reference imports to suppress errors if they are not otherwise used.
|
|
||||||
var _ = proto.Marshal
|
|
||||||
var _ = fmt.Errorf
|
|
||||||
var _ = math.Inf
|
|
||||||
|
|
||||||
type EProtoExecutionSite int32
|
|
||||||
|
|
||||||
const (
|
|
||||||
EProtoExecutionSite_k_EProtoExecutionSiteUnknown EProtoExecutionSite = 0
|
|
||||||
EProtoExecutionSite_k_EProtoExecutionSiteSteamClient EProtoExecutionSite = 2
|
|
||||||
)
|
|
||||||
|
|
||||||
var EProtoExecutionSite_name = map[int32]string{
|
|
||||||
0: "k_EProtoExecutionSiteUnknown",
|
|
||||||
2: "k_EProtoExecutionSiteSteamClient",
|
|
||||||
}
|
|
||||||
var EProtoExecutionSite_value = map[string]int32{
|
|
||||||
"k_EProtoExecutionSiteUnknown": 0,
|
|
||||||
"k_EProtoExecutionSiteSteamClient": 2,
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x EProtoExecutionSite) Enum() *EProtoExecutionSite {
|
|
||||||
p := new(EProtoExecutionSite)
|
|
||||||
*p = x
|
|
||||||
return p
|
|
||||||
}
|
|
||||||
func (x EProtoExecutionSite) String() string {
|
|
||||||
return proto.EnumName(EProtoExecutionSite_name, int32(x))
|
|
||||||
}
|
|
||||||
func (x *EProtoExecutionSite) UnmarshalJSON(data []byte) error {
|
|
||||||
value, err := proto.UnmarshalJSONEnum(EProtoExecutionSite_value, data, "EProtoExecutionSite")
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
*x = EProtoExecutionSite(value)
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
func (EProtoExecutionSite) EnumDescriptor() ([]byte, []int) { return base_fileDescriptor0, []int{0} }
|
|
||||||
|
|
||||||
type NoResponse struct {
|
|
||||||
XXX_unrecognized []byte `json:"-"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *NoResponse) Reset() { *m = NoResponse{} }
|
|
||||||
func (m *NoResponse) String() string { return proto.CompactTextString(m) }
|
|
||||||
func (*NoResponse) ProtoMessage() {}
|
|
||||||
func (*NoResponse) Descriptor() ([]byte, []int) { return base_fileDescriptor0, []int{0} }
|
|
||||||
|
|
||||||
var E_Description = &proto.ExtensionDesc{
|
|
||||||
ExtendedType: (*google_protobuf.FieldOptions)(nil),
|
|
||||||
ExtensionType: (*string)(nil),
|
|
||||||
Field: 50000,
|
|
||||||
Name: "description",
|
|
||||||
Tag: "bytes,50000,opt,name=description",
|
|
||||||
}
|
|
||||||
|
|
||||||
var E_ServiceDescription = &proto.ExtensionDesc{
|
|
||||||
ExtendedType: (*google_protobuf.ServiceOptions)(nil),
|
|
||||||
ExtensionType: (*string)(nil),
|
|
||||||
Field: 50000,
|
|
||||||
Name: "service_description",
|
|
||||||
Tag: "bytes,50000,opt,name=service_description",
|
|
||||||
}
|
|
||||||
|
|
||||||
var E_ServiceExecutionSite = &proto.ExtensionDesc{
|
|
||||||
ExtendedType: (*google_protobuf.ServiceOptions)(nil),
|
|
||||||
ExtensionType: (*EProtoExecutionSite)(nil),
|
|
||||||
Field: 50008,
|
|
||||||
Name: "service_execution_site",
|
|
||||||
Tag: "varint,50008,opt,name=service_execution_site,enum=EProtoExecutionSite,def=0",
|
|
||||||
}
|
|
||||||
|
|
||||||
var E_MethodDescription = &proto.ExtensionDesc{
|
|
||||||
ExtendedType: (*google_protobuf.MethodOptions)(nil),
|
|
||||||
ExtensionType: (*string)(nil),
|
|
||||||
Field: 50000,
|
|
||||||
Name: "method_description",
|
|
||||||
Tag: "bytes,50000,opt,name=method_description",
|
|
||||||
}
|
|
||||||
|
|
||||||
var E_EnumDescription = &proto.ExtensionDesc{
|
|
||||||
ExtendedType: (*google_protobuf.EnumOptions)(nil),
|
|
||||||
ExtensionType: (*string)(nil),
|
|
||||||
Field: 50000,
|
|
||||||
Name: "enum_description",
|
|
||||||
Tag: "bytes,50000,opt,name=enum_description",
|
|
||||||
}
|
|
||||||
|
|
||||||
var E_EnumValueDescription = &proto.ExtensionDesc{
|
|
||||||
ExtendedType: (*google_protobuf.EnumValueOptions)(nil),
|
|
||||||
ExtensionType: (*string)(nil),
|
|
||||||
Field: 50000,
|
|
||||||
Name: "enum_value_description",
|
|
||||||
Tag: "bytes,50000,opt,name=enum_value_description",
|
|
||||||
}
|
|
||||||
|
|
||||||
func init() {
|
|
||||||
proto.RegisterType((*NoResponse)(nil), "NoResponse")
|
|
||||||
proto.RegisterEnum("EProtoExecutionSite", EProtoExecutionSite_name, EProtoExecutionSite_value)
|
|
||||||
proto.RegisterExtension(E_Description)
|
|
||||||
proto.RegisterExtension(E_ServiceDescription)
|
|
||||||
proto.RegisterExtension(E_ServiceExecutionSite)
|
|
||||||
proto.RegisterExtension(E_MethodDescription)
|
|
||||||
proto.RegisterExtension(E_EnumDescription)
|
|
||||||
proto.RegisterExtension(E_EnumValueDescription)
|
|
||||||
}
|
|
||||||
|
|
||||||
var base_fileDescriptor0 = []byte{
|
|
||||||
// 306 bytes of a gzipped FileDescriptorProto
|
|
||||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x84, 0x90, 0x4d, 0x4b, 0xc3, 0x40,
|
|
||||||
0x10, 0x86, 0x1b, 0xc5, 0x83, 0xa3, 0x48, 0x48, 0xa5, 0x88, 0x54, 0x8d, 0xe2, 0x41, 0x44, 0xb6,
|
|
||||||
0x20, 0x1e, 0x24, 0x88, 0x07, 0x4b, 0xc4, 0x8b, 0x1f, 0x18, 0xf4, 0x26, 0x21, 0x4d, 0xa6, 0x71,
|
|
||||||
0x69, 0xb2, 0x1b, 0xb2, 0xbb, 0xd5, 0xa3, 0x27, 0x7f, 0x9f, 0x47, 0x7f, 0x8e, 0xcd, 0x86, 0x80,
|
|
||||||
0xf9, 0x40, 0x8f, 0xc9, 0xfb, 0x3e, 0xb3, 0xcf, 0x0c, 0x9c, 0x08, 0x89, 0x41, 0x9a, 0xa2, 0x10,
|
|
||||||
0x41, 0x8c, 0xc2, 0x57, 0x8c, 0x4e, 0x29, 0x46, 0xfe, 0x24, 0x10, 0x48, 0x74, 0x14, 0x26, 0x14,
|
|
||||||
0x99, 0x24, 0x59, 0xce, 0x25, 0xdf, 0xb6, 0x63, 0xce, 0xe3, 0x04, 0x47, 0xfa, 0x6b, 0xa2, 0xa6,
|
|
||||||
0xa3, 0x08, 0x45, 0x98, 0xd3, 0x4c, 0xf2, 0xbc, 0x6c, 0x1c, 0xac, 0x03, 0xdc, 0xf1, 0x47, 0x14,
|
|
||||||
0x19, 0x67, 0x02, 0x8f, 0x5f, 0xa0, 0xef, 0x3e, 0x14, 0xff, 0xdd, 0x77, 0x0c, 0x95, 0xa4, 0x9c,
|
|
||||||
0x79, 0x54, 0xa2, 0x65, 0xc3, 0x70, 0xe6, 0x77, 0x04, 0x4f, 0x6c, 0xc6, 0xf8, 0x1b, 0x33, 0x7b,
|
|
||||||
0xd6, 0x21, 0xd8, 0x9d, 0x0d, 0xaf, 0x50, 0x1a, 0x6b, 0x25, 0x73, 0xc9, 0x39, 0x83, 0xb5, 0x4a,
|
|
||||||
0x60, 0x91, 0x5b, 0x3b, 0xa4, 0xd4, 0x23, 0x95, 0x1e, 0xb9, 0xa6, 0x98, 0x44, 0xf7, 0x3a, 0x15,
|
|
||||||
0x5b, 0x5f, 0x9f, 0xcb, 0xb6, 0x71, 0xb4, 0xea, 0x5c, 0x42, 0x5f, 0x60, 0x3e, 0xa7, 0x21, 0xfa,
|
|
||||||
0xbf, 0xe9, 0xbd, 0x16, 0xed, 0x95, 0xad, 0x26, 0xaf, 0x60, 0x50, 0xf1, 0x58, 0xb9, 0xf9, 0xa2,
|
|
||||||
0xd8, 0xeb, 0xdf, 0x11, 0xdf, 0x7a, 0xc4, 0xc6, 0xe9, 0x26, 0xe9, 0xd8, 0xcd, 0xf9, 0xf3, 0x28,
|
|
||||||
0xce, 0x05, 0x58, 0x29, 0xca, 0x57, 0x1e, 0xd5, 0xac, 0x77, 0x5b, 0x4f, 0xde, 0xea, 0x52, 0x53,
|
|
||||||
0xfa, 0x1c, 0x4c, 0x64, 0x2a, 0xad, 0xb1, 0xc3, 0x16, 0xeb, 0x2e, 0x2a, 0x4d, 0x72, 0x0c, 0x03,
|
|
||||||
0x4d, 0xce, 0x83, 0x44, 0xd5, 0x2f, 0xb6, 0xdf, 0xc9, 0x3f, 0x17, 0xbd, 0xc6, 0x90, 0xab, 0x95,
|
|
||||||
0x1b, 0xe3, 0xc3, 0xe8, 0xfd, 0x04, 0x00, 0x00, 0xff, 0xff, 0x5c, 0xf6, 0x07, 0xbb, 0x6e, 0x02,
|
|
||||||
0x00, 0x00,
|
|
||||||
}
|
|
1424
vendor/github.com/Philipp15b/go-steam/protocol/protobuf/unified/cloud.pb.go
generated
vendored
1424
vendor/github.com/Philipp15b/go-steam/protocol/protobuf/unified/cloud.pb.go
generated
vendored
File diff suppressed because it is too large
Load Diff
874
vendor/github.com/Philipp15b/go-steam/protocol/protobuf/unified/credentials.pb.go
generated
vendored
874
vendor/github.com/Philipp15b/go-steam/protocol/protobuf/unified/credentials.pb.go
generated
vendored
@ -1,874 +0,0 @@
|
|||||||
// Code generated by protoc-gen-go.
|
|
||||||
// source: steammessages_credentials.steamclient.proto
|
|
||||||
// DO NOT EDIT!
|
|
||||||
|
|
||||||
package unified
|
|
||||||
|
|
||||||
import proto "github.com/golang/protobuf/proto"
|
|
||||||
import fmt "fmt"
|
|
||||||
import math "math"
|
|
||||||
|
|
||||||
// Reference imports to suppress errors if they are not otherwise used.
|
|
||||||
var _ = proto.Marshal
|
|
||||||
var _ = fmt.Errorf
|
|
||||||
var _ = math.Inf
|
|
||||||
|
|
||||||
type CCredentials_TestAvailablePassword_Request struct {
|
|
||||||
Password *string `protobuf:"bytes,1,opt,name=password" json:"password,omitempty"`
|
|
||||||
ShaDigestPassword []byte `protobuf:"bytes,2,opt,name=sha_digest_password" json:"sha_digest_password,omitempty"`
|
|
||||||
AccountName *string `protobuf:"bytes,3,opt,name=account_name" json:"account_name,omitempty"`
|
|
||||||
XXX_unrecognized []byte `json:"-"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CCredentials_TestAvailablePassword_Request) Reset() {
|
|
||||||
*m = CCredentials_TestAvailablePassword_Request{}
|
|
||||||
}
|
|
||||||
func (m *CCredentials_TestAvailablePassword_Request) String() string {
|
|
||||||
return proto.CompactTextString(m)
|
|
||||||
}
|
|
||||||
func (*CCredentials_TestAvailablePassword_Request) ProtoMessage() {}
|
|
||||||
func (*CCredentials_TestAvailablePassword_Request) Descriptor() ([]byte, []int) {
|
|
||||||
return credentials_fileDescriptor0, []int{0}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CCredentials_TestAvailablePassword_Request) GetPassword() string {
|
|
||||||
if m != nil && m.Password != nil {
|
|
||||||
return *m.Password
|
|
||||||
}
|
|
||||||
return ""
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CCredentials_TestAvailablePassword_Request) GetShaDigestPassword() []byte {
|
|
||||||
if m != nil {
|
|
||||||
return m.ShaDigestPassword
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CCredentials_TestAvailablePassword_Request) GetAccountName() string {
|
|
||||||
if m != nil && m.AccountName != nil {
|
|
||||||
return *m.AccountName
|
|
||||||
}
|
|
||||||
return ""
|
|
||||||
}
|
|
||||||
|
|
||||||
type CCredentials_TestAvailablePassword_Response struct {
|
|
||||||
IsValid *bool `protobuf:"varint,3,opt,name=is_valid" json:"is_valid,omitempty"`
|
|
||||||
XXX_unrecognized []byte `json:"-"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CCredentials_TestAvailablePassword_Response) Reset() {
|
|
||||||
*m = CCredentials_TestAvailablePassword_Response{}
|
|
||||||
}
|
|
||||||
func (m *CCredentials_TestAvailablePassword_Response) String() string {
|
|
||||||
return proto.CompactTextString(m)
|
|
||||||
}
|
|
||||||
func (*CCredentials_TestAvailablePassword_Response) ProtoMessage() {}
|
|
||||||
func (*CCredentials_TestAvailablePassword_Response) Descriptor() ([]byte, []int) {
|
|
||||||
return credentials_fileDescriptor0, []int{1}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CCredentials_TestAvailablePassword_Response) GetIsValid() bool {
|
|
||||||
if m != nil && m.IsValid != nil {
|
|
||||||
return *m.IsValid
|
|
||||||
}
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
|
|
||||||
type CCredentials_GetSteamGuardDetails_Request struct {
|
|
||||||
IncludeNewAuthentications *bool `protobuf:"varint,1,opt,name=include_new_authentications,def=1" json:"include_new_authentications,omitempty"`
|
|
||||||
Webcookie *string `protobuf:"bytes,2,opt,name=webcookie" json:"webcookie,omitempty"`
|
|
||||||
TimestampMinimumWanted *uint32 `protobuf:"fixed32,3,opt,name=timestamp_minimum_wanted" json:"timestamp_minimum_wanted,omitempty"`
|
|
||||||
Ipaddress *int32 `protobuf:"varint,4,opt,name=ipaddress" json:"ipaddress,omitempty"`
|
|
||||||
XXX_unrecognized []byte `json:"-"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CCredentials_GetSteamGuardDetails_Request) Reset() {
|
|
||||||
*m = CCredentials_GetSteamGuardDetails_Request{}
|
|
||||||
}
|
|
||||||
func (m *CCredentials_GetSteamGuardDetails_Request) String() string { return proto.CompactTextString(m) }
|
|
||||||
func (*CCredentials_GetSteamGuardDetails_Request) ProtoMessage() {}
|
|
||||||
func (*CCredentials_GetSteamGuardDetails_Request) Descriptor() ([]byte, []int) {
|
|
||||||
return credentials_fileDescriptor0, []int{2}
|
|
||||||
}
|
|
||||||
|
|
||||||
const Default_CCredentials_GetSteamGuardDetails_Request_IncludeNewAuthentications bool = true
|
|
||||||
|
|
||||||
func (m *CCredentials_GetSteamGuardDetails_Request) GetIncludeNewAuthentications() bool {
|
|
||||||
if m != nil && m.IncludeNewAuthentications != nil {
|
|
||||||
return *m.IncludeNewAuthentications
|
|
||||||
}
|
|
||||||
return Default_CCredentials_GetSteamGuardDetails_Request_IncludeNewAuthentications
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CCredentials_GetSteamGuardDetails_Request) GetWebcookie() string {
|
|
||||||
if m != nil && m.Webcookie != nil {
|
|
||||||
return *m.Webcookie
|
|
||||||
}
|
|
||||||
return ""
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CCredentials_GetSteamGuardDetails_Request) GetTimestampMinimumWanted() uint32 {
|
|
||||||
if m != nil && m.TimestampMinimumWanted != nil {
|
|
||||||
return *m.TimestampMinimumWanted
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CCredentials_GetSteamGuardDetails_Request) GetIpaddress() int32 {
|
|
||||||
if m != nil && m.Ipaddress != nil {
|
|
||||||
return *m.Ipaddress
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
type CCredentials_GetSteamGuardDetails_Response struct {
|
|
||||||
IsSteamguardEnabled *bool `protobuf:"varint,1,opt,name=is_steamguard_enabled" json:"is_steamguard_enabled,omitempty"`
|
|
||||||
TimestampSteamguardEnabled *uint32 `protobuf:"fixed32,2,opt,name=timestamp_steamguard_enabled" json:"timestamp_steamguard_enabled,omitempty"`
|
|
||||||
DeprecatedNewauthentication []*CCredentials_GetSteamGuardDetails_Response_NewAuthentication `protobuf:"bytes,3,rep,name=deprecated_newauthentication" json:"deprecated_newauthentication,omitempty"`
|
|
||||||
DeprecatedMachineNameUserchosen *string `protobuf:"bytes,4,opt,name=deprecated_machine_name_userchosen" json:"deprecated_machine_name_userchosen,omitempty"`
|
|
||||||
DeprecatedTimestampMachineSteamguardEnabled *uint32 `protobuf:"fixed32,5,opt,name=deprecated_timestamp_machine_steamguard_enabled" json:"deprecated_timestamp_machine_steamguard_enabled,omitempty"`
|
|
||||||
DeprecatedAuthenticationExistsFromGeolocBeforeMintime *bool `protobuf:"varint,6,opt,name=deprecated_authentication_exists_from_geoloc_before_mintime" json:"deprecated_authentication_exists_from_geoloc_before_mintime,omitempty"`
|
|
||||||
DeprecatedMachineId *uint64 `protobuf:"varint,7,opt,name=deprecated_machine_id" json:"deprecated_machine_id,omitempty"`
|
|
||||||
SessionData []*CCredentials_GetSteamGuardDetails_Response_SessionData `protobuf:"bytes,8,rep,name=session_data" json:"session_data,omitempty"`
|
|
||||||
IsTwofactorEnabled *bool `protobuf:"varint,9,opt,name=is_twofactor_enabled" json:"is_twofactor_enabled,omitempty"`
|
|
||||||
TimestampTwofactorEnabled *uint32 `protobuf:"fixed32,10,opt,name=timestamp_twofactor_enabled" json:"timestamp_twofactor_enabled,omitempty"`
|
|
||||||
IsPhoneVerified *bool `protobuf:"varint,11,opt,name=is_phone_verified" json:"is_phone_verified,omitempty"`
|
|
||||||
XXX_unrecognized []byte `json:"-"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CCredentials_GetSteamGuardDetails_Response) Reset() {
|
|
||||||
*m = CCredentials_GetSteamGuardDetails_Response{}
|
|
||||||
}
|
|
||||||
func (m *CCredentials_GetSteamGuardDetails_Response) String() string {
|
|
||||||
return proto.CompactTextString(m)
|
|
||||||
}
|
|
||||||
func (*CCredentials_GetSteamGuardDetails_Response) ProtoMessage() {}
|
|
||||||
func (*CCredentials_GetSteamGuardDetails_Response) Descriptor() ([]byte, []int) {
|
|
||||||
return credentials_fileDescriptor0, []int{3}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CCredentials_GetSteamGuardDetails_Response) GetIsSteamguardEnabled() bool {
|
|
||||||
if m != nil && m.IsSteamguardEnabled != nil {
|
|
||||||
return *m.IsSteamguardEnabled
|
|
||||||
}
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CCredentials_GetSteamGuardDetails_Response) GetTimestampSteamguardEnabled() uint32 {
|
|
||||||
if m != nil && m.TimestampSteamguardEnabled != nil {
|
|
||||||
return *m.TimestampSteamguardEnabled
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CCredentials_GetSteamGuardDetails_Response) GetDeprecatedNewauthentication() []*CCredentials_GetSteamGuardDetails_Response_NewAuthentication {
|
|
||||||
if m != nil {
|
|
||||||
return m.DeprecatedNewauthentication
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CCredentials_GetSteamGuardDetails_Response) GetDeprecatedMachineNameUserchosen() string {
|
|
||||||
if m != nil && m.DeprecatedMachineNameUserchosen != nil {
|
|
||||||
return *m.DeprecatedMachineNameUserchosen
|
|
||||||
}
|
|
||||||
return ""
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CCredentials_GetSteamGuardDetails_Response) GetDeprecatedTimestampMachineSteamguardEnabled() uint32 {
|
|
||||||
if m != nil && m.DeprecatedTimestampMachineSteamguardEnabled != nil {
|
|
||||||
return *m.DeprecatedTimestampMachineSteamguardEnabled
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CCredentials_GetSteamGuardDetails_Response) GetDeprecatedAuthenticationExistsFromGeolocBeforeMintime() bool {
|
|
||||||
if m != nil && m.DeprecatedAuthenticationExistsFromGeolocBeforeMintime != nil {
|
|
||||||
return *m.DeprecatedAuthenticationExistsFromGeolocBeforeMintime
|
|
||||||
}
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CCredentials_GetSteamGuardDetails_Response) GetDeprecatedMachineId() uint64 {
|
|
||||||
if m != nil && m.DeprecatedMachineId != nil {
|
|
||||||
return *m.DeprecatedMachineId
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CCredentials_GetSteamGuardDetails_Response) GetSessionData() []*CCredentials_GetSteamGuardDetails_Response_SessionData {
|
|
||||||
if m != nil {
|
|
||||||
return m.SessionData
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CCredentials_GetSteamGuardDetails_Response) GetIsTwofactorEnabled() bool {
|
|
||||||
if m != nil && m.IsTwofactorEnabled != nil {
|
|
||||||
return *m.IsTwofactorEnabled
|
|
||||||
}
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CCredentials_GetSteamGuardDetails_Response) GetTimestampTwofactorEnabled() uint32 {
|
|
||||||
if m != nil && m.TimestampTwofactorEnabled != nil {
|
|
||||||
return *m.TimestampTwofactorEnabled
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CCredentials_GetSteamGuardDetails_Response) GetIsPhoneVerified() bool {
|
|
||||||
if m != nil && m.IsPhoneVerified != nil {
|
|
||||||
return *m.IsPhoneVerified
|
|
||||||
}
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
|
|
||||||
type CCredentials_GetSteamGuardDetails_Response_NewAuthentication struct {
|
|
||||||
TimestampSteamguardEnabled *uint32 `protobuf:"fixed32,1,opt,name=timestamp_steamguard_enabled" json:"timestamp_steamguard_enabled,omitempty"`
|
|
||||||
IsWebCookie *bool `protobuf:"varint,2,opt,name=is_web_cookie" json:"is_web_cookie,omitempty"`
|
|
||||||
Ipaddress *int32 `protobuf:"varint,3,opt,name=ipaddress" json:"ipaddress,omitempty"`
|
|
||||||
GeolocInfo *string `protobuf:"bytes,4,opt,name=geoloc_info" json:"geoloc_info,omitempty"`
|
|
||||||
IsRemembered *bool `protobuf:"varint,5,opt,name=is_remembered" json:"is_remembered,omitempty"`
|
|
||||||
MachineNameUserSupplied *string `protobuf:"bytes,6,opt,name=machine_name_user_supplied" json:"machine_name_user_supplied,omitempty"`
|
|
||||||
Status *int32 `protobuf:"varint,7,opt,name=status" json:"status,omitempty"`
|
|
||||||
XXX_unrecognized []byte `json:"-"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CCredentials_GetSteamGuardDetails_Response_NewAuthentication) Reset() {
|
|
||||||
*m = CCredentials_GetSteamGuardDetails_Response_NewAuthentication{}
|
|
||||||
}
|
|
||||||
func (m *CCredentials_GetSteamGuardDetails_Response_NewAuthentication) String() string {
|
|
||||||
return proto.CompactTextString(m)
|
|
||||||
}
|
|
||||||
func (*CCredentials_GetSteamGuardDetails_Response_NewAuthentication) ProtoMessage() {}
|
|
||||||
func (*CCredentials_GetSteamGuardDetails_Response_NewAuthentication) Descriptor() ([]byte, []int) {
|
|
||||||
return credentials_fileDescriptor0, []int{3, 0}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CCredentials_GetSteamGuardDetails_Response_NewAuthentication) GetTimestampSteamguardEnabled() uint32 {
|
|
||||||
if m != nil && m.TimestampSteamguardEnabled != nil {
|
|
||||||
return *m.TimestampSteamguardEnabled
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CCredentials_GetSteamGuardDetails_Response_NewAuthentication) GetIsWebCookie() bool {
|
|
||||||
if m != nil && m.IsWebCookie != nil {
|
|
||||||
return *m.IsWebCookie
|
|
||||||
}
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CCredentials_GetSteamGuardDetails_Response_NewAuthentication) GetIpaddress() int32 {
|
|
||||||
if m != nil && m.Ipaddress != nil {
|
|
||||||
return *m.Ipaddress
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CCredentials_GetSteamGuardDetails_Response_NewAuthentication) GetGeolocInfo() string {
|
|
||||||
if m != nil && m.GeolocInfo != nil {
|
|
||||||
return *m.GeolocInfo
|
|
||||||
}
|
|
||||||
return ""
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CCredentials_GetSteamGuardDetails_Response_NewAuthentication) GetIsRemembered() bool {
|
|
||||||
if m != nil && m.IsRemembered != nil {
|
|
||||||
return *m.IsRemembered
|
|
||||||
}
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CCredentials_GetSteamGuardDetails_Response_NewAuthentication) GetMachineNameUserSupplied() string {
|
|
||||||
if m != nil && m.MachineNameUserSupplied != nil {
|
|
||||||
return *m.MachineNameUserSupplied
|
|
||||||
}
|
|
||||||
return ""
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CCredentials_GetSteamGuardDetails_Response_NewAuthentication) GetStatus() int32 {
|
|
||||||
if m != nil && m.Status != nil {
|
|
||||||
return *m.Status
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
type CCredentials_GetSteamGuardDetails_Response_SessionData struct {
|
|
||||||
MachineId *uint64 `protobuf:"varint,1,opt,name=machine_id" json:"machine_id,omitempty"`
|
|
||||||
MachineNameUserchosen *string `protobuf:"bytes,2,opt,name=machine_name_userchosen" json:"machine_name_userchosen,omitempty"`
|
|
||||||
TimestampMachineSteamguardEnabled *uint32 `protobuf:"fixed32,3,opt,name=timestamp_machine_steamguard_enabled" json:"timestamp_machine_steamguard_enabled,omitempty"`
|
|
||||||
AuthenticationExistsFromGeolocBeforeMintime *bool `protobuf:"varint,4,opt,name=authentication_exists_from_geoloc_before_mintime" json:"authentication_exists_from_geoloc_before_mintime,omitempty"`
|
|
||||||
Newauthentication []*CCredentials_GetSteamGuardDetails_Response_NewAuthentication `protobuf:"bytes,5,rep,name=newauthentication" json:"newauthentication,omitempty"`
|
|
||||||
AuthenticationExistsFromSameIpBeforeMintime *bool `protobuf:"varint,6,opt,name=authentication_exists_from_same_ip_before_mintime" json:"authentication_exists_from_same_ip_before_mintime,omitempty"`
|
|
||||||
PublicIpv4 *uint32 `protobuf:"varint,7,opt,name=public_ipv4" json:"public_ipv4,omitempty"`
|
|
||||||
XXX_unrecognized []byte `json:"-"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CCredentials_GetSteamGuardDetails_Response_SessionData) Reset() {
|
|
||||||
*m = CCredentials_GetSteamGuardDetails_Response_SessionData{}
|
|
||||||
}
|
|
||||||
func (m *CCredentials_GetSteamGuardDetails_Response_SessionData) String() string {
|
|
||||||
return proto.CompactTextString(m)
|
|
||||||
}
|
|
||||||
func (*CCredentials_GetSteamGuardDetails_Response_SessionData) ProtoMessage() {}
|
|
||||||
func (*CCredentials_GetSteamGuardDetails_Response_SessionData) Descriptor() ([]byte, []int) {
|
|
||||||
return credentials_fileDescriptor0, []int{3, 1}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CCredentials_GetSteamGuardDetails_Response_SessionData) GetMachineId() uint64 {
|
|
||||||
if m != nil && m.MachineId != nil {
|
|
||||||
return *m.MachineId
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CCredentials_GetSteamGuardDetails_Response_SessionData) GetMachineNameUserchosen() string {
|
|
||||||
if m != nil && m.MachineNameUserchosen != nil {
|
|
||||||
return *m.MachineNameUserchosen
|
|
||||||
}
|
|
||||||
return ""
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CCredentials_GetSteamGuardDetails_Response_SessionData) GetTimestampMachineSteamguardEnabled() uint32 {
|
|
||||||
if m != nil && m.TimestampMachineSteamguardEnabled != nil {
|
|
||||||
return *m.TimestampMachineSteamguardEnabled
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CCredentials_GetSteamGuardDetails_Response_SessionData) GetAuthenticationExistsFromGeolocBeforeMintime() bool {
|
|
||||||
if m != nil && m.AuthenticationExistsFromGeolocBeforeMintime != nil {
|
|
||||||
return *m.AuthenticationExistsFromGeolocBeforeMintime
|
|
||||||
}
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CCredentials_GetSteamGuardDetails_Response_SessionData) GetNewauthentication() []*CCredentials_GetSteamGuardDetails_Response_NewAuthentication {
|
|
||||||
if m != nil {
|
|
||||||
return m.Newauthentication
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CCredentials_GetSteamGuardDetails_Response_SessionData) GetAuthenticationExistsFromSameIpBeforeMintime() bool {
|
|
||||||
if m != nil && m.AuthenticationExistsFromSameIpBeforeMintime != nil {
|
|
||||||
return *m.AuthenticationExistsFromSameIpBeforeMintime
|
|
||||||
}
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CCredentials_GetSteamGuardDetails_Response_SessionData) GetPublicIpv4() uint32 {
|
|
||||||
if m != nil && m.PublicIpv4 != nil {
|
|
||||||
return *m.PublicIpv4
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
type CCredentials_NewMachineNotificationDialog_Request struct {
|
|
||||||
IsApproved *bool `protobuf:"varint,1,opt,name=is_approved" json:"is_approved,omitempty"`
|
|
||||||
IsWizardComplete *bool `protobuf:"varint,2,opt,name=is_wizard_complete" json:"is_wizard_complete,omitempty"`
|
|
||||||
XXX_unrecognized []byte `json:"-"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CCredentials_NewMachineNotificationDialog_Request) Reset() {
|
|
||||||
*m = CCredentials_NewMachineNotificationDialog_Request{}
|
|
||||||
}
|
|
||||||
func (m *CCredentials_NewMachineNotificationDialog_Request) String() string {
|
|
||||||
return proto.CompactTextString(m)
|
|
||||||
}
|
|
||||||
func (*CCredentials_NewMachineNotificationDialog_Request) ProtoMessage() {}
|
|
||||||
func (*CCredentials_NewMachineNotificationDialog_Request) Descriptor() ([]byte, []int) {
|
|
||||||
return credentials_fileDescriptor0, []int{4}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CCredentials_NewMachineNotificationDialog_Request) GetIsApproved() bool {
|
|
||||||
if m != nil && m.IsApproved != nil {
|
|
||||||
return *m.IsApproved
|
|
||||||
}
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CCredentials_NewMachineNotificationDialog_Request) GetIsWizardComplete() bool {
|
|
||||||
if m != nil && m.IsWizardComplete != nil {
|
|
||||||
return *m.IsWizardComplete
|
|
||||||
}
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
|
|
||||||
type CCredentials_NewMachineNotificationDialog_Response struct {
|
|
||||||
XXX_unrecognized []byte `json:"-"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CCredentials_NewMachineNotificationDialog_Response) Reset() {
|
|
||||||
*m = CCredentials_NewMachineNotificationDialog_Response{}
|
|
||||||
}
|
|
||||||
func (m *CCredentials_NewMachineNotificationDialog_Response) String() string {
|
|
||||||
return proto.CompactTextString(m)
|
|
||||||
}
|
|
||||||
func (*CCredentials_NewMachineNotificationDialog_Response) ProtoMessage() {}
|
|
||||||
func (*CCredentials_NewMachineNotificationDialog_Response) Descriptor() ([]byte, []int) {
|
|
||||||
return credentials_fileDescriptor0, []int{5}
|
|
||||||
}
|
|
||||||
|
|
||||||
type CCredentials_ValidateEmailAddress_Request struct {
|
|
||||||
Stoken *string `protobuf:"bytes,1,opt,name=stoken" json:"stoken,omitempty"`
|
|
||||||
XXX_unrecognized []byte `json:"-"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CCredentials_ValidateEmailAddress_Request) Reset() {
|
|
||||||
*m = CCredentials_ValidateEmailAddress_Request{}
|
|
||||||
}
|
|
||||||
func (m *CCredentials_ValidateEmailAddress_Request) String() string { return proto.CompactTextString(m) }
|
|
||||||
func (*CCredentials_ValidateEmailAddress_Request) ProtoMessage() {}
|
|
||||||
func (*CCredentials_ValidateEmailAddress_Request) Descriptor() ([]byte, []int) {
|
|
||||||
return credentials_fileDescriptor0, []int{6}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CCredentials_ValidateEmailAddress_Request) GetStoken() string {
|
|
||||||
if m != nil && m.Stoken != nil {
|
|
||||||
return *m.Stoken
|
|
||||||
}
|
|
||||||
return ""
|
|
||||||
}
|
|
||||||
|
|
||||||
type CCredentials_ValidateEmailAddress_Response struct {
|
|
||||||
WasValidated *bool `protobuf:"varint,1,opt,name=was_validated" json:"was_validated,omitempty"`
|
|
||||||
XXX_unrecognized []byte `json:"-"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CCredentials_ValidateEmailAddress_Response) Reset() {
|
|
||||||
*m = CCredentials_ValidateEmailAddress_Response{}
|
|
||||||
}
|
|
||||||
func (m *CCredentials_ValidateEmailAddress_Response) String() string {
|
|
||||||
return proto.CompactTextString(m)
|
|
||||||
}
|
|
||||||
func (*CCredentials_ValidateEmailAddress_Response) ProtoMessage() {}
|
|
||||||
func (*CCredentials_ValidateEmailAddress_Response) Descriptor() ([]byte, []int) {
|
|
||||||
return credentials_fileDescriptor0, []int{7}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CCredentials_ValidateEmailAddress_Response) GetWasValidated() bool {
|
|
||||||
if m != nil && m.WasValidated != nil {
|
|
||||||
return *m.WasValidated
|
|
||||||
}
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
|
|
||||||
type CCredentials_SteamGuardPhishingReport_Request struct {
|
|
||||||
ParamString *string `protobuf:"bytes,1,opt,name=param_string" json:"param_string,omitempty"`
|
|
||||||
IpaddressActual *uint32 `protobuf:"varint,2,opt,name=ipaddress_actual" json:"ipaddress_actual,omitempty"`
|
|
||||||
XXX_unrecognized []byte `json:"-"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CCredentials_SteamGuardPhishingReport_Request) Reset() {
|
|
||||||
*m = CCredentials_SteamGuardPhishingReport_Request{}
|
|
||||||
}
|
|
||||||
func (m *CCredentials_SteamGuardPhishingReport_Request) String() string {
|
|
||||||
return proto.CompactTextString(m)
|
|
||||||
}
|
|
||||||
func (*CCredentials_SteamGuardPhishingReport_Request) ProtoMessage() {}
|
|
||||||
func (*CCredentials_SteamGuardPhishingReport_Request) Descriptor() ([]byte, []int) {
|
|
||||||
return credentials_fileDescriptor0, []int{8}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CCredentials_SteamGuardPhishingReport_Request) GetParamString() string {
|
|
||||||
if m != nil && m.ParamString != nil {
|
|
||||||
return *m.ParamString
|
|
||||||
}
|
|
||||||
return ""
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CCredentials_SteamGuardPhishingReport_Request) GetIpaddressActual() uint32 {
|
|
||||||
if m != nil && m.IpaddressActual != nil {
|
|
||||||
return *m.IpaddressActual
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
type CCredentials_SteamGuardPhishingReport_Response struct {
|
|
||||||
IpaddressLoginattempt *uint32 `protobuf:"varint,1,opt,name=ipaddress_loginattempt" json:"ipaddress_loginattempt,omitempty"`
|
|
||||||
CountrynameLoginattempt *string `protobuf:"bytes,2,opt,name=countryname_loginattempt" json:"countryname_loginattempt,omitempty"`
|
|
||||||
StatenameLoginattempt *string `protobuf:"bytes,3,opt,name=statename_loginattempt" json:"statename_loginattempt,omitempty"`
|
|
||||||
CitynameLoginattempt *string `protobuf:"bytes,4,opt,name=cityname_loginattempt" json:"cityname_loginattempt,omitempty"`
|
|
||||||
IpaddressActual *uint32 `protobuf:"varint,5,opt,name=ipaddress_actual" json:"ipaddress_actual,omitempty"`
|
|
||||||
CountrynameActual *string `protobuf:"bytes,6,opt,name=countryname_actual" json:"countryname_actual,omitempty"`
|
|
||||||
StatenameActual *string `protobuf:"bytes,7,opt,name=statename_actual" json:"statename_actual,omitempty"`
|
|
||||||
CitynameActual *string `protobuf:"bytes,8,opt,name=cityname_actual" json:"cityname_actual,omitempty"`
|
|
||||||
SteamguardCode *string `protobuf:"bytes,9,opt,name=steamguard_code" json:"steamguard_code,omitempty"`
|
|
||||||
XXX_unrecognized []byte `json:"-"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CCredentials_SteamGuardPhishingReport_Response) Reset() {
|
|
||||||
*m = CCredentials_SteamGuardPhishingReport_Response{}
|
|
||||||
}
|
|
||||||
func (m *CCredentials_SteamGuardPhishingReport_Response) String() string {
|
|
||||||
return proto.CompactTextString(m)
|
|
||||||
}
|
|
||||||
func (*CCredentials_SteamGuardPhishingReport_Response) ProtoMessage() {}
|
|
||||||
func (*CCredentials_SteamGuardPhishingReport_Response) Descriptor() ([]byte, []int) {
|
|
||||||
return credentials_fileDescriptor0, []int{9}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CCredentials_SteamGuardPhishingReport_Response) GetIpaddressLoginattempt() uint32 {
|
|
||||||
if m != nil && m.IpaddressLoginattempt != nil {
|
|
||||||
return *m.IpaddressLoginattempt
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CCredentials_SteamGuardPhishingReport_Response) GetCountrynameLoginattempt() string {
|
|
||||||
if m != nil && m.CountrynameLoginattempt != nil {
|
|
||||||
return *m.CountrynameLoginattempt
|
|
||||||
}
|
|
||||||
return ""
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CCredentials_SteamGuardPhishingReport_Response) GetStatenameLoginattempt() string {
|
|
||||||
if m != nil && m.StatenameLoginattempt != nil {
|
|
||||||
return *m.StatenameLoginattempt
|
|
||||||
}
|
|
||||||
return ""
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CCredentials_SteamGuardPhishingReport_Response) GetCitynameLoginattempt() string {
|
|
||||||
if m != nil && m.CitynameLoginattempt != nil {
|
|
||||||
return *m.CitynameLoginattempt
|
|
||||||
}
|
|
||||||
return ""
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CCredentials_SteamGuardPhishingReport_Response) GetIpaddressActual() uint32 {
|
|
||||||
if m != nil && m.IpaddressActual != nil {
|
|
||||||
return *m.IpaddressActual
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CCredentials_SteamGuardPhishingReport_Response) GetCountrynameActual() string {
|
|
||||||
if m != nil && m.CountrynameActual != nil {
|
|
||||||
return *m.CountrynameActual
|
|
||||||
}
|
|
||||||
return ""
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CCredentials_SteamGuardPhishingReport_Response) GetStatenameActual() string {
|
|
||||||
if m != nil && m.StatenameActual != nil {
|
|
||||||
return *m.StatenameActual
|
|
||||||
}
|
|
||||||
return ""
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CCredentials_SteamGuardPhishingReport_Response) GetCitynameActual() string {
|
|
||||||
if m != nil && m.CitynameActual != nil {
|
|
||||||
return *m.CitynameActual
|
|
||||||
}
|
|
||||||
return ""
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CCredentials_SteamGuardPhishingReport_Response) GetSteamguardCode() string {
|
|
||||||
if m != nil && m.SteamguardCode != nil {
|
|
||||||
return *m.SteamguardCode
|
|
||||||
}
|
|
||||||
return ""
|
|
||||||
}
|
|
||||||
|
|
||||||
type CCredentials_AccountLockRequest_Request struct {
|
|
||||||
ParamString *string `protobuf:"bytes,1,opt,name=param_string" json:"param_string,omitempty"`
|
|
||||||
IpaddressActual *uint32 `protobuf:"varint,2,opt,name=ipaddress_actual" json:"ipaddress_actual,omitempty"`
|
|
||||||
QueryOnly *bool `protobuf:"varint,3,opt,name=query_only" json:"query_only,omitempty"`
|
|
||||||
EmailMessageType *int32 `protobuf:"varint,4,opt,name=email_message_type" json:"email_message_type,omitempty"`
|
|
||||||
XXX_unrecognized []byte `json:"-"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CCredentials_AccountLockRequest_Request) Reset() {
|
|
||||||
*m = CCredentials_AccountLockRequest_Request{}
|
|
||||||
}
|
|
||||||
func (m *CCredentials_AccountLockRequest_Request) String() string { return proto.CompactTextString(m) }
|
|
||||||
func (*CCredentials_AccountLockRequest_Request) ProtoMessage() {}
|
|
||||||
func (*CCredentials_AccountLockRequest_Request) Descriptor() ([]byte, []int) {
|
|
||||||
return credentials_fileDescriptor0, []int{10}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CCredentials_AccountLockRequest_Request) GetParamString() string {
|
|
||||||
if m != nil && m.ParamString != nil {
|
|
||||||
return *m.ParamString
|
|
||||||
}
|
|
||||||
return ""
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CCredentials_AccountLockRequest_Request) GetIpaddressActual() uint32 {
|
|
||||||
if m != nil && m.IpaddressActual != nil {
|
|
||||||
return *m.IpaddressActual
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CCredentials_AccountLockRequest_Request) GetQueryOnly() bool {
|
|
||||||
if m != nil && m.QueryOnly != nil {
|
|
||||||
return *m.QueryOnly
|
|
||||||
}
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CCredentials_AccountLockRequest_Request) GetEmailMessageType() int32 {
|
|
||||||
if m != nil && m.EmailMessageType != nil {
|
|
||||||
return *m.EmailMessageType
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
type CCredentials_AccountLockRequest_Response struct {
|
|
||||||
Success *bool `protobuf:"varint,1,opt,name=success" json:"success,omitempty"`
|
|
||||||
AccountAlreadyLocked *bool `protobuf:"varint,2,opt,name=account_already_locked" json:"account_already_locked,omitempty"`
|
|
||||||
ExpiredLink *bool `protobuf:"varint,3,opt,name=expired_link" json:"expired_link,omitempty"`
|
|
||||||
XXX_unrecognized []byte `json:"-"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CCredentials_AccountLockRequest_Response) Reset() {
|
|
||||||
*m = CCredentials_AccountLockRequest_Response{}
|
|
||||||
}
|
|
||||||
func (m *CCredentials_AccountLockRequest_Response) String() string { return proto.CompactTextString(m) }
|
|
||||||
func (*CCredentials_AccountLockRequest_Response) ProtoMessage() {}
|
|
||||||
func (*CCredentials_AccountLockRequest_Response) Descriptor() ([]byte, []int) {
|
|
||||||
return credentials_fileDescriptor0, []int{11}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CCredentials_AccountLockRequest_Response) GetSuccess() bool {
|
|
||||||
if m != nil && m.Success != nil {
|
|
||||||
return *m.Success
|
|
||||||
}
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CCredentials_AccountLockRequest_Response) GetAccountAlreadyLocked() bool {
|
|
||||||
if m != nil && m.AccountAlreadyLocked != nil {
|
|
||||||
return *m.AccountAlreadyLocked
|
|
||||||
}
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CCredentials_AccountLockRequest_Response) GetExpiredLink() bool {
|
|
||||||
if m != nil && m.ExpiredLink != nil {
|
|
||||||
return *m.ExpiredLink
|
|
||||||
}
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
|
|
||||||
type CCredentials_LastCredentialChangeTime_Request struct {
|
|
||||||
XXX_unrecognized []byte `json:"-"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CCredentials_LastCredentialChangeTime_Request) Reset() {
|
|
||||||
*m = CCredentials_LastCredentialChangeTime_Request{}
|
|
||||||
}
|
|
||||||
func (m *CCredentials_LastCredentialChangeTime_Request) String() string {
|
|
||||||
return proto.CompactTextString(m)
|
|
||||||
}
|
|
||||||
func (*CCredentials_LastCredentialChangeTime_Request) ProtoMessage() {}
|
|
||||||
func (*CCredentials_LastCredentialChangeTime_Request) Descriptor() ([]byte, []int) {
|
|
||||||
return credentials_fileDescriptor0, []int{12}
|
|
||||||
}
|
|
||||||
|
|
||||||
type CCredentials_LastCredentialChangeTime_Response struct {
|
|
||||||
TimestampLastPasswordChange *uint32 `protobuf:"fixed32,1,opt,name=timestamp_last_password_change" json:"timestamp_last_password_change,omitempty"`
|
|
||||||
TimestampLastEmailChange *uint32 `protobuf:"fixed32,2,opt,name=timestamp_last_email_change" json:"timestamp_last_email_change,omitempty"`
|
|
||||||
TimestampLastPasswordReset *uint32 `protobuf:"fixed32,3,opt,name=timestamp_last_password_reset" json:"timestamp_last_password_reset,omitempty"`
|
|
||||||
XXX_unrecognized []byte `json:"-"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CCredentials_LastCredentialChangeTime_Response) Reset() {
|
|
||||||
*m = CCredentials_LastCredentialChangeTime_Response{}
|
|
||||||
}
|
|
||||||
func (m *CCredentials_LastCredentialChangeTime_Response) String() string {
|
|
||||||
return proto.CompactTextString(m)
|
|
||||||
}
|
|
||||||
func (*CCredentials_LastCredentialChangeTime_Response) ProtoMessage() {}
|
|
||||||
func (*CCredentials_LastCredentialChangeTime_Response) Descriptor() ([]byte, []int) {
|
|
||||||
return credentials_fileDescriptor0, []int{13}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CCredentials_LastCredentialChangeTime_Response) GetTimestampLastPasswordChange() uint32 {
|
|
||||||
if m != nil && m.TimestampLastPasswordChange != nil {
|
|
||||||
return *m.TimestampLastPasswordChange
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CCredentials_LastCredentialChangeTime_Response) GetTimestampLastEmailChange() uint32 {
|
|
||||||
if m != nil && m.TimestampLastEmailChange != nil {
|
|
||||||
return *m.TimestampLastEmailChange
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CCredentials_LastCredentialChangeTime_Response) GetTimestampLastPasswordReset() uint32 {
|
|
||||||
if m != nil && m.TimestampLastPasswordReset != nil {
|
|
||||||
return *m.TimestampLastPasswordReset
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
type CCredentials_GetAccountAuthSecret_Request struct {
|
|
||||||
XXX_unrecognized []byte `json:"-"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CCredentials_GetAccountAuthSecret_Request) Reset() {
|
|
||||||
*m = CCredentials_GetAccountAuthSecret_Request{}
|
|
||||||
}
|
|
||||||
func (m *CCredentials_GetAccountAuthSecret_Request) String() string { return proto.CompactTextString(m) }
|
|
||||||
func (*CCredentials_GetAccountAuthSecret_Request) ProtoMessage() {}
|
|
||||||
func (*CCredentials_GetAccountAuthSecret_Request) Descriptor() ([]byte, []int) {
|
|
||||||
return credentials_fileDescriptor0, []int{14}
|
|
||||||
}
|
|
||||||
|
|
||||||
type CCredentials_GetAccountAuthSecret_Response struct {
|
|
||||||
SecretId *int32 `protobuf:"varint,1,opt,name=secret_id" json:"secret_id,omitempty"`
|
|
||||||
Secret []byte `protobuf:"bytes,2,opt,name=secret" json:"secret,omitempty"`
|
|
||||||
XXX_unrecognized []byte `json:"-"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CCredentials_GetAccountAuthSecret_Response) Reset() {
|
|
||||||
*m = CCredentials_GetAccountAuthSecret_Response{}
|
|
||||||
}
|
|
||||||
func (m *CCredentials_GetAccountAuthSecret_Response) String() string {
|
|
||||||
return proto.CompactTextString(m)
|
|
||||||
}
|
|
||||||
func (*CCredentials_GetAccountAuthSecret_Response) ProtoMessage() {}
|
|
||||||
func (*CCredentials_GetAccountAuthSecret_Response) Descriptor() ([]byte, []int) {
|
|
||||||
return credentials_fileDescriptor0, []int{15}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CCredentials_GetAccountAuthSecret_Response) GetSecretId() int32 {
|
|
||||||
if m != nil && m.SecretId != nil {
|
|
||||||
return *m.SecretId
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CCredentials_GetAccountAuthSecret_Response) GetSecret() []byte {
|
|
||||||
if m != nil {
|
|
||||||
return m.Secret
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func init() {
|
|
||||||
proto.RegisterType((*CCredentials_TestAvailablePassword_Request)(nil), "CCredentials_TestAvailablePassword_Request")
|
|
||||||
proto.RegisterType((*CCredentials_TestAvailablePassword_Response)(nil), "CCredentials_TestAvailablePassword_Response")
|
|
||||||
proto.RegisterType((*CCredentials_GetSteamGuardDetails_Request)(nil), "CCredentials_GetSteamGuardDetails_Request")
|
|
||||||
proto.RegisterType((*CCredentials_GetSteamGuardDetails_Response)(nil), "CCredentials_GetSteamGuardDetails_Response")
|
|
||||||
proto.RegisterType((*CCredentials_GetSteamGuardDetails_Response_NewAuthentication)(nil), "CCredentials_GetSteamGuardDetails_Response.NewAuthentication")
|
|
||||||
proto.RegisterType((*CCredentials_GetSteamGuardDetails_Response_SessionData)(nil), "CCredentials_GetSteamGuardDetails_Response.SessionData")
|
|
||||||
proto.RegisterType((*CCredentials_NewMachineNotificationDialog_Request)(nil), "CCredentials_NewMachineNotificationDialog_Request")
|
|
||||||
proto.RegisterType((*CCredentials_NewMachineNotificationDialog_Response)(nil), "CCredentials_NewMachineNotificationDialog_Response")
|
|
||||||
proto.RegisterType((*CCredentials_ValidateEmailAddress_Request)(nil), "CCredentials_ValidateEmailAddress_Request")
|
|
||||||
proto.RegisterType((*CCredentials_ValidateEmailAddress_Response)(nil), "CCredentials_ValidateEmailAddress_Response")
|
|
||||||
proto.RegisterType((*CCredentials_SteamGuardPhishingReport_Request)(nil), "CCredentials_SteamGuardPhishingReport_Request")
|
|
||||||
proto.RegisterType((*CCredentials_SteamGuardPhishingReport_Response)(nil), "CCredentials_SteamGuardPhishingReport_Response")
|
|
||||||
proto.RegisterType((*CCredentials_AccountLockRequest_Request)(nil), "CCredentials_AccountLockRequest_Request")
|
|
||||||
proto.RegisterType((*CCredentials_AccountLockRequest_Response)(nil), "CCredentials_AccountLockRequest_Response")
|
|
||||||
proto.RegisterType((*CCredentials_LastCredentialChangeTime_Request)(nil), "CCredentials_LastCredentialChangeTime_Request")
|
|
||||||
proto.RegisterType((*CCredentials_LastCredentialChangeTime_Response)(nil), "CCredentials_LastCredentialChangeTime_Response")
|
|
||||||
proto.RegisterType((*CCredentials_GetAccountAuthSecret_Request)(nil), "CCredentials_GetAccountAuthSecret_Request")
|
|
||||||
proto.RegisterType((*CCredentials_GetAccountAuthSecret_Response)(nil), "CCredentials_GetAccountAuthSecret_Response")
|
|
||||||
}
|
|
||||||
|
|
||||||
var credentials_fileDescriptor0 = []byte{
|
|
||||||
// 1482 bytes of a gzipped FileDescriptorProto
|
|
||||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xac, 0x57, 0x5d, 0x6f, 0x14, 0xd5,
|
|
||||||
0x1b, 0xcf, 0x94, 0xbe, 0xec, 0x3e, 0xa5, 0x7f, 0xe8, 0x40, 0x61, 0x59, 0x0a, 0x4c, 0x06, 0xfe,
|
|
||||||
0xb6, 0xd0, 0x3a, 0x48, 0x25, 0x41, 0x25, 0xc6, 0x94, 0x56, 0x09, 0x06, 0x90, 0x00, 0x51, 0xef,
|
|
||||||
0x4e, 0x4e, 0x67, 0x4e, 0x77, 0x4f, 0x3a, 0x33, 0x67, 0x98, 0x39, 0xb3, 0x4b, 0x4d, 0x4c, 0xc4,
|
|
||||||
0x3b, 0xbc, 0xf0, 0xce, 0x0b, 0x13, 0x2f, 0x8d, 0x5f, 0xc0, 0xe8, 0x17, 0xf0, 0x2b, 0xf8, 0x25,
|
|
||||||
0xbc, 0x32, 0x7e, 0x03, 0x9f, 0x73, 0xe6, 0xec, 0xfb, 0x6c, 0xbb, 0x4b, 0xbc, 0xdc, 0x39, 0xcf,
|
|
||||||
0xcb, 0xef, 0xf9, 0x3d, 0xaf, 0x0b, 0x1b, 0x99, 0x64, 0x34, 0x8a, 0x58, 0x96, 0xd1, 0x06, 0xcb,
|
|
||||||
0x88, 0x9f, 0xb2, 0x80, 0xc5, 0x92, 0xd3, 0x30, 0xf3, 0xf4, 0x8b, 0x1f, 0x72, 0xfc, 0xed, 0x25,
|
|
||||||
0xa9, 0x90, 0xa2, 0xbe, 0x39, 0x28, 0x9c, 0xc7, 0x7c, 0x9f, 0xb3, 0x80, 0xec, 0xd1, 0x8c, 0x8d,
|
|
||||||
0x4a, 0xbb, 0x2f, 0xe0, 0xc6, 0xce, 0x4e, 0xcf, 0x1e, 0x79, 0xce, 0x32, 0xb9, 0xdd, 0xa2, 0x3c,
|
|
||||||
0xa4, 0x7b, 0x21, 0x7b, 0x42, 0xb3, 0xac, 0x2d, 0xd2, 0x80, 0x3c, 0x65, 0x2f, 0x72, 0x7c, 0xb0,
|
|
||||||
0x4f, 0x43, 0x25, 0x31, 0xdf, 0x6a, 0x96, 0x63, 0xad, 0x57, 0xed, 0x8b, 0x70, 0x26, 0x6b, 0x52,
|
|
||||||
0x12, 0x70, 0xf4, 0x25, 0x49, 0xf7, 0x71, 0x06, 0x1f, 0x4f, 0xda, 0x67, 0xe1, 0x24, 0xf5, 0x7d,
|
|
||||||
0x91, 0xc7, 0x92, 0xc4, 0x34, 0x62, 0xb5, 0x13, 0x4a, 0xc5, 0xfd, 0x08, 0x36, 0x26, 0x72, 0x99,
|
|
||||||
0x25, 0x22, 0xce, 0x98, 0xf2, 0xc9, 0x33, 0xd2, 0xa2, 0x21, 0x0f, 0xb4, 0x81, 0x8a, 0xfb, 0xf7,
|
|
||||||
0x0c, 0x5c, 0x1f, 0xb0, 0x70, 0x9f, 0xc9, 0x67, 0x2a, 0xb2, 0xfb, 0x39, 0x4d, 0x83, 0x5d, 0x26,
|
|
||||||
0xd1, 0x56, 0xd6, 0xc5, 0x9c, 0xc3, 0x45, 0x1e, 0xfb, 0x61, 0x1e, 0x30, 0x12, 0xb3, 0x36, 0xa1,
|
|
||||||
0xb9, 0x6c, 0x2a, 0x3d, 0x9f, 0x4a, 0x8e, 0xf6, 0x75, 0x18, 0x95, 0x0f, 0x66, 0x65, 0x9a, 0xb3,
|
|
||||||
0x7b, 0x9f, 0x7e, 0xfb, 0x5b, 0xed, 0x93, 0x2f, 0x9a, 0x0c, 0x25, 0x52, 0x47, 0xa4, 0x4e, 0x2c,
|
|
||||||
0xa4, 0x23, 0x85, 0x93, 0x88, 0x24, 0x0f, 0xa9, 0x64, 0x0e, 0x7e, 0x77, 0xd0, 0xc6, 0xa0, 0x09,
|
|
||||||
0x07, 0xe9, 0x0d, 0x03, 0x87, 0xc7, 0xfa, 0x39, 0xed, 0xc0, 0xfe, 0xc1, 0x82, 0x6a, 0x9b, 0xed,
|
|
||||||
0xf9, 0x42, 0x1c, 0x70, 0xa6, 0xf9, 0xa8, 0xde, 0x7b, 0x65, 0xa1, 0x83, 0xaf, 0x9f, 0xa3, 0x58,
|
|
||||||
0x9e, 0xb1, 0x74, 0x2d, 0x73, 0x34, 0x6a, 0x47, 0xc3, 0x76, 0x22, 0xea, 0x37, 0x79, 0xcc, 0x1c,
|
|
||||||
0x65, 0xdd, 0x29, 0xd4, 0x3c, 0xe7, 0xc1, 0xbe, 0x93, 0xa0, 0x49, 0xf4, 0xb6, 0xe9, 0x70, 0xb9,
|
|
||||||
0x16, 0x86, 0xce, 0x9e, 0x56, 0x0e, 0x14, 0xae, 0x06, 0x93, 0xda, 0xa7, 0x31, 0xd6, 0x31, 0xf0,
|
|
||||||
0x60, 0x17, 0xc1, 0xa8, 0x4c, 0x07, 0x8e, 0xd8, 0xd7, 0x02, 0xdb, 0x8f, 0x9c, 0x0c, 0xeb, 0x01,
|
|
||||||
0xc1, 0x7a, 0xb6, 0x03, 0x35, 0xc9, 0xb1, 0x3a, 0x24, 0x8d, 0x12, 0x12, 0xf1, 0x98, 0x47, 0x79,
|
|
||||||
0x44, 0xda, 0x34, 0x96, 0xac, 0xa0, 0x77, 0xc1, 0x5e, 0x86, 0x2a, 0x4f, 0x68, 0x10, 0xa0, 0xdf,
|
|
||||||
0xac, 0x36, 0x8b, 0x9f, 0xe6, 0xdc, 0xbf, 0x2a, 0x43, 0x65, 0x32, 0x86, 0x71, 0x13, 0xfb, 0x25,
|
|
||||||
0x58, 0xc1, 0x94, 0xe9, 0x62, 0x6b, 0x28, 0x01, 0xc2, 0x62, 0x95, 0xdb, 0xa2, 0x66, 0x2a, 0xf6,
|
|
||||||
0x35, 0x58, 0xed, 0x41, 0x28, 0x91, 0x9a, 0xd1, 0x30, 0x7c, 0x58, 0x0d, 0x18, 0x06, 0x8f, 0x2c,
|
|
||||||
0x63, 0xf9, 0x8e, 0xd0, 0x8e, 0x60, 0x4f, 0xac, 0x2f, 0x6e, 0x7d, 0xe8, 0x4d, 0x8e, 0xcb, 0x7b,
|
|
||||||
0xcc, 0xda, 0xdb, 0x03, 0x46, 0xec, 0x1b, 0xe0, 0xf6, 0x39, 0x31, 0x0c, 0xea, 0x62, 0x25, 0x8a,
|
|
||||||
0x55, 0xbf, 0x29, 0x90, 0x7b, 0x4d, 0x42, 0xd5, 0xbe, 0x03, 0x37, 0xfb, 0x64, 0xfb, 0x48, 0x34,
|
|
||||||
0x5a, 0x25, 0x91, 0xcc, 0xe9, 0x48, 0x76, 0xe0, 0x6e, 0x9f, 0xe2, 0x60, 0x18, 0x84, 0xbd, 0xe4,
|
|
||||||
0x99, 0xcc, 0xc8, 0x7e, 0x2a, 0x22, 0xd2, 0x60, 0x22, 0x14, 0x3e, 0xd9, 0x63, 0xfb, 0x22, 0x65,
|
|
||||||
0x2a, 0x39, 0xca, 0x49, 0x6d, 0x5e, 0x93, 0x86, 0x9c, 0x96, 0x20, 0xc5, 0x9e, 0x58, 0xc0, 0xe7,
|
|
||||||
0x59, 0xfb, 0x11, 0x9c, 0x34, 0x29, 0x26, 0x01, 0x95, 0xb4, 0x56, 0xd1, 0xec, 0xdc, 0x99, 0x86,
|
|
||||||
0x9d, 0x67, 0x85, 0xfe, 0x2e, 0xaa, 0xdb, 0xab, 0x70, 0x16, 0x33, 0x28, 0xdb, 0x62, 0x9f, 0xfa,
|
|
||||||
0x52, 0xa4, 0xdd, 0x80, 0xaa, 0x1a, 0xcb, 0x55, 0xb8, 0xd8, 0x0b, 0x7f, 0x54, 0x08, 0x74, 0xd4,
|
|
||||||
0x17, 0x60, 0x19, 0x4d, 0x24, 0x4d, 0x81, 0x30, 0x5b, 0x2c, 0xd5, 0x53, 0xa8, 0xb6, 0xa8, 0xf4,
|
|
||||||
0xeb, 0x7f, 0x58, 0xb0, 0x3c, 0x9a, 0x8b, 0xe3, 0xca, 0xc2, 0xd2, 0x66, 0x57, 0x60, 0x09, 0xcd,
|
|
||||||
0x62, 0x67, 0x91, 0xbe, 0xd6, 0xaa, 0x0c, 0x16, 0xad, 0xaa, 0xe3, 0x39, 0xfb, 0x0c, 0x2c, 0x1a,
|
|
||||||
0x42, 0x79, 0xbc, 0x2f, 0x4c, 0x12, 0x0b, 0xf5, 0x94, 0x45, 0x2c, 0xda, 0x63, 0xa9, 0x49, 0x51,
|
|
||||||
0xc5, 0x76, 0xa1, 0x3e, 0x92, 0x7c, 0x92, 0xe5, 0x49, 0x12, 0x2a, 0xd4, 0xf3, 0x5a, 0xf5, 0x7f,
|
|
||||||
0x30, 0x8f, 0xd8, 0x64, 0x9e, 0x69, 0xca, 0xe7, 0xea, 0x7f, 0xce, 0xc0, 0x62, 0x3f, 0x67, 0x36,
|
|
||||||
0x40, 0x5f, 0x5a, 0x2c, 0x9d, 0x96, 0x2b, 0x70, 0x7e, 0x5c, 0x51, 0xe9, 0x91, 0x60, 0x6f, 0xc2,
|
|
||||||
0xb5, 0x89, 0x2a, 0xa9, 0x68, 0xcd, 0xf7, 0xe0, 0x9d, 0xa9, 0xcb, 0x67, 0x56, 0x07, 0xf8, 0x25,
|
|
||||||
0x2c, 0x8f, 0xb6, 0xd0, 0xdc, 0x7f, 0xd1, 0x42, 0xef, 0xc3, 0xad, 0x23, 0x30, 0x65, 0x2a, 0x6a,
|
|
||||||
0x9e, 0x94, 0xd7, 0x34, 0x66, 0x28, 0xc9, 0xf7, 0x42, 0x8e, 0x19, 0x4a, 0x5a, 0xb7, 0x35, 0xad,
|
|
||||||
0x4b, 0x6e, 0x00, 0xb7, 0x06, 0xf0, 0xa0, 0xc7, 0x47, 0x05, 0x2f, 0x8f, 0x85, 0xc4, 0x2a, 0x2a,
|
|
||||||
0x9c, 0xec, 0xe2, 0x9b, 0x68, 0x74, 0x87, 0x3c, 0x5a, 0xc2, 0xb4, 0xd2, 0x04, 0x97, 0x5a, 0xab,
|
|
||||||
0x3b, 0x67, 0xea, 0x60, 0xab, 0x52, 0xe1, 0x5f, 0x29, 0x22, 0x7d, 0x11, 0x25, 0x21, 0x93, 0xa6,
|
|
||||||
0x5e, 0xdc, 0xdb, 0xb0, 0x35, 0x8d, 0x97, 0x22, 0x7a, 0xf7, 0xee, 0xd0, 0xe2, 0xf9, 0x5c, 0x6d,
|
|
||||||
0x25, 0x6c, 0xc8, 0x8f, 0x23, 0x64, 0x69, 0xbb, 0xa8, 0xbe, 0x2e, 0x26, 0x5d, 0x2f, 0xe2, 0x00,
|
|
||||||
0x53, 0xad, 0x57, 0xa5, 0xbb, 0x33, 0x34, 0x43, 0xc7, 0x28, 0x9b, 0x19, 0x8a, 0x85, 0xda, 0xa6,
|
|
||||||
0x66, 0xef, 0xa9, 0x96, 0x2f, 0x62, 0x72, 0x09, 0xbc, 0x3d, 0x60, 0xa4, 0x97, 0xaa, 0x27, 0x4d,
|
|
||||||
0x9e, 0x21, 0xfe, 0xc6, 0x53, 0x96, 0x88, 0x54, 0x76, 0x51, 0xe0, 0x0e, 0x4e, 0x68, 0x4a, 0x31,
|
|
||||||
0x13, 0x32, 0xc5, 0x57, 0xb3, 0xb6, 0x6b, 0x70, 0xba, 0xdb, 0x2e, 0x04, 0xbb, 0x37, 0xa7, 0xa1,
|
|
||||||
0x26, 0x66, 0xc9, 0xfd, 0x75, 0x06, 0xbc, 0x49, 0x3d, 0x18, 0xa8, 0x97, 0xe1, 0x5c, 0xcf, 0x18,
|
|
||||||
0xf2, 0xc5, 0x63, 0x2a, 0x25, 0x8b, 0x12, 0xa9, 0x9d, 0x2d, 0xa9, 0x95, 0xa3, 0x8f, 0x80, 0xf4,
|
|
||||||
0x50, 0xf7, 0xc0, 0x80, 0x44, 0xd1, 0x05, 0x68, 0x41, 0xb5, 0x16, 0x1b, 0x7d, 0xd7, 0x27, 0x83,
|
|
||||||
0x1a, 0x7e, 0x3e, 0x97, 0x25, 0xea, 0xb3, 0x63, 0xa3, 0x99, 0xd3, 0xae, 0xb1, 0x04, 0xfa, 0x5d,
|
|
||||||
0x9b, 0xb7, 0xf9, 0x8e, 0x56, 0xcf, 0xa9, 0x79, 0x59, 0xd0, 0x2f, 0xe7, 0xe1, 0x54, 0xd7, 0x9d,
|
|
||||||
0x79, 0xa8, 0x74, 0x1e, 0xfa, 0x7a, 0xd3, 0x17, 0x01, 0xd3, 0x13, 0xb1, 0xea, 0xbe, 0xb6, 0x60,
|
|
||||||
0x6d, 0x80, 0xb5, 0xed, 0xe2, 0xee, 0x79, 0x28, 0xfc, 0x03, 0x93, 0x89, 0x37, 0xcd, 0x88, 0x9a,
|
|
||||||
0x2b, 0xa8, 0x98, 0x1e, 0x12, 0x11, 0x87, 0x87, 0xc5, 0x09, 0xa4, 0xe2, 0x62, 0xaa, 0x6c, 0x88,
|
|
||||||
0xb9, 0xf3, 0x88, 0x3c, 0x4c, 0x98, 0x59, 0xd6, 0x2f, 0x60, 0xfd, 0x78, 0x28, 0x26, 0x75, 0xa7,
|
|
||||||
0x60, 0x21, 0xcb, 0x7d, 0x5f, 0x0d, 0xcd, 0xa2, 0x67, 0x30, 0x13, 0x9d, 0x93, 0x8d, 0x86, 0x29,
|
|
||||||
0xde, 0x10, 0x87, 0x48, 0xb8, 0x7f, 0x60, 0xb6, 0x72, 0x45, 0x81, 0x67, 0x2f, 0x13, 0x8e, 0xe6,
|
|
||||||
0x49, 0xc8, 0xe3, 0x03, 0x73, 0x91, 0xdd, 0x1c, 0xaa, 0xca, 0x87, 0x34, 0x93, 0xbd, 0xdf, 0x3b,
|
|
||||||
0x4d, 0x1a, 0x37, 0xd8, 0x73, 0xec, 0xfb, 0x0e, 0x07, 0xee, 0xcf, 0xd6, 0x50, 0x95, 0x1d, 0xa1,
|
|
||||||
0x61, 0xa0, 0xbe, 0x05, 0x97, 0x7b, 0x93, 0x32, 0xa4, 0x7d, 0xd7, 0x26, 0xf1, 0xb5, 0xb8, 0x59,
|
|
||||||
0x10, 0x03, 0xcb, 0x49, 0xcb, 0x15, 0x4c, 0x19, 0xa1, 0xe2, 0xb8, 0xf8, 0x3f, 0x5c, 0x1a, 0x67,
|
|
||||||
0x4c, 0x9d, 0x5b, 0x45, 0xdd, 0x2d, 0xb8, 0x1b, 0xa3, 0x87, 0xa6, 0x61, 0x53, 0x0d, 0xc1, 0x67,
|
|
||||||
0x0c, 0x2f, 0xf1, 0x6e, 0x5e, 0xdd, 0xcf, 0x46, 0x6f, 0xa4, 0x32, 0x61, 0x13, 0x0e, 0x2e, 0xac,
|
|
||||||
0xac, 0xf8, 0x64, 0x96, 0xc5, 0x9c, 0x1e, 0x18, 0xfa, 0x53, 0x71, 0x3e, 0x6f, 0xfd, 0x53, 0x85,
|
|
||||||
0xc5, 0x3e, 0x83, 0xf6, 0xf7, 0x16, 0xac, 0x94, 0x1e, 0xcb, 0xf6, 0x86, 0x37, 0xf9, 0x11, 0x5f,
|
|
||||||
0xdf, 0xf4, 0xa6, 0x38, 0xbf, 0xdd, 0x3a, 0x9e, 0xac, 0xe7, 0x4a, 0x65, 0x3c, 0xfb, 0x3b, 0x0b,
|
|
||||||
0xce, 0x96, 0xad, 0x0b, 0xfb, 0x86, 0x37, 0xf1, 0x7d, 0x5e, 0xdf, 0x98, 0x62, 0xfd, 0xb8, 0x17,
|
|
||||||
0x10, 0xcd, 0x4a, 0x99, 0x88, 0x67, 0xff, 0x6e, 0x81, 0x7b, 0xd4, 0x14, 0x47, 0x1b, 0x79, 0x28,
|
|
||||||
0xed, 0x2d, 0x6f, 0xea, 0xed, 0x52, 0x7f, 0xd7, 0x7b, 0x83, 0x5d, 0xb1, 0x86, 0x50, 0xaf, 0x1e,
|
|
||||||
0x0f, 0xc8, 0xb3, 0x7f, 0x42, 0x16, 0xcb, 0x76, 0xc1, 0x30, 0x8b, 0x47, 0x2d, 0x9b, 0x61, 0x16,
|
|
||||||
0x8f, 0xdc, 0x2d, 0xee, 0x06, 0x42, 0x5b, 0xeb, 0x88, 0x38, 0x34, 0x76, 0x74, 0x87, 0x38, 0x66,
|
|
||||||
0xfa, 0x38, 0x0d, 0xde, 0x62, 0xb1, 0x43, 0x1d, 0xbd, 0xbc, 0xec, 0x1f, 0x2d, 0xa8, 0x8d, 0xdb,
|
|
||||||
0x01, 0xb6, 0xe7, 0x4d, 0xb5, 0x8d, 0xea, 0x37, 0xa7, 0xdc, 0x2d, 0xee, 0x2a, 0x42, 0x1d, 0xef,
|
|
||||||
0xfe, 0x95, 0x05, 0xf6, 0xe8, 0x78, 0xb3, 0xd7, 0xbd, 0x09, 0x67, 0x71, 0xfd, 0xba, 0x37, 0xe9,
|
|
||||||
0xa8, 0x74, 0xcf, 0x21, 0x92, 0x32, 0x67, 0xbf, 0x58, 0x70, 0x19, 0x2b, 0xb2, 0x6c, 0x78, 0x75,
|
|
||||||
0xda, 0xc1, 0xf3, 0xa6, 0x9a, 0x8e, 0xc3, 0x2c, 0x1d, 0x3b, 0x1b, 0xdd, 0xab, 0x88, 0xed, 0xca,
|
|
||||||
0xd1, 0x20, 0x3c, 0xfb, 0x75, 0xd1, 0xad, 0x23, 0x33, 0xa9, 0xa4, 0x5b, 0xc7, 0x0e, 0xb9, 0x92,
|
|
||||||
0x6e, 0x1d, 0x3f, 0xe3, 0xdc, 0x1a, 0xc2, 0x2a, 0x75, 0x59, 0x3f, 0x8f, 0x2f, 0x67, 0xfa, 0x0c,
|
|
||||||
0xe1, 0xff, 0xd3, 0xb4, 0xc5, 0x7d, 0x76, 0xef, 0xc4, 0x37, 0x96, 0xf5, 0x6f, 0x00, 0x00, 0x00,
|
|
||||||
0xff, 0xff, 0x3c, 0x6e, 0x05, 0xde, 0xf0, 0x10, 0x00, 0x00,
|
|
||||||
}
|
|
694
vendor/github.com/Philipp15b/go-steam/protocol/protobuf/unified/deviceauth.pb.go
generated
vendored
694
vendor/github.com/Philipp15b/go-steam/protocol/protobuf/unified/deviceauth.pb.go
generated
vendored
@ -1,694 +0,0 @@
|
|||||||
// Code generated by protoc-gen-go.
|
|
||||||
// source: steammessages_deviceauth.steamclient.proto
|
|
||||||
// DO NOT EDIT!
|
|
||||||
|
|
||||||
package unified
|
|
||||||
|
|
||||||
import proto "github.com/golang/protobuf/proto"
|
|
||||||
import fmt "fmt"
|
|
||||||
import math "math"
|
|
||||||
|
|
||||||
// Reference imports to suppress errors if they are not otherwise used.
|
|
||||||
var _ = proto.Marshal
|
|
||||||
var _ = fmt.Errorf
|
|
||||||
var _ = math.Inf
|
|
||||||
|
|
||||||
type CDeviceAuth_GetOwnAuthorizedDevices_Request struct {
|
|
||||||
Steamid *uint64 `protobuf:"fixed64,1,opt,name=steamid" json:"steamid,omitempty"`
|
|
||||||
IncludeCanceled *bool `protobuf:"varint,2,opt,name=include_canceled" json:"include_canceled,omitempty"`
|
|
||||||
XXX_unrecognized []byte `json:"-"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CDeviceAuth_GetOwnAuthorizedDevices_Request) Reset() {
|
|
||||||
*m = CDeviceAuth_GetOwnAuthorizedDevices_Request{}
|
|
||||||
}
|
|
||||||
func (m *CDeviceAuth_GetOwnAuthorizedDevices_Request) String() string {
|
|
||||||
return proto.CompactTextString(m)
|
|
||||||
}
|
|
||||||
func (*CDeviceAuth_GetOwnAuthorizedDevices_Request) ProtoMessage() {}
|
|
||||||
func (*CDeviceAuth_GetOwnAuthorizedDevices_Request) Descriptor() ([]byte, []int) {
|
|
||||||
return deviceauth_fileDescriptor0, []int{0}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CDeviceAuth_GetOwnAuthorizedDevices_Request) GetSteamid() uint64 {
|
|
||||||
if m != nil && m.Steamid != nil {
|
|
||||||
return *m.Steamid
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CDeviceAuth_GetOwnAuthorizedDevices_Request) GetIncludeCanceled() bool {
|
|
||||||
if m != nil && m.IncludeCanceled != nil {
|
|
||||||
return *m.IncludeCanceled
|
|
||||||
}
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
|
|
||||||
type CDeviceAuth_GetOwnAuthorizedDevices_Response struct {
|
|
||||||
Devices []*CDeviceAuth_GetOwnAuthorizedDevices_Response_Device `protobuf:"bytes,1,rep,name=devices" json:"devices,omitempty"`
|
|
||||||
XXX_unrecognized []byte `json:"-"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CDeviceAuth_GetOwnAuthorizedDevices_Response) Reset() {
|
|
||||||
*m = CDeviceAuth_GetOwnAuthorizedDevices_Response{}
|
|
||||||
}
|
|
||||||
func (m *CDeviceAuth_GetOwnAuthorizedDevices_Response) String() string {
|
|
||||||
return proto.CompactTextString(m)
|
|
||||||
}
|
|
||||||
func (*CDeviceAuth_GetOwnAuthorizedDevices_Response) ProtoMessage() {}
|
|
||||||
func (*CDeviceAuth_GetOwnAuthorizedDevices_Response) Descriptor() ([]byte, []int) {
|
|
||||||
return deviceauth_fileDescriptor0, []int{1}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CDeviceAuth_GetOwnAuthorizedDevices_Response) GetDevices() []*CDeviceAuth_GetOwnAuthorizedDevices_Response_Device {
|
|
||||||
if m != nil {
|
|
||||||
return m.Devices
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
type CDeviceAuth_GetOwnAuthorizedDevices_Response_Device struct {
|
|
||||||
AuthDeviceToken *uint64 `protobuf:"fixed64,1,opt,name=auth_device_token" json:"auth_device_token,omitempty"`
|
|
||||||
DeviceName *string `protobuf:"bytes,2,opt,name=device_name" json:"device_name,omitempty"`
|
|
||||||
IsPending *bool `protobuf:"varint,3,opt,name=is_pending" json:"is_pending,omitempty"`
|
|
||||||
IsCanceled *bool `protobuf:"varint,4,opt,name=is_canceled" json:"is_canceled,omitempty"`
|
|
||||||
LastTimeUsed *uint32 `protobuf:"varint,5,opt,name=last_time_used" json:"last_time_used,omitempty"`
|
|
||||||
LastBorrowerId *uint64 `protobuf:"fixed64,6,opt,name=last_borrower_id" json:"last_borrower_id,omitempty"`
|
|
||||||
LastAppPlayed *uint32 `protobuf:"varint,7,opt,name=last_app_played" json:"last_app_played,omitempty"`
|
|
||||||
IsLimited *bool `protobuf:"varint,8,opt,name=is_limited" json:"is_limited,omitempty"`
|
|
||||||
XXX_unrecognized []byte `json:"-"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CDeviceAuth_GetOwnAuthorizedDevices_Response_Device) Reset() {
|
|
||||||
*m = CDeviceAuth_GetOwnAuthorizedDevices_Response_Device{}
|
|
||||||
}
|
|
||||||
func (m *CDeviceAuth_GetOwnAuthorizedDevices_Response_Device) String() string {
|
|
||||||
return proto.CompactTextString(m)
|
|
||||||
}
|
|
||||||
func (*CDeviceAuth_GetOwnAuthorizedDevices_Response_Device) ProtoMessage() {}
|
|
||||||
func (*CDeviceAuth_GetOwnAuthorizedDevices_Response_Device) Descriptor() ([]byte, []int) {
|
|
||||||
return deviceauth_fileDescriptor0, []int{1, 0}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CDeviceAuth_GetOwnAuthorizedDevices_Response_Device) GetAuthDeviceToken() uint64 {
|
|
||||||
if m != nil && m.AuthDeviceToken != nil {
|
|
||||||
return *m.AuthDeviceToken
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CDeviceAuth_GetOwnAuthorizedDevices_Response_Device) GetDeviceName() string {
|
|
||||||
if m != nil && m.DeviceName != nil {
|
|
||||||
return *m.DeviceName
|
|
||||||
}
|
|
||||||
return ""
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CDeviceAuth_GetOwnAuthorizedDevices_Response_Device) GetIsPending() bool {
|
|
||||||
if m != nil && m.IsPending != nil {
|
|
||||||
return *m.IsPending
|
|
||||||
}
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CDeviceAuth_GetOwnAuthorizedDevices_Response_Device) GetIsCanceled() bool {
|
|
||||||
if m != nil && m.IsCanceled != nil {
|
|
||||||
return *m.IsCanceled
|
|
||||||
}
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CDeviceAuth_GetOwnAuthorizedDevices_Response_Device) GetLastTimeUsed() uint32 {
|
|
||||||
if m != nil && m.LastTimeUsed != nil {
|
|
||||||
return *m.LastTimeUsed
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CDeviceAuth_GetOwnAuthorizedDevices_Response_Device) GetLastBorrowerId() uint64 {
|
|
||||||
if m != nil && m.LastBorrowerId != nil {
|
|
||||||
return *m.LastBorrowerId
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CDeviceAuth_GetOwnAuthorizedDevices_Response_Device) GetLastAppPlayed() uint32 {
|
|
||||||
if m != nil && m.LastAppPlayed != nil {
|
|
||||||
return *m.LastAppPlayed
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CDeviceAuth_GetOwnAuthorizedDevices_Response_Device) GetIsLimited() bool {
|
|
||||||
if m != nil && m.IsLimited != nil {
|
|
||||||
return *m.IsLimited
|
|
||||||
}
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
|
|
||||||
type CDeviceAuth_AcceptAuthorizationRequest_Request struct {
|
|
||||||
Steamid *uint64 `protobuf:"fixed64,1,opt,name=steamid" json:"steamid,omitempty"`
|
|
||||||
AuthDeviceToken *uint64 `protobuf:"fixed64,2,opt,name=auth_device_token" json:"auth_device_token,omitempty"`
|
|
||||||
AuthCode *uint64 `protobuf:"fixed64,3,opt,name=auth_code" json:"auth_code,omitempty"`
|
|
||||||
FromSteamid *uint64 `protobuf:"fixed64,4,opt,name=from_steamid" json:"from_steamid,omitempty"`
|
|
||||||
XXX_unrecognized []byte `json:"-"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CDeviceAuth_AcceptAuthorizationRequest_Request) Reset() {
|
|
||||||
*m = CDeviceAuth_AcceptAuthorizationRequest_Request{}
|
|
||||||
}
|
|
||||||
func (m *CDeviceAuth_AcceptAuthorizationRequest_Request) String() string {
|
|
||||||
return proto.CompactTextString(m)
|
|
||||||
}
|
|
||||||
func (*CDeviceAuth_AcceptAuthorizationRequest_Request) ProtoMessage() {}
|
|
||||||
func (*CDeviceAuth_AcceptAuthorizationRequest_Request) Descriptor() ([]byte, []int) {
|
|
||||||
return deviceauth_fileDescriptor0, []int{2}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CDeviceAuth_AcceptAuthorizationRequest_Request) GetSteamid() uint64 {
|
|
||||||
if m != nil && m.Steamid != nil {
|
|
||||||
return *m.Steamid
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CDeviceAuth_AcceptAuthorizationRequest_Request) GetAuthDeviceToken() uint64 {
|
|
||||||
if m != nil && m.AuthDeviceToken != nil {
|
|
||||||
return *m.AuthDeviceToken
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CDeviceAuth_AcceptAuthorizationRequest_Request) GetAuthCode() uint64 {
|
|
||||||
if m != nil && m.AuthCode != nil {
|
|
||||||
return *m.AuthCode
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CDeviceAuth_AcceptAuthorizationRequest_Request) GetFromSteamid() uint64 {
|
|
||||||
if m != nil && m.FromSteamid != nil {
|
|
||||||
return *m.FromSteamid
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
type CDeviceAuth_AcceptAuthorizationRequest_Response struct {
|
|
||||||
XXX_unrecognized []byte `json:"-"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CDeviceAuth_AcceptAuthorizationRequest_Response) Reset() {
|
|
||||||
*m = CDeviceAuth_AcceptAuthorizationRequest_Response{}
|
|
||||||
}
|
|
||||||
func (m *CDeviceAuth_AcceptAuthorizationRequest_Response) String() string {
|
|
||||||
return proto.CompactTextString(m)
|
|
||||||
}
|
|
||||||
func (*CDeviceAuth_AcceptAuthorizationRequest_Response) ProtoMessage() {}
|
|
||||||
func (*CDeviceAuth_AcceptAuthorizationRequest_Response) Descriptor() ([]byte, []int) {
|
|
||||||
return deviceauth_fileDescriptor0, []int{3}
|
|
||||||
}
|
|
||||||
|
|
||||||
type CDeviceAuth_AuthorizeRemoteDevice_Request struct {
|
|
||||||
Steamid *uint64 `protobuf:"fixed64,1,opt,name=steamid" json:"steamid,omitempty"`
|
|
||||||
AuthDeviceToken *uint64 `protobuf:"fixed64,2,opt,name=auth_device_token" json:"auth_device_token,omitempty"`
|
|
||||||
XXX_unrecognized []byte `json:"-"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CDeviceAuth_AuthorizeRemoteDevice_Request) Reset() {
|
|
||||||
*m = CDeviceAuth_AuthorizeRemoteDevice_Request{}
|
|
||||||
}
|
|
||||||
func (m *CDeviceAuth_AuthorizeRemoteDevice_Request) String() string { return proto.CompactTextString(m) }
|
|
||||||
func (*CDeviceAuth_AuthorizeRemoteDevice_Request) ProtoMessage() {}
|
|
||||||
func (*CDeviceAuth_AuthorizeRemoteDevice_Request) Descriptor() ([]byte, []int) {
|
|
||||||
return deviceauth_fileDescriptor0, []int{4}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CDeviceAuth_AuthorizeRemoteDevice_Request) GetSteamid() uint64 {
|
|
||||||
if m != nil && m.Steamid != nil {
|
|
||||||
return *m.Steamid
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CDeviceAuth_AuthorizeRemoteDevice_Request) GetAuthDeviceToken() uint64 {
|
|
||||||
if m != nil && m.AuthDeviceToken != nil {
|
|
||||||
return *m.AuthDeviceToken
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
type CDeviceAuth_AuthorizeRemoteDevice_Response struct {
|
|
||||||
XXX_unrecognized []byte `json:"-"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CDeviceAuth_AuthorizeRemoteDevice_Response) Reset() {
|
|
||||||
*m = CDeviceAuth_AuthorizeRemoteDevice_Response{}
|
|
||||||
}
|
|
||||||
func (m *CDeviceAuth_AuthorizeRemoteDevice_Response) String() string {
|
|
||||||
return proto.CompactTextString(m)
|
|
||||||
}
|
|
||||||
func (*CDeviceAuth_AuthorizeRemoteDevice_Response) ProtoMessage() {}
|
|
||||||
func (*CDeviceAuth_AuthorizeRemoteDevice_Response) Descriptor() ([]byte, []int) {
|
|
||||||
return deviceauth_fileDescriptor0, []int{5}
|
|
||||||
}
|
|
||||||
|
|
||||||
type CDeviceAuth_DeauthorizeRemoteDevice_Request struct {
|
|
||||||
Steamid *uint64 `protobuf:"fixed64,1,opt,name=steamid" json:"steamid,omitempty"`
|
|
||||||
AuthDeviceToken *uint64 `protobuf:"fixed64,2,opt,name=auth_device_token" json:"auth_device_token,omitempty"`
|
|
||||||
XXX_unrecognized []byte `json:"-"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CDeviceAuth_DeauthorizeRemoteDevice_Request) Reset() {
|
|
||||||
*m = CDeviceAuth_DeauthorizeRemoteDevice_Request{}
|
|
||||||
}
|
|
||||||
func (m *CDeviceAuth_DeauthorizeRemoteDevice_Request) String() string {
|
|
||||||
return proto.CompactTextString(m)
|
|
||||||
}
|
|
||||||
func (*CDeviceAuth_DeauthorizeRemoteDevice_Request) ProtoMessage() {}
|
|
||||||
func (*CDeviceAuth_DeauthorizeRemoteDevice_Request) Descriptor() ([]byte, []int) {
|
|
||||||
return deviceauth_fileDescriptor0, []int{6}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CDeviceAuth_DeauthorizeRemoteDevice_Request) GetSteamid() uint64 {
|
|
||||||
if m != nil && m.Steamid != nil {
|
|
||||||
return *m.Steamid
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CDeviceAuth_DeauthorizeRemoteDevice_Request) GetAuthDeviceToken() uint64 {
|
|
||||||
if m != nil && m.AuthDeviceToken != nil {
|
|
||||||
return *m.AuthDeviceToken
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
type CDeviceAuth_DeauthorizeRemoteDevice_Response struct {
|
|
||||||
XXX_unrecognized []byte `json:"-"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CDeviceAuth_DeauthorizeRemoteDevice_Response) Reset() {
|
|
||||||
*m = CDeviceAuth_DeauthorizeRemoteDevice_Response{}
|
|
||||||
}
|
|
||||||
func (m *CDeviceAuth_DeauthorizeRemoteDevice_Response) String() string {
|
|
||||||
return proto.CompactTextString(m)
|
|
||||||
}
|
|
||||||
func (*CDeviceAuth_DeauthorizeRemoteDevice_Response) ProtoMessage() {}
|
|
||||||
func (*CDeviceAuth_DeauthorizeRemoteDevice_Response) Descriptor() ([]byte, []int) {
|
|
||||||
return deviceauth_fileDescriptor0, []int{7}
|
|
||||||
}
|
|
||||||
|
|
||||||
type CDeviceAuth_GetUsedAuthorizedDevices_Request struct {
|
|
||||||
Steamid *uint64 `protobuf:"fixed64,1,opt,name=steamid" json:"steamid,omitempty"`
|
|
||||||
XXX_unrecognized []byte `json:"-"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CDeviceAuth_GetUsedAuthorizedDevices_Request) Reset() {
|
|
||||||
*m = CDeviceAuth_GetUsedAuthorizedDevices_Request{}
|
|
||||||
}
|
|
||||||
func (m *CDeviceAuth_GetUsedAuthorizedDevices_Request) String() string {
|
|
||||||
return proto.CompactTextString(m)
|
|
||||||
}
|
|
||||||
func (*CDeviceAuth_GetUsedAuthorizedDevices_Request) ProtoMessage() {}
|
|
||||||
func (*CDeviceAuth_GetUsedAuthorizedDevices_Request) Descriptor() ([]byte, []int) {
|
|
||||||
return deviceauth_fileDescriptor0, []int{8}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CDeviceAuth_GetUsedAuthorizedDevices_Request) GetSteamid() uint64 {
|
|
||||||
if m != nil && m.Steamid != nil {
|
|
||||||
return *m.Steamid
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
type CDeviceAuth_GetUsedAuthorizedDevices_Response struct {
|
|
||||||
Devices []*CDeviceAuth_GetUsedAuthorizedDevices_Response_Device `protobuf:"bytes,1,rep,name=devices" json:"devices,omitempty"`
|
|
||||||
XXX_unrecognized []byte `json:"-"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CDeviceAuth_GetUsedAuthorizedDevices_Response) Reset() {
|
|
||||||
*m = CDeviceAuth_GetUsedAuthorizedDevices_Response{}
|
|
||||||
}
|
|
||||||
func (m *CDeviceAuth_GetUsedAuthorizedDevices_Response) String() string {
|
|
||||||
return proto.CompactTextString(m)
|
|
||||||
}
|
|
||||||
func (*CDeviceAuth_GetUsedAuthorizedDevices_Response) ProtoMessage() {}
|
|
||||||
func (*CDeviceAuth_GetUsedAuthorizedDevices_Response) Descriptor() ([]byte, []int) {
|
|
||||||
return deviceauth_fileDescriptor0, []int{9}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CDeviceAuth_GetUsedAuthorizedDevices_Response) GetDevices() []*CDeviceAuth_GetUsedAuthorizedDevices_Response_Device {
|
|
||||||
if m != nil {
|
|
||||||
return m.Devices
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
type CDeviceAuth_GetUsedAuthorizedDevices_Response_Device struct {
|
|
||||||
AuthDeviceToken *uint64 `protobuf:"fixed64,1,opt,name=auth_device_token" json:"auth_device_token,omitempty"`
|
|
||||||
DeviceName *string `protobuf:"bytes,2,opt,name=device_name" json:"device_name,omitempty"`
|
|
||||||
OwnerSteamid *uint64 `protobuf:"fixed64,3,opt,name=owner_steamid" json:"owner_steamid,omitempty"`
|
|
||||||
LastTimeUsed *uint32 `protobuf:"varint,4,opt,name=last_time_used" json:"last_time_used,omitempty"`
|
|
||||||
LastAppPlayed *uint32 `protobuf:"varint,5,opt,name=last_app_played" json:"last_app_played,omitempty"`
|
|
||||||
XXX_unrecognized []byte `json:"-"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CDeviceAuth_GetUsedAuthorizedDevices_Response_Device) Reset() {
|
|
||||||
*m = CDeviceAuth_GetUsedAuthorizedDevices_Response_Device{}
|
|
||||||
}
|
|
||||||
func (m *CDeviceAuth_GetUsedAuthorizedDevices_Response_Device) String() string {
|
|
||||||
return proto.CompactTextString(m)
|
|
||||||
}
|
|
||||||
func (*CDeviceAuth_GetUsedAuthorizedDevices_Response_Device) ProtoMessage() {}
|
|
||||||
func (*CDeviceAuth_GetUsedAuthorizedDevices_Response_Device) Descriptor() ([]byte, []int) {
|
|
||||||
return deviceauth_fileDescriptor0, []int{9, 0}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CDeviceAuth_GetUsedAuthorizedDevices_Response_Device) GetAuthDeviceToken() uint64 {
|
|
||||||
if m != nil && m.AuthDeviceToken != nil {
|
|
||||||
return *m.AuthDeviceToken
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CDeviceAuth_GetUsedAuthorizedDevices_Response_Device) GetDeviceName() string {
|
|
||||||
if m != nil && m.DeviceName != nil {
|
|
||||||
return *m.DeviceName
|
|
||||||
}
|
|
||||||
return ""
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CDeviceAuth_GetUsedAuthorizedDevices_Response_Device) GetOwnerSteamid() uint64 {
|
|
||||||
if m != nil && m.OwnerSteamid != nil {
|
|
||||||
return *m.OwnerSteamid
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CDeviceAuth_GetUsedAuthorizedDevices_Response_Device) GetLastTimeUsed() uint32 {
|
|
||||||
if m != nil && m.LastTimeUsed != nil {
|
|
||||||
return *m.LastTimeUsed
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CDeviceAuth_GetUsedAuthorizedDevices_Response_Device) GetLastAppPlayed() uint32 {
|
|
||||||
if m != nil && m.LastAppPlayed != nil {
|
|
||||||
return *m.LastAppPlayed
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
type CDeviceAuth_GetAuthorizedBorrowers_Request struct {
|
|
||||||
Steamid *uint64 `protobuf:"fixed64,1,opt,name=steamid" json:"steamid,omitempty"`
|
|
||||||
IncludeCanceled *bool `protobuf:"varint,2,opt,name=include_canceled" json:"include_canceled,omitempty"`
|
|
||||||
IncludePending *bool `protobuf:"varint,3,opt,name=include_pending" json:"include_pending,omitempty"`
|
|
||||||
XXX_unrecognized []byte `json:"-"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CDeviceAuth_GetAuthorizedBorrowers_Request) Reset() {
|
|
||||||
*m = CDeviceAuth_GetAuthorizedBorrowers_Request{}
|
|
||||||
}
|
|
||||||
func (m *CDeviceAuth_GetAuthorizedBorrowers_Request) String() string {
|
|
||||||
return proto.CompactTextString(m)
|
|
||||||
}
|
|
||||||
func (*CDeviceAuth_GetAuthorizedBorrowers_Request) ProtoMessage() {}
|
|
||||||
func (*CDeviceAuth_GetAuthorizedBorrowers_Request) Descriptor() ([]byte, []int) {
|
|
||||||
return deviceauth_fileDescriptor0, []int{10}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CDeviceAuth_GetAuthorizedBorrowers_Request) GetSteamid() uint64 {
|
|
||||||
if m != nil && m.Steamid != nil {
|
|
||||||
return *m.Steamid
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CDeviceAuth_GetAuthorizedBorrowers_Request) GetIncludeCanceled() bool {
|
|
||||||
if m != nil && m.IncludeCanceled != nil {
|
|
||||||
return *m.IncludeCanceled
|
|
||||||
}
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CDeviceAuth_GetAuthorizedBorrowers_Request) GetIncludePending() bool {
|
|
||||||
if m != nil && m.IncludePending != nil {
|
|
||||||
return *m.IncludePending
|
|
||||||
}
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
|
|
||||||
type CDeviceAuth_GetAuthorizedBorrowers_Response struct {
|
|
||||||
Borrowers []*CDeviceAuth_GetAuthorizedBorrowers_Response_Borrower `protobuf:"bytes,1,rep,name=borrowers" json:"borrowers,omitempty"`
|
|
||||||
XXX_unrecognized []byte `json:"-"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CDeviceAuth_GetAuthorizedBorrowers_Response) Reset() {
|
|
||||||
*m = CDeviceAuth_GetAuthorizedBorrowers_Response{}
|
|
||||||
}
|
|
||||||
func (m *CDeviceAuth_GetAuthorizedBorrowers_Response) String() string {
|
|
||||||
return proto.CompactTextString(m)
|
|
||||||
}
|
|
||||||
func (*CDeviceAuth_GetAuthorizedBorrowers_Response) ProtoMessage() {}
|
|
||||||
func (*CDeviceAuth_GetAuthorizedBorrowers_Response) Descriptor() ([]byte, []int) {
|
|
||||||
return deviceauth_fileDescriptor0, []int{11}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CDeviceAuth_GetAuthorizedBorrowers_Response) GetBorrowers() []*CDeviceAuth_GetAuthorizedBorrowers_Response_Borrower {
|
|
||||||
if m != nil {
|
|
||||||
return m.Borrowers
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
type CDeviceAuth_GetAuthorizedBorrowers_Response_Borrower struct {
|
|
||||||
Steamid *uint64 `protobuf:"fixed64,1,opt,name=steamid" json:"steamid,omitempty"`
|
|
||||||
IsPending *bool `protobuf:"varint,2,opt,name=is_pending" json:"is_pending,omitempty"`
|
|
||||||
IsCanceled *bool `protobuf:"varint,3,opt,name=is_canceled" json:"is_canceled,omitempty"`
|
|
||||||
TimeCreated *uint32 `protobuf:"varint,4,opt,name=time_created" json:"time_created,omitempty"`
|
|
||||||
XXX_unrecognized []byte `json:"-"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CDeviceAuth_GetAuthorizedBorrowers_Response_Borrower) Reset() {
|
|
||||||
*m = CDeviceAuth_GetAuthorizedBorrowers_Response_Borrower{}
|
|
||||||
}
|
|
||||||
func (m *CDeviceAuth_GetAuthorizedBorrowers_Response_Borrower) String() string {
|
|
||||||
return proto.CompactTextString(m)
|
|
||||||
}
|
|
||||||
func (*CDeviceAuth_GetAuthorizedBorrowers_Response_Borrower) ProtoMessage() {}
|
|
||||||
func (*CDeviceAuth_GetAuthorizedBorrowers_Response_Borrower) Descriptor() ([]byte, []int) {
|
|
||||||
return deviceauth_fileDescriptor0, []int{11, 0}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CDeviceAuth_GetAuthorizedBorrowers_Response_Borrower) GetSteamid() uint64 {
|
|
||||||
if m != nil && m.Steamid != nil {
|
|
||||||
return *m.Steamid
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CDeviceAuth_GetAuthorizedBorrowers_Response_Borrower) GetIsPending() bool {
|
|
||||||
if m != nil && m.IsPending != nil {
|
|
||||||
return *m.IsPending
|
|
||||||
}
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CDeviceAuth_GetAuthorizedBorrowers_Response_Borrower) GetIsCanceled() bool {
|
|
||||||
if m != nil && m.IsCanceled != nil {
|
|
||||||
return *m.IsCanceled
|
|
||||||
}
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CDeviceAuth_GetAuthorizedBorrowers_Response_Borrower) GetTimeCreated() uint32 {
|
|
||||||
if m != nil && m.TimeCreated != nil {
|
|
||||||
return *m.TimeCreated
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
type CDeviceAuth_AddAuthorizedBorrowers_Request struct {
|
|
||||||
Steamid *uint64 `protobuf:"fixed64,1,opt,name=steamid" json:"steamid,omitempty"`
|
|
||||||
SteamidBorrower []uint64 `protobuf:"fixed64,2,rep,name=steamid_borrower" json:"steamid_borrower,omitempty"`
|
|
||||||
XXX_unrecognized []byte `json:"-"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CDeviceAuth_AddAuthorizedBorrowers_Request) Reset() {
|
|
||||||
*m = CDeviceAuth_AddAuthorizedBorrowers_Request{}
|
|
||||||
}
|
|
||||||
func (m *CDeviceAuth_AddAuthorizedBorrowers_Request) String() string {
|
|
||||||
return proto.CompactTextString(m)
|
|
||||||
}
|
|
||||||
func (*CDeviceAuth_AddAuthorizedBorrowers_Request) ProtoMessage() {}
|
|
||||||
func (*CDeviceAuth_AddAuthorizedBorrowers_Request) Descriptor() ([]byte, []int) {
|
|
||||||
return deviceauth_fileDescriptor0, []int{12}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CDeviceAuth_AddAuthorizedBorrowers_Request) GetSteamid() uint64 {
|
|
||||||
if m != nil && m.Steamid != nil {
|
|
||||||
return *m.Steamid
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CDeviceAuth_AddAuthorizedBorrowers_Request) GetSteamidBorrower() []uint64 {
|
|
||||||
if m != nil {
|
|
||||||
return m.SteamidBorrower
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
type CDeviceAuth_AddAuthorizedBorrowers_Response struct {
|
|
||||||
SecondsToWait *int32 `protobuf:"varint,1,opt,name=seconds_to_wait" json:"seconds_to_wait,omitempty"`
|
|
||||||
XXX_unrecognized []byte `json:"-"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CDeviceAuth_AddAuthorizedBorrowers_Response) Reset() {
|
|
||||||
*m = CDeviceAuth_AddAuthorizedBorrowers_Response{}
|
|
||||||
}
|
|
||||||
func (m *CDeviceAuth_AddAuthorizedBorrowers_Response) String() string {
|
|
||||||
return proto.CompactTextString(m)
|
|
||||||
}
|
|
||||||
func (*CDeviceAuth_AddAuthorizedBorrowers_Response) ProtoMessage() {}
|
|
||||||
func (*CDeviceAuth_AddAuthorizedBorrowers_Response) Descriptor() ([]byte, []int) {
|
|
||||||
return deviceauth_fileDescriptor0, []int{13}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CDeviceAuth_AddAuthorizedBorrowers_Response) GetSecondsToWait() int32 {
|
|
||||||
if m != nil && m.SecondsToWait != nil {
|
|
||||||
return *m.SecondsToWait
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
type CDeviceAuth_RemoveAuthorizedBorrowers_Request struct {
|
|
||||||
Steamid *uint64 `protobuf:"fixed64,1,opt,name=steamid" json:"steamid,omitempty"`
|
|
||||||
SteamidBorrower []uint64 `protobuf:"fixed64,2,rep,name=steamid_borrower" json:"steamid_borrower,omitempty"`
|
|
||||||
XXX_unrecognized []byte `json:"-"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CDeviceAuth_RemoveAuthorizedBorrowers_Request) Reset() {
|
|
||||||
*m = CDeviceAuth_RemoveAuthorizedBorrowers_Request{}
|
|
||||||
}
|
|
||||||
func (m *CDeviceAuth_RemoveAuthorizedBorrowers_Request) String() string {
|
|
||||||
return proto.CompactTextString(m)
|
|
||||||
}
|
|
||||||
func (*CDeviceAuth_RemoveAuthorizedBorrowers_Request) ProtoMessage() {}
|
|
||||||
func (*CDeviceAuth_RemoveAuthorizedBorrowers_Request) Descriptor() ([]byte, []int) {
|
|
||||||
return deviceauth_fileDescriptor0, []int{14}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CDeviceAuth_RemoveAuthorizedBorrowers_Request) GetSteamid() uint64 {
|
|
||||||
if m != nil && m.Steamid != nil {
|
|
||||||
return *m.Steamid
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CDeviceAuth_RemoveAuthorizedBorrowers_Request) GetSteamidBorrower() []uint64 {
|
|
||||||
if m != nil {
|
|
||||||
return m.SteamidBorrower
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
type CDeviceAuth_RemoveAuthorizedBorrowers_Response struct {
|
|
||||||
XXX_unrecognized []byte `json:"-"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CDeviceAuth_RemoveAuthorizedBorrowers_Response) Reset() {
|
|
||||||
*m = CDeviceAuth_RemoveAuthorizedBorrowers_Response{}
|
|
||||||
}
|
|
||||||
func (m *CDeviceAuth_RemoveAuthorizedBorrowers_Response) String() string {
|
|
||||||
return proto.CompactTextString(m)
|
|
||||||
}
|
|
||||||
func (*CDeviceAuth_RemoveAuthorizedBorrowers_Response) ProtoMessage() {}
|
|
||||||
func (*CDeviceAuth_RemoveAuthorizedBorrowers_Response) Descriptor() ([]byte, []int) {
|
|
||||||
return deviceauth_fileDescriptor0, []int{15}
|
|
||||||
}
|
|
||||||
|
|
||||||
func init() {
|
|
||||||
proto.RegisterType((*CDeviceAuth_GetOwnAuthorizedDevices_Request)(nil), "CDeviceAuth_GetOwnAuthorizedDevices_Request")
|
|
||||||
proto.RegisterType((*CDeviceAuth_GetOwnAuthorizedDevices_Response)(nil), "CDeviceAuth_GetOwnAuthorizedDevices_Response")
|
|
||||||
proto.RegisterType((*CDeviceAuth_GetOwnAuthorizedDevices_Response_Device)(nil), "CDeviceAuth_GetOwnAuthorizedDevices_Response.Device")
|
|
||||||
proto.RegisterType((*CDeviceAuth_AcceptAuthorizationRequest_Request)(nil), "CDeviceAuth_AcceptAuthorizationRequest_Request")
|
|
||||||
proto.RegisterType((*CDeviceAuth_AcceptAuthorizationRequest_Response)(nil), "CDeviceAuth_AcceptAuthorizationRequest_Response")
|
|
||||||
proto.RegisterType((*CDeviceAuth_AuthorizeRemoteDevice_Request)(nil), "CDeviceAuth_AuthorizeRemoteDevice_Request")
|
|
||||||
proto.RegisterType((*CDeviceAuth_AuthorizeRemoteDevice_Response)(nil), "CDeviceAuth_AuthorizeRemoteDevice_Response")
|
|
||||||
proto.RegisterType((*CDeviceAuth_DeauthorizeRemoteDevice_Request)(nil), "CDeviceAuth_DeauthorizeRemoteDevice_Request")
|
|
||||||
proto.RegisterType((*CDeviceAuth_DeauthorizeRemoteDevice_Response)(nil), "CDeviceAuth_DeauthorizeRemoteDevice_Response")
|
|
||||||
proto.RegisterType((*CDeviceAuth_GetUsedAuthorizedDevices_Request)(nil), "CDeviceAuth_GetUsedAuthorizedDevices_Request")
|
|
||||||
proto.RegisterType((*CDeviceAuth_GetUsedAuthorizedDevices_Response)(nil), "CDeviceAuth_GetUsedAuthorizedDevices_Response")
|
|
||||||
proto.RegisterType((*CDeviceAuth_GetUsedAuthorizedDevices_Response_Device)(nil), "CDeviceAuth_GetUsedAuthorizedDevices_Response.Device")
|
|
||||||
proto.RegisterType((*CDeviceAuth_GetAuthorizedBorrowers_Request)(nil), "CDeviceAuth_GetAuthorizedBorrowers_Request")
|
|
||||||
proto.RegisterType((*CDeviceAuth_GetAuthorizedBorrowers_Response)(nil), "CDeviceAuth_GetAuthorizedBorrowers_Response")
|
|
||||||
proto.RegisterType((*CDeviceAuth_GetAuthorizedBorrowers_Response_Borrower)(nil), "CDeviceAuth_GetAuthorizedBorrowers_Response.Borrower")
|
|
||||||
proto.RegisterType((*CDeviceAuth_AddAuthorizedBorrowers_Request)(nil), "CDeviceAuth_AddAuthorizedBorrowers_Request")
|
|
||||||
proto.RegisterType((*CDeviceAuth_AddAuthorizedBorrowers_Response)(nil), "CDeviceAuth_AddAuthorizedBorrowers_Response")
|
|
||||||
proto.RegisterType((*CDeviceAuth_RemoveAuthorizedBorrowers_Request)(nil), "CDeviceAuth_RemoveAuthorizedBorrowers_Request")
|
|
||||||
proto.RegisterType((*CDeviceAuth_RemoveAuthorizedBorrowers_Response)(nil), "CDeviceAuth_RemoveAuthorizedBorrowers_Response")
|
|
||||||
}
|
|
||||||
|
|
||||||
var deviceauth_fileDescriptor0 = []byte{
|
|
||||||
// 934 bytes of a gzipped FileDescriptorProto
|
|
||||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xac, 0x56, 0xdf, 0x4e, 0x3b, 0x45,
|
|
||||||
0x14, 0xce, 0xb6, 0x50, 0x60, 0x10, 0x91, 0x51, 0xa0, 0xec, 0x85, 0x4e, 0x56, 0x2f, 0x10, 0xca,
|
|
||||||
0x80, 0x04, 0xe3, 0xff, 0x3f, 0x20, 0xa2, 0x17, 0x26, 0x26, 0x18, 0xa3, 0x72, 0xb3, 0x99, 0xee,
|
|
||||||
0x0e, 0x74, 0x62, 0xbb, 0xbb, 0xee, 0x4c, 0x69, 0xf0, 0x8a, 0x98, 0xf8, 0x12, 0xfa, 0x06, 0x5e,
|
|
||||||
0x19, 0x13, 0xa2, 0x89, 0x5e, 0xf8, 0x0e, 0xbe, 0x8d, 0x57, 0xbf, 0xb3, 0xb3, 0xb3, 0x85, 0x6d,
|
|
||||||
0x77, 0x4b, 0xb7, 0xe1, 0xaa, 0x9b, 0x73, 0xce, 0x9c, 0xf9, 0xce, 0x99, 0xf3, 0x7d, 0xa7, 0x68,
|
|
||||||
0x47, 0x2a, 0xce, 0x7a, 0x3d, 0x2e, 0x25, 0xbb, 0xe2, 0xd2, 0xf5, 0xf9, 0xb5, 0xf0, 0x38, 0xeb,
|
|
||||||
0xab, 0x0e, 0xd5, 0x0e, 0xaf, 0x2b, 0x78, 0xa0, 0x68, 0x14, 0x87, 0x2a, 0xb4, 0x5b, 0xf9, 0xd8,
|
|
||||||
0x7e, 0x20, 0x2e, 0x05, 0xf7, 0xdd, 0x36, 0x93, 0x7c, 0x3c, 0xda, 0xf9, 0x16, 0xed, 0x7e, 0x72,
|
|
||||||
0xaa, 0xd3, 0x1d, 0x43, 0x3a, 0xf7, 0x33, 0xae, 0xbe, 0x1c, 0x04, 0xc9, 0x67, 0x18, 0x8b, 0x1f,
|
|
||||||
0xb9, 0x9f, 0xba, 0xa4, 0x7b, 0xce, 0x7f, 0xe8, 0x73, 0xa9, 0xf0, 0x2a, 0x5a, 0xd0, 0x39, 0x84,
|
|
||||||
0xdf, 0xb4, 0x88, 0xb5, 0xdd, 0xc0, 0x4d, 0xf4, 0x82, 0x08, 0xbc, 0x6e, 0xdf, 0xe7, 0xae, 0xc7,
|
|
||||||
0x02, 0x8f, 0x77, 0xb9, 0xdf, 0xac, 0x81, 0x67, 0xd1, 0xf9, 0xab, 0x86, 0x5a, 0xd3, 0xa5, 0x96,
|
|
||||||
0x51, 0x18, 0x48, 0x8e, 0x3f, 0x45, 0x0b, 0x69, 0x61, 0x12, 0x72, 0xd7, 0xb7, 0x97, 0x0f, 0x8f,
|
|
||||||
0x68, 0x95, 0xf3, 0x34, 0x35, 0xd8, 0xff, 0x5a, 0xa8, 0x91, 0x7e, 0xe2, 0x2d, 0xb4, 0x96, 0x34,
|
|
||||||
0xc9, 0xf4, 0xcb, 0x55, 0xe1, 0xf7, 0x3c, 0x30, 0xb8, 0x5f, 0x44, 0xcb, 0xc6, 0x1a, 0xb0, 0x1e,
|
|
||||||
0xd7, 0x90, 0x97, 0x30, 0x46, 0x48, 0x48, 0x37, 0xe2, 0x81, 0x2f, 0x82, 0xab, 0x66, 0x3d, 0x29,
|
|
||||||
0x23, 0x09, 0x04, 0xdb, 0xb0, 0xb6, 0x39, 0x6d, 0xdc, 0x40, 0xcf, 0x77, 0x99, 0x54, 0xae, 0x12,
|
|
||||||
0x3d, 0xee, 0xf6, 0x25, 0xd8, 0xe7, 0xc1, 0xbe, 0x92, 0x74, 0x43, 0xdb, 0xdb, 0x61, 0x1c, 0x87,
|
|
||||||
0x03, 0x1e, 0xbb, 0xd0, 0xa7, 0x86, 0xbe, 0x6f, 0x13, 0xad, 0x6a, 0x0f, 0x8b, 0x22, 0x37, 0xea,
|
|
||||||
0xb2, 0x1b, 0x38, 0xb2, 0xa0, 0x8f, 0xa4, 0x77, 0x76, 0x45, 0x4f, 0x28, 0xb0, 0x2d, 0xea, 0xd6,
|
|
||||||
0xfd, 0x6c, 0xa1, 0x5c, 0xe9, 0xc7, 0x9e, 0xc7, 0x23, 0x95, 0x95, 0xce, 0x94, 0x08, 0x03, 0xf3,
|
|
||||||
0x20, 0xe5, 0x0f, 0x53, 0x58, 0x7b, 0x4d, 0xbb, 0xd6, 0xd0, 0x92, 0x76, 0x79, 0xa1, 0xcf, 0x75,
|
|
||||||
0x95, 0x0d, 0xfc, 0x12, 0x7a, 0xee, 0x32, 0x0e, 0x7b, 0x6e, 0x96, 0x23, 0x29, 0xb3, 0xe1, 0xbc,
|
|
||||||
0x81, 0xf6, 0xa7, 0x86, 0x91, 0x3e, 0x82, 0xf3, 0x0d, 0x7a, 0x3d, 0x77, 0x24, 0x7b, 0xae, 0x73,
|
|
||||||
0xde, 0x0b, 0x15, 0x4f, 0x3d, 0xb3, 0x80, 0x76, 0x5a, 0x68, 0x67, 0x9a, 0xc4, 0x06, 0xc6, 0x77,
|
|
||||||
0xf9, 0xb1, 0x3e, 0xd5, 0x64, 0x79, 0x1a, 0x20, 0x34, 0x3f, 0xd6, 0xe5, 0xa9, 0x0d, 0x94, 0x8f,
|
|
||||||
0xc6, 0x68, 0xf0, 0x35, 0x0c, 0xcc, 0xf4, 0x14, 0x73, 0xfe, 0xb7, 0xd0, 0xde, 0x94, 0x19, 0x0c,
|
|
||||||
0x93, 0xce, 0x46, 0x99, 0xf4, 0x26, 0xad, 0x94, 0x20, 0xa3, 0xd2, 0xed, 0xec, 0x54, 0x5a, 0x47,
|
|
||||||
0x2b, 0xe1, 0x20, 0x00, 0x06, 0x64, 0xb5, 0xa4, 0x73, 0x36, 0x4e, 0x9c, 0x39, 0xcd, 0x82, 0x02,
|
|
||||||
0x7a, 0x68, 0x46, 0x39, 0x51, 0xfe, 0xd9, 0x01, 0xfa, 0x3d, 0xec, 0x13, 0xc3, 0xb2, 0x59, 0xe4,
|
|
||||||
0x29, 0xb9, 0x31, 0xf3, 0xe4, 0x08, 0xef, 0xfc, 0x67, 0x8d, 0x49, 0x62, 0xf1, 0x95, 0xa6, 0xd9,
|
|
||||||
0x9f, 0xa3, 0xa5, 0x8c, 0xee, 0xa5, 0xed, 0x9e, 0x94, 0x80, 0x66, 0x26, 0xfb, 0x02, 0x2d, 0x66,
|
|
||||||
0xdf, 0xe3, 0x95, 0xe4, 0xb5, 0xa9, 0x56, 0xa4, 0x4d, 0xa9, 0x60, 0x01, 0x95, 0x75, 0x77, 0xbd,
|
|
||||||
0x98, 0x33, 0x95, 0x35, 0x18, 0x78, 0x99, 0xa7, 0x8f, 0xef, 0x57, 0xed, 0xa3, 0x31, 0x0c, 0xb5,
|
|
||||||
0x0d, 0x30, 0xd4, 0x61, 0x3a, 0xcf, 0xf2, 0xdd, 0x2a, 0x4d, 0x6c, 0xba, 0x05, 0x6d, 0x97, 0xdc,
|
|
||||||
0x0b, 0x03, 0x5f, 0xc2, 0x0c, 0xb9, 0x03, 0x26, 0x94, 0xbe, 0x61, 0xde, 0xb9, 0xc8, 0x0f, 0x79,
|
|
||||||
0xc2, 0xa5, 0x6b, 0xfe, 0x44, 0x18, 0x0f, 0xf2, 0x72, 0x3a, 0x29, 0x77, 0x0a, 0xf3, 0xf0, 0xcf,
|
|
||||||
0x65, 0x84, 0xee, 0x4f, 0xe0, 0x5f, 0x2c, 0xb4, 0x59, 0xb2, 0x7f, 0x70, 0x8b, 0x56, 0x58, 0xa0,
|
|
||||||
0xf6, 0x5e, 0xa5, 0x9d, 0xe6, 0x38, 0x3f, 0xdd, 0x35, 0x5f, 0x86, 0x28, 0xd2, 0x15, 0x52, 0x91,
|
|
||||||
0xf0, 0x92, 0x0c, 0xc5, 0xc6, 0x27, 0x86, 0xe2, 0xf8, 0xce, 0x42, 0x76, 0xb9, 0x34, 0xe3, 0xfd,
|
|
||||||
0x8a, 0xab, 0xc4, 0x3e, 0xa0, 0x55, 0x45, 0xff, 0x08, 0x50, 0x1e, 0xa4, 0x81, 0x84, 0x05, 0x43,
|
|
||||||
0x8c, 0x3a, 0x98, 0xc4, 0x69, 0x34, 0x69, 0xdf, 0x80, 0x2f, 0x54, 0x1d, 0x1e, 0x13, 0x20, 0x7e,
|
|
||||||
0x2c, 0xf1, 0x6f, 0x16, 0x5a, 0x2f, 0x94, 0x71, 0xbc, 0x43, 0xa7, 0xde, 0x21, 0xf6, 0x2e, 0xad,
|
|
||||||
0xb0, 0x16, 0xde, 0x06, 0xa0, 0x47, 0xc3, 0x18, 0x02, 0x0a, 0x05, 0xf0, 0x92, 0x40, 0xd3, 0x4c,
|
|
||||||
0xa2, 0x3a, 0x4c, 0x91, 0x0e, 0x93, 0xc4, 0x10, 0x2d, 0x43, 0x8f, 0x7f, 0x85, 0x09, 0x28, 0x91,
|
|
||||||
0xfa, 0x91, 0x09, 0x78, 0x64, 0xd7, 0x8c, 0x4c, 0xc0, 0xa3, 0xeb, 0xe3, 0x55, 0x80, 0xfc, 0xca,
|
|
||||||
0x39, 0xbf, 0x06, 0xc1, 0xd5, 0x78, 0x0d, 0xd0, 0x5c, 0x8f, 0xf1, 0xdf, 0x16, 0x6a, 0x96, 0xa9,
|
|
||||||
0x3a, 0xde, 0xa3, 0x55, 0xf6, 0x8f, 0x4d, 0xab, 0xed, 0x0a, 0xe7, 0x63, 0x00, 0xf8, 0xfe, 0xe4,
|
|
||||||
0x11, 0xd5, 0x0f, 0x4e, 0x52, 0x5d, 0x27, 0x86, 0x9b, 0x3e, 0xb9, 0x82, 0x6d, 0x21, 0x09, 0xa0,
|
|
||||||
0xff, 0xc3, 0x42, 0x1b, 0xc5, 0x22, 0x89, 0x77, 0xe9, 0xf4, 0xea, 0x6f, 0xb7, 0xaa, 0xc8, 0xae,
|
|
||||||
0xf3, 0x01, 0xe0, 0x7e, 0xe7, 0x21, 0x6e, 0x3d, 0x95, 0xe9, 0x04, 0x80, 0xa4, 0x1a, 0x9c, 0x80,
|
|
||||||
0xef, 0xe1, 0x48, 0x0f, 0x6b, 0xc2, 0xbf, 0x03, 0xe8, 0x62, 0xb1, 0x1b, 0x01, 0x3d, 0x59, 0x6a,
|
|
||||||
0x47, 0x40, 0x3f, 0x22, 0x9f, 0xce, 0x7b, 0x00, 0xfa, 0x2d, 0x08, 0x2a, 0x07, 0x6b, 0xfe, 0x49,
|
|
||||||
0x16, 0x09, 0xc5, 0x3f, 0x16, 0xda, 0x2a, 0xd5, 0x3e, 0x4c, 0x69, 0x25, 0xfd, 0xb5, 0xf7, 0x2b,
|
|
||||||
0x6a, 0xaa, 0xf3, 0x21, 0x60, 0x7f, 0x37, 0x8d, 0x9b, 0x05, 0xbe, 0xfd, 0x1a, 0x9c, 0x27, 0x5f,
|
|
||||||
0x88, 0x76, 0xcc, 0xe2, 0x1b, 0xf2, 0x55, 0x87, 0xc5, 0x09, 0x3f, 0x25, 0x57, 0x0a, 0x7e, 0x25,
|
|
||||||
0x7c, 0xc4, 0x49, 0xd8, 0x49, 0xfd, 0xd6, 0xb2, 0x9e, 0x05, 0x00, 0x00, 0xff, 0xff, 0x27, 0xc5,
|
|
||||||
0x15, 0xba, 0x30, 0x0d, 0x00, 0x00,
|
|
||||||
}
|
|
850
vendor/github.com/Philipp15b/go-steam/protocol/protobuf/unified/gamenotifications.pb.go
generated
vendored
850
vendor/github.com/Philipp15b/go-steam/protocol/protobuf/unified/gamenotifications.pb.go
generated
vendored
@ -1,850 +0,0 @@
|
|||||||
// Code generated by protoc-gen-go.
|
|
||||||
// source: steammessages_gamenotifications.steamclient.proto
|
|
||||||
// DO NOT EDIT!
|
|
||||||
|
|
||||||
package unified
|
|
||||||
|
|
||||||
import proto "github.com/golang/protobuf/proto"
|
|
||||||
import fmt "fmt"
|
|
||||||
import math "math"
|
|
||||||
|
|
||||||
// Reference imports to suppress errors if they are not otherwise used.
|
|
||||||
var _ = proto.Marshal
|
|
||||||
var _ = fmt.Errorf
|
|
||||||
var _ = math.Inf
|
|
||||||
|
|
||||||
type CGameNotifications_Variable struct {
|
|
||||||
Key *string `protobuf:"bytes,1,opt,name=key" json:"key,omitempty"`
|
|
||||||
Value *string `protobuf:"bytes,2,opt,name=value" json:"value,omitempty"`
|
|
||||||
XXX_unrecognized []byte `json:"-"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CGameNotifications_Variable) Reset() { *m = CGameNotifications_Variable{} }
|
|
||||||
func (m *CGameNotifications_Variable) String() string { return proto.CompactTextString(m) }
|
|
||||||
func (*CGameNotifications_Variable) ProtoMessage() {}
|
|
||||||
func (*CGameNotifications_Variable) Descriptor() ([]byte, []int) { return gamenotifications_fileDescriptor0, []int{0} }
|
|
||||||
|
|
||||||
func (m *CGameNotifications_Variable) GetKey() string {
|
|
||||||
if m != nil && m.Key != nil {
|
|
||||||
return *m.Key
|
|
||||||
}
|
|
||||||
return ""
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CGameNotifications_Variable) GetValue() string {
|
|
||||||
if m != nil && m.Value != nil {
|
|
||||||
return *m.Value
|
|
||||||
}
|
|
||||||
return ""
|
|
||||||
}
|
|
||||||
|
|
||||||
type CGameNotifications_LocalizedText struct {
|
|
||||||
Token *string `protobuf:"bytes,1,opt,name=token" json:"token,omitempty"`
|
|
||||||
Variables []*CGameNotifications_Variable `protobuf:"bytes,2,rep,name=variables" json:"variables,omitempty"`
|
|
||||||
RenderedText *string `protobuf:"bytes,3,opt,name=rendered_text" json:"rendered_text,omitempty"`
|
|
||||||
XXX_unrecognized []byte `json:"-"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CGameNotifications_LocalizedText) Reset() { *m = CGameNotifications_LocalizedText{} }
|
|
||||||
func (m *CGameNotifications_LocalizedText) String() string { return proto.CompactTextString(m) }
|
|
||||||
func (*CGameNotifications_LocalizedText) ProtoMessage() {}
|
|
||||||
func (*CGameNotifications_LocalizedText) Descriptor() ([]byte, []int) {
|
|
||||||
return gamenotifications_fileDescriptor0, []int{1}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CGameNotifications_LocalizedText) GetToken() string {
|
|
||||||
if m != nil && m.Token != nil {
|
|
||||||
return *m.Token
|
|
||||||
}
|
|
||||||
return ""
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CGameNotifications_LocalizedText) GetVariables() []*CGameNotifications_Variable {
|
|
||||||
if m != nil {
|
|
||||||
return m.Variables
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CGameNotifications_LocalizedText) GetRenderedText() string {
|
|
||||||
if m != nil && m.RenderedText != nil {
|
|
||||||
return *m.RenderedText
|
|
||||||
}
|
|
||||||
return ""
|
|
||||||
}
|
|
||||||
|
|
||||||
type CGameNotifications_UserStatus struct {
|
|
||||||
Steamid *uint64 `protobuf:"fixed64,1,opt,name=steamid" json:"steamid,omitempty"`
|
|
||||||
State *string `protobuf:"bytes,2,opt,name=state" json:"state,omitempty"`
|
|
||||||
Title *CGameNotifications_LocalizedText `protobuf:"bytes,3,opt,name=title" json:"title,omitempty"`
|
|
||||||
Message *CGameNotifications_LocalizedText `protobuf:"bytes,4,opt,name=message" json:"message,omitempty"`
|
|
||||||
XXX_unrecognized []byte `json:"-"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CGameNotifications_UserStatus) Reset() { *m = CGameNotifications_UserStatus{} }
|
|
||||||
func (m *CGameNotifications_UserStatus) String() string { return proto.CompactTextString(m) }
|
|
||||||
func (*CGameNotifications_UserStatus) ProtoMessage() {}
|
|
||||||
func (*CGameNotifications_UserStatus) Descriptor() ([]byte, []int) { return gamenotifications_fileDescriptor0, []int{2} }
|
|
||||||
|
|
||||||
func (m *CGameNotifications_UserStatus) GetSteamid() uint64 {
|
|
||||||
if m != nil && m.Steamid != nil {
|
|
||||||
return *m.Steamid
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CGameNotifications_UserStatus) GetState() string {
|
|
||||||
if m != nil && m.State != nil {
|
|
||||||
return *m.State
|
|
||||||
}
|
|
||||||
return ""
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CGameNotifications_UserStatus) GetTitle() *CGameNotifications_LocalizedText {
|
|
||||||
if m != nil {
|
|
||||||
return m.Title
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CGameNotifications_UserStatus) GetMessage() *CGameNotifications_LocalizedText {
|
|
||||||
if m != nil {
|
|
||||||
return m.Message
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
type CGameNotifications_CreateSession_Request struct {
|
|
||||||
Appid *uint32 `protobuf:"varint,1,opt,name=appid" json:"appid,omitempty"`
|
|
||||||
Context *uint64 `protobuf:"varint,2,opt,name=context" json:"context,omitempty"`
|
|
||||||
Title *CGameNotifications_LocalizedText `protobuf:"bytes,3,opt,name=title" json:"title,omitempty"`
|
|
||||||
Users []*CGameNotifications_UserStatus `protobuf:"bytes,4,rep,name=users" json:"users,omitempty"`
|
|
||||||
Steamid *uint64 `protobuf:"fixed64,5,opt,name=steamid" json:"steamid,omitempty"`
|
|
||||||
XXX_unrecognized []byte `json:"-"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CGameNotifications_CreateSession_Request) Reset() {
|
|
||||||
*m = CGameNotifications_CreateSession_Request{}
|
|
||||||
}
|
|
||||||
func (m *CGameNotifications_CreateSession_Request) String() string { return proto.CompactTextString(m) }
|
|
||||||
func (*CGameNotifications_CreateSession_Request) ProtoMessage() {}
|
|
||||||
func (*CGameNotifications_CreateSession_Request) Descriptor() ([]byte, []int) {
|
|
||||||
return gamenotifications_fileDescriptor0, []int{3}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CGameNotifications_CreateSession_Request) GetAppid() uint32 {
|
|
||||||
if m != nil && m.Appid != nil {
|
|
||||||
return *m.Appid
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CGameNotifications_CreateSession_Request) GetContext() uint64 {
|
|
||||||
if m != nil && m.Context != nil {
|
|
||||||
return *m.Context
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CGameNotifications_CreateSession_Request) GetTitle() *CGameNotifications_LocalizedText {
|
|
||||||
if m != nil {
|
|
||||||
return m.Title
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CGameNotifications_CreateSession_Request) GetUsers() []*CGameNotifications_UserStatus {
|
|
||||||
if m != nil {
|
|
||||||
return m.Users
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CGameNotifications_CreateSession_Request) GetSteamid() uint64 {
|
|
||||||
if m != nil && m.Steamid != nil {
|
|
||||||
return *m.Steamid
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
type CGameNotifications_CreateSession_Response struct {
|
|
||||||
Sessionid *uint64 `protobuf:"varint,1,opt,name=sessionid" json:"sessionid,omitempty"`
|
|
||||||
XXX_unrecognized []byte `json:"-"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CGameNotifications_CreateSession_Response) Reset() {
|
|
||||||
*m = CGameNotifications_CreateSession_Response{}
|
|
||||||
}
|
|
||||||
func (m *CGameNotifications_CreateSession_Response) String() string { return proto.CompactTextString(m) }
|
|
||||||
func (*CGameNotifications_CreateSession_Response) ProtoMessage() {}
|
|
||||||
func (*CGameNotifications_CreateSession_Response) Descriptor() ([]byte, []int) {
|
|
||||||
return gamenotifications_fileDescriptor0, []int{4}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CGameNotifications_CreateSession_Response) GetSessionid() uint64 {
|
|
||||||
if m != nil && m.Sessionid != nil {
|
|
||||||
return *m.Sessionid
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
type CGameNotifications_DeleteSession_Request struct {
|
|
||||||
Sessionid *uint64 `protobuf:"varint,1,opt,name=sessionid" json:"sessionid,omitempty"`
|
|
||||||
Appid *uint32 `protobuf:"varint,2,opt,name=appid" json:"appid,omitempty"`
|
|
||||||
Steamid *uint64 `protobuf:"fixed64,3,opt,name=steamid" json:"steamid,omitempty"`
|
|
||||||
XXX_unrecognized []byte `json:"-"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CGameNotifications_DeleteSession_Request) Reset() {
|
|
||||||
*m = CGameNotifications_DeleteSession_Request{}
|
|
||||||
}
|
|
||||||
func (m *CGameNotifications_DeleteSession_Request) String() string { return proto.CompactTextString(m) }
|
|
||||||
func (*CGameNotifications_DeleteSession_Request) ProtoMessage() {}
|
|
||||||
func (*CGameNotifications_DeleteSession_Request) Descriptor() ([]byte, []int) {
|
|
||||||
return gamenotifications_fileDescriptor0, []int{5}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CGameNotifications_DeleteSession_Request) GetSessionid() uint64 {
|
|
||||||
if m != nil && m.Sessionid != nil {
|
|
||||||
return *m.Sessionid
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CGameNotifications_DeleteSession_Request) GetAppid() uint32 {
|
|
||||||
if m != nil && m.Appid != nil {
|
|
||||||
return *m.Appid
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CGameNotifications_DeleteSession_Request) GetSteamid() uint64 {
|
|
||||||
if m != nil && m.Steamid != nil {
|
|
||||||
return *m.Steamid
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
type CGameNotifications_DeleteSession_Response struct {
|
|
||||||
XXX_unrecognized []byte `json:"-"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CGameNotifications_DeleteSession_Response) Reset() {
|
|
||||||
*m = CGameNotifications_DeleteSession_Response{}
|
|
||||||
}
|
|
||||||
func (m *CGameNotifications_DeleteSession_Response) String() string { return proto.CompactTextString(m) }
|
|
||||||
func (*CGameNotifications_DeleteSession_Response) ProtoMessage() {}
|
|
||||||
func (*CGameNotifications_DeleteSession_Response) Descriptor() ([]byte, []int) {
|
|
||||||
return gamenotifications_fileDescriptor0, []int{6}
|
|
||||||
}
|
|
||||||
|
|
||||||
type CGameNotifications_UpdateSession_Request struct {
|
|
||||||
Sessionid *uint64 `protobuf:"varint,1,opt,name=sessionid" json:"sessionid,omitempty"`
|
|
||||||
Appid *uint32 `protobuf:"varint,2,opt,name=appid" json:"appid,omitempty"`
|
|
||||||
Title *CGameNotifications_LocalizedText `protobuf:"bytes,3,opt,name=title" json:"title,omitempty"`
|
|
||||||
Users []*CGameNotifications_UserStatus `protobuf:"bytes,4,rep,name=users" json:"users,omitempty"`
|
|
||||||
Steamid *uint64 `protobuf:"fixed64,6,opt,name=steamid" json:"steamid,omitempty"`
|
|
||||||
XXX_unrecognized []byte `json:"-"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CGameNotifications_UpdateSession_Request) Reset() {
|
|
||||||
*m = CGameNotifications_UpdateSession_Request{}
|
|
||||||
}
|
|
||||||
func (m *CGameNotifications_UpdateSession_Request) String() string { return proto.CompactTextString(m) }
|
|
||||||
func (*CGameNotifications_UpdateSession_Request) ProtoMessage() {}
|
|
||||||
func (*CGameNotifications_UpdateSession_Request) Descriptor() ([]byte, []int) {
|
|
||||||
return gamenotifications_fileDescriptor0, []int{7}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CGameNotifications_UpdateSession_Request) GetSessionid() uint64 {
|
|
||||||
if m != nil && m.Sessionid != nil {
|
|
||||||
return *m.Sessionid
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CGameNotifications_UpdateSession_Request) GetAppid() uint32 {
|
|
||||||
if m != nil && m.Appid != nil {
|
|
||||||
return *m.Appid
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CGameNotifications_UpdateSession_Request) GetTitle() *CGameNotifications_LocalizedText {
|
|
||||||
if m != nil {
|
|
||||||
return m.Title
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CGameNotifications_UpdateSession_Request) GetUsers() []*CGameNotifications_UserStatus {
|
|
||||||
if m != nil {
|
|
||||||
return m.Users
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CGameNotifications_UpdateSession_Request) GetSteamid() uint64 {
|
|
||||||
if m != nil && m.Steamid != nil {
|
|
||||||
return *m.Steamid
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
type CGameNotifications_UpdateSession_Response struct {
|
|
||||||
XXX_unrecognized []byte `json:"-"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CGameNotifications_UpdateSession_Response) Reset() {
|
|
||||||
*m = CGameNotifications_UpdateSession_Response{}
|
|
||||||
}
|
|
||||||
func (m *CGameNotifications_UpdateSession_Response) String() string { return proto.CompactTextString(m) }
|
|
||||||
func (*CGameNotifications_UpdateSession_Response) ProtoMessage() {}
|
|
||||||
func (*CGameNotifications_UpdateSession_Response) Descriptor() ([]byte, []int) {
|
|
||||||
return gamenotifications_fileDescriptor0, []int{8}
|
|
||||||
}
|
|
||||||
|
|
||||||
type CGameNotifications_EnumerateSessions_Request struct {
|
|
||||||
Appid *uint32 `protobuf:"varint,1,opt,name=appid" json:"appid,omitempty"`
|
|
||||||
IncludeAllUserMessages *bool `protobuf:"varint,3,opt,name=include_all_user_messages" json:"include_all_user_messages,omitempty"`
|
|
||||||
IncludeAuthUserMessage *bool `protobuf:"varint,4,opt,name=include_auth_user_message" json:"include_auth_user_message,omitempty"`
|
|
||||||
Language *string `protobuf:"bytes,5,opt,name=language" json:"language,omitempty"`
|
|
||||||
XXX_unrecognized []byte `json:"-"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CGameNotifications_EnumerateSessions_Request) Reset() {
|
|
||||||
*m = CGameNotifications_EnumerateSessions_Request{}
|
|
||||||
}
|
|
||||||
func (m *CGameNotifications_EnumerateSessions_Request) String() string {
|
|
||||||
return proto.CompactTextString(m)
|
|
||||||
}
|
|
||||||
func (*CGameNotifications_EnumerateSessions_Request) ProtoMessage() {}
|
|
||||||
func (*CGameNotifications_EnumerateSessions_Request) Descriptor() ([]byte, []int) {
|
|
||||||
return gamenotifications_fileDescriptor0, []int{9}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CGameNotifications_EnumerateSessions_Request) GetAppid() uint32 {
|
|
||||||
if m != nil && m.Appid != nil {
|
|
||||||
return *m.Appid
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CGameNotifications_EnumerateSessions_Request) GetIncludeAllUserMessages() bool {
|
|
||||||
if m != nil && m.IncludeAllUserMessages != nil {
|
|
||||||
return *m.IncludeAllUserMessages
|
|
||||||
}
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CGameNotifications_EnumerateSessions_Request) GetIncludeAuthUserMessage() bool {
|
|
||||||
if m != nil && m.IncludeAuthUserMessage != nil {
|
|
||||||
return *m.IncludeAuthUserMessage
|
|
||||||
}
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CGameNotifications_EnumerateSessions_Request) GetLanguage() string {
|
|
||||||
if m != nil && m.Language != nil {
|
|
||||||
return *m.Language
|
|
||||||
}
|
|
||||||
return ""
|
|
||||||
}
|
|
||||||
|
|
||||||
type CGameNotifications_Session struct {
|
|
||||||
Sessionid *uint64 `protobuf:"varint,1,opt,name=sessionid" json:"sessionid,omitempty"`
|
|
||||||
Appid *uint64 `protobuf:"varint,2,opt,name=appid" json:"appid,omitempty"`
|
|
||||||
Context *uint64 `protobuf:"varint,3,opt,name=context" json:"context,omitempty"`
|
|
||||||
Title *CGameNotifications_LocalizedText `protobuf:"bytes,4,opt,name=title" json:"title,omitempty"`
|
|
||||||
TimeCreated *uint32 `protobuf:"varint,5,opt,name=time_created" json:"time_created,omitempty"`
|
|
||||||
TimeUpdated *uint32 `protobuf:"varint,6,opt,name=time_updated" json:"time_updated,omitempty"`
|
|
||||||
UserStatus []*CGameNotifications_UserStatus `protobuf:"bytes,7,rep,name=user_status" json:"user_status,omitempty"`
|
|
||||||
XXX_unrecognized []byte `json:"-"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CGameNotifications_Session) Reset() { *m = CGameNotifications_Session{} }
|
|
||||||
func (m *CGameNotifications_Session) String() string { return proto.CompactTextString(m) }
|
|
||||||
func (*CGameNotifications_Session) ProtoMessage() {}
|
|
||||||
func (*CGameNotifications_Session) Descriptor() ([]byte, []int) { return gamenotifications_fileDescriptor0, []int{10} }
|
|
||||||
|
|
||||||
func (m *CGameNotifications_Session) GetSessionid() uint64 {
|
|
||||||
if m != nil && m.Sessionid != nil {
|
|
||||||
return *m.Sessionid
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CGameNotifications_Session) GetAppid() uint64 {
|
|
||||||
if m != nil && m.Appid != nil {
|
|
||||||
return *m.Appid
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CGameNotifications_Session) GetContext() uint64 {
|
|
||||||
if m != nil && m.Context != nil {
|
|
||||||
return *m.Context
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CGameNotifications_Session) GetTitle() *CGameNotifications_LocalizedText {
|
|
||||||
if m != nil {
|
|
||||||
return m.Title
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CGameNotifications_Session) GetTimeCreated() uint32 {
|
|
||||||
if m != nil && m.TimeCreated != nil {
|
|
||||||
return *m.TimeCreated
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CGameNotifications_Session) GetTimeUpdated() uint32 {
|
|
||||||
if m != nil && m.TimeUpdated != nil {
|
|
||||||
return *m.TimeUpdated
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CGameNotifications_Session) GetUserStatus() []*CGameNotifications_UserStatus {
|
|
||||||
if m != nil {
|
|
||||||
return m.UserStatus
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
type CGameNotifications_EnumerateSessions_Response struct {
|
|
||||||
Sessions []*CGameNotifications_Session `protobuf:"bytes,1,rep,name=sessions" json:"sessions,omitempty"`
|
|
||||||
XXX_unrecognized []byte `json:"-"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CGameNotifications_EnumerateSessions_Response) Reset() {
|
|
||||||
*m = CGameNotifications_EnumerateSessions_Response{}
|
|
||||||
}
|
|
||||||
func (m *CGameNotifications_EnumerateSessions_Response) String() string {
|
|
||||||
return proto.CompactTextString(m)
|
|
||||||
}
|
|
||||||
func (*CGameNotifications_EnumerateSessions_Response) ProtoMessage() {}
|
|
||||||
func (*CGameNotifications_EnumerateSessions_Response) Descriptor() ([]byte, []int) {
|
|
||||||
return gamenotifications_fileDescriptor0, []int{11}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CGameNotifications_EnumerateSessions_Response) GetSessions() []*CGameNotifications_Session {
|
|
||||||
if m != nil {
|
|
||||||
return m.Sessions
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
type CGameNotifications_GetSessionDetails_Request struct {
|
|
||||||
Sessions []*CGameNotifications_GetSessionDetails_Request_RequestedSession `protobuf:"bytes,1,rep,name=sessions" json:"sessions,omitempty"`
|
|
||||||
Appid *uint32 `protobuf:"varint,2,opt,name=appid" json:"appid,omitempty"`
|
|
||||||
Language *string `protobuf:"bytes,3,opt,name=language" json:"language,omitempty"`
|
|
||||||
XXX_unrecognized []byte `json:"-"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CGameNotifications_GetSessionDetails_Request) Reset() {
|
|
||||||
*m = CGameNotifications_GetSessionDetails_Request{}
|
|
||||||
}
|
|
||||||
func (m *CGameNotifications_GetSessionDetails_Request) String() string {
|
|
||||||
return proto.CompactTextString(m)
|
|
||||||
}
|
|
||||||
func (*CGameNotifications_GetSessionDetails_Request) ProtoMessage() {}
|
|
||||||
func (*CGameNotifications_GetSessionDetails_Request) Descriptor() ([]byte, []int) {
|
|
||||||
return gamenotifications_fileDescriptor0, []int{12}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CGameNotifications_GetSessionDetails_Request) GetSessions() []*CGameNotifications_GetSessionDetails_Request_RequestedSession {
|
|
||||||
if m != nil {
|
|
||||||
return m.Sessions
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CGameNotifications_GetSessionDetails_Request) GetAppid() uint32 {
|
|
||||||
if m != nil && m.Appid != nil {
|
|
||||||
return *m.Appid
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CGameNotifications_GetSessionDetails_Request) GetLanguage() string {
|
|
||||||
if m != nil && m.Language != nil {
|
|
||||||
return *m.Language
|
|
||||||
}
|
|
||||||
return ""
|
|
||||||
}
|
|
||||||
|
|
||||||
type CGameNotifications_GetSessionDetails_Request_RequestedSession struct {
|
|
||||||
Sessionid *uint64 `protobuf:"varint,1,opt,name=sessionid" json:"sessionid,omitempty"`
|
|
||||||
IncludeAuthUserMessage *bool `protobuf:"varint,3,opt,name=include_auth_user_message" json:"include_auth_user_message,omitempty"`
|
|
||||||
XXX_unrecognized []byte `json:"-"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CGameNotifications_GetSessionDetails_Request_RequestedSession) Reset() {
|
|
||||||
*m = CGameNotifications_GetSessionDetails_Request_RequestedSession{}
|
|
||||||
}
|
|
||||||
func (m *CGameNotifications_GetSessionDetails_Request_RequestedSession) String() string {
|
|
||||||
return proto.CompactTextString(m)
|
|
||||||
}
|
|
||||||
func (*CGameNotifications_GetSessionDetails_Request_RequestedSession) ProtoMessage() {}
|
|
||||||
func (*CGameNotifications_GetSessionDetails_Request_RequestedSession) Descriptor() ([]byte, []int) {
|
|
||||||
return gamenotifications_fileDescriptor0, []int{12, 0}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CGameNotifications_GetSessionDetails_Request_RequestedSession) GetSessionid() uint64 {
|
|
||||||
if m != nil && m.Sessionid != nil {
|
|
||||||
return *m.Sessionid
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CGameNotifications_GetSessionDetails_Request_RequestedSession) GetIncludeAuthUserMessage() bool {
|
|
||||||
if m != nil && m.IncludeAuthUserMessage != nil {
|
|
||||||
return *m.IncludeAuthUserMessage
|
|
||||||
}
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
|
|
||||||
type CGameNotifications_GetSessionDetails_Response struct {
|
|
||||||
Sessions []*CGameNotifications_Session `protobuf:"bytes,1,rep,name=sessions" json:"sessions,omitempty"`
|
|
||||||
XXX_unrecognized []byte `json:"-"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CGameNotifications_GetSessionDetails_Response) Reset() {
|
|
||||||
*m = CGameNotifications_GetSessionDetails_Response{}
|
|
||||||
}
|
|
||||||
func (m *CGameNotifications_GetSessionDetails_Response) String() string {
|
|
||||||
return proto.CompactTextString(m)
|
|
||||||
}
|
|
||||||
func (*CGameNotifications_GetSessionDetails_Response) ProtoMessage() {}
|
|
||||||
func (*CGameNotifications_GetSessionDetails_Response) Descriptor() ([]byte, []int) {
|
|
||||||
return gamenotifications_fileDescriptor0, []int{13}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CGameNotifications_GetSessionDetails_Response) GetSessions() []*CGameNotifications_Session {
|
|
||||||
if m != nil {
|
|
||||||
return m.Sessions
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
type GameNotificationSettings struct {
|
|
||||||
Appid *uint32 `protobuf:"varint,1,opt,name=appid" json:"appid,omitempty"`
|
|
||||||
AllowNotifications *bool `protobuf:"varint,2,opt,name=allow_notifications" json:"allow_notifications,omitempty"`
|
|
||||||
XXX_unrecognized []byte `json:"-"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *GameNotificationSettings) Reset() { *m = GameNotificationSettings{} }
|
|
||||||
func (m *GameNotificationSettings) String() string { return proto.CompactTextString(m) }
|
|
||||||
func (*GameNotificationSettings) ProtoMessage() {}
|
|
||||||
func (*GameNotificationSettings) Descriptor() ([]byte, []int) { return gamenotifications_fileDescriptor0, []int{14} }
|
|
||||||
|
|
||||||
func (m *GameNotificationSettings) GetAppid() uint32 {
|
|
||||||
if m != nil && m.Appid != nil {
|
|
||||||
return *m.Appid
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *GameNotificationSettings) GetAllowNotifications() bool {
|
|
||||||
if m != nil && m.AllowNotifications != nil {
|
|
||||||
return *m.AllowNotifications
|
|
||||||
}
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
|
|
||||||
type CGameNotifications_UpdateNotificationSettings_Request struct {
|
|
||||||
GameNotificationSettings []*GameNotificationSettings `protobuf:"bytes,1,rep,name=game_notification_settings" json:"game_notification_settings,omitempty"`
|
|
||||||
XXX_unrecognized []byte `json:"-"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CGameNotifications_UpdateNotificationSettings_Request) Reset() {
|
|
||||||
*m = CGameNotifications_UpdateNotificationSettings_Request{}
|
|
||||||
}
|
|
||||||
func (m *CGameNotifications_UpdateNotificationSettings_Request) String() string {
|
|
||||||
return proto.CompactTextString(m)
|
|
||||||
}
|
|
||||||
func (*CGameNotifications_UpdateNotificationSettings_Request) ProtoMessage() {}
|
|
||||||
func (*CGameNotifications_UpdateNotificationSettings_Request) Descriptor() ([]byte, []int) {
|
|
||||||
return gamenotifications_fileDescriptor0, []int{15}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CGameNotifications_UpdateNotificationSettings_Request) GetGameNotificationSettings() []*GameNotificationSettings {
|
|
||||||
if m != nil {
|
|
||||||
return m.GameNotificationSettings
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
type CGameNotifications_UpdateNotificationSettings_Response struct {
|
|
||||||
XXX_unrecognized []byte `json:"-"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CGameNotifications_UpdateNotificationSettings_Response) Reset() {
|
|
||||||
*m = CGameNotifications_UpdateNotificationSettings_Response{}
|
|
||||||
}
|
|
||||||
func (m *CGameNotifications_UpdateNotificationSettings_Response) String() string {
|
|
||||||
return proto.CompactTextString(m)
|
|
||||||
}
|
|
||||||
func (*CGameNotifications_UpdateNotificationSettings_Response) ProtoMessage() {}
|
|
||||||
func (*CGameNotifications_UpdateNotificationSettings_Response) Descriptor() ([]byte, []int) {
|
|
||||||
return gamenotifications_fileDescriptor0, []int{16}
|
|
||||||
}
|
|
||||||
|
|
||||||
type CGameNotifications_OnNotificationsRequested_Notification struct {
|
|
||||||
Steamid *uint64 `protobuf:"fixed64,1,opt,name=steamid" json:"steamid,omitempty"`
|
|
||||||
Appid *uint32 `protobuf:"varint,2,opt,name=appid" json:"appid,omitempty"`
|
|
||||||
XXX_unrecognized []byte `json:"-"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CGameNotifications_OnNotificationsRequested_Notification) Reset() {
|
|
||||||
*m = CGameNotifications_OnNotificationsRequested_Notification{}
|
|
||||||
}
|
|
||||||
func (m *CGameNotifications_OnNotificationsRequested_Notification) String() string {
|
|
||||||
return proto.CompactTextString(m)
|
|
||||||
}
|
|
||||||
func (*CGameNotifications_OnNotificationsRequested_Notification) ProtoMessage() {}
|
|
||||||
func (*CGameNotifications_OnNotificationsRequested_Notification) Descriptor() ([]byte, []int) {
|
|
||||||
return gamenotifications_fileDescriptor0, []int{17}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CGameNotifications_OnNotificationsRequested_Notification) GetSteamid() uint64 {
|
|
||||||
if m != nil && m.Steamid != nil {
|
|
||||||
return *m.Steamid
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CGameNotifications_OnNotificationsRequested_Notification) GetAppid() uint32 {
|
|
||||||
if m != nil && m.Appid != nil {
|
|
||||||
return *m.Appid
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
type CGameNotifications_OnUserStatusChanged_Notification struct {
|
|
||||||
Steamid *uint64 `protobuf:"fixed64,1,opt,name=steamid" json:"steamid,omitempty"`
|
|
||||||
Sessionid *uint64 `protobuf:"varint,2,opt,name=sessionid" json:"sessionid,omitempty"`
|
|
||||||
Appid *uint32 `protobuf:"varint,3,opt,name=appid" json:"appid,omitempty"`
|
|
||||||
Status *CGameNotifications_UserStatus `protobuf:"bytes,4,opt,name=status" json:"status,omitempty"`
|
|
||||||
Removed *bool `protobuf:"varint,5,opt,name=removed" json:"removed,omitempty"`
|
|
||||||
XXX_unrecognized []byte `json:"-"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CGameNotifications_OnUserStatusChanged_Notification) Reset() {
|
|
||||||
*m = CGameNotifications_OnUserStatusChanged_Notification{}
|
|
||||||
}
|
|
||||||
func (m *CGameNotifications_OnUserStatusChanged_Notification) String() string {
|
|
||||||
return proto.CompactTextString(m)
|
|
||||||
}
|
|
||||||
func (*CGameNotifications_OnUserStatusChanged_Notification) ProtoMessage() {}
|
|
||||||
func (*CGameNotifications_OnUserStatusChanged_Notification) Descriptor() ([]byte, []int) {
|
|
||||||
return gamenotifications_fileDescriptor0, []int{18}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CGameNotifications_OnUserStatusChanged_Notification) GetSteamid() uint64 {
|
|
||||||
if m != nil && m.Steamid != nil {
|
|
||||||
return *m.Steamid
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CGameNotifications_OnUserStatusChanged_Notification) GetSessionid() uint64 {
|
|
||||||
if m != nil && m.Sessionid != nil {
|
|
||||||
return *m.Sessionid
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CGameNotifications_OnUserStatusChanged_Notification) GetAppid() uint32 {
|
|
||||||
if m != nil && m.Appid != nil {
|
|
||||||
return *m.Appid
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CGameNotifications_OnUserStatusChanged_Notification) GetStatus() *CGameNotifications_UserStatus {
|
|
||||||
if m != nil {
|
|
||||||
return m.Status
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CGameNotifications_OnUserStatusChanged_Notification) GetRemoved() bool {
|
|
||||||
if m != nil && m.Removed != nil {
|
|
||||||
return *m.Removed
|
|
||||||
}
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
|
|
||||||
func init() {
|
|
||||||
proto.RegisterType((*CGameNotifications_Variable)(nil), "CGameNotifications_Variable")
|
|
||||||
proto.RegisterType((*CGameNotifications_LocalizedText)(nil), "CGameNotifications_LocalizedText")
|
|
||||||
proto.RegisterType((*CGameNotifications_UserStatus)(nil), "CGameNotifications_UserStatus")
|
|
||||||
proto.RegisterType((*CGameNotifications_CreateSession_Request)(nil), "CGameNotifications_CreateSession_Request")
|
|
||||||
proto.RegisterType((*CGameNotifications_CreateSession_Response)(nil), "CGameNotifications_CreateSession_Response")
|
|
||||||
proto.RegisterType((*CGameNotifications_DeleteSession_Request)(nil), "CGameNotifications_DeleteSession_Request")
|
|
||||||
proto.RegisterType((*CGameNotifications_DeleteSession_Response)(nil), "CGameNotifications_DeleteSession_Response")
|
|
||||||
proto.RegisterType((*CGameNotifications_UpdateSession_Request)(nil), "CGameNotifications_UpdateSession_Request")
|
|
||||||
proto.RegisterType((*CGameNotifications_UpdateSession_Response)(nil), "CGameNotifications_UpdateSession_Response")
|
|
||||||
proto.RegisterType((*CGameNotifications_EnumerateSessions_Request)(nil), "CGameNotifications_EnumerateSessions_Request")
|
|
||||||
proto.RegisterType((*CGameNotifications_Session)(nil), "CGameNotifications_Session")
|
|
||||||
proto.RegisterType((*CGameNotifications_EnumerateSessions_Response)(nil), "CGameNotifications_EnumerateSessions_Response")
|
|
||||||
proto.RegisterType((*CGameNotifications_GetSessionDetails_Request)(nil), "CGameNotifications_GetSessionDetails_Request")
|
|
||||||
proto.RegisterType((*CGameNotifications_GetSessionDetails_Request_RequestedSession)(nil), "CGameNotifications_GetSessionDetails_Request.RequestedSession")
|
|
||||||
proto.RegisterType((*CGameNotifications_GetSessionDetails_Response)(nil), "CGameNotifications_GetSessionDetails_Response")
|
|
||||||
proto.RegisterType((*GameNotificationSettings)(nil), "GameNotificationSettings")
|
|
||||||
proto.RegisterType((*CGameNotifications_UpdateNotificationSettings_Request)(nil), "CGameNotifications_UpdateNotificationSettings_Request")
|
|
||||||
proto.RegisterType((*CGameNotifications_UpdateNotificationSettings_Response)(nil), "CGameNotifications_UpdateNotificationSettings_Response")
|
|
||||||
proto.RegisterType((*CGameNotifications_OnNotificationsRequested_Notification)(nil), "CGameNotifications_OnNotificationsRequested_Notification")
|
|
||||||
proto.RegisterType((*CGameNotifications_OnUserStatusChanged_Notification)(nil), "CGameNotifications_OnUserStatusChanged_Notification")
|
|
||||||
}
|
|
||||||
|
|
||||||
var gamenotifications_fileDescriptor0 = []byte{
|
|
||||||
// 2245 bytes of a gzipped FileDescriptorProto
|
|
||||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xd4, 0x59, 0xcd, 0x8f, 0x1c, 0x47,
|
|
||||||
0x15, 0x57, 0xef, 0xec, 0x7a, 0xd7, 0x65, 0x2c, 0x91, 0x0e, 0x12, 0x93, 0xb1, 0xe3, 0xb4, 0x3b,
|
|
||||||
0x38, 0xde, 0x8d, 0x77, 0xcb, 0x78, 0x43, 0xfc, 0x01, 0x24, 0xc2, 0xbd, 0x8e, 0x4c, 0x24, 0xb3,
|
|
||||||
0x49, 0xbc, 0x9b, 0x60, 0x21, 0xc4, 0xa8, 0xa6, 0xbb, 0x66, 0xa7, 0xb3, 0x3d, 0xdd, 0x43, 0x57,
|
|
||||||
0xf5, 0x6e, 0x36, 0x07, 0x82, 0xcc, 0xd7, 0x09, 0x82, 0x48, 0x22, 0x40, 0x48, 0x91, 0x90, 0x50,
|
|
||||||
0xc4, 0x81, 0x0b, 0x87, 0x1c, 0x41, 0x48, 0x91, 0x38, 0x72, 0xcc, 0x15, 0xce, 0xfc, 0x15, 0xbc,
|
|
||||||
0xfa, 0xec, 0xee, 0x99, 0x1e, 0xef, 0xcc, 0x22, 0x11, 0x71, 0xb1, 0x3c, 0x5d, 0xf5, 0xde, 0xfb,
|
|
||||||
0xd5, 0x7b, 0xbf, 0xf7, 0x51, 0xb5, 0xe8, 0x1a, 0xe3, 0x94, 0x0c, 0x87, 0x94, 0x31, 0xb2, 0x47,
|
|
||||||
0x59, 0x77, 0x8f, 0x0c, 0x69, 0x9a, 0xf1, 0xb8, 0x1f, 0x87, 0x84, 0xc7, 0x59, 0xca, 0xb0, 0x5c,
|
|
||||||
0x0f, 0x93, 0x98, 0xa6, 0x1c, 0x8f, 0xf2, 0x8c, 0x67, 0x9d, 0xf5, 0xba, 0x48, 0x91, 0xc2, 0x6e,
|
|
||||||
0x1a, 0x75, 0x7b, 0x84, 0xd1, 0xc9, 0xdd, 0xfe, 0xbf, 0x16, 0xd0, 0xb9, 0xad, 0xbb, 0xa0, 0x76,
|
|
||||||
0xbb, 0xaa, 0xb6, 0xfb, 0x06, 0xc9, 0x63, 0xd2, 0x4b, 0xa8, 0xfb, 0x91, 0x83, 0x5a, 0xfb, 0xf4,
|
|
||||||
0xa8, 0xed, 0x78, 0xce, 0xea, 0xe9, 0xe0, 0x37, 0xce, 0xc3, 0x8f, 0xdb, 0xef, 0x39, 0xbb, 0x03,
|
|
||||||
0xea, 0xa5, 0x20, 0xe3, 0x65, 0x7d, 0x8f, 0xc3, 0xff, 0x0f, 0xf4, 0x6e, 0x2f, 0x4e, 0xe5, 0xef,
|
|
||||||
0x24, 0x0b, 0x49, 0x12, 0xbf, 0x4d, 0x23, 0x8f, 0xd3, 0xb7, 0xb8, 0xb7, 0xb1, 0xe1, 0x91, 0xf4,
|
|
||||||
0xe8, 0x70, 0x40, 0x73, 0x0a, 0xcb, 0x84, 0x7b, 0x97, 0x8c, 0x80, 0x50, 0x72, 0xc9, 0x8b, 0x99,
|
|
||||||
0xd7, 0xcf, 0x8a, 0x34, 0xf2, 0x0e, 0x63, 0x3e, 0xd0, 0x2a, 0xa4, 0x60, 0xcc, 0xe1, 0x53, 0x92,
|
|
||||||
0x78, 0x3d, 0xea, 0xb1, 0xa2, 0xc7, 0x78, 0xcc, 0x8b, 0x88, 0xaa, 0x6d, 0x72, 0xd3, 0x5e, 0x7c,
|
|
||||||
0x40, 0x53, 0xb0, 0x9e, 0x14, 0xd4, 0xfd, 0xb5, 0x83, 0x96, 0xe4, 0xff, 0xda, 0x0b, 0x12, 0xea,
|
|
||||||
0xcf, 0x04, 0xd4, 0x87, 0x12, 0xaa, 0xfc, 0x3c, 0x81, 0x95, 0x67, 0x56, 0x29, 0x9f, 0x86, 0x1c,
|
|
||||||
0xbe, 0x8e, 0x12, 0x12, 0x5a, 0x61, 0x63, 0x50, 0xa9, 0xc0, 0x9e, 0xb7, 0x45, 0x52, 0x40, 0xc9,
|
|
||||||
0x68, 0xd2, 0x17, 0x20, 0x89, 0x91, 0x97, 0x5e, 0x04, 0x0b, 0xfb, 0x34, 0xc5, 0xfe, 0x4f, 0x5a,
|
|
||||||
0xc8, 0x6b, 0x70, 0xf1, 0x3d, 0x63, 0x6a, 0x17, 0x2c, 0xb9, 0xdf, 0x44, 0x4b, 0x72, 0xbb, 0x76,
|
|
||||||
0xf4, 0x2d, 0x00, 0xff, 0xfc, 0xed, 0x06, 0x75, 0xca, 0x81, 0x43, 0x32, 0x62, 0xe2, 0x00, 0x02,
|
|
||||||
0x53, 0x44, 0x59, 0x9c, 0x03, 0x60, 0xc6, 0xf3, 0x38, 0xdd, 0xc3, 0xee, 0xcf, 0x1d, 0x74, 0xda,
|
|
||||||
0x20, 0x64, 0xe0, 0x8c, 0xd6, 0xea, 0x99, 0xcd, 0xf3, 0xf8, 0x11, 0x31, 0x0e, 0xbe, 0x0b, 0xc6,
|
|
||||||
0x1e, 0x80, 0xb1, 0x98, 0x71, 0x71, 0x50, 0x2b, 0xac, 0x1c, 0xc7, 0x26, 0x3d, 0x05, 0xd1, 0xac,
|
|
||||||
0xec, 0x52, 0xb1, 0x9b, 0x70, 0xa0, 0xc1, 0xf3, 0x53, 0x07, 0x9d, 0xcd, 0x69, 0x1a, 0x41, 0xf4,
|
|
||||||
0xa3, 0xae, 0xf0, 0x6a, 0xbb, 0x25, 0x8f, 0x98, 0x81, 0xd5, 0x7d, 0x71, 0x76, 0xcf, 0xac, 0x1a,
|
|
||||||
0x1d, 0x39, 0xfd, 0x3e, 0x98, 0xe5, 0xf0, 0x21, 0x21, 0xe9, 0x5e, 0x01, 0x34, 0x5e, 0xf7, 0xc2,
|
|
||||||
0x6c, 0x38, 0x4a, 0x28, 0x98, 0x97, 0xc1, 0xb7, 0x41, 0xb4, 0xb8, 0xc4, 0x89, 0xd6, 0xbd, 0xb8,
|
|
||||||
0x2f, 0x62, 0xa0, 0x85, 0xbc, 0x43, 0xc2, 0x3c, 0x36, 0xa2, 0xa1, 0x4c, 0x00, 0xec, 0x7f, 0xb0,
|
|
||||||
0x88, 0x9e, 0x6c, 0x70, 0xc3, 0xeb, 0x8c, 0xe6, 0x3b, 0x9c, 0xf0, 0x82, 0xb9, 0xd7, 0xd0, 0xb2,
|
|
||||||
0xcc, 0x90, 0x38, 0x92, 0x61, 0x38, 0x15, 0x78, 0x80, 0xf1, 0xbc, 0xa0, 0x90, 0x56, 0x13, 0x7a,
|
|
||||||
0x05, 0xec, 0xbe, 0x0c, 0x6a, 0xd5, 0x36, 0xec, 0xfe, 0x01, 0x68, 0xc7, 0x40, 0xda, 0xd0, 0xee,
|
|
||||||
0x7d, 0x41, 0xbb, 0x77, 0x25, 0xed, 0xec, 0x56, 0x58, 0x05, 0xaa, 0xe4, 0x94, 0x44, 0x47, 0x22,
|
|
||||||
0x17, 0xb8, 0x5e, 0x13, 0xbc, 0x57, 0x1f, 0xc1, 0xc1, 0x40, 0xb3, 0x23, 0xd8, 0x74, 0x48, 0x62,
|
|
||||||
0x0e, 0x5e, 0x13, 0xdb, 0x84, 0x0a, 0x91, 0xef, 0x62, 0x9b, 0xf9, 0x9c, 0x09, 0xdf, 0x7b, 0x24,
|
|
||||||
0x94, 0x7c, 0xe8, 0xe7, 0xd9, 0xd0, 0x2a, 0xc3, 0xd6, 0x43, 0xd1, 0xba, 0xa2, 0xaa, 0x16, 0xcd,
|
|
||||||
0x0e, 0x60, 0xd1, 0xfd, 0x31, 0xc0, 0x04, 0x3f, 0x25, 0x54, 0x3a, 0xff, 0xcc, 0xe6, 0x45, 0x7c,
|
|
||||||
0x1c, 0x23, 0x83, 0xfb, 0x70, 0x90, 0xed, 0x5d, 0x21, 0x63, 0xd8, 0xcf, 0xa0, 0xa6, 0x28, 0x22,
|
|
||||||
0x7a, 0x51, 0xcc, 0x04, 0x62, 0xc5, 0x41, 0xb0, 0xa2, 0xce, 0x23, 0xc3, 0x17, 0xe7, 0x96, 0x49,
|
|
||||||
0x02, 0xe8, 0x81, 0x95, 0x63, 0xd8, 0xfd, 0x95, 0x83, 0x96, 0x75, 0x65, 0x6a, 0x2f, 0xce, 0x0a,
|
|
||||||
0xe4, 0x7b, 0x00, 0xe4, 0x3b, 0x3b, 0x45, 0x8f, 0xcf, 0x83, 0x45, 0xfe, 0x53, 0xd6, 0x93, 0x47,
|
|
||||||
0x80, 0xf2, 0xdf, 0x5b, 0x42, 0xab, 0x0d, 0x20, 0xb6, 0x20, 0x36, 0x9c, 0xee, 0xa8, 0x6d, 0xdd,
|
|
||||||
0xfb, 0x8a, 0x93, 0xee, 0x0d, 0xb4, 0x44, 0x46, 0x23, 0x4d, 0x90, 0xb3, 0xc1, 0x2a, 0x60, 0xfb,
|
|
||||||
0x92, 0x88, 0x94, 0xfc, 0x28, 0x20, 0x84, 0x52, 0xac, 0x86, 0xb1, 0x9f, 0x41, 0x04, 0xde, 0x41,
|
|
||||||
0xcb, 0x61, 0x96, 0x4a, 0xfe, 0x0b, 0xa6, 0x2c, 0x06, 0x29, 0x88, 0xbe, 0x29, 0xcc, 0x6e, 0x58,
|
|
||||||
0x8e, 0x7a, 0x7a, 0x87, 0xae, 0x58, 0x36, 0x8c, 0x21, 0x04, 0x1d, 0x0e, 0x24, 0xf5, 0x13, 0xc6,
|
|
||||||
0xb2, 0x30, 0x1e, 0x37, 0x21, 0xb3, 0x82, 0x65, 0xa2, 0x24, 0xf7, 0xde, 0xa4, 0x21, 0x17, 0x4c,
|
|
||||||
0x51, 0xc7, 0xee, 0x91, 0x10, 0xca, 0x06, 0x30, 0xf5, 0x47, 0xf3, 0x53, 0xe0, 0x35, 0x80, 0xf8,
|
|
||||||
0x2d, 0x71, 0xba, 0x69, 0xae, 0x87, 0x9a, 0xa7, 0xbd, 0x4f, 0x6d, 0xf5, 0xa6, 0x24, 0x1c, 0x18,
|
|
||||||
0xee, 0x1b, 0x9f, 0x97, 0x0c, 0x20, 0x68, 0x49, 0xac, 0x31, 0x08, 0xbf, 0x28, 0x4c, 0x17, 0xf0,
|
|
||||||
0x23, 0x33, 0x32, 0xd8, 0x04, 0x04, 0x58, 0x20, 0x88, 0x53, 0xc8, 0x00, 0x92, 0xa8, 0x6c, 0x92,
|
|
||||||
0x61, 0x84, 0xbe, 0x20, 0x35, 0x99, 0xaa, 0xa1, 0x6d, 0x60, 0xf7, 0x13, 0xa7, 0x4c, 0xe3, 0x25,
|
|
||||||
0x99, 0xc6, 0x7f, 0x16, 0x49, 0xf9, 0x27, 0x67, 0xf5, 0x95, 0x91, 0x30, 0x40, 0x92, 0x35, 0x93,
|
|
||||||
0xbf, 0xe2, 0x0c, 0x43, 0xb2, 0x4f, 0xab, 0x65, 0x47, 0xb8, 0xae, 0x47, 0x07, 0x04, 0x4a, 0x3a,
|
|
||||||
0x98, 0x81, 0x44, 0x84, 0xa2, 0x62, 0x23, 0xb4, 0x5e, 0x66, 0xef, 0xb0, 0x80, 0xbd, 0x3d, 0x3a,
|
|
||||||
0x66, 0x1e, 0xf2, 0x33, 0xaa, 0x60, 0xeb, 0x51, 0x91, 0xb6, 0x24, 0x8a, 0x54, 0xf0, 0xaa, 0x1b,
|
|
||||||
0x8d, 0x7c, 0x3f, 0x87, 0x76, 0x1c, 0xb1, 0xb2, 0xab, 0xc9, 0x74, 0xf6, 0x63, 0xb4, 0x36, 0x03,
|
|
||||||
0x29, 0xd9, 0x08, 0xbe, 0x52, 0xf7, 0xeb, 0xe8, 0xb4, 0x56, 0xab, 0x99, 0xb9, 0x18, 0xac, 0xc1,
|
|
||||||
0x91, 0x2f, 0xed, 0x96, 0xf6, 0xe0, 0xb0, 0x3a, 0x7e, 0x8a, 0xa1, 0x91, 0x75, 0x98, 0xff, 0xee,
|
|
||||||
0x42, 0x63, 0x02, 0xdc, 0xa1, 0xa2, 0x9c, 0x8c, 0x27, 0xc0, 0xd5, 0x49, 0x53, 0xe7, 0xc1, 0x54,
|
|
||||||
0xbb, 0x6e, 0x4a, 0xa4, 0xa5, 0x14, 0xc7, 0xee, 0x75, 0x93, 0x31, 0x0b, 0x32, 0x63, 0x2e, 0xc3,
|
|
||||||
0xe6, 0xa7, 0xcb, 0x8c, 0x69, 0x48, 0x67, 0x2d, 0xf7, 0x76, 0x19, 0xc5, 0x96, 0x8c, 0x62, 0x0c,
|
|
||||||
0x92, 0xf4, 0x7f, 0x11, 0x43, 0xec, 0x5f, 0x69, 0x74, 0xfe, 0xb8, 0x43, 0x94, 0xf3, 0xfd, 0xbf,
|
|
||||||
0x34, 0xd7, 0x8f, 0xd7, 0x47, 0x11, 0xf9, 0x2f, 0xdc, 0x57, 0x48, 0xf1, 0xf9, 0xdd, 0x67, 0xe4,
|
|
||||||
0x7e, 0x39, 0x7f, 0xba, 0xcb, 0x42, 0x5b, 0x71, 0xb0, 0x1c, 0xf3, 0xe8, 0x61, 0x63, 0xf6, 0x43,
|
|
||||||
0xaf, 0x7a, 0xb9, 0xef, 0xc1, 0x2c, 0x3a, 0xee, 0x57, 0xb5, 0x59, 0x8e, 0x6d, 0x62, 0x15, 0x9c,
|
|
||||||
0x1b, 0x0e, 0xa0, 0x21, 0x43, 0x03, 0x76, 0xff, 0xe1, 0xcc, 0x97, 0xfc, 0x1f, 0x8a, 0xb4, 0xfd,
|
|
||||||
0x6d, 0x35, 0x6d, 0xcb, 0x21, 0x45, 0xa5, 0xd7, 0xe1, 0x20, 0x63, 0x54, 0xd7, 0x04, 0x33, 0x29,
|
|
||||||
0x2a, 0x07, 0x48, 0x1f, 0xe6, 0xb4, 0x9f, 0x88, 0x62, 0x58, 0x8e, 0x6e, 0xba, 0x19, 0xbf, 0xdc,
|
|
||||||
0xb7, 0x1c, 0x60, 0x1e, 0x81, 0xb1, 0x54, 0x40, 0x25, 0x89, 0xea, 0xc6, 0x75, 0x32, 0xc8, 0x53,
|
|
||||||
0x1d, 0x59, 0xed, 0x36, 0x95, 0x63, 0x5e, 0xaf, 0x34, 0xa7, 0xfe, 0x6f, 0x2b, 0x4d, 0x33, 0xd9,
|
|
||||||
0xc7, 0xe9, 0xab, 0xc9, 0xfe, 0xfb, 0x45, 0xb4, 0xde, 0xb0, 0xfb, 0xa5, 0xb4, 0x18, 0xd2, 0xbc,
|
|
||||||
0x14, 0x60, 0x96, 0xf0, 0x3f, 0xa8, 0x37, 0x4c, 0x35, 0xf5, 0x8d, 0x93, 0xdd, 0x38, 0x24, 0xa2,
|
|
||||||
0x9c, 0xc4, 0x09, 0x93, 0x1d, 0xd3, 0x33, 0x3e, 0xc4, 0x0d, 0x4c, 0x13, 0xe7, 0xe6, 0x95, 0x19,
|
|
||||||
0x4b, 0x5b, 0xb5, 0x61, 0xca, 0x29, 0x2f, 0xf2, 0x54, 0x90, 0xee, 0x17, 0x0e, 0x7a, 0x22, 0x4e,
|
|
||||||
0xc3, 0x04, 0x6e, 0x0e, 0x5d, 0x90, 0xea, 0x0a, 0x89, 0xae, 0xb9, 0x1d, 0xc9, 0xdc, 0x58, 0x09,
|
|
||||||
0xf6, 0x01, 0xd4, 0x5e, 0x25, 0x66, 0x41, 0x96, 0x25, 0x14, 0x7a, 0x2e, 0xc0, 0xa1, 0xf9, 0x10,
|
|
||||||
0x5a, 0x0f, 0x78, 0x16, 0xae, 0x2f, 0x60, 0x30, 0x97, 0x56, 0xb5, 0xb8, 0x80, 0x59, 0x89, 0x00,
|
|
||||||
0x1b, 0x64, 0x45, 0x12, 0xa9, 0x40, 0x49, 0x7b, 0x11, 0xf6, 0xee, 0xd0, 0x3e, 0x29, 0x12, 0x2e,
|
|
||||||
0x67, 0xe8, 0x3e, 0x49, 0xe0, 0x0a, 0xe6, 0xfe, 0xae, 0x0a, 0xa8, 0xe0, 0x83, 0x1a, 0x22, 0x39,
|
|
||||||
0x15, 0xad, 0x04, 0x6f, 0x01, 0x20, 0x7e, 0x42, 0x40, 0xe2, 0xb7, 0xd0, 0x0b, 0x77, 0x3c, 0x11,
|
|
||||||
0x1e, 0xa0, 0x83, 0x24, 0xd1, 0x8c, 0xe8, 0x02, 0xb4, 0x62, 0xe6, 0x67, 0xd9, 0x3c, 0x4f, 0x07,
|
|
||||||
0x5f, 0x06, 0x2c, 0xeb, 0x15, 0x2c, 0xf7, 0xcc, 0x78, 0x0d, 0x42, 0x66, 0xda, 0xaf, 0x5c, 0xd9,
|
|
||||||
0xa0, 0x7a, 0x7e, 0xb2, 0x88, 0x3a, 0x0d, 0x1c, 0xd1, 0xd4, 0x80, 0x8a, 0x36, 0x51, 0x02, 0x9f,
|
|
||||||
0x06, 0x1b, 0x4f, 0xd5, 0x59, 0xa1, 0x8e, 0x12, 0xb3, 0xb2, 0xaf, 0x6f, 0x54, 0x2b, 0xe1, 0x62,
|
|
||||||
0x70, 0x01, 0x64, 0x3a, 0x65, 0x25, 0x34, 0x47, 0xb7, 0xdb, 0x2b, 0x03, 0x57, 0xeb, 0x33, 0x19,
|
|
||||||
0xb8, 0x1e, 0x98, 0x02, 0x3c, 0xf3, 0xa4, 0xfb, 0x0c, 0x20, 0xf4, 0xc5, 0x91, 0xc2, 0x22, 0x87,
|
|
||||||
0x4b, 0x11, 0xd7, 0xc5, 0x74, 0xe2, 0x68, 0x5f, 0x43, 0x9f, 0xe3, 0xf1, 0x90, 0x76, 0x75, 0x27,
|
|
||||||
0x97, 0x81, 0x3a, 0x1b, 0x5c, 0x02, 0xe9, 0x8b, 0x6a, 0x5a, 0x1b, 0x8e, 0x81, 0x85, 0x8b, 0x90,
|
|
||||||
0xde, 0x8b, 0xdd, 0x6f, 0x68, 0x61, 0x5d, 0x27, 0x65, 0xe1, 0x3a, 0x1b, 0x3c, 0x0b, 0xc2, 0xcf,
|
|
||||||
0x08, 0xe1, 0x84, 0x30, 0xde, 0xac, 0x41, 0x0b, 0x60, 0x37, 0x42, 0x67, 0x24, 0x67, 0x99, 0x2c,
|
|
||||||
0xd3, 0xed, 0xe5, 0x99, 0x8a, 0xf9, 0x55, 0x30, 0x70, 0x45, 0x86, 0x58, 0xfe, 0x36, 0x23, 0x5c,
|
|
||||||
0x59, 0x86, 0xc7, 0x7b, 0xf0, 0x43, 0x07, 0x6d, 0xcc, 0x58, 0x69, 0xf4, 0x14, 0xf4, 0x1a, 0x5a,
|
|
||||||
0x31, 0x85, 0x00, 0x78, 0x25, 0x40, 0x9d, 0xc3, 0xd3, 0x79, 0x18, 0xf8, 0x80, 0xe8, 0x42, 0xd9,
|
|
||||||
0x51, 0x1a, 0xca, 0x09, 0xf6, 0x3f, 0x6d, 0x35, 0x96, 0xbb, 0xbb, 0x94, 0x6b, 0x2d, 0x77, 0x54,
|
|
||||||
0xc5, 0xb2, 0xe5, 0xee, 0xd5, 0x09, 0x0c, 0x2f, 0xe2, 0x79, 0x14, 0xe0, 0xfb, 0xe6, 0xf2, 0x6b,
|
|
||||||
0xd2, 0x05, 0xd7, 0x07, 0x80, 0xa7, 0x00, 0xf5, 0xb9, 0xa9, 0xb4, 0x87, 0x09, 0xfb, 0x46, 0x25,
|
|
||||||
0x83, 0xd5, 0x4d, 0x5b, 0x12, 0xe3, 0xd8, 0xb4, 0xed, 0xfc, 0xdb, 0x41, 0x9f, 0x9f, 0xb0, 0x7e,
|
|
||||||
0x73, 0x32, 0x59, 0x2d, 0xcf, 0x6a, 0x25, 0x7c, 0x8f, 0xd6, 0xcb, 0xf7, 0x31, 0x75, 0xae, 0xf5,
|
|
||||||
0xd9, 0xd6, 0x39, 0xff, 0x9d, 0x46, 0x72, 0x35, 0x85, 0x45, 0x93, 0x6b, 0x7b, 0x3e, 0x72, 0xd9,
|
|
||||||
0x30, 0x19, 0x9f, 0x8c, 0x8d, 0x4f, 0xfe, 0x1f, 0x1d, 0xd4, 0x1e, 0x17, 0xdf, 0xa1, 0x5c, 0x5c,
|
|
||||||
0xf3, 0xd9, 0xc9, 0x6f, 0x99, 0x3b, 0xe8, 0x71, 0xc8, 0xaa, 0xec, 0xb0, 0x5b, 0x7b, 0x25, 0x94,
|
|
||||||
0xd4, 0x59, 0x09, 0xae, 0x83, 0x9a, 0xcd, 0x6f, 0x57, 0xdc, 0x29, 0x1d, 0x26, 0xf7, 0x33, 0xaf,
|
|
||||||
0x2a, 0x50, 0x16, 0x5f, 0x30, 0x88, 0xfd, 0x03, 0xf4, 0xfc, 0xd4, 0x01, 0xa1, 0x09, 0xbe, 0x4d,
|
|
||||||
0x86, 0x17, 0x50, 0x47, 0x94, 0xd3, 0x1a, 0x98, 0x2e, 0xd3, 0xbb, 0xb4, 0x17, 0x9f, 0xc0, 0xd3,
|
|
||||||
0xbc, 0xe0, 0xdf, 0x44, 0xd7, 0xe7, 0xb5, 0xab, 0xa7, 0x94, 0xbf, 0x3b, 0xe8, 0x66, 0x83, 0xe8,
|
|
||||||
0x2b, 0x69, 0xed, 0xb7, 0x25, 0x7b, 0xb7, 0xfa, 0x19, 0x22, 0x3d, 0xf6, 0x0a, 0xf4, 0x02, 0xf8,
|
|
||||||
0xed, 0x96, 0x99, 0xe3, 0x2a, 0x95, 0x42, 0x8c, 0x9f, 0x35, 0xbf, 0xc1, 0xfc, 0x21, 0xde, 0x38,
|
|
||||||
0xcb, 0xf7, 0x2b, 0x19, 0x93, 0xaf, 0xd6, 0x13, 0xf8, 0x0a, 0x68, 0xbb, 0x5c, 0x09, 0xa6, 0x78,
|
|
||||||
0xcf, 0x2b, 0x25, 0xea, 0xaf, 0xbb, 0xfe, 0x5f, 0x5b, 0xe8, 0xb9, 0xc6, 0x83, 0x94, 0x95, 0x75,
|
|
||||||
0x4b, 0x8d, 0xd7, 0xf5, 0x33, 0xbc, 0x38, 0x7e, 0x86, 0x0d, 0xb0, 0xba, 0x36, 0xe5, 0x0c, 0xcc,
|
|
||||||
0x16, 0x65, 0x3b, 0xaa, 0x3f, 0xa8, 0xa6, 0xbd, 0xea, 0xb7, 0x2f, 0x81, 0x86, 0xdb, 0x8d, 0x17,
|
|
||||||
0x4a, 0xdb, 0x24, 0xf4, 0x0b, 0x6f, 0xed, 0xe9, 0xab, 0x60, 0xaa, 0xfd, 0x18, 0xcd, 0xf7, 0x8c,
|
|
||||||
0x37, 0x5a, 0xd2, 0x1b, 0xd2, 0xb7, 0x53, 0xef, 0x33, 0xd3, 0x34, 0x5a, 0x6d, 0x6f, 0xa0, 0x53,
|
|
||||||
0xba, 0x0b, 0xa9, 0x26, 0x7b, 0x5c, 0x17, 0x92, 0x1d, 0xb6, 0x52, 0x70, 0xb6, 0xe1, 0x7a, 0x53,
|
|
||||||
0x36, 0x24, 0x3b, 0x13, 0xbb, 0x77, 0xd1, 0x72, 0x4e, 0x87, 0xd9, 0x81, 0x6e, 0xae, 0x3a, 0x77,
|
|
||||||
0x2a, 0x82, 0x42, 0xa7, 0x37, 0x20, 0x62, 0xee, 0x86, 0x6b, 0x85, 0xde, 0x5b, 0x3e, 0xc9, 0x99,
|
|
||||||
0x34, 0xdf, 0xfc, 0x68, 0x05, 0x3d, 0x36, 0x81, 0x48, 0xbc, 0xd1, 0x3e, 0x26, 0x34, 0xd4, 0xae,
|
|
||||||
0xf3, 0xee, 0x1a, 0x9e, 0xf5, 0x19, 0xaa, 0xf3, 0x2c, 0x9e, 0xf9, 0x71, 0xc0, 0xbf, 0x08, 0xd0,
|
|
||||||
0x9f, 0x54, 0x6b, 0x4c, 0x3e, 0x1f, 0xb2, 0xa3, 0x34, 0x54, 0x73, 0x8e, 0x86, 0x69, 0xf1, 0xd4,
|
|
||||||
0x6e, 0xb8, 0xcd, 0x78, 0x1a, 0x5f, 0x05, 0x9a, 0xf1, 0x4c, 0xb9, 0x2f, 0x4b, 0x3c, 0x6a, 0xed,
|
|
||||||
0x38, 0x3c, 0xb5, 0x4b, 0x48, 0x33, 0x9e, 0xc6, 0x6b, 0x76, 0x33, 0x9e, 0x29, 0x57, 0x1a, 0x89,
|
|
||||||
0x47, 0xad, 0x4d, 0xc3, 0xf3, 0x3e, 0xe0, 0x99, 0x18, 0x3c, 0xdc, 0x0d, 0x3c, 0xcf, 0x4d, 0xa8,
|
|
||||||
0x83, 0xf1, 0x5c, 0xe3, 0x8c, 0x2f, 0x1f, 0x9f, 0xed, 0x3a, 0x40, 0x1b, 0x1f, 0x4f, 0xdc, 0x0f,
|
|
||||||
0x01, 0xd6, 0x44, 0xcb, 0x6a, 0x86, 0x35, 0x75, 0xe0, 0x68, 0x86, 0x35, 0xbd, 0x11, 0xfa, 0x72,
|
|
||||||
0x52, 0x84, 0x75, 0xfd, 0xc7, 0x07, 0xdb, 0xf1, 0x01, 0x9f, 0x7d, 0x25, 0x37, 0x7e, 0xfb, 0xd4,
|
|
||||||
0x41, 0x9d, 0xe9, 0xf5, 0xda, 0xbd, 0x8e, 0x4f, 0xd4, 0x57, 0x3a, 0x37, 0xf0, 0x09, 0xfb, 0xc2,
|
|
||||||
0x5d, 0xc0, 0xbe, 0x65, 0x42, 0x6d, 0x06, 0x0b, 0x52, 0xeb, 0x83, 0x32, 0xee, 0xf5, 0xa2, 0x3e,
|
|
||||||
0x76, 0x38, 0xa8, 0x54, 0x9d, 0x57, 0x41, 0xd1, 0xbd, 0xdb, 0x70, 0xce, 0xfc, 0x20, 0x0e, 0xd5,
|
|
||||||
0x3c, 0xd2, 0x2f, 0xd2, 0x50, 0xed, 0xcf, 0x69, 0x62, 0x5e, 0x20, 0xe4, 0x90, 0x22, 0xf8, 0x94,
|
|
||||||
0x67, 0x69, 0x56, 0x34, 0x68, 0x97, 0x2a, 0xa0, 0xe2, 0x6c, 0xfe, 0x73, 0x01, 0x7d, 0x71, 0xe2,
|
|
||||||
0x50, 0x5b, 0xf2, 0x4f, 0x75, 0xee, 0x07, 0x30, 0x2b, 0x4c, 0xeb, 0x5d, 0xee, 0x2d, 0x7c, 0xd2,
|
|
||||||
0x4e, 0xd7, 0x39, 0x83, 0xb7, 0x33, 0xeb, 0x9b, 0x6b, 0x70, 0xa4, 0x0d, 0xbd, 0x91, 0xa9, 0xb6,
|
|
||||||
0x64, 0x9b, 0x44, 0x36, 0x12, 0x23, 0x22, 0x1f, 0xeb, 0x76, 0x22, 0x4d, 0x1f, 0x6f, 0x68, 0x45,
|
|
||||||
0xee, 0x57, 0xf0, 0x09, 0x7a, 0x56, 0x1d, 0xcd, 0x73, 0x80, 0xe6, 0x6a, 0x75, 0xb9, 0x8e, 0xa8,
|
|
||||||
0x6c, 0x05, 0x83, 0xb2, 0xb9, 0x74, 0xc4, 0x4b, 0xda, 0x17, 0x94, 0xcf, 0xea, 0x48, 0xff, 0xf6,
|
|
||||||
0x71, 0x7b, 0x21, 0x68, 0xfd, 0xd0, 0x71, 0xfe, 0x13, 0x00, 0x00, 0xff, 0xff, 0x0c, 0x81, 0x5e,
|
|
||||||
0xd6, 0x51, 0x1d, 0x00, 0x00,
|
|
||||||
}
|
|
163
vendor/github.com/Philipp15b/go-steam/protocol/protobuf/unified/offline.pb.go
generated
vendored
163
vendor/github.com/Philipp15b/go-steam/protocol/protobuf/unified/offline.pb.go
generated
vendored
@ -1,163 +0,0 @@
|
|||||||
// Code generated by protoc-gen-go.
|
|
||||||
// source: steammessages_offline.steamclient.proto
|
|
||||||
// DO NOT EDIT!
|
|
||||||
|
|
||||||
package unified
|
|
||||||
|
|
||||||
import proto "github.com/golang/protobuf/proto"
|
|
||||||
import fmt "fmt"
|
|
||||||
import math "math"
|
|
||||||
|
|
||||||
// Reference imports to suppress errors if they are not otherwise used.
|
|
||||||
var _ = proto.Marshal
|
|
||||||
var _ = fmt.Errorf
|
|
||||||
var _ = math.Inf
|
|
||||||
|
|
||||||
type COffline_GetOfflineLogonTicket_Request struct {
|
|
||||||
Priority *uint32 `protobuf:"varint,1,opt,name=priority" json:"priority,omitempty"`
|
|
||||||
XXX_unrecognized []byte `json:"-"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *COffline_GetOfflineLogonTicket_Request) Reset() {
|
|
||||||
*m = COffline_GetOfflineLogonTicket_Request{}
|
|
||||||
}
|
|
||||||
func (m *COffline_GetOfflineLogonTicket_Request) String() string { return proto.CompactTextString(m) }
|
|
||||||
func (*COffline_GetOfflineLogonTicket_Request) ProtoMessage() {}
|
|
||||||
func (*COffline_GetOfflineLogonTicket_Request) Descriptor() ([]byte, []int) {
|
|
||||||
return offline_fileDescriptor0, []int{0}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *COffline_GetOfflineLogonTicket_Request) GetPriority() uint32 {
|
|
||||||
if m != nil && m.Priority != nil {
|
|
||||||
return *m.Priority
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
type COffline_GetOfflineLogonTicket_Response struct {
|
|
||||||
SerializedTicket []byte `protobuf:"bytes,1,opt,name=serialized_ticket" json:"serialized_ticket,omitempty"`
|
|
||||||
Signature []byte `protobuf:"bytes,2,opt,name=signature" json:"signature,omitempty"`
|
|
||||||
XXX_unrecognized []byte `json:"-"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *COffline_GetOfflineLogonTicket_Response) Reset() {
|
|
||||||
*m = COffline_GetOfflineLogonTicket_Response{}
|
|
||||||
}
|
|
||||||
func (m *COffline_GetOfflineLogonTicket_Response) String() string { return proto.CompactTextString(m) }
|
|
||||||
func (*COffline_GetOfflineLogonTicket_Response) ProtoMessage() {}
|
|
||||||
func (*COffline_GetOfflineLogonTicket_Response) Descriptor() ([]byte, []int) {
|
|
||||||
return offline_fileDescriptor0, []int{1}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *COffline_GetOfflineLogonTicket_Response) GetSerializedTicket() []byte {
|
|
||||||
if m != nil {
|
|
||||||
return m.SerializedTicket
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *COffline_GetOfflineLogonTicket_Response) GetSignature() []byte {
|
|
||||||
if m != nil {
|
|
||||||
return m.Signature
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
type COffline_GetUnsignedOfflineLogonTicket_Request struct {
|
|
||||||
XXX_unrecognized []byte `json:"-"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *COffline_GetUnsignedOfflineLogonTicket_Request) Reset() {
|
|
||||||
*m = COffline_GetUnsignedOfflineLogonTicket_Request{}
|
|
||||||
}
|
|
||||||
func (m *COffline_GetUnsignedOfflineLogonTicket_Request) String() string {
|
|
||||||
return proto.CompactTextString(m)
|
|
||||||
}
|
|
||||||
func (*COffline_GetUnsignedOfflineLogonTicket_Request) ProtoMessage() {}
|
|
||||||
func (*COffline_GetUnsignedOfflineLogonTicket_Request) Descriptor() ([]byte, []int) {
|
|
||||||
return offline_fileDescriptor0, []int{2}
|
|
||||||
}
|
|
||||||
|
|
||||||
type COffline_OfflineLogonTicket struct {
|
|
||||||
Accountid *uint32 `protobuf:"varint,1,opt,name=accountid" json:"accountid,omitempty"`
|
|
||||||
Rtime32CreationTime *uint32 `protobuf:"fixed32,2,opt,name=rtime32_creation_time" json:"rtime32_creation_time,omitempty"`
|
|
||||||
XXX_unrecognized []byte `json:"-"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *COffline_OfflineLogonTicket) Reset() { *m = COffline_OfflineLogonTicket{} }
|
|
||||||
func (m *COffline_OfflineLogonTicket) String() string { return proto.CompactTextString(m) }
|
|
||||||
func (*COffline_OfflineLogonTicket) ProtoMessage() {}
|
|
||||||
func (*COffline_OfflineLogonTicket) Descriptor() ([]byte, []int) { return offline_fileDescriptor0, []int{3} }
|
|
||||||
|
|
||||||
func (m *COffline_OfflineLogonTicket) GetAccountid() uint32 {
|
|
||||||
if m != nil && m.Accountid != nil {
|
|
||||||
return *m.Accountid
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *COffline_OfflineLogonTicket) GetRtime32CreationTime() uint32 {
|
|
||||||
if m != nil && m.Rtime32CreationTime != nil {
|
|
||||||
return *m.Rtime32CreationTime
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
type COffline_GetUnsignedOfflineLogonTicket_Response struct {
|
|
||||||
Ticket *COffline_OfflineLogonTicket `protobuf:"bytes,1,opt,name=ticket" json:"ticket,omitempty"`
|
|
||||||
XXX_unrecognized []byte `json:"-"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *COffline_GetUnsignedOfflineLogonTicket_Response) Reset() {
|
|
||||||
*m = COffline_GetUnsignedOfflineLogonTicket_Response{}
|
|
||||||
}
|
|
||||||
func (m *COffline_GetUnsignedOfflineLogonTicket_Response) String() string {
|
|
||||||
return proto.CompactTextString(m)
|
|
||||||
}
|
|
||||||
func (*COffline_GetUnsignedOfflineLogonTicket_Response) ProtoMessage() {}
|
|
||||||
func (*COffline_GetUnsignedOfflineLogonTicket_Response) Descriptor() ([]byte, []int) {
|
|
||||||
return offline_fileDescriptor0, []int{4}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *COffline_GetUnsignedOfflineLogonTicket_Response) GetTicket() *COffline_OfflineLogonTicket {
|
|
||||||
if m != nil {
|
|
||||||
return m.Ticket
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func init() {
|
|
||||||
proto.RegisterType((*COffline_GetOfflineLogonTicket_Request)(nil), "COffline_GetOfflineLogonTicket_Request")
|
|
||||||
proto.RegisterType((*COffline_GetOfflineLogonTicket_Response)(nil), "COffline_GetOfflineLogonTicket_Response")
|
|
||||||
proto.RegisterType((*COffline_GetUnsignedOfflineLogonTicket_Request)(nil), "COffline_GetUnsignedOfflineLogonTicket_Request")
|
|
||||||
proto.RegisterType((*COffline_OfflineLogonTicket)(nil), "COffline_OfflineLogonTicket")
|
|
||||||
proto.RegisterType((*COffline_GetUnsignedOfflineLogonTicket_Response)(nil), "COffline_GetUnsignedOfflineLogonTicket_Response")
|
|
||||||
}
|
|
||||||
|
|
||||||
var offline_fileDescriptor0 = []byte{
|
|
||||||
// 377 bytes of a gzipped FileDescriptorProto
|
|
||||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x94, 0x52, 0xcd, 0x4a, 0xf3, 0x40,
|
|
||||||
0x14, 0x25, 0x5f, 0xe1, 0xab, 0x8e, 0x0a, 0x76, 0xa0, 0x10, 0x63, 0x0b, 0x43, 0x16, 0xb6, 0x8b,
|
|
||||||
0x92, 0x96, 0xba, 0x52, 0x70, 0xa3, 0x88, 0x08, 0x42, 0x41, 0x14, 0x97, 0x61, 0x4c, 0x6e, 0xe2,
|
|
||||||
0x60, 0x3a, 0x53, 0x67, 0x6e, 0x04, 0x5d, 0x89, 0xaf, 0xe2, 0x33, 0xf4, 0x01, 0x7c, 0x33, 0xf3,
|
|
||||||
0x87, 0x56, 0xac, 0xb5, 0xdd, 0x25, 0x37, 0xe7, 0xdc, 0x9c, 0x9f, 0x4b, 0x3a, 0x06, 0x81, 0x8f,
|
|
||||||
0xc7, 0x60, 0x0c, 0x8f, 0xc1, 0xf8, 0x2a, 0x8a, 0x12, 0x21, 0xc1, 0x2b, 0xa6, 0x41, 0x22, 0x40,
|
|
||||||
0xa2, 0x37, 0xd1, 0x0a, 0x95, 0xd3, 0xfb, 0x0e, 0x4c, 0xa5, 0x88, 0x04, 0x84, 0xfe, 0x2d, 0x37,
|
|
||||||
0x73, 0xd0, 0xee, 0x21, 0xd9, 0x3b, 0x19, 0x95, 0xbb, 0xfc, 0x33, 0xc0, 0xea, 0xf1, 0x42, 0xc5,
|
|
||||||
0x4a, 0x5e, 0x89, 0xe0, 0x1e, 0xd0, 0xbf, 0x84, 0x87, 0x14, 0x0c, 0xd2, 0x6d, 0xb2, 0x36, 0xd1,
|
|
||||||
0x42, 0x69, 0x81, 0x4f, 0xb6, 0xc5, 0xac, 0xee, 0x96, 0x7b, 0x43, 0x3a, 0x7f, 0x72, 0xcd, 0x44,
|
|
||||||
0x49, 0x03, 0x74, 0x87, 0x34, 0x0c, 0x68, 0xc1, 0x13, 0xf1, 0x9c, 0x69, 0xc1, 0xe2, 0x6b, 0xb1,
|
|
||||||
0x65, 0x93, 0x36, 0xc8, 0xba, 0x11, 0xb1, 0xe4, 0x98, 0x6a, 0xb0, 0xff, 0xe5, 0x23, 0x77, 0x40,
|
|
||||||
0xbc, 0xd9, 0xc5, 0xd7, 0x32, 0x07, 0x40, 0xf8, 0xbb, 0x38, 0x77, 0x44, 0x76, 0x3f, 0x19, 0x3f,
|
|
||||||
0x61, 0xf9, 0x3f, 0x78, 0x10, 0xa8, 0x54, 0xa2, 0x08, 0x4b, 0xf1, 0xb4, 0x4d, 0x9a, 0x1a, 0xc5,
|
|
||||||
0x18, 0xf6, 0x87, 0x7e, 0xa0, 0x81, 0xa3, 0x50, 0xd2, 0xcf, 0xdf, 0x0b, 0x09, 0x75, 0xd7, 0x27,
|
|
||||||
0xfd, 0xa5, 0x25, 0x54, 0x1e, 0x7b, 0xe4, 0xff, 0x8c, 0xb1, 0x8d, 0x61, 0xcb, 0x5b, 0x20, 0x69,
|
|
||||||
0xf8, 0x56, 0x23, 0xf5, 0x6a, 0x4c, 0xa7, 0x16, 0x69, 0xce, 0x0d, 0x90, 0x76, 0xbc, 0xe5, 0xda,
|
|
||||||
0x71, 0xba, 0xde, 0x92, 0x55, 0xb8, 0xe7, 0xaf, 0x53, 0xfb, 0x34, 0xc3, 0x30, 0xce, 0xbe, 0x2a,
|
|
||||||
0x61, 0x5c, 0x86, 0xac, 0xb4, 0xc8, 0xaa, 0xd3, 0x62, 0x49, 0xce, 0x66, 0xa5, 0x25, 0x16, 0x29,
|
|
||||||
0xcd, 0xf0, 0x0e, 0x58, 0x90, 0x6a, 0x9d, 0x5d, 0x0f, 0x4b, 0x33, 0x2e, 0x7d, 0xb7, 0x48, 0x7b,
|
|
||||||
0x61, 0x38, 0xb4, 0xbf, 0x62, 0x91, 0xce, 0xc0, 0x5b, 0x31, 0x76, 0xf7, 0x28, 0xf3, 0x73, 0x50,
|
|
||||||
0xf8, 0x91, 0x2c, 0x95, 0xab, 0x7a, 0x70, 0x5a, 0x19, 0xdd, 0xae, 0xf6, 0x67, 0x81, 0x20, 0x0a,
|
|
||||||
0x19, 0x9b, 0x3c, 0x99, 0x47, 0x11, 0xc0, 0x71, 0xed, 0xc5, 0xb2, 0x3e, 0x02, 0x00, 0x00, 0xff,
|
|
||||||
0xff, 0x90, 0xd3, 0xb5, 0xf7, 0x7b, 0x03, 0x00, 0x00,
|
|
||||||
}
|
|
791
vendor/github.com/Philipp15b/go-steam/protocol/protobuf/unified/parental.pb.go
generated
vendored
791
vendor/github.com/Philipp15b/go-steam/protocol/protobuf/unified/parental.pb.go
generated
vendored
@ -1,791 +0,0 @@
|
|||||||
// Code generated by protoc-gen-go.
|
|
||||||
// source: steammessages_parental.steamclient.proto
|
|
||||||
// DO NOT EDIT!
|
|
||||||
|
|
||||||
package unified
|
|
||||||
|
|
||||||
import proto "github.com/golang/protobuf/proto"
|
|
||||||
import fmt "fmt"
|
|
||||||
import math "math"
|
|
||||||
|
|
||||||
// Reference imports to suppress errors if they are not otherwise used.
|
|
||||||
var _ = proto.Marshal
|
|
||||||
var _ = fmt.Errorf
|
|
||||||
var _ = math.Inf
|
|
||||||
|
|
||||||
type ParentalApp struct {
|
|
||||||
Appid *uint32 `protobuf:"varint,1,opt,name=appid" json:"appid,omitempty"`
|
|
||||||
IsAllowed *bool `protobuf:"varint,2,opt,name=is_allowed" json:"is_allowed,omitempty"`
|
|
||||||
XXX_unrecognized []byte `json:"-"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *ParentalApp) Reset() { *m = ParentalApp{} }
|
|
||||||
func (m *ParentalApp) String() string { return proto.CompactTextString(m) }
|
|
||||||
func (*ParentalApp) ProtoMessage() {}
|
|
||||||
func (*ParentalApp) Descriptor() ([]byte, []int) { return parental_fileDescriptor0, []int{0} }
|
|
||||||
|
|
||||||
func (m *ParentalApp) GetAppid() uint32 {
|
|
||||||
if m != nil && m.Appid != nil {
|
|
||||||
return *m.Appid
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *ParentalApp) GetIsAllowed() bool {
|
|
||||||
if m != nil && m.IsAllowed != nil {
|
|
||||||
return *m.IsAllowed
|
|
||||||
}
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
|
|
||||||
type ParentalSettings struct {
|
|
||||||
Steamid *uint64 `protobuf:"fixed64,1,opt,name=steamid" json:"steamid,omitempty"`
|
|
||||||
ApplistBaseId *uint32 `protobuf:"varint,2,opt,name=applist_base_id" json:"applist_base_id,omitempty"`
|
|
||||||
ApplistBaseDescription *string `protobuf:"bytes,3,opt,name=applist_base_description" json:"applist_base_description,omitempty"`
|
|
||||||
ApplistBase []*ParentalApp `protobuf:"bytes,4,rep,name=applist_base" json:"applist_base,omitempty"`
|
|
||||||
ApplistCustom []*ParentalApp `protobuf:"bytes,5,rep,name=applist_custom" json:"applist_custom,omitempty"`
|
|
||||||
Passwordhashtype *uint32 `protobuf:"varint,6,opt,name=passwordhashtype" json:"passwordhashtype,omitempty"`
|
|
||||||
Salt []byte `protobuf:"bytes,7,opt,name=salt" json:"salt,omitempty"`
|
|
||||||
Passwordhash []byte `protobuf:"bytes,8,opt,name=passwordhash" json:"passwordhash,omitempty"`
|
|
||||||
IsEnabled *bool `protobuf:"varint,9,opt,name=is_enabled" json:"is_enabled,omitempty"`
|
|
||||||
EnabledFeatures *uint32 `protobuf:"varint,10,opt,name=enabled_features" json:"enabled_features,omitempty"`
|
|
||||||
RecoveryEmail *string `protobuf:"bytes,11,opt,name=recovery_email" json:"recovery_email,omitempty"`
|
|
||||||
XXX_unrecognized []byte `json:"-"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *ParentalSettings) Reset() { *m = ParentalSettings{} }
|
|
||||||
func (m *ParentalSettings) String() string { return proto.CompactTextString(m) }
|
|
||||||
func (*ParentalSettings) ProtoMessage() {}
|
|
||||||
func (*ParentalSettings) Descriptor() ([]byte, []int) { return parental_fileDescriptor0, []int{1} }
|
|
||||||
|
|
||||||
func (m *ParentalSettings) GetSteamid() uint64 {
|
|
||||||
if m != nil && m.Steamid != nil {
|
|
||||||
return *m.Steamid
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *ParentalSettings) GetApplistBaseId() uint32 {
|
|
||||||
if m != nil && m.ApplistBaseId != nil {
|
|
||||||
return *m.ApplistBaseId
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *ParentalSettings) GetApplistBaseDescription() string {
|
|
||||||
if m != nil && m.ApplistBaseDescription != nil {
|
|
||||||
return *m.ApplistBaseDescription
|
|
||||||
}
|
|
||||||
return ""
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *ParentalSettings) GetApplistBase() []*ParentalApp {
|
|
||||||
if m != nil {
|
|
||||||
return m.ApplistBase
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *ParentalSettings) GetApplistCustom() []*ParentalApp {
|
|
||||||
if m != nil {
|
|
||||||
return m.ApplistCustom
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *ParentalSettings) GetPasswordhashtype() uint32 {
|
|
||||||
if m != nil && m.Passwordhashtype != nil {
|
|
||||||
return *m.Passwordhashtype
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *ParentalSettings) GetSalt() []byte {
|
|
||||||
if m != nil {
|
|
||||||
return m.Salt
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *ParentalSettings) GetPasswordhash() []byte {
|
|
||||||
if m != nil {
|
|
||||||
return m.Passwordhash
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *ParentalSettings) GetIsEnabled() bool {
|
|
||||||
if m != nil && m.IsEnabled != nil {
|
|
||||||
return *m.IsEnabled
|
|
||||||
}
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *ParentalSettings) GetEnabledFeatures() uint32 {
|
|
||||||
if m != nil && m.EnabledFeatures != nil {
|
|
||||||
return *m.EnabledFeatures
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *ParentalSettings) GetRecoveryEmail() string {
|
|
||||||
if m != nil && m.RecoveryEmail != nil {
|
|
||||||
return *m.RecoveryEmail
|
|
||||||
}
|
|
||||||
return ""
|
|
||||||
}
|
|
||||||
|
|
||||||
type CParental_EnableParentalSettings_Request struct {
|
|
||||||
Password *string `protobuf:"bytes,1,opt,name=password" json:"password,omitempty"`
|
|
||||||
Settings *ParentalSettings `protobuf:"bytes,2,opt,name=settings" json:"settings,omitempty"`
|
|
||||||
Sessionid *string `protobuf:"bytes,3,opt,name=sessionid" json:"sessionid,omitempty"`
|
|
||||||
Enablecode *uint32 `protobuf:"varint,4,opt,name=enablecode" json:"enablecode,omitempty"`
|
|
||||||
Steamid *uint64 `protobuf:"fixed64,10,opt,name=steamid" json:"steamid,omitempty"`
|
|
||||||
XXX_unrecognized []byte `json:"-"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CParental_EnableParentalSettings_Request) Reset() {
|
|
||||||
*m = CParental_EnableParentalSettings_Request{}
|
|
||||||
}
|
|
||||||
func (m *CParental_EnableParentalSettings_Request) String() string { return proto.CompactTextString(m) }
|
|
||||||
func (*CParental_EnableParentalSettings_Request) ProtoMessage() {}
|
|
||||||
func (*CParental_EnableParentalSettings_Request) Descriptor() ([]byte, []int) {
|
|
||||||
return parental_fileDescriptor0, []int{2}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CParental_EnableParentalSettings_Request) GetPassword() string {
|
|
||||||
if m != nil && m.Password != nil {
|
|
||||||
return *m.Password
|
|
||||||
}
|
|
||||||
return ""
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CParental_EnableParentalSettings_Request) GetSettings() *ParentalSettings {
|
|
||||||
if m != nil {
|
|
||||||
return m.Settings
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CParental_EnableParentalSettings_Request) GetSessionid() string {
|
|
||||||
if m != nil && m.Sessionid != nil {
|
|
||||||
return *m.Sessionid
|
|
||||||
}
|
|
||||||
return ""
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CParental_EnableParentalSettings_Request) GetEnablecode() uint32 {
|
|
||||||
if m != nil && m.Enablecode != nil {
|
|
||||||
return *m.Enablecode
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CParental_EnableParentalSettings_Request) GetSteamid() uint64 {
|
|
||||||
if m != nil && m.Steamid != nil {
|
|
||||||
return *m.Steamid
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
type CParental_EnableParentalSettings_Response struct {
|
|
||||||
XXX_unrecognized []byte `json:"-"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CParental_EnableParentalSettings_Response) Reset() {
|
|
||||||
*m = CParental_EnableParentalSettings_Response{}
|
|
||||||
}
|
|
||||||
func (m *CParental_EnableParentalSettings_Response) String() string { return proto.CompactTextString(m) }
|
|
||||||
func (*CParental_EnableParentalSettings_Response) ProtoMessage() {}
|
|
||||||
func (*CParental_EnableParentalSettings_Response) Descriptor() ([]byte, []int) {
|
|
||||||
return parental_fileDescriptor0, []int{3}
|
|
||||||
}
|
|
||||||
|
|
||||||
type CParental_DisableParentalSettings_Request struct {
|
|
||||||
Password *string `protobuf:"bytes,1,opt,name=password" json:"password,omitempty"`
|
|
||||||
Steamid *uint64 `protobuf:"fixed64,10,opt,name=steamid" json:"steamid,omitempty"`
|
|
||||||
XXX_unrecognized []byte `json:"-"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CParental_DisableParentalSettings_Request) Reset() {
|
|
||||||
*m = CParental_DisableParentalSettings_Request{}
|
|
||||||
}
|
|
||||||
func (m *CParental_DisableParentalSettings_Request) String() string { return proto.CompactTextString(m) }
|
|
||||||
func (*CParental_DisableParentalSettings_Request) ProtoMessage() {}
|
|
||||||
func (*CParental_DisableParentalSettings_Request) Descriptor() ([]byte, []int) {
|
|
||||||
return parental_fileDescriptor0, []int{4}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CParental_DisableParentalSettings_Request) GetPassword() string {
|
|
||||||
if m != nil && m.Password != nil {
|
|
||||||
return *m.Password
|
|
||||||
}
|
|
||||||
return ""
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CParental_DisableParentalSettings_Request) GetSteamid() uint64 {
|
|
||||||
if m != nil && m.Steamid != nil {
|
|
||||||
return *m.Steamid
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
type CParental_DisableParentalSettings_Response struct {
|
|
||||||
XXX_unrecognized []byte `json:"-"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CParental_DisableParentalSettings_Response) Reset() {
|
|
||||||
*m = CParental_DisableParentalSettings_Response{}
|
|
||||||
}
|
|
||||||
func (m *CParental_DisableParentalSettings_Response) String() string {
|
|
||||||
return proto.CompactTextString(m)
|
|
||||||
}
|
|
||||||
func (*CParental_DisableParentalSettings_Response) ProtoMessage() {}
|
|
||||||
func (*CParental_DisableParentalSettings_Response) Descriptor() ([]byte, []int) {
|
|
||||||
return parental_fileDescriptor0, []int{5}
|
|
||||||
}
|
|
||||||
|
|
||||||
type CParental_GetParentalSettings_Request struct {
|
|
||||||
Steamid *uint64 `protobuf:"fixed64,10,opt,name=steamid" json:"steamid,omitempty"`
|
|
||||||
XXX_unrecognized []byte `json:"-"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CParental_GetParentalSettings_Request) Reset() { *m = CParental_GetParentalSettings_Request{} }
|
|
||||||
func (m *CParental_GetParentalSettings_Request) String() string { return proto.CompactTextString(m) }
|
|
||||||
func (*CParental_GetParentalSettings_Request) ProtoMessage() {}
|
|
||||||
func (*CParental_GetParentalSettings_Request) Descriptor() ([]byte, []int) {
|
|
||||||
return parental_fileDescriptor0, []int{6}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CParental_GetParentalSettings_Request) GetSteamid() uint64 {
|
|
||||||
if m != nil && m.Steamid != nil {
|
|
||||||
return *m.Steamid
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
type CParental_GetParentalSettings_Response struct {
|
|
||||||
Settings *ParentalSettings `protobuf:"bytes,1,opt,name=settings" json:"settings,omitempty"`
|
|
||||||
XXX_unrecognized []byte `json:"-"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CParental_GetParentalSettings_Response) Reset() {
|
|
||||||
*m = CParental_GetParentalSettings_Response{}
|
|
||||||
}
|
|
||||||
func (m *CParental_GetParentalSettings_Response) String() string { return proto.CompactTextString(m) }
|
|
||||||
func (*CParental_GetParentalSettings_Response) ProtoMessage() {}
|
|
||||||
func (*CParental_GetParentalSettings_Response) Descriptor() ([]byte, []int) {
|
|
||||||
return parental_fileDescriptor0, []int{7}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CParental_GetParentalSettings_Response) GetSettings() *ParentalSettings {
|
|
||||||
if m != nil {
|
|
||||||
return m.Settings
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
type CParental_GetSignedParentalSettings_Request struct {
|
|
||||||
Priority *uint32 `protobuf:"varint,1,opt,name=priority" json:"priority,omitempty"`
|
|
||||||
XXX_unrecognized []byte `json:"-"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CParental_GetSignedParentalSettings_Request) Reset() {
|
|
||||||
*m = CParental_GetSignedParentalSettings_Request{}
|
|
||||||
}
|
|
||||||
func (m *CParental_GetSignedParentalSettings_Request) String() string {
|
|
||||||
return proto.CompactTextString(m)
|
|
||||||
}
|
|
||||||
func (*CParental_GetSignedParentalSettings_Request) ProtoMessage() {}
|
|
||||||
func (*CParental_GetSignedParentalSettings_Request) Descriptor() ([]byte, []int) {
|
|
||||||
return parental_fileDescriptor0, []int{8}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CParental_GetSignedParentalSettings_Request) GetPriority() uint32 {
|
|
||||||
if m != nil && m.Priority != nil {
|
|
||||||
return *m.Priority
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
type CParental_GetSignedParentalSettings_Response struct {
|
|
||||||
SerializedSettings []byte `protobuf:"bytes,1,opt,name=serialized_settings" json:"serialized_settings,omitempty"`
|
|
||||||
Signature []byte `protobuf:"bytes,2,opt,name=signature" json:"signature,omitempty"`
|
|
||||||
XXX_unrecognized []byte `json:"-"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CParental_GetSignedParentalSettings_Response) Reset() {
|
|
||||||
*m = CParental_GetSignedParentalSettings_Response{}
|
|
||||||
}
|
|
||||||
func (m *CParental_GetSignedParentalSettings_Response) String() string {
|
|
||||||
return proto.CompactTextString(m)
|
|
||||||
}
|
|
||||||
func (*CParental_GetSignedParentalSettings_Response) ProtoMessage() {}
|
|
||||||
func (*CParental_GetSignedParentalSettings_Response) Descriptor() ([]byte, []int) {
|
|
||||||
return parental_fileDescriptor0, []int{9}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CParental_GetSignedParentalSettings_Response) GetSerializedSettings() []byte {
|
|
||||||
if m != nil {
|
|
||||||
return m.SerializedSettings
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CParental_GetSignedParentalSettings_Response) GetSignature() []byte {
|
|
||||||
if m != nil {
|
|
||||||
return m.Signature
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
type CParental_SetParentalSettings_Request struct {
|
|
||||||
Password *string `protobuf:"bytes,1,opt,name=password" json:"password,omitempty"`
|
|
||||||
Settings *ParentalSettings `protobuf:"bytes,2,opt,name=settings" json:"settings,omitempty"`
|
|
||||||
NewPassword *string `protobuf:"bytes,3,opt,name=new_password" json:"new_password,omitempty"`
|
|
||||||
Sessionid *string `protobuf:"bytes,4,opt,name=sessionid" json:"sessionid,omitempty"`
|
|
||||||
Steamid *uint64 `protobuf:"fixed64,10,opt,name=steamid" json:"steamid,omitempty"`
|
|
||||||
XXX_unrecognized []byte `json:"-"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CParental_SetParentalSettings_Request) Reset() { *m = CParental_SetParentalSettings_Request{} }
|
|
||||||
func (m *CParental_SetParentalSettings_Request) String() string { return proto.CompactTextString(m) }
|
|
||||||
func (*CParental_SetParentalSettings_Request) ProtoMessage() {}
|
|
||||||
func (*CParental_SetParentalSettings_Request) Descriptor() ([]byte, []int) {
|
|
||||||
return parental_fileDescriptor0, []int{10}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CParental_SetParentalSettings_Request) GetPassword() string {
|
|
||||||
if m != nil && m.Password != nil {
|
|
||||||
return *m.Password
|
|
||||||
}
|
|
||||||
return ""
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CParental_SetParentalSettings_Request) GetSettings() *ParentalSettings {
|
|
||||||
if m != nil {
|
|
||||||
return m.Settings
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CParental_SetParentalSettings_Request) GetNewPassword() string {
|
|
||||||
if m != nil && m.NewPassword != nil {
|
|
||||||
return *m.NewPassword
|
|
||||||
}
|
|
||||||
return ""
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CParental_SetParentalSettings_Request) GetSessionid() string {
|
|
||||||
if m != nil && m.Sessionid != nil {
|
|
||||||
return *m.Sessionid
|
|
||||||
}
|
|
||||||
return ""
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CParental_SetParentalSettings_Request) GetSteamid() uint64 {
|
|
||||||
if m != nil && m.Steamid != nil {
|
|
||||||
return *m.Steamid
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
type CParental_SetParentalSettings_Response struct {
|
|
||||||
XXX_unrecognized []byte `json:"-"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CParental_SetParentalSettings_Response) Reset() {
|
|
||||||
*m = CParental_SetParentalSettings_Response{}
|
|
||||||
}
|
|
||||||
func (m *CParental_SetParentalSettings_Response) String() string { return proto.CompactTextString(m) }
|
|
||||||
func (*CParental_SetParentalSettings_Response) ProtoMessage() {}
|
|
||||||
func (*CParental_SetParentalSettings_Response) Descriptor() ([]byte, []int) {
|
|
||||||
return parental_fileDescriptor0, []int{11}
|
|
||||||
}
|
|
||||||
|
|
||||||
type CParental_ValidateToken_Request struct {
|
|
||||||
UnlockToken *string `protobuf:"bytes,1,opt,name=unlock_token" json:"unlock_token,omitempty"`
|
|
||||||
XXX_unrecognized []byte `json:"-"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CParental_ValidateToken_Request) Reset() { *m = CParental_ValidateToken_Request{} }
|
|
||||||
func (m *CParental_ValidateToken_Request) String() string { return proto.CompactTextString(m) }
|
|
||||||
func (*CParental_ValidateToken_Request) ProtoMessage() {}
|
|
||||||
func (*CParental_ValidateToken_Request) Descriptor() ([]byte, []int) {
|
|
||||||
return parental_fileDescriptor0, []int{12}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CParental_ValidateToken_Request) GetUnlockToken() string {
|
|
||||||
if m != nil && m.UnlockToken != nil {
|
|
||||||
return *m.UnlockToken
|
|
||||||
}
|
|
||||||
return ""
|
|
||||||
}
|
|
||||||
|
|
||||||
type CParental_ValidateToken_Response struct {
|
|
||||||
XXX_unrecognized []byte `json:"-"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CParental_ValidateToken_Response) Reset() { *m = CParental_ValidateToken_Response{} }
|
|
||||||
func (m *CParental_ValidateToken_Response) String() string { return proto.CompactTextString(m) }
|
|
||||||
func (*CParental_ValidateToken_Response) ProtoMessage() {}
|
|
||||||
func (*CParental_ValidateToken_Response) Descriptor() ([]byte, []int) {
|
|
||||||
return parental_fileDescriptor0, []int{13}
|
|
||||||
}
|
|
||||||
|
|
||||||
type CParental_ValidatePassword_Request struct {
|
|
||||||
Password *string `protobuf:"bytes,1,opt,name=password" json:"password,omitempty"`
|
|
||||||
Session *string `protobuf:"bytes,2,opt,name=session" json:"session,omitempty"`
|
|
||||||
SendUnlockOnSuccess *bool `protobuf:"varint,3,opt,name=send_unlock_on_success" json:"send_unlock_on_success,omitempty"`
|
|
||||||
XXX_unrecognized []byte `json:"-"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CParental_ValidatePassword_Request) Reset() { *m = CParental_ValidatePassword_Request{} }
|
|
||||||
func (m *CParental_ValidatePassword_Request) String() string { return proto.CompactTextString(m) }
|
|
||||||
func (*CParental_ValidatePassword_Request) ProtoMessage() {}
|
|
||||||
func (*CParental_ValidatePassword_Request) Descriptor() ([]byte, []int) {
|
|
||||||
return parental_fileDescriptor0, []int{14}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CParental_ValidatePassword_Request) GetPassword() string {
|
|
||||||
if m != nil && m.Password != nil {
|
|
||||||
return *m.Password
|
|
||||||
}
|
|
||||||
return ""
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CParental_ValidatePassword_Request) GetSession() string {
|
|
||||||
if m != nil && m.Session != nil {
|
|
||||||
return *m.Session
|
|
||||||
}
|
|
||||||
return ""
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CParental_ValidatePassword_Request) GetSendUnlockOnSuccess() bool {
|
|
||||||
if m != nil && m.SendUnlockOnSuccess != nil {
|
|
||||||
return *m.SendUnlockOnSuccess
|
|
||||||
}
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
|
|
||||||
type CParental_ValidatePassword_Response struct {
|
|
||||||
Token *string `protobuf:"bytes,1,opt,name=token" json:"token,omitempty"`
|
|
||||||
XXX_unrecognized []byte `json:"-"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CParental_ValidatePassword_Response) Reset() { *m = CParental_ValidatePassword_Response{} }
|
|
||||||
func (m *CParental_ValidatePassword_Response) String() string { return proto.CompactTextString(m) }
|
|
||||||
func (*CParental_ValidatePassword_Response) ProtoMessage() {}
|
|
||||||
func (*CParental_ValidatePassword_Response) Descriptor() ([]byte, []int) {
|
|
||||||
return parental_fileDescriptor0, []int{15}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CParental_ValidatePassword_Response) GetToken() string {
|
|
||||||
if m != nil && m.Token != nil {
|
|
||||||
return *m.Token
|
|
||||||
}
|
|
||||||
return ""
|
|
||||||
}
|
|
||||||
|
|
||||||
type CParental_LockClient_Request struct {
|
|
||||||
Session *string `protobuf:"bytes,1,opt,name=session" json:"session,omitempty"`
|
|
||||||
XXX_unrecognized []byte `json:"-"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CParental_LockClient_Request) Reset() { *m = CParental_LockClient_Request{} }
|
|
||||||
func (m *CParental_LockClient_Request) String() string { return proto.CompactTextString(m) }
|
|
||||||
func (*CParental_LockClient_Request) ProtoMessage() {}
|
|
||||||
func (*CParental_LockClient_Request) Descriptor() ([]byte, []int) { return parental_fileDescriptor0, []int{16} }
|
|
||||||
|
|
||||||
func (m *CParental_LockClient_Request) GetSession() string {
|
|
||||||
if m != nil && m.Session != nil {
|
|
||||||
return *m.Session
|
|
||||||
}
|
|
||||||
return ""
|
|
||||||
}
|
|
||||||
|
|
||||||
type CParental_LockClient_Response struct {
|
|
||||||
XXX_unrecognized []byte `json:"-"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CParental_LockClient_Response) Reset() { *m = CParental_LockClient_Response{} }
|
|
||||||
func (m *CParental_LockClient_Response) String() string { return proto.CompactTextString(m) }
|
|
||||||
func (*CParental_LockClient_Response) ProtoMessage() {}
|
|
||||||
func (*CParental_LockClient_Response) Descriptor() ([]byte, []int) { return parental_fileDescriptor0, []int{17} }
|
|
||||||
|
|
||||||
type CParental_RequestRecoveryCode_Request struct {
|
|
||||||
XXX_unrecognized []byte `json:"-"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CParental_RequestRecoveryCode_Request) Reset() { *m = CParental_RequestRecoveryCode_Request{} }
|
|
||||||
func (m *CParental_RequestRecoveryCode_Request) String() string { return proto.CompactTextString(m) }
|
|
||||||
func (*CParental_RequestRecoveryCode_Request) ProtoMessage() {}
|
|
||||||
func (*CParental_RequestRecoveryCode_Request) Descriptor() ([]byte, []int) {
|
|
||||||
return parental_fileDescriptor0, []int{18}
|
|
||||||
}
|
|
||||||
|
|
||||||
type CParental_RequestRecoveryCode_Response struct {
|
|
||||||
XXX_unrecognized []byte `json:"-"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CParental_RequestRecoveryCode_Response) Reset() {
|
|
||||||
*m = CParental_RequestRecoveryCode_Response{}
|
|
||||||
}
|
|
||||||
func (m *CParental_RequestRecoveryCode_Response) String() string { return proto.CompactTextString(m) }
|
|
||||||
func (*CParental_RequestRecoveryCode_Response) ProtoMessage() {}
|
|
||||||
func (*CParental_RequestRecoveryCode_Response) Descriptor() ([]byte, []int) {
|
|
||||||
return parental_fileDescriptor0, []int{19}
|
|
||||||
}
|
|
||||||
|
|
||||||
type CParental_DisableWithRecoveryCode_Request struct {
|
|
||||||
RecoveryCode *uint32 `protobuf:"varint,1,opt,name=recovery_code" json:"recovery_code,omitempty"`
|
|
||||||
Steamid *uint64 `protobuf:"fixed64,10,opt,name=steamid" json:"steamid,omitempty"`
|
|
||||||
XXX_unrecognized []byte `json:"-"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CParental_DisableWithRecoveryCode_Request) Reset() {
|
|
||||||
*m = CParental_DisableWithRecoveryCode_Request{}
|
|
||||||
}
|
|
||||||
func (m *CParental_DisableWithRecoveryCode_Request) String() string { return proto.CompactTextString(m) }
|
|
||||||
func (*CParental_DisableWithRecoveryCode_Request) ProtoMessage() {}
|
|
||||||
func (*CParental_DisableWithRecoveryCode_Request) Descriptor() ([]byte, []int) {
|
|
||||||
return parental_fileDescriptor0, []int{20}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CParental_DisableWithRecoveryCode_Request) GetRecoveryCode() uint32 {
|
|
||||||
if m != nil && m.RecoveryCode != nil {
|
|
||||||
return *m.RecoveryCode
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CParental_DisableWithRecoveryCode_Request) GetSteamid() uint64 {
|
|
||||||
if m != nil && m.Steamid != nil {
|
|
||||||
return *m.Steamid
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
type CParental_DisableWithRecoveryCode_Response struct {
|
|
||||||
XXX_unrecognized []byte `json:"-"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CParental_DisableWithRecoveryCode_Response) Reset() {
|
|
||||||
*m = CParental_DisableWithRecoveryCode_Response{}
|
|
||||||
}
|
|
||||||
func (m *CParental_DisableWithRecoveryCode_Response) String() string {
|
|
||||||
return proto.CompactTextString(m)
|
|
||||||
}
|
|
||||||
func (*CParental_DisableWithRecoveryCode_Response) ProtoMessage() {}
|
|
||||||
func (*CParental_DisableWithRecoveryCode_Response) Descriptor() ([]byte, []int) {
|
|
||||||
return parental_fileDescriptor0, []int{21}
|
|
||||||
}
|
|
||||||
|
|
||||||
type CParental_ParentalSettingsChange_Notification struct {
|
|
||||||
SerializedSettings []byte `protobuf:"bytes,1,opt,name=serialized_settings" json:"serialized_settings,omitempty"`
|
|
||||||
Signature []byte `protobuf:"bytes,2,opt,name=signature" json:"signature,omitempty"`
|
|
||||||
Password *string `protobuf:"bytes,3,opt,name=password" json:"password,omitempty"`
|
|
||||||
Sessionid *string `protobuf:"bytes,4,opt,name=sessionid" json:"sessionid,omitempty"`
|
|
||||||
XXX_unrecognized []byte `json:"-"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CParental_ParentalSettingsChange_Notification) Reset() {
|
|
||||||
*m = CParental_ParentalSettingsChange_Notification{}
|
|
||||||
}
|
|
||||||
func (m *CParental_ParentalSettingsChange_Notification) String() string {
|
|
||||||
return proto.CompactTextString(m)
|
|
||||||
}
|
|
||||||
func (*CParental_ParentalSettingsChange_Notification) ProtoMessage() {}
|
|
||||||
func (*CParental_ParentalSettingsChange_Notification) Descriptor() ([]byte, []int) {
|
|
||||||
return parental_fileDescriptor0, []int{22}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CParental_ParentalSettingsChange_Notification) GetSerializedSettings() []byte {
|
|
||||||
if m != nil {
|
|
||||||
return m.SerializedSettings
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CParental_ParentalSettingsChange_Notification) GetSignature() []byte {
|
|
||||||
if m != nil {
|
|
||||||
return m.Signature
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CParental_ParentalSettingsChange_Notification) GetPassword() string {
|
|
||||||
if m != nil && m.Password != nil {
|
|
||||||
return *m.Password
|
|
||||||
}
|
|
||||||
return ""
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CParental_ParentalSettingsChange_Notification) GetSessionid() string {
|
|
||||||
if m != nil && m.Sessionid != nil {
|
|
||||||
return *m.Sessionid
|
|
||||||
}
|
|
||||||
return ""
|
|
||||||
}
|
|
||||||
|
|
||||||
type CParental_ParentalUnlock_Notification struct {
|
|
||||||
Password *string `protobuf:"bytes,1,opt,name=password" json:"password,omitempty"`
|
|
||||||
Sessionid *string `protobuf:"bytes,2,opt,name=sessionid" json:"sessionid,omitempty"`
|
|
||||||
XXX_unrecognized []byte `json:"-"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CParental_ParentalUnlock_Notification) Reset() { *m = CParental_ParentalUnlock_Notification{} }
|
|
||||||
func (m *CParental_ParentalUnlock_Notification) String() string { return proto.CompactTextString(m) }
|
|
||||||
func (*CParental_ParentalUnlock_Notification) ProtoMessage() {}
|
|
||||||
func (*CParental_ParentalUnlock_Notification) Descriptor() ([]byte, []int) {
|
|
||||||
return parental_fileDescriptor0, []int{23}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CParental_ParentalUnlock_Notification) GetPassword() string {
|
|
||||||
if m != nil && m.Password != nil {
|
|
||||||
return *m.Password
|
|
||||||
}
|
|
||||||
return ""
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CParental_ParentalUnlock_Notification) GetSessionid() string {
|
|
||||||
if m != nil && m.Sessionid != nil {
|
|
||||||
return *m.Sessionid
|
|
||||||
}
|
|
||||||
return ""
|
|
||||||
}
|
|
||||||
|
|
||||||
type CParental_ParentalLock_Notification struct {
|
|
||||||
Sessionid *string `protobuf:"bytes,1,opt,name=sessionid" json:"sessionid,omitempty"`
|
|
||||||
XXX_unrecognized []byte `json:"-"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CParental_ParentalLock_Notification) Reset() { *m = CParental_ParentalLock_Notification{} }
|
|
||||||
func (m *CParental_ParentalLock_Notification) String() string { return proto.CompactTextString(m) }
|
|
||||||
func (*CParental_ParentalLock_Notification) ProtoMessage() {}
|
|
||||||
func (*CParental_ParentalLock_Notification) Descriptor() ([]byte, []int) {
|
|
||||||
return parental_fileDescriptor0, []int{24}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CParental_ParentalLock_Notification) GetSessionid() string {
|
|
||||||
if m != nil && m.Sessionid != nil {
|
|
||||||
return *m.Sessionid
|
|
||||||
}
|
|
||||||
return ""
|
|
||||||
}
|
|
||||||
|
|
||||||
func init() {
|
|
||||||
proto.RegisterType((*ParentalApp)(nil), "ParentalApp")
|
|
||||||
proto.RegisterType((*ParentalSettings)(nil), "ParentalSettings")
|
|
||||||
proto.RegisterType((*CParental_EnableParentalSettings_Request)(nil), "CParental_EnableParentalSettings_Request")
|
|
||||||
proto.RegisterType((*CParental_EnableParentalSettings_Response)(nil), "CParental_EnableParentalSettings_Response")
|
|
||||||
proto.RegisterType((*CParental_DisableParentalSettings_Request)(nil), "CParental_DisableParentalSettings_Request")
|
|
||||||
proto.RegisterType((*CParental_DisableParentalSettings_Response)(nil), "CParental_DisableParentalSettings_Response")
|
|
||||||
proto.RegisterType((*CParental_GetParentalSettings_Request)(nil), "CParental_GetParentalSettings_Request")
|
|
||||||
proto.RegisterType((*CParental_GetParentalSettings_Response)(nil), "CParental_GetParentalSettings_Response")
|
|
||||||
proto.RegisterType((*CParental_GetSignedParentalSettings_Request)(nil), "CParental_GetSignedParentalSettings_Request")
|
|
||||||
proto.RegisterType((*CParental_GetSignedParentalSettings_Response)(nil), "CParental_GetSignedParentalSettings_Response")
|
|
||||||
proto.RegisterType((*CParental_SetParentalSettings_Request)(nil), "CParental_SetParentalSettings_Request")
|
|
||||||
proto.RegisterType((*CParental_SetParentalSettings_Response)(nil), "CParental_SetParentalSettings_Response")
|
|
||||||
proto.RegisterType((*CParental_ValidateToken_Request)(nil), "CParental_ValidateToken_Request")
|
|
||||||
proto.RegisterType((*CParental_ValidateToken_Response)(nil), "CParental_ValidateToken_Response")
|
|
||||||
proto.RegisterType((*CParental_ValidatePassword_Request)(nil), "CParental_ValidatePassword_Request")
|
|
||||||
proto.RegisterType((*CParental_ValidatePassword_Response)(nil), "CParental_ValidatePassword_Response")
|
|
||||||
proto.RegisterType((*CParental_LockClient_Request)(nil), "CParental_LockClient_Request")
|
|
||||||
proto.RegisterType((*CParental_LockClient_Response)(nil), "CParental_LockClient_Response")
|
|
||||||
proto.RegisterType((*CParental_RequestRecoveryCode_Request)(nil), "CParental_RequestRecoveryCode_Request")
|
|
||||||
proto.RegisterType((*CParental_RequestRecoveryCode_Response)(nil), "CParental_RequestRecoveryCode_Response")
|
|
||||||
proto.RegisterType((*CParental_DisableWithRecoveryCode_Request)(nil), "CParental_DisableWithRecoveryCode_Request")
|
|
||||||
proto.RegisterType((*CParental_DisableWithRecoveryCode_Response)(nil), "CParental_DisableWithRecoveryCode_Response")
|
|
||||||
proto.RegisterType((*CParental_ParentalSettingsChange_Notification)(nil), "CParental_ParentalSettingsChange_Notification")
|
|
||||||
proto.RegisterType((*CParental_ParentalUnlock_Notification)(nil), "CParental_ParentalUnlock_Notification")
|
|
||||||
proto.RegisterType((*CParental_ParentalLock_Notification)(nil), "CParental_ParentalLock_Notification")
|
|
||||||
}
|
|
||||||
|
|
||||||
var parental_fileDescriptor0 = []byte{
|
|
||||||
// 1337 bytes of a gzipped FileDescriptorProto
|
|
||||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xa4, 0x57, 0x41, 0x8f, 0x14, 0xc5,
|
|
||||||
0x17, 0x4f, 0xc3, 0x02, 0xbb, 0xb5, 0xb3, 0xcb, 0x52, 0xf0, 0x87, 0x66, 0xfe, 0x02, 0x65, 0x2f,
|
|
||||||
0xc2, 0x02, 0x4b, 0x6b, 0x56, 0x23, 0x26, 0x26, 0x12, 0x58, 0x0d, 0x26, 0x2e, 0x88, 0x0c, 0x8a,
|
|
||||||
0x09, 0x89, 0x9d, 0xda, 0xee, 0xda, 0xd9, 0x92, 0x9e, 0xaa, 0xb6, 0xab, 0x86, 0x75, 0x3d, 0x19,
|
|
||||||
0x63, 0xbc, 0x19, 0x2f, 0x1e, 0x34, 0xf1, 0x6e, 0xa2, 0x5e, 0x89, 0x57, 0x13, 0xbf, 0x80, 0xf1,
|
|
||||||
0x53, 0xf8, 0x31, 0x7c, 0x5d, 0xd5, 0x3d, 0xd3, 0xbd, 0xd3, 0x33, 0xd3, 0x23, 0xb7, 0x99, 0xaa,
|
|
||||||
0xf7, 0x5e, 0xfd, 0xde, 0x7b, 0xbf, 0x7a, 0xbf, 0x6a, 0xb4, 0xa6, 0x34, 0xa3, 0xbd, 0x1e, 0x53,
|
|
||||||
0x8a, 0x76, 0x99, 0x0a, 0x12, 0x9a, 0x32, 0xa1, 0x69, 0xec, 0x9b, 0xe5, 0x30, 0xe6, 0xf0, 0xcf,
|
|
||||||
0x4f, 0x52, 0xa9, 0x65, 0x7b, 0xbd, 0x6a, 0xd9, 0x17, 0x7c, 0x87, 0xb3, 0x28, 0xd8, 0xa6, 0x8a,
|
|
||||||
0x8d, 0x5a, 0x7b, 0xaf, 0xa0, 0xc5, 0xfb, 0x79, 0xac, 0x5b, 0x49, 0x82, 0x97, 0xd0, 0x11, 0x9a,
|
|
||||||
0x24, 0x3c, 0x72, 0x1d, 0xe2, 0xac, 0x2d, 0x61, 0x8c, 0x10, 0x57, 0x01, 0x8d, 0x63, 0xb9, 0xc7,
|
|
||||||
0x22, 0xf7, 0x10, 0xac, 0xcd, 0x7b, 0xbf, 0x1d, 0x42, 0x2b, 0x85, 0x4b, 0x87, 0x69, 0xcd, 0x45,
|
|
||||||
0x57, 0xe1, 0xe3, 0xe8, 0x98, 0x89, 0x9d, 0x7b, 0x1e, 0xc5, 0x67, 0xd0, 0x71, 0x08, 0x14, 0x73,
|
|
||||||
0xa5, 0xcd, 0xc9, 0x01, 0xb7, 0xee, 0x4b, 0x98, 0x20, 0xb7, 0xb2, 0x11, 0x31, 0x15, 0xa6, 0x3c,
|
|
||||||
0xd1, 0x5c, 0x0a, 0xf7, 0x30, 0x58, 0x2c, 0x60, 0x0f, 0xb5, 0xca, 0x16, 0xee, 0x1c, 0x39, 0xbc,
|
|
||||||
0xb6, 0xb8, 0xd1, 0xf2, 0xcb, 0x38, 0x2f, 0xa2, 0xe5, 0xc2, 0x26, 0xec, 0x2b, 0x2d, 0x7b, 0xee,
|
|
||||||
0x91, 0x1a, 0x2b, 0x17, 0xad, 0x24, 0x54, 0xa9, 0x3d, 0x99, 0x46, 0xbb, 0x54, 0xed, 0xea, 0xfd,
|
|
||||||
0x84, 0xb9, 0x47, 0x0d, 0x8a, 0x16, 0x9a, 0x53, 0x34, 0xd6, 0xee, 0x31, 0xf8, 0xd7, 0xc2, 0xa7,
|
|
||||||
0x50, 0xab, 0x6c, 0xe7, 0xce, 0x9b, 0x55, 0x9b, 0x3c, 0x13, 0x74, 0x3b, 0x86, 0xe4, 0x17, 0xb2,
|
|
||||||
0xe4, 0xb3, 0x88, 0xf9, 0x42, 0xb0, 0xc3, 0xa8, 0xee, 0xa7, 0x4c, 0xb9, 0xc8, 0x44, 0x3c, 0x8d,
|
|
||||||
0x96, 0x53, 0x16, 0xca, 0xa7, 0x2c, 0xdd, 0x0f, 0x58, 0x8f, 0xf2, 0xd8, 0x5d, 0xcc, 0xb2, 0xf1,
|
|
||||||
0x7e, 0x74, 0xd0, 0xda, 0x66, 0x01, 0x2a, 0x78, 0xc7, 0x38, 0x1f, 0x2c, 0x5f, 0xf0, 0x80, 0x7d,
|
|
||||||
0xd6, 0x67, 0x4a, 0xe3, 0x15, 0x34, 0x5f, 0x00, 0x31, 0x75, 0x5c, 0xc0, 0xab, 0x68, 0x5e, 0xe5,
|
|
||||||
0x56, 0xa6, 0x80, 0x8b, 0x1b, 0x27, 0xfc, 0x91, 0xea, 0x9f, 0x40, 0x0b, 0x0a, 0xfa, 0x0d, 0x25,
|
|
||||||
0x84, 0x32, 0xdb, 0x22, 0x02, 0x78, 0x0b, 0x34, 0x94, 0x51, 0x56, 0xc2, 0x0c, 0x62, 0xa9, 0x49,
|
|
||||||
0x19, 0xe6, 0xa3, 0xde, 0x35, 0x74, 0xa5, 0x01, 0x34, 0x95, 0x48, 0xa1, 0x98, 0x77, 0xaf, 0x6c,
|
|
||||||
0xfc, 0x36, 0x57, 0x33, 0x26, 0x32, 0x72, 0xf8, 0x3a, 0xba, 0xda, 0x24, 0x5e, 0x7e, 0xfa, 0x1b,
|
|
||||||
0xe8, 0xa5, 0xa1, 0xf5, 0x1d, 0xa6, 0xc7, 0x9e, 0x3c, 0x72, 0xce, 0x5d, 0x74, 0x69, 0x9a, 0xa7,
|
|
||||||
0x3d, 0xa3, 0x52, 0x6b, 0x67, 0x4c, 0xad, 0xbd, 0x9b, 0xe8, 0x5a, 0x25, 0x5c, 0x87, 0x77, 0x05,
|
|
||||||
0x8b, 0x26, 0x16, 0x22, 0xe5, 0x32, 0xe5, 0x7a, 0xdf, 0xde, 0x29, 0xef, 0x13, 0xb4, 0xde, 0x2c,
|
|
||||||
0x40, 0x8e, 0xea, 0xff, 0xe8, 0xa4, 0x62, 0x29, 0xa7, 0x31, 0xff, 0x02, 0x58, 0x57, 0x01, 0xd8,
|
|
||||||
0x32, 0x9d, 0x07, 0x7f, 0xc3, 0x44, 0xc3, 0x8f, 0x96, 0xf7, 0x83, 0x53, 0x2e, 0x55, 0x67, 0x42,
|
|
||||||
0xa9, 0xfe, 0x23, 0xdb, 0xe0, 0xb6, 0x08, 0xb6, 0x17, 0x0c, 0x5c, 0x2d, 0xe1, 0x2a, 0x1c, 0x9c,
|
|
||||||
0xab, 0x6f, 0xf9, 0x5a, 0xb9, 0x15, 0x9d, 0x09, 0xad, 0xf0, 0x6e, 0xa0, 0x0b, 0x43, 0xcb, 0x8f,
|
|
||||||
0x20, 0xf7, 0x88, 0x6a, 0xf6, 0x50, 0x3e, 0x61, 0x62, 0x80, 0x1e, 0x60, 0xf4, 0x45, 0x2c, 0xc3,
|
|
||||||
0x27, 0x81, 0xce, 0xd6, 0x6d, 0x06, 0x9e, 0x87, 0xc8, 0x78, 0xc7, 0x3c, 0x78, 0x17, 0x79, 0xa3,
|
|
||||||
0x36, 0xf7, 0xf3, 0x74, 0xa6, 0x50, 0xd8, 0xa6, 0x68, 0x8a, 0xb3, 0x80, 0xcf, 0xa3, 0xd3, 0x8a,
|
|
||||||
0x89, 0x28, 0xc8, 0x71, 0x48, 0x11, 0xa8, 0x7e, 0x18, 0x82, 0x89, 0xa9, 0xc9, 0xbc, 0xf7, 0x1a,
|
|
||||||
0x5a, 0x9d, 0x78, 0x50, 0xde, 0x61, 0x18, 0xba, 0xe5, 0x14, 0x5e, 0x46, 0x2f, 0x0c, 0xbd, 0xb6,
|
|
||||||
0x20, 0xf0, 0xa6, 0x19, 0xd8, 0x15, 0x86, 0xe7, 0x30, 0xac, 0xc3, 0x05, 0x74, 0x6e, 0x8c, 0x43,
|
|
||||||
0x9e, 0xf0, 0xe5, 0x32, 0x23, 0xf2, 0x30, 0x0f, 0xf2, 0x61, 0xb5, 0x09, 0xf3, 0xa1, 0x58, 0xab,
|
|
||||||
0x36, 0xa8, 0xde, 0x30, 0x0f, 0xd9, 0xa9, 0x99, 0x06, 0x8f, 0xb8, 0xde, 0xad, 0x0b, 0x8b, 0xff,
|
|
||||||
0x87, 0x96, 0x06, 0xb3, 0xd1, 0xcc, 0x23, 0xa7, 0x7e, 0x1e, 0xd5, 0x8d, 0x84, 0x9a, 0xa0, 0x39,
|
|
||||||
0x84, 0xaf, 0x1d, 0x74, 0x7d, 0x68, 0x7e, 0x90, 0x4b, 0x9b, 0xbb, 0x54, 0x74, 0x59, 0x70, 0x4f,
|
|
||||||
0x6a, 0xd0, 0xbf, 0x90, 0x66, 0xfa, 0x32, 0xeb, 0x55, 0xaa, 0x50, 0x60, 0x1c, 0xcb, 0xbd, 0xad,
|
|
||||||
0x72, 0x71, 0x8b, 0x1f, 0x1f, 0x5a, 0x46, 0x54, 0x4e, 0x1f, 0x25, 0x54, 0x25, 0x9a, 0xa1, 0x14,
|
|
||||||
0xcc, 0xb9, 0xd5, 0xd1, 0x68, 0x5b, 0x23, 0xb1, 0x2a, 0x9e, 0x26, 0xd8, 0xc6, 0xdf, 0xcb, 0x68,
|
|
||||||
0xbe, 0x70, 0xc0, 0x7f, 0x39, 0xe8, 0x74, 0xfd, 0x40, 0xc7, 0x57, 0xfc, 0xa6, 0x72, 0xd4, 0xbe,
|
|
||||||
0xea, 0x37, 0x97, 0x87, 0xe0, 0xab, 0x67, 0xee, 0x63, 0x6b, 0x44, 0x8a, 0xd7, 0x09, 0x29, 0x4a,
|
|
||||||
0x4c, 0x76, 0x64, 0x4a, 0xf4, 0x2e, 0x23, 0xb1, 0xec, 0x76, 0x59, 0x44, 0xb8, 0x20, 0x34, 0x0c,
|
|
||||||
0x65, 0x5f, 0xe8, 0x75, 0x22, 0x8d, 0xf6, 0xc3, 0x1b, 0x63, 0xbf, 0x30, 0x37, 0x96, 0x61, 0x3f,
|
|
||||||
0xcd, 0x82, 0x0c, 0x42, 0xe0, 0x5f, 0x1d, 0x74, 0x66, 0x8c, 0x4c, 0xe0, 0x32, 0xd0, 0x29, 0xd2,
|
|
||||||
0xd4, 0xbe, 0xe6, 0xcf, 0x20, 0x3b, 0x37, 0x20, 0xab, 0x57, 0x73, 0xab, 0x59, 0xd2, 0xc2, 0x3f,
|
|
||||||
0x3b, 0xe8, 0x64, 0x8d, 0xd8, 0xe0, 0x4b, 0x7e, 0x23, 0x19, 0x6b, 0x5f, 0xf6, 0x9b, 0x89, 0x96,
|
|
||||||
0x77, 0x13, 0x10, 0xbe, 0x09, 0x16, 0x95, 0xa2, 0xcd, 0x82, 0xf4, 0x1f, 0x07, 0x9d, 0x1d, 0x2b,
|
|
||||||
0x43, 0x78, 0xdd, 0x9f, 0x41, 0xed, 0xda, 0xd7, 0xfd, 0x59, 0xa4, 0xcd, 0x13, 0x80, 0xfd, 0xd3,
|
|
||||||
0xe7, 0xc0, 0x6e, 0x7e, 0x66, 0xdb, 0x3d, 0xd8, 0xa7, 0x9a, 0x84, 0x54, 0x90, 0xed, 0x7d, 0x02,
|
|
||||||
0xa3, 0xc2, 0xbc, 0x79, 0xb3, 0xdf, 0x99, 0x1f, 0xcc, 0x1e, 0xc6, 0x61, 0xd1, 0x34, 0xa5, 0x33,
|
|
||||||
0xa5, 0x29, 0x9d, 0x86, 0x4d, 0xe9, 0x4c, 0x6d, 0x4a, 0xe7, 0x39, 0x9a, 0x02, 0x48, 0x97, 0x2a,
|
|
||||||
0xea, 0x85, 0x89, 0x3f, 0x45, 0x10, 0xdb, 0x2f, 0xfa, 0x53, 0x95, 0xef, 0x03, 0xc0, 0x75, 0x77,
|
|
||||||
0x73, 0x97, 0x85, 0x4f, 0x08, 0xdf, 0x31, 0x47, 0x77, 0xa1, 0x30, 0x62, 0x08, 0xcd, 0x2a, 0x19,
|
|
||||||
0x31, 0x72, 0x44, 0xb8, 0x22, 0xa1, 0x04, 0xec, 0xa1, 0x9e, 0x80, 0xf4, 0x77, 0x07, 0xad, 0x1c,
|
|
||||||
0x94, 0x36, 0xbc, 0xea, 0x4f, 0x17, 0xd8, 0xf6, 0x45, 0xbf, 0x81, 0x38, 0x7a, 0x1f, 0x03, 0xe4,
|
|
||||||
0x87, 0xc5, 0xb6, 0xc1, 0x90, 0xc4, 0x94, 0x0b, 0xcd, 0x3e, 0xcf, 0x2a, 0x6a, 0xad, 0x27, 0x30,
|
|
||||||
0x84, 0x8a, 0x08, 0xfa, 0x0f, 0x33, 0x1d, 0x96, 0x44, 0x25, 0x3d, 0xfc, 0x9d, 0x83, 0xd0, 0x50,
|
|
||||||
0x2d, 0xf1, 0x39, 0x7f, 0x92, 0xea, 0xb6, 0xcf, 0xfb, 0x93, 0x35, 0xf6, 0x36, 0xe0, 0x7c, 0xcb,
|
|
||||||
0xcc, 0xe8, 0x7d, 0xa8, 0x9a, 0x10, 0x50, 0x35, 0x40, 0x62, 0xbf, 0xb5, 0x94, 0xa5, 0x27, 0x25,
|
|
||||||
0xe6, 0x74, 0xf8, 0xc4, 0x20, 0x32, 0x34, 0xac, 0xb0, 0x50, 0xc9, 0x76, 0x2a, 0xf7, 0x40, 0x98,
|
|
||||||
0xf0, 0x9f, 0xc0, 0xcf, 0x1a, 0xd5, 0xad, 0xf0, 0x73, 0x82, 0x7c, 0x57, 0xf8, 0x39, 0x51, 0xbd,
|
|
||||||
0x1f, 0x03, 0xd8, 0x47, 0xb9, 0x05, 0x9c, 0x5f, 0x88, 0x33, 0xc9, 0xc4, 0x99, 0x6c, 0x33, 0x60,
|
|
||||||
0x28, 0x94, 0x4e, 0xcb, 0xe2, 0xf6, 0xd8, 0x4d, 0xf3, 0x55, 0x43, 0x68, 0x14, 0xc1, 0x47, 0xcf,
|
|
||||||
0x90, 0xbb, 0x2a, 0x61, 0xa1, 0xbd, 0x6d, 0x05, 0x23, 0x7e, 0x19, 0x0e, 0xea, 0x83, 0xe2, 0x5d,
|
|
||||||
0x37, 0xa8, 0xc7, 0xbd, 0x1a, 0xea, 0x06, 0xf5, 0xf8, 0xc7, 0xc0, 0xeb, 0x90, 0xd1, 0xc6, 0x2d,
|
|
||||||
0xad, 0x59, 0x2f, 0xa9, 0x64, 0x94, 0x77, 0x5c, 0x8a, 0x7a, 0xb0, 0xed, 0x73, 0xe0, 0x77, 0xf6,
|
|
||||||
0xfe, 0xc8, 0xcd, 0x84, 0x6e, 0x3c, 0xe5, 0x21, 0xdb, 0xf8, 0x66, 0x0e, 0x2d, 0x17, 0xbb, 0x39,
|
|
||||||
0x4f, 0x7e, 0x72, 0xd0, 0x29, 0xdb, 0xe7, 0xea, 0x53, 0x03, 0xfb, 0xfe, 0x4c, 0xaf, 0x91, 0xf6,
|
|
||||||
0xa2, 0x7f, 0x4f, 0x0e, 0xf0, 0xdf, 0x01, 0x1c, 0x9b, 0xe5, 0x6d, 0xb2, 0x93, 0xca, 0x9e, 0xc1,
|
|
||||||
0xc1, 0xd2, 0xac, 0x15, 0x96, 0x49, 0x44, 0xee, 0x40, 0x76, 0xa1, 0x89, 0x96, 0x71, 0x67, 0x64,
|
|
||||||
0xa6, 0xe0, 0xef, 0x1d, 0xd4, 0xb2, 0xf0, 0xec, 0x1b, 0xa4, 0x42, 0x9e, 0x09, 0xcf, 0x93, 0x2a,
|
|
||||||
0x9c, 0xf7, 0x01, 0xce, 0x7b, 0x0d, 0xe0, 0x58, 0x5e, 0x0f, 0x2e, 0xd6, 0x78, 0x6a, 0x7f, 0x0b,
|
|
||||||
0x97, 0xcd, 0xc2, 0xca, 0x2e, 0x0f, 0xbe, 0xe8, 0x37, 0x78, 0xe5, 0x54, 0x21, 0x6d, 0x01, 0xa4,
|
|
||||||
0x77, 0x1b, 0x43, 0x9a, 0x72, 0xd5, 0xda, 0x3e, 0x44, 0xbb, 0x34, 0xda, 0xf7, 0x3c, 0x86, 0x28,
|
|
||||||
0x1d, 0xa3, 0xfe, 0x78, 0xe6, 0x1e, 0xba, 0x7d, 0xf8, 0x4b, 0xc7, 0xf9, 0x37, 0x00, 0x00, 0xff,
|
|
||||||
0xff, 0xc4, 0x79, 0x5c, 0x8e, 0x85, 0x11, 0x00, 0x00,
|
|
||||||
}
|
|
456
vendor/github.com/Philipp15b/go-steam/protocol/protobuf/unified/partnerapps.pb.go
generated
vendored
456
vendor/github.com/Philipp15b/go-steam/protocol/protobuf/unified/partnerapps.pb.go
generated
vendored
@ -1,456 +0,0 @@
|
|||||||
// Code generated by protoc-gen-go.
|
|
||||||
// source: steammessages_partnerapps.steamclient.proto
|
|
||||||
// DO NOT EDIT!
|
|
||||||
|
|
||||||
package unified
|
|
||||||
|
|
||||||
import proto "github.com/golang/protobuf/proto"
|
|
||||||
import fmt "fmt"
|
|
||||||
import math "math"
|
|
||||||
|
|
||||||
// Reference imports to suppress errors if they are not otherwise used.
|
|
||||||
var _ = proto.Marshal
|
|
||||||
var _ = fmt.Errorf
|
|
||||||
var _ = math.Inf
|
|
||||||
|
|
||||||
type CPartnerApps_RequestUploadToken_Request struct {
|
|
||||||
Filename *string `protobuf:"bytes,1,opt,name=filename" json:"filename,omitempty"`
|
|
||||||
Appid *uint32 `protobuf:"varint,2,opt,name=appid" json:"appid,omitempty"`
|
|
||||||
XXX_unrecognized []byte `json:"-"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CPartnerApps_RequestUploadToken_Request) Reset() {
|
|
||||||
*m = CPartnerApps_RequestUploadToken_Request{}
|
|
||||||
}
|
|
||||||
func (m *CPartnerApps_RequestUploadToken_Request) String() string { return proto.CompactTextString(m) }
|
|
||||||
func (*CPartnerApps_RequestUploadToken_Request) ProtoMessage() {}
|
|
||||||
func (*CPartnerApps_RequestUploadToken_Request) Descriptor() ([]byte, []int) {
|
|
||||||
return partnerapps_fileDescriptor0, []int{0}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CPartnerApps_RequestUploadToken_Request) GetFilename() string {
|
|
||||||
if m != nil && m.Filename != nil {
|
|
||||||
return *m.Filename
|
|
||||||
}
|
|
||||||
return ""
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CPartnerApps_RequestUploadToken_Request) GetAppid() uint32 {
|
|
||||||
if m != nil && m.Appid != nil {
|
|
||||||
return *m.Appid
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
type CPartnerApps_RequestUploadToken_Response struct {
|
|
||||||
UploadToken *uint64 `protobuf:"varint,1,opt,name=upload_token" json:"upload_token,omitempty"`
|
|
||||||
Location *string `protobuf:"bytes,2,opt,name=location" json:"location,omitempty"`
|
|
||||||
RoutingId *uint64 `protobuf:"varint,3,opt,name=routing_id" json:"routing_id,omitempty"`
|
|
||||||
XXX_unrecognized []byte `json:"-"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CPartnerApps_RequestUploadToken_Response) Reset() {
|
|
||||||
*m = CPartnerApps_RequestUploadToken_Response{}
|
|
||||||
}
|
|
||||||
func (m *CPartnerApps_RequestUploadToken_Response) String() string { return proto.CompactTextString(m) }
|
|
||||||
func (*CPartnerApps_RequestUploadToken_Response) ProtoMessage() {}
|
|
||||||
func (*CPartnerApps_RequestUploadToken_Response) Descriptor() ([]byte, []int) {
|
|
||||||
return partnerapps_fileDescriptor0, []int{1}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CPartnerApps_RequestUploadToken_Response) GetUploadToken() uint64 {
|
|
||||||
if m != nil && m.UploadToken != nil {
|
|
||||||
return *m.UploadToken
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CPartnerApps_RequestUploadToken_Response) GetLocation() string {
|
|
||||||
if m != nil && m.Location != nil {
|
|
||||||
return *m.Location
|
|
||||||
}
|
|
||||||
return ""
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CPartnerApps_RequestUploadToken_Response) GetRoutingId() uint64 {
|
|
||||||
if m != nil && m.RoutingId != nil {
|
|
||||||
return *m.RoutingId
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
type CPartnerApps_FinishUpload_Request struct {
|
|
||||||
UploadToken *uint64 `protobuf:"varint,1,opt,name=upload_token" json:"upload_token,omitempty"`
|
|
||||||
RoutingId *uint64 `protobuf:"varint,2,opt,name=routing_id" json:"routing_id,omitempty"`
|
|
||||||
AppId *uint32 `protobuf:"varint,3,opt,name=app_id" json:"app_id,omitempty"`
|
|
||||||
XXX_unrecognized []byte `json:"-"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CPartnerApps_FinishUpload_Request) Reset() { *m = CPartnerApps_FinishUpload_Request{} }
|
|
||||||
func (m *CPartnerApps_FinishUpload_Request) String() string { return proto.CompactTextString(m) }
|
|
||||||
func (*CPartnerApps_FinishUpload_Request) ProtoMessage() {}
|
|
||||||
func (*CPartnerApps_FinishUpload_Request) Descriptor() ([]byte, []int) {
|
|
||||||
return partnerapps_fileDescriptor0, []int{2}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CPartnerApps_FinishUpload_Request) GetUploadToken() uint64 {
|
|
||||||
if m != nil && m.UploadToken != nil {
|
|
||||||
return *m.UploadToken
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CPartnerApps_FinishUpload_Request) GetRoutingId() uint64 {
|
|
||||||
if m != nil && m.RoutingId != nil {
|
|
||||||
return *m.RoutingId
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CPartnerApps_FinishUpload_Request) GetAppId() uint32 {
|
|
||||||
if m != nil && m.AppId != nil {
|
|
||||||
return *m.AppId
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
type CPartnerApps_FinishUploadKVSign_Response struct {
|
|
||||||
SignedInstallscript *string `protobuf:"bytes,1,opt,name=signed_installscript" json:"signed_installscript,omitempty"`
|
|
||||||
XXX_unrecognized []byte `json:"-"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CPartnerApps_FinishUploadKVSign_Response) Reset() {
|
|
||||||
*m = CPartnerApps_FinishUploadKVSign_Response{}
|
|
||||||
}
|
|
||||||
func (m *CPartnerApps_FinishUploadKVSign_Response) String() string { return proto.CompactTextString(m) }
|
|
||||||
func (*CPartnerApps_FinishUploadKVSign_Response) ProtoMessage() {}
|
|
||||||
func (*CPartnerApps_FinishUploadKVSign_Response) Descriptor() ([]byte, []int) {
|
|
||||||
return partnerapps_fileDescriptor0, []int{3}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CPartnerApps_FinishUploadKVSign_Response) GetSignedInstallscript() string {
|
|
||||||
if m != nil && m.SignedInstallscript != nil {
|
|
||||||
return *m.SignedInstallscript
|
|
||||||
}
|
|
||||||
return ""
|
|
||||||
}
|
|
||||||
|
|
||||||
type CPartnerApps_FinishUploadLegacyDRM_Request struct {
|
|
||||||
UploadToken *uint64 `protobuf:"varint,1,opt,name=upload_token" json:"upload_token,omitempty"`
|
|
||||||
RoutingId *uint64 `protobuf:"varint,2,opt,name=routing_id" json:"routing_id,omitempty"`
|
|
||||||
AppId *uint32 `protobuf:"varint,3,opt,name=app_id" json:"app_id,omitempty"`
|
|
||||||
Flags *uint32 `protobuf:"varint,4,opt,name=flags" json:"flags,omitempty"`
|
|
||||||
ToolName *string `protobuf:"bytes,5,opt,name=tool_name" json:"tool_name,omitempty"`
|
|
||||||
XXX_unrecognized []byte `json:"-"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CPartnerApps_FinishUploadLegacyDRM_Request) Reset() {
|
|
||||||
*m = CPartnerApps_FinishUploadLegacyDRM_Request{}
|
|
||||||
}
|
|
||||||
func (m *CPartnerApps_FinishUploadLegacyDRM_Request) String() string {
|
|
||||||
return proto.CompactTextString(m)
|
|
||||||
}
|
|
||||||
func (*CPartnerApps_FinishUploadLegacyDRM_Request) ProtoMessage() {}
|
|
||||||
func (*CPartnerApps_FinishUploadLegacyDRM_Request) Descriptor() ([]byte, []int) {
|
|
||||||
return partnerapps_fileDescriptor0, []int{4}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CPartnerApps_FinishUploadLegacyDRM_Request) GetUploadToken() uint64 {
|
|
||||||
if m != nil && m.UploadToken != nil {
|
|
||||||
return *m.UploadToken
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CPartnerApps_FinishUploadLegacyDRM_Request) GetRoutingId() uint64 {
|
|
||||||
if m != nil && m.RoutingId != nil {
|
|
||||||
return *m.RoutingId
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CPartnerApps_FinishUploadLegacyDRM_Request) GetAppId() uint32 {
|
|
||||||
if m != nil && m.AppId != nil {
|
|
||||||
return *m.AppId
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CPartnerApps_FinishUploadLegacyDRM_Request) GetFlags() uint32 {
|
|
||||||
if m != nil && m.Flags != nil {
|
|
||||||
return *m.Flags
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CPartnerApps_FinishUploadLegacyDRM_Request) GetToolName() string {
|
|
||||||
if m != nil && m.ToolName != nil {
|
|
||||||
return *m.ToolName
|
|
||||||
}
|
|
||||||
return ""
|
|
||||||
}
|
|
||||||
|
|
||||||
type CPartnerApps_FinishUploadLegacyDRM_Response struct {
|
|
||||||
FileId *string `protobuf:"bytes,1,opt,name=file_id" json:"file_id,omitempty"`
|
|
||||||
XXX_unrecognized []byte `json:"-"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CPartnerApps_FinishUploadLegacyDRM_Response) Reset() {
|
|
||||||
*m = CPartnerApps_FinishUploadLegacyDRM_Response{}
|
|
||||||
}
|
|
||||||
func (m *CPartnerApps_FinishUploadLegacyDRM_Response) String() string {
|
|
||||||
return proto.CompactTextString(m)
|
|
||||||
}
|
|
||||||
func (*CPartnerApps_FinishUploadLegacyDRM_Response) ProtoMessage() {}
|
|
||||||
func (*CPartnerApps_FinishUploadLegacyDRM_Response) Descriptor() ([]byte, []int) {
|
|
||||||
return partnerapps_fileDescriptor0, []int{5}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CPartnerApps_FinishUploadLegacyDRM_Response) GetFileId() string {
|
|
||||||
if m != nil && m.FileId != nil {
|
|
||||||
return *m.FileId
|
|
||||||
}
|
|
||||||
return ""
|
|
||||||
}
|
|
||||||
|
|
||||||
type CPartnerApps_FinishUpload_Response struct {
|
|
||||||
XXX_unrecognized []byte `json:"-"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CPartnerApps_FinishUpload_Response) Reset() { *m = CPartnerApps_FinishUpload_Response{} }
|
|
||||||
func (m *CPartnerApps_FinishUpload_Response) String() string { return proto.CompactTextString(m) }
|
|
||||||
func (*CPartnerApps_FinishUpload_Response) ProtoMessage() {}
|
|
||||||
func (*CPartnerApps_FinishUpload_Response) Descriptor() ([]byte, []int) {
|
|
||||||
return partnerapps_fileDescriptor0, []int{6}
|
|
||||||
}
|
|
||||||
|
|
||||||
type CPartnerApps_FindDRMUploads_Request struct {
|
|
||||||
AppId *int32 `protobuf:"varint,1,opt,name=app_id" json:"app_id,omitempty"`
|
|
||||||
XXX_unrecognized []byte `json:"-"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CPartnerApps_FindDRMUploads_Request) Reset() { *m = CPartnerApps_FindDRMUploads_Request{} }
|
|
||||||
func (m *CPartnerApps_FindDRMUploads_Request) String() string { return proto.CompactTextString(m) }
|
|
||||||
func (*CPartnerApps_FindDRMUploads_Request) ProtoMessage() {}
|
|
||||||
func (*CPartnerApps_FindDRMUploads_Request) Descriptor() ([]byte, []int) {
|
|
||||||
return partnerapps_fileDescriptor0, []int{7}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CPartnerApps_FindDRMUploads_Request) GetAppId() int32 {
|
|
||||||
if m != nil && m.AppId != nil {
|
|
||||||
return *m.AppId
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
type CPartnerApps_ExistingDRMUpload struct {
|
|
||||||
FileId *string `protobuf:"bytes,1,opt,name=file_id" json:"file_id,omitempty"`
|
|
||||||
AppId *uint32 `protobuf:"varint,2,opt,name=app_id" json:"app_id,omitempty"`
|
|
||||||
ActorId *int32 `protobuf:"varint,3,opt,name=actor_id" json:"actor_id,omitempty"`
|
|
||||||
SuppliedName *string `protobuf:"bytes,5,opt,name=supplied_name" json:"supplied_name,omitempty"`
|
|
||||||
Flags *uint32 `protobuf:"varint,6,opt,name=flags" json:"flags,omitempty"`
|
|
||||||
ModType *string `protobuf:"bytes,7,opt,name=mod_type" json:"mod_type,omitempty"`
|
|
||||||
Timestamp *uint32 `protobuf:"fixed32,8,opt,name=timestamp" json:"timestamp,omitempty"`
|
|
||||||
OrigFileId *string `protobuf:"bytes,9,opt,name=orig_file_id" json:"orig_file_id,omitempty"`
|
|
||||||
XXX_unrecognized []byte `json:"-"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CPartnerApps_ExistingDRMUpload) Reset() { *m = CPartnerApps_ExistingDRMUpload{} }
|
|
||||||
func (m *CPartnerApps_ExistingDRMUpload) String() string { return proto.CompactTextString(m) }
|
|
||||||
func (*CPartnerApps_ExistingDRMUpload) ProtoMessage() {}
|
|
||||||
func (*CPartnerApps_ExistingDRMUpload) Descriptor() ([]byte, []int) { return partnerapps_fileDescriptor0, []int{8} }
|
|
||||||
|
|
||||||
func (m *CPartnerApps_ExistingDRMUpload) GetFileId() string {
|
|
||||||
if m != nil && m.FileId != nil {
|
|
||||||
return *m.FileId
|
|
||||||
}
|
|
||||||
return ""
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CPartnerApps_ExistingDRMUpload) GetAppId() uint32 {
|
|
||||||
if m != nil && m.AppId != nil {
|
|
||||||
return *m.AppId
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CPartnerApps_ExistingDRMUpload) GetActorId() int32 {
|
|
||||||
if m != nil && m.ActorId != nil {
|
|
||||||
return *m.ActorId
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CPartnerApps_ExistingDRMUpload) GetSuppliedName() string {
|
|
||||||
if m != nil && m.SuppliedName != nil {
|
|
||||||
return *m.SuppliedName
|
|
||||||
}
|
|
||||||
return ""
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CPartnerApps_ExistingDRMUpload) GetFlags() uint32 {
|
|
||||||
if m != nil && m.Flags != nil {
|
|
||||||
return *m.Flags
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CPartnerApps_ExistingDRMUpload) GetModType() string {
|
|
||||||
if m != nil && m.ModType != nil {
|
|
||||||
return *m.ModType
|
|
||||||
}
|
|
||||||
return ""
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CPartnerApps_ExistingDRMUpload) GetTimestamp() uint32 {
|
|
||||||
if m != nil && m.Timestamp != nil {
|
|
||||||
return *m.Timestamp
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CPartnerApps_ExistingDRMUpload) GetOrigFileId() string {
|
|
||||||
if m != nil && m.OrigFileId != nil {
|
|
||||||
return *m.OrigFileId
|
|
||||||
}
|
|
||||||
return ""
|
|
||||||
}
|
|
||||||
|
|
||||||
type CPartnerApps_FindDRMUploads_Response struct {
|
|
||||||
Uploads []*CPartnerApps_ExistingDRMUpload `protobuf:"bytes,1,rep,name=uploads" json:"uploads,omitempty"`
|
|
||||||
XXX_unrecognized []byte `json:"-"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CPartnerApps_FindDRMUploads_Response) Reset() { *m = CPartnerApps_FindDRMUploads_Response{} }
|
|
||||||
func (m *CPartnerApps_FindDRMUploads_Response) String() string { return proto.CompactTextString(m) }
|
|
||||||
func (*CPartnerApps_FindDRMUploads_Response) ProtoMessage() {}
|
|
||||||
func (*CPartnerApps_FindDRMUploads_Response) Descriptor() ([]byte, []int) {
|
|
||||||
return partnerapps_fileDescriptor0, []int{9}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CPartnerApps_FindDRMUploads_Response) GetUploads() []*CPartnerApps_ExistingDRMUpload {
|
|
||||||
if m != nil {
|
|
||||||
return m.Uploads
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
type CPartnerApps_Download_Request struct {
|
|
||||||
FileId *string `protobuf:"bytes,1,opt,name=file_id" json:"file_id,omitempty"`
|
|
||||||
AppId *int32 `protobuf:"varint,2,opt,name=app_id" json:"app_id,omitempty"`
|
|
||||||
XXX_unrecognized []byte `json:"-"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CPartnerApps_Download_Request) Reset() { *m = CPartnerApps_Download_Request{} }
|
|
||||||
func (m *CPartnerApps_Download_Request) String() string { return proto.CompactTextString(m) }
|
|
||||||
func (*CPartnerApps_Download_Request) ProtoMessage() {}
|
|
||||||
func (*CPartnerApps_Download_Request) Descriptor() ([]byte, []int) { return partnerapps_fileDescriptor0, []int{10} }
|
|
||||||
|
|
||||||
func (m *CPartnerApps_Download_Request) GetFileId() string {
|
|
||||||
if m != nil && m.FileId != nil {
|
|
||||||
return *m.FileId
|
|
||||||
}
|
|
||||||
return ""
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CPartnerApps_Download_Request) GetAppId() int32 {
|
|
||||||
if m != nil && m.AppId != nil {
|
|
||||||
return *m.AppId
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
type CPartnerApps_Download_Response struct {
|
|
||||||
DownloadUrl *string `protobuf:"bytes,1,opt,name=download_url" json:"download_url,omitempty"`
|
|
||||||
AppId *int32 `protobuf:"varint,2,opt,name=app_id" json:"app_id,omitempty"`
|
|
||||||
XXX_unrecognized []byte `json:"-"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CPartnerApps_Download_Response) Reset() { *m = CPartnerApps_Download_Response{} }
|
|
||||||
func (m *CPartnerApps_Download_Response) String() string { return proto.CompactTextString(m) }
|
|
||||||
func (*CPartnerApps_Download_Response) ProtoMessage() {}
|
|
||||||
func (*CPartnerApps_Download_Response) Descriptor() ([]byte, []int) { return partnerapps_fileDescriptor0, []int{11} }
|
|
||||||
|
|
||||||
func (m *CPartnerApps_Download_Response) GetDownloadUrl() string {
|
|
||||||
if m != nil && m.DownloadUrl != nil {
|
|
||||||
return *m.DownloadUrl
|
|
||||||
}
|
|
||||||
return ""
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CPartnerApps_Download_Response) GetAppId() int32 {
|
|
||||||
if m != nil && m.AppId != nil {
|
|
||||||
return *m.AppId
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
func init() {
|
|
||||||
proto.RegisterType((*CPartnerApps_RequestUploadToken_Request)(nil), "CPartnerApps_RequestUploadToken_Request")
|
|
||||||
proto.RegisterType((*CPartnerApps_RequestUploadToken_Response)(nil), "CPartnerApps_RequestUploadToken_Response")
|
|
||||||
proto.RegisterType((*CPartnerApps_FinishUpload_Request)(nil), "CPartnerApps_FinishUpload_Request")
|
|
||||||
proto.RegisterType((*CPartnerApps_FinishUploadKVSign_Response)(nil), "CPartnerApps_FinishUploadKVSign_Response")
|
|
||||||
proto.RegisterType((*CPartnerApps_FinishUploadLegacyDRM_Request)(nil), "CPartnerApps_FinishUploadLegacyDRM_Request")
|
|
||||||
proto.RegisterType((*CPartnerApps_FinishUploadLegacyDRM_Response)(nil), "CPartnerApps_FinishUploadLegacyDRM_Response")
|
|
||||||
proto.RegisterType((*CPartnerApps_FinishUpload_Response)(nil), "CPartnerApps_FinishUpload_Response")
|
|
||||||
proto.RegisterType((*CPartnerApps_FindDRMUploads_Request)(nil), "CPartnerApps_FindDRMUploads_Request")
|
|
||||||
proto.RegisterType((*CPartnerApps_ExistingDRMUpload)(nil), "CPartnerApps_ExistingDRMUpload")
|
|
||||||
proto.RegisterType((*CPartnerApps_FindDRMUploads_Response)(nil), "CPartnerApps_FindDRMUploads_Response")
|
|
||||||
proto.RegisterType((*CPartnerApps_Download_Request)(nil), "CPartnerApps_Download_Request")
|
|
||||||
proto.RegisterType((*CPartnerApps_Download_Response)(nil), "CPartnerApps_Download_Response")
|
|
||||||
}
|
|
||||||
|
|
||||||
var partnerapps_fileDescriptor0 = []byte{
|
|
||||||
// 809 bytes of a gzipped FileDescriptorProto
|
|
||||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xc4, 0x96, 0x4f, 0x6f, 0xd3, 0x4a,
|
|
||||||
0x14, 0xc5, 0xe5, 0xb6, 0x69, 0x9a, 0xe9, 0x4b, 0xdf, 0x7b, 0x56, 0x2b, 0x45, 0x11, 0xb4, 0xc6,
|
|
||||||
0x2d, 0x22, 0xb4, 0xd5, 0x50, 0x15, 0x21, 0x36, 0x08, 0x95, 0xa6, 0x7f, 0x10, 0x05, 0x84, 0x5a,
|
|
||||||
0x40, 0x6c, 0x50, 0x34, 0x75, 0x26, 0xe9, 0x08, 0xdb, 0x63, 0x3c, 0x63, 0x68, 0x77, 0x88, 0x15,
|
|
||||||
0x1b, 0x3e, 0x00, 0x7b, 0x76, 0x20, 0x24, 0x24, 0xfa, 0xfd, 0xb8, 0x33, 0xb6, 0x13, 0x3b, 0x69,
|
|
||||||
0x53, 0x23, 0x84, 0x58, 0x66, 0x7c, 0x7d, 0xee, 0x6f, 0xce, 0xdc, 0x39, 0x31, 0x5a, 0x11, 0x92,
|
|
||||||
0x12, 0xcf, 0xa3, 0x42, 0x90, 0x2e, 0x15, 0xad, 0x80, 0x84, 0xd2, 0xa7, 0x21, 0x09, 0x02, 0x81,
|
|
||||||
0xf5, 0x13, 0xc7, 0x65, 0xd4, 0x97, 0x38, 0x08, 0xb9, 0xe4, 0xf5, 0xd5, 0x7c, 0x71, 0xe4, 0xb3,
|
|
||||||
0x0e, 0xa3, 0xed, 0xd6, 0x21, 0x11, 0x74, 0xb8, 0xda, 0x7e, 0x80, 0xae, 0x35, 0x9f, 0xc4, 0x7a,
|
|
||||||
0xf7, 0x40, 0xaf, 0xb5, 0x4f, 0x5f, 0x47, 0x54, 0xc8, 0x67, 0x81, 0xcb, 0x49, 0xfb, 0x29, 0x7f,
|
|
||||||
0x45, 0xfd, 0x74, 0xc9, 0xfc, 0x0f, 0x4d, 0x75, 0x98, 0x4b, 0x7d, 0xe2, 0xd1, 0x9a, 0x61, 0x19,
|
|
||||||
0x8d, 0x8a, 0x59, 0x45, 0x25, 0x80, 0x60, 0xed, 0xda, 0x18, 0xfc, 0xac, 0xda, 0x1d, 0xd4, 0xb8,
|
|
||||||
0x58, 0x4b, 0x04, 0xdc, 0x17, 0xd4, 0x9c, 0x45, 0xff, 0x44, 0x7a, 0xbd, 0x25, 0xd5, 0x03, 0x2d,
|
|
||||||
0x38, 0xa1, 0x5a, 0xb8, 0xdc, 0x21, 0x92, 0x71, 0x5f, 0x6b, 0x56, 0x4c, 0x13, 0xa1, 0x90, 0x47,
|
|
||||||
0x92, 0xf9, 0xdd, 0x16, 0xf4, 0x19, 0x57, 0x55, 0xf6, 0x4b, 0x74, 0x25, 0xd7, 0x67, 0x87, 0xf9,
|
|
||||||
0x4c, 0x1c, 0xc5, 0x6d, 0x7a, 0xb4, 0x67, 0x37, 0xc8, 0xcb, 0x8d, 0xe9, 0xb5, 0x19, 0x34, 0x09,
|
|
||||||
0xbb, 0x48, 0xe5, 0xab, 0xf6, 0xfd, 0x81, 0x6d, 0x64, 0xe5, 0xf7, 0x9e, 0x1f, 0xb0, 0x6e, 0x66,
|
|
||||||
0x1b, 0x97, 0xd0, 0xac, 0x80, 0x05, 0xf0, 0x97, 0xf9, 0x42, 0x12, 0xd7, 0x15, 0x4e, 0xc8, 0x02,
|
|
||||||
0x19, 0xfb, 0x63, 0x7f, 0x30, 0xd0, 0xf2, 0xb9, 0x52, 0x0f, 0x69, 0x97, 0x38, 0x27, 0x5b, 0xfb,
|
|
||||||
0x8f, 0x7e, 0x1f, 0x59, 0x1d, 0x44, 0xc7, 0x25, 0x5d, 0x51, 0x9b, 0xd0, 0x3f, 0xff, 0x47, 0x15,
|
|
||||||
0xc9, 0xb9, 0xdb, 0xd2, 0x47, 0x55, 0xd2, 0x28, 0x77, 0xd1, 0x4a, 0x21, 0x92, 0x64, 0x5f, 0xff,
|
|
||||||
0xa2, 0xb2, 0x3a, 0x6b, 0xd5, 0x21, 0xde, 0xca, 0x12, 0xb2, 0x47, 0x79, 0x1e, 0xbf, 0x66, 0xdf,
|
|
||||||
0x42, 0x8b, 0x83, 0x55, 0x6d, 0xd0, 0x8d, 0xcb, 0x7a, 0x03, 0x91, 0xc1, 0x57, 0xe2, 0x25, 0xfb,
|
|
||||||
0x87, 0x81, 0xe6, 0x73, 0xef, 0x6d, 0x1f, 0x33, 0xa1, 0x76, 0xdc, 0x7b, 0x77, 0x08, 0x28, 0xa3,
|
|
||||||
0xa1, 0x87, 0x4f, 0x8d, 0x0e, 0x71, 0x24, 0x0f, 0x53, 0x53, 0x4a, 0xe6, 0x1c, 0xaa, 0x8a, 0x28,
|
|
||||||
0x08, 0x5c, 0x35, 0xfd, 0x7d, 0x27, 0xfa, 0x5e, 0x4d, 0xa6, 0xef, 0x79, 0x1c, 0x1c, 0x3f, 0x09,
|
|
||||||
0x68, 0xad, 0xac, 0x0b, 0x94, 0x7b, 0x0c, 0xee, 0x8f, 0x24, 0x5e, 0x50, 0x9b, 0x82, 0xa5, 0xb2,
|
|
||||||
0x3a, 0x19, 0x1e, 0xb2, 0x6e, 0x2b, 0x45, 0xa8, 0x68, 0x4f, 0x5e, 0xa0, 0xa5, 0xd1, 0xbb, 0x4d,
|
|
||||||
0xcc, 0x5c, 0x43, 0xe5, 0xf8, 0x5c, 0x05, 0xb0, 0x8f, 0x37, 0xa6, 0xd7, 0x17, 0xf0, 0xe8, 0xdd,
|
|
||||||
0xda, 0x1b, 0xe8, 0x72, 0xae, 0x62, 0x8b, 0xbf, 0xf5, 0x73, 0xd3, 0x7d, 0x81, 0x1d, 0x25, 0x7b,
|
|
||||||
0x67, 0xc0, 0xd1, 0x8c, 0x42, 0xff, 0x06, 0xb6, 0xd3, 0xc5, 0x28, 0x74, 0xcf, 0xd6, 0x59, 0xff,
|
|
||||||
0x8a, 0xd0, 0x74, 0x46, 0xc7, 0xfc, 0x6e, 0xa0, 0x5a, 0x02, 0x11, 0xdf, 0x85, 0xcc, 0xed, 0x36,
|
|
||||||
0x1b, 0xb8, 0x60, 0x96, 0xd4, 0xaf, 0xe3, 0xa2, 0x49, 0x61, 0x6f, 0xbc, 0x3f, 0xad, 0xdd, 0x49,
|
|
||||||
0x0a, 0xac, 0xd8, 0x47, 0x4b, 0xdf, 0x0f, 0xab, 0xc3, 0x43, 0x2b, 0x77, 0xed, 0x2c, 0xe5, 0x49,
|
|
||||||
0x5a, 0x73, 0xc3, 0x52, 0x37, 0x13, 0x6c, 0x35, 0xbf, 0x19, 0x68, 0x2e, 0x11, 0xe8, 0x59, 0xfc,
|
|
||||||
0xd7, 0x80, 0xe9, 0x31, 0x75, 0x22, 0x49, 0x0e, 0x01, 0x34, 0x4f, 0x0b, 0x79, 0xec, 0x40, 0x68,
|
|
||||||
0x2b, 0xe0, 0xd3, 0x3e, 0x70, 0x73, 0x7b, 0xf7, 0x8f, 0x03, 0xef, 0x02, 0x70, 0xf3, 0x5c, 0x60,
|
|
||||||
0x27, 0x12, 0x92, 0x7b, 0x85, 0xb8, 0xbf, 0x18, 0xc8, 0x1c, 0x4e, 0x4b, 0xd3, 0xc6, 0x17, 0xc6,
|
|
||||||
0xf5, 0x20, 0xee, 0x88, 0xcc, 0xb5, 0x77, 0x00, 0x77, 0xb3, 0xc9, 0x3d, 0x8f, 0x49, 0xcb, 0xa3,
|
|
||||||
0xf2, 0x88, 0x2b, 0x5a, 0x7d, 0xd8, 0x16, 0xf1, 0x07, 0x06, 0x82, 0x74, 0x24, 0x0d, 0xd5, 0x72,
|
|
||||||
0x82, 0xcb, 0x84, 0xe5, 0x70, 0x2f, 0x70, 0xa9, 0xa4, 0xe6, 0x67, 0x70, 0x39, 0xdb, 0xa7, 0x1f,
|
|
||||||
0x36, 0x2b, 0xb8, 0x78, 0x6a, 0xd7, 0x57, 0xf1, 0x2f, 0x04, 0xab, 0xbd, 0x06, 0xf0, 0xab, 0x79,
|
|
||||||
0xf8, 0xb3, 0xa6, 0x22, 0x63, 0xea, 0xa7, 0x01, 0xcc, 0xde, 0x44, 0x14, 0xf2, 0x75, 0x11, 0x17,
|
|
||||||
0x88, 0xed, 0xdb, 0x00, 0x75, 0x73, 0x18, 0xea, 0x9c, 0x93, 0xcf, 0xb0, 0x7d, 0x34, 0xd0, 0x4c,
|
|
||||||
0x3e, 0xf5, 0xcc, 0x25, 0x5c, 0xe0, 0x1f, 0xa0, 0x7e, 0x15, 0x17, 0x49, 0x4e, 0x1b, 0x03, 0xd8,
|
|
||||||
0xb2, 0x7a, 0x28, 0xac, 0xc7, 0x96, 0xc7, 0x61, 0x3c, 0x43, 0xea, 0xc0, 0xc7, 0x0b, 0x30, 0x30,
|
|
||||||
0x00, 0x4c, 0x52, 0xd5, 0x3a, 0x3c, 0xb1, 0xf4, 0x77, 0x88, 0xb9, 0x87, 0xa6, 0xd2, 0xa0, 0x33,
|
|
||||||
0xe7, 0xf1, 0xc8, 0x08, 0xad, 0x2f, 0xe0, 0xd1, 0x01, 0x59, 0x5f, 0x87, 0xe6, 0xf8, 0x80, 0x86,
|
|
||||||
0x6f, 0x98, 0x43, 0x13, 0x5b, 0x84, 0xf6, 0x05, 0x7a, 0x59, 0x1e, 0xf1, 0xe1, 0xf3, 0xca, 0x53,
|
|
||||||
0x2c, 0xd0, 0x3d, 0xf9, 0x22, 0x13, 0x9b, 0xe3, 0xef, 0x0c, 0xe3, 0x67, 0x00, 0x00, 0x00, 0xff,
|
|
||||||
0xff, 0xec, 0x20, 0xc0, 0x4b, 0xaf, 0x09, 0x00, 0x00,
|
|
||||||
}
|
|
586
vendor/github.com/Philipp15b/go-steam/protocol/protobuf/unified/player.pb.go
generated
vendored
586
vendor/github.com/Philipp15b/go-steam/protocol/protobuf/unified/player.pb.go
generated
vendored
@ -1,586 +0,0 @@
|
|||||||
// Code generated by protoc-gen-go.
|
|
||||||
// source: steammessages_player.steamclient.proto
|
|
||||||
// DO NOT EDIT!
|
|
||||||
|
|
||||||
package unified
|
|
||||||
|
|
||||||
import proto "github.com/golang/protobuf/proto"
|
|
||||||
import fmt "fmt"
|
|
||||||
import math "math"
|
|
||||||
|
|
||||||
// Reference imports to suppress errors if they are not otherwise used.
|
|
||||||
var _ = proto.Marshal
|
|
||||||
var _ = fmt.Errorf
|
|
||||||
var _ = math.Inf
|
|
||||||
|
|
||||||
type CPlayer_GetGameBadgeLevels_Request struct {
|
|
||||||
Appid *uint32 `protobuf:"varint,1,opt,name=appid" json:"appid,omitempty"`
|
|
||||||
XXX_unrecognized []byte `json:"-"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CPlayer_GetGameBadgeLevels_Request) Reset() { *m = CPlayer_GetGameBadgeLevels_Request{} }
|
|
||||||
func (m *CPlayer_GetGameBadgeLevels_Request) String() string { return proto.CompactTextString(m) }
|
|
||||||
func (*CPlayer_GetGameBadgeLevels_Request) ProtoMessage() {}
|
|
||||||
func (*CPlayer_GetGameBadgeLevels_Request) Descriptor() ([]byte, []int) {
|
|
||||||
return player_fileDescriptor0, []int{0}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CPlayer_GetGameBadgeLevels_Request) GetAppid() uint32 {
|
|
||||||
if m != nil && m.Appid != nil {
|
|
||||||
return *m.Appid
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
type CPlayer_GetGameBadgeLevels_Response struct {
|
|
||||||
PlayerLevel *uint32 `protobuf:"varint,1,opt,name=player_level" json:"player_level,omitempty"`
|
|
||||||
Badges []*CPlayer_GetGameBadgeLevels_Response_Badge `protobuf:"bytes,2,rep,name=badges" json:"badges,omitempty"`
|
|
||||||
XXX_unrecognized []byte `json:"-"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CPlayer_GetGameBadgeLevels_Response) Reset() { *m = CPlayer_GetGameBadgeLevels_Response{} }
|
|
||||||
func (m *CPlayer_GetGameBadgeLevels_Response) String() string { return proto.CompactTextString(m) }
|
|
||||||
func (*CPlayer_GetGameBadgeLevels_Response) ProtoMessage() {}
|
|
||||||
func (*CPlayer_GetGameBadgeLevels_Response) Descriptor() ([]byte, []int) {
|
|
||||||
return player_fileDescriptor0, []int{1}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CPlayer_GetGameBadgeLevels_Response) GetPlayerLevel() uint32 {
|
|
||||||
if m != nil && m.PlayerLevel != nil {
|
|
||||||
return *m.PlayerLevel
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CPlayer_GetGameBadgeLevels_Response) GetBadges() []*CPlayer_GetGameBadgeLevels_Response_Badge {
|
|
||||||
if m != nil {
|
|
||||||
return m.Badges
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
type CPlayer_GetGameBadgeLevels_Response_Badge struct {
|
|
||||||
Level *int32 `protobuf:"varint,1,opt,name=level" json:"level,omitempty"`
|
|
||||||
Series *int32 `protobuf:"varint,2,opt,name=series" json:"series,omitempty"`
|
|
||||||
BorderColor *uint32 `protobuf:"varint,3,opt,name=border_color" json:"border_color,omitempty"`
|
|
||||||
XXX_unrecognized []byte `json:"-"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CPlayer_GetGameBadgeLevels_Response_Badge) Reset() {
|
|
||||||
*m = CPlayer_GetGameBadgeLevels_Response_Badge{}
|
|
||||||
}
|
|
||||||
func (m *CPlayer_GetGameBadgeLevels_Response_Badge) String() string { return proto.CompactTextString(m) }
|
|
||||||
func (*CPlayer_GetGameBadgeLevels_Response_Badge) ProtoMessage() {}
|
|
||||||
func (*CPlayer_GetGameBadgeLevels_Response_Badge) Descriptor() ([]byte, []int) {
|
|
||||||
return player_fileDescriptor0, []int{1, 0}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CPlayer_GetGameBadgeLevels_Response_Badge) GetLevel() int32 {
|
|
||||||
if m != nil && m.Level != nil {
|
|
||||||
return *m.Level
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CPlayer_GetGameBadgeLevels_Response_Badge) GetSeries() int32 {
|
|
||||||
if m != nil && m.Series != nil {
|
|
||||||
return *m.Series
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CPlayer_GetGameBadgeLevels_Response_Badge) GetBorderColor() uint32 {
|
|
||||||
if m != nil && m.BorderColor != nil {
|
|
||||||
return *m.BorderColor
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
type CPlayer_GetLastPlayedTimes_Request struct {
|
|
||||||
MinLastPlayed *uint32 `protobuf:"varint,1,opt,name=min_last_played" json:"min_last_played,omitempty"`
|
|
||||||
XXX_unrecognized []byte `json:"-"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CPlayer_GetLastPlayedTimes_Request) Reset() { *m = CPlayer_GetLastPlayedTimes_Request{} }
|
|
||||||
func (m *CPlayer_GetLastPlayedTimes_Request) String() string { return proto.CompactTextString(m) }
|
|
||||||
func (*CPlayer_GetLastPlayedTimes_Request) ProtoMessage() {}
|
|
||||||
func (*CPlayer_GetLastPlayedTimes_Request) Descriptor() ([]byte, []int) {
|
|
||||||
return player_fileDescriptor0, []int{2}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CPlayer_GetLastPlayedTimes_Request) GetMinLastPlayed() uint32 {
|
|
||||||
if m != nil && m.MinLastPlayed != nil {
|
|
||||||
return *m.MinLastPlayed
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
type CPlayer_GetLastPlayedTimes_Response struct {
|
|
||||||
Games []*CPlayer_GetLastPlayedTimes_Response_Game `protobuf:"bytes,1,rep,name=games" json:"games,omitempty"`
|
|
||||||
XXX_unrecognized []byte `json:"-"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CPlayer_GetLastPlayedTimes_Response) Reset() { *m = CPlayer_GetLastPlayedTimes_Response{} }
|
|
||||||
func (m *CPlayer_GetLastPlayedTimes_Response) String() string { return proto.CompactTextString(m) }
|
|
||||||
func (*CPlayer_GetLastPlayedTimes_Response) ProtoMessage() {}
|
|
||||||
func (*CPlayer_GetLastPlayedTimes_Response) Descriptor() ([]byte, []int) {
|
|
||||||
return player_fileDescriptor0, []int{3}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CPlayer_GetLastPlayedTimes_Response) GetGames() []*CPlayer_GetLastPlayedTimes_Response_Game {
|
|
||||||
if m != nil {
|
|
||||||
return m.Games
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
type CPlayer_GetLastPlayedTimes_Response_Game struct {
|
|
||||||
Appid *int32 `protobuf:"varint,1,opt,name=appid" json:"appid,omitempty"`
|
|
||||||
LastPlaytime *uint32 `protobuf:"varint,2,opt,name=last_playtime" json:"last_playtime,omitempty"`
|
|
||||||
Playtime_2Weeks *int32 `protobuf:"varint,3,opt,name=playtime_2weeks" json:"playtime_2weeks,omitempty"`
|
|
||||||
PlaytimeForever *int32 `protobuf:"varint,4,opt,name=playtime_forever" json:"playtime_forever,omitempty"`
|
|
||||||
XXX_unrecognized []byte `json:"-"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CPlayer_GetLastPlayedTimes_Response_Game) Reset() {
|
|
||||||
*m = CPlayer_GetLastPlayedTimes_Response_Game{}
|
|
||||||
}
|
|
||||||
func (m *CPlayer_GetLastPlayedTimes_Response_Game) String() string { return proto.CompactTextString(m) }
|
|
||||||
func (*CPlayer_GetLastPlayedTimes_Response_Game) ProtoMessage() {}
|
|
||||||
func (*CPlayer_GetLastPlayedTimes_Response_Game) Descriptor() ([]byte, []int) {
|
|
||||||
return player_fileDescriptor0, []int{3, 0}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CPlayer_GetLastPlayedTimes_Response_Game) GetAppid() int32 {
|
|
||||||
if m != nil && m.Appid != nil {
|
|
||||||
return *m.Appid
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CPlayer_GetLastPlayedTimes_Response_Game) GetLastPlaytime() uint32 {
|
|
||||||
if m != nil && m.LastPlaytime != nil {
|
|
||||||
return *m.LastPlaytime
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CPlayer_GetLastPlayedTimes_Response_Game) GetPlaytime_2Weeks() int32 {
|
|
||||||
if m != nil && m.Playtime_2Weeks != nil {
|
|
||||||
return *m.Playtime_2Weeks
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CPlayer_GetLastPlayedTimes_Response_Game) GetPlaytimeForever() int32 {
|
|
||||||
if m != nil && m.PlaytimeForever != nil {
|
|
||||||
return *m.PlaytimeForever
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
type CPlayer_AcceptSSA_Request struct {
|
|
||||||
XXX_unrecognized []byte `json:"-"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CPlayer_AcceptSSA_Request) Reset() { *m = CPlayer_AcceptSSA_Request{} }
|
|
||||||
func (m *CPlayer_AcceptSSA_Request) String() string { return proto.CompactTextString(m) }
|
|
||||||
func (*CPlayer_AcceptSSA_Request) ProtoMessage() {}
|
|
||||||
func (*CPlayer_AcceptSSA_Request) Descriptor() ([]byte, []int) { return player_fileDescriptor0, []int{4} }
|
|
||||||
|
|
||||||
type CPlayer_AcceptSSA_Response struct {
|
|
||||||
XXX_unrecognized []byte `json:"-"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CPlayer_AcceptSSA_Response) Reset() { *m = CPlayer_AcceptSSA_Response{} }
|
|
||||||
func (m *CPlayer_AcceptSSA_Response) String() string { return proto.CompactTextString(m) }
|
|
||||||
func (*CPlayer_AcceptSSA_Response) ProtoMessage() {}
|
|
||||||
func (*CPlayer_AcceptSSA_Response) Descriptor() ([]byte, []int) { return player_fileDescriptor0, []int{5} }
|
|
||||||
|
|
||||||
type CPlayer_LastPlayedTimes_Notification struct {
|
|
||||||
Games []*CPlayer_GetLastPlayedTimes_Response_Game `protobuf:"bytes,1,rep,name=games" json:"games,omitempty"`
|
|
||||||
XXX_unrecognized []byte `json:"-"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CPlayer_LastPlayedTimes_Notification) Reset() { *m = CPlayer_LastPlayedTimes_Notification{} }
|
|
||||||
func (m *CPlayer_LastPlayedTimes_Notification) String() string { return proto.CompactTextString(m) }
|
|
||||||
func (*CPlayer_LastPlayedTimes_Notification) ProtoMessage() {}
|
|
||||||
func (*CPlayer_LastPlayedTimes_Notification) Descriptor() ([]byte, []int) {
|
|
||||||
return player_fileDescriptor0, []int{6}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CPlayer_LastPlayedTimes_Notification) GetGames() []*CPlayer_GetLastPlayedTimes_Response_Game {
|
|
||||||
if m != nil {
|
|
||||||
return m.Games
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
type CPlayerClient_GetSystemInformation_Request struct {
|
|
||||||
XXX_unrecognized []byte `json:"-"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CPlayerClient_GetSystemInformation_Request) Reset() {
|
|
||||||
*m = CPlayerClient_GetSystemInformation_Request{}
|
|
||||||
}
|
|
||||||
func (m *CPlayerClient_GetSystemInformation_Request) String() string {
|
|
||||||
return proto.CompactTextString(m)
|
|
||||||
}
|
|
||||||
func (*CPlayerClient_GetSystemInformation_Request) ProtoMessage() {}
|
|
||||||
func (*CPlayerClient_GetSystemInformation_Request) Descriptor() ([]byte, []int) {
|
|
||||||
return player_fileDescriptor0, []int{7}
|
|
||||||
}
|
|
||||||
|
|
||||||
type CClientSystemInfo struct {
|
|
||||||
Cpu *CClientSystemInfo_CPU `protobuf:"bytes,1,opt,name=cpu" json:"cpu,omitempty"`
|
|
||||||
VideoCard *CClientSystemInfo_VideoCard `protobuf:"bytes,2,opt,name=video_card" json:"video_card,omitempty"`
|
|
||||||
OperatingSystem *string `protobuf:"bytes,3,opt,name=operating_system" json:"operating_system,omitempty"`
|
|
||||||
Os_64Bit *bool `protobuf:"varint,4,opt,name=os_64bit" json:"os_64bit,omitempty"`
|
|
||||||
SystemRamMb *int32 `protobuf:"varint,5,opt,name=system_ram_mb" json:"system_ram_mb,omitempty"`
|
|
||||||
AudioDevice *string `protobuf:"bytes,6,opt,name=audio_device" json:"audio_device,omitempty"`
|
|
||||||
AudioDriverVersion *string `protobuf:"bytes,7,opt,name=audio_driver_version" json:"audio_driver_version,omitempty"`
|
|
||||||
XXX_unrecognized []byte `json:"-"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CClientSystemInfo) Reset() { *m = CClientSystemInfo{} }
|
|
||||||
func (m *CClientSystemInfo) String() string { return proto.CompactTextString(m) }
|
|
||||||
func (*CClientSystemInfo) ProtoMessage() {}
|
|
||||||
func (*CClientSystemInfo) Descriptor() ([]byte, []int) { return player_fileDescriptor0, []int{8} }
|
|
||||||
|
|
||||||
func (m *CClientSystemInfo) GetCpu() *CClientSystemInfo_CPU {
|
|
||||||
if m != nil {
|
|
||||||
return m.Cpu
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CClientSystemInfo) GetVideoCard() *CClientSystemInfo_VideoCard {
|
|
||||||
if m != nil {
|
|
||||||
return m.VideoCard
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CClientSystemInfo) GetOperatingSystem() string {
|
|
||||||
if m != nil && m.OperatingSystem != nil {
|
|
||||||
return *m.OperatingSystem
|
|
||||||
}
|
|
||||||
return ""
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CClientSystemInfo) GetOs_64Bit() bool {
|
|
||||||
if m != nil && m.Os_64Bit != nil {
|
|
||||||
return *m.Os_64Bit
|
|
||||||
}
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CClientSystemInfo) GetSystemRamMb() int32 {
|
|
||||||
if m != nil && m.SystemRamMb != nil {
|
|
||||||
return *m.SystemRamMb
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CClientSystemInfo) GetAudioDevice() string {
|
|
||||||
if m != nil && m.AudioDevice != nil {
|
|
||||||
return *m.AudioDevice
|
|
||||||
}
|
|
||||||
return ""
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CClientSystemInfo) GetAudioDriverVersion() string {
|
|
||||||
if m != nil && m.AudioDriverVersion != nil {
|
|
||||||
return *m.AudioDriverVersion
|
|
||||||
}
|
|
||||||
return ""
|
|
||||||
}
|
|
||||||
|
|
||||||
type CClientSystemInfo_CPU struct {
|
|
||||||
SpeedMhz *int32 `protobuf:"varint,1,opt,name=speed_mhz" json:"speed_mhz,omitempty"`
|
|
||||||
Vendor *string `protobuf:"bytes,2,opt,name=vendor" json:"vendor,omitempty"`
|
|
||||||
LogicalProcessors *int32 `protobuf:"varint,3,opt,name=logical_processors" json:"logical_processors,omitempty"`
|
|
||||||
PhysicalProcessors *int32 `protobuf:"varint,4,opt,name=physical_processors" json:"physical_processors,omitempty"`
|
|
||||||
Hyperthreading *bool `protobuf:"varint,5,opt,name=hyperthreading" json:"hyperthreading,omitempty"`
|
|
||||||
Fcmov *bool `protobuf:"varint,6,opt,name=fcmov" json:"fcmov,omitempty"`
|
|
||||||
Sse2 *bool `protobuf:"varint,7,opt,name=sse2" json:"sse2,omitempty"`
|
|
||||||
Sse3 *bool `protobuf:"varint,8,opt,name=sse3" json:"sse3,omitempty"`
|
|
||||||
Ssse3 *bool `protobuf:"varint,9,opt,name=ssse3" json:"ssse3,omitempty"`
|
|
||||||
Sse4A *bool `protobuf:"varint,10,opt,name=sse4a" json:"sse4a,omitempty"`
|
|
||||||
Sse41 *bool `protobuf:"varint,11,opt,name=sse41" json:"sse41,omitempty"`
|
|
||||||
Sse42 *bool `protobuf:"varint,12,opt,name=sse42" json:"sse42,omitempty"`
|
|
||||||
XXX_unrecognized []byte `json:"-"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CClientSystemInfo_CPU) Reset() { *m = CClientSystemInfo_CPU{} }
|
|
||||||
func (m *CClientSystemInfo_CPU) String() string { return proto.CompactTextString(m) }
|
|
||||||
func (*CClientSystemInfo_CPU) ProtoMessage() {}
|
|
||||||
func (*CClientSystemInfo_CPU) Descriptor() ([]byte, []int) { return player_fileDescriptor0, []int{8, 0} }
|
|
||||||
|
|
||||||
func (m *CClientSystemInfo_CPU) GetSpeedMhz() int32 {
|
|
||||||
if m != nil && m.SpeedMhz != nil {
|
|
||||||
return *m.SpeedMhz
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CClientSystemInfo_CPU) GetVendor() string {
|
|
||||||
if m != nil && m.Vendor != nil {
|
|
||||||
return *m.Vendor
|
|
||||||
}
|
|
||||||
return ""
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CClientSystemInfo_CPU) GetLogicalProcessors() int32 {
|
|
||||||
if m != nil && m.LogicalProcessors != nil {
|
|
||||||
return *m.LogicalProcessors
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CClientSystemInfo_CPU) GetPhysicalProcessors() int32 {
|
|
||||||
if m != nil && m.PhysicalProcessors != nil {
|
|
||||||
return *m.PhysicalProcessors
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CClientSystemInfo_CPU) GetHyperthreading() bool {
|
|
||||||
if m != nil && m.Hyperthreading != nil {
|
|
||||||
return *m.Hyperthreading
|
|
||||||
}
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CClientSystemInfo_CPU) GetFcmov() bool {
|
|
||||||
if m != nil && m.Fcmov != nil {
|
|
||||||
return *m.Fcmov
|
|
||||||
}
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CClientSystemInfo_CPU) GetSse2() bool {
|
|
||||||
if m != nil && m.Sse2 != nil {
|
|
||||||
return *m.Sse2
|
|
||||||
}
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CClientSystemInfo_CPU) GetSse3() bool {
|
|
||||||
if m != nil && m.Sse3 != nil {
|
|
||||||
return *m.Sse3
|
|
||||||
}
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CClientSystemInfo_CPU) GetSsse3() bool {
|
|
||||||
if m != nil && m.Ssse3 != nil {
|
|
||||||
return *m.Ssse3
|
|
||||||
}
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CClientSystemInfo_CPU) GetSse4A() bool {
|
|
||||||
if m != nil && m.Sse4A != nil {
|
|
||||||
return *m.Sse4A
|
|
||||||
}
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CClientSystemInfo_CPU) GetSse41() bool {
|
|
||||||
if m != nil && m.Sse41 != nil {
|
|
||||||
return *m.Sse41
|
|
||||||
}
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CClientSystemInfo_CPU) GetSse42() bool {
|
|
||||||
if m != nil && m.Sse42 != nil {
|
|
||||||
return *m.Sse42
|
|
||||||
}
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
|
|
||||||
type CClientSystemInfo_VideoCard struct {
|
|
||||||
Driver *string `protobuf:"bytes,1,opt,name=driver" json:"driver,omitempty"`
|
|
||||||
DriverVersion *string `protobuf:"bytes,2,opt,name=driver_version" json:"driver_version,omitempty"`
|
|
||||||
DriverDate *uint32 `protobuf:"varint,3,opt,name=driver_date" json:"driver_date,omitempty"`
|
|
||||||
DirectxVersion *string `protobuf:"bytes,4,opt,name=directx_version" json:"directx_version,omitempty"`
|
|
||||||
OpenglVersion *string `protobuf:"bytes,5,opt,name=opengl_version" json:"opengl_version,omitempty"`
|
|
||||||
Vendorid *int32 `protobuf:"varint,6,opt,name=vendorid" json:"vendorid,omitempty"`
|
|
||||||
Deviceid *int32 `protobuf:"varint,7,opt,name=deviceid" json:"deviceid,omitempty"`
|
|
||||||
VramMb *int32 `protobuf:"varint,8,opt,name=vram_mb" json:"vram_mb,omitempty"`
|
|
||||||
XXX_unrecognized []byte `json:"-"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CClientSystemInfo_VideoCard) Reset() { *m = CClientSystemInfo_VideoCard{} }
|
|
||||||
func (m *CClientSystemInfo_VideoCard) String() string { return proto.CompactTextString(m) }
|
|
||||||
func (*CClientSystemInfo_VideoCard) ProtoMessage() {}
|
|
||||||
func (*CClientSystemInfo_VideoCard) Descriptor() ([]byte, []int) { return player_fileDescriptor0, []int{8, 1} }
|
|
||||||
|
|
||||||
func (m *CClientSystemInfo_VideoCard) GetDriver() string {
|
|
||||||
if m != nil && m.Driver != nil {
|
|
||||||
return *m.Driver
|
|
||||||
}
|
|
||||||
return ""
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CClientSystemInfo_VideoCard) GetDriverVersion() string {
|
|
||||||
if m != nil && m.DriverVersion != nil {
|
|
||||||
return *m.DriverVersion
|
|
||||||
}
|
|
||||||
return ""
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CClientSystemInfo_VideoCard) GetDriverDate() uint32 {
|
|
||||||
if m != nil && m.DriverDate != nil {
|
|
||||||
return *m.DriverDate
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CClientSystemInfo_VideoCard) GetDirectxVersion() string {
|
|
||||||
if m != nil && m.DirectxVersion != nil {
|
|
||||||
return *m.DirectxVersion
|
|
||||||
}
|
|
||||||
return ""
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CClientSystemInfo_VideoCard) GetOpenglVersion() string {
|
|
||||||
if m != nil && m.OpenglVersion != nil {
|
|
||||||
return *m.OpenglVersion
|
|
||||||
}
|
|
||||||
return ""
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CClientSystemInfo_VideoCard) GetVendorid() int32 {
|
|
||||||
if m != nil && m.Vendorid != nil {
|
|
||||||
return *m.Vendorid
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CClientSystemInfo_VideoCard) GetDeviceid() int32 {
|
|
||||||
if m != nil && m.Deviceid != nil {
|
|
||||||
return *m.Deviceid
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CClientSystemInfo_VideoCard) GetVramMb() int32 {
|
|
||||||
if m != nil && m.VramMb != nil {
|
|
||||||
return *m.VramMb
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
type CPlayerClient_GetSystemInformation_Response struct {
|
|
||||||
SystemInfo *CClientSystemInfo `protobuf:"bytes,1,opt,name=system_info" json:"system_info,omitempty"`
|
|
||||||
XXX_unrecognized []byte `json:"-"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CPlayerClient_GetSystemInformation_Response) Reset() {
|
|
||||||
*m = CPlayerClient_GetSystemInformation_Response{}
|
|
||||||
}
|
|
||||||
func (m *CPlayerClient_GetSystemInformation_Response) String() string {
|
|
||||||
return proto.CompactTextString(m)
|
|
||||||
}
|
|
||||||
func (*CPlayerClient_GetSystemInformation_Response) ProtoMessage() {}
|
|
||||||
func (*CPlayerClient_GetSystemInformation_Response) Descriptor() ([]byte, []int) {
|
|
||||||
return player_fileDescriptor0, []int{9}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *CPlayerClient_GetSystemInformation_Response) GetSystemInfo() *CClientSystemInfo {
|
|
||||||
if m != nil {
|
|
||||||
return m.SystemInfo
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func init() {
|
|
||||||
proto.RegisterType((*CPlayer_GetGameBadgeLevels_Request)(nil), "CPlayer_GetGameBadgeLevels_Request")
|
|
||||||
proto.RegisterType((*CPlayer_GetGameBadgeLevels_Response)(nil), "CPlayer_GetGameBadgeLevels_Response")
|
|
||||||
proto.RegisterType((*CPlayer_GetGameBadgeLevels_Response_Badge)(nil), "CPlayer_GetGameBadgeLevels_Response.Badge")
|
|
||||||
proto.RegisterType((*CPlayer_GetLastPlayedTimes_Request)(nil), "CPlayer_GetLastPlayedTimes_Request")
|
|
||||||
proto.RegisterType((*CPlayer_GetLastPlayedTimes_Response)(nil), "CPlayer_GetLastPlayedTimes_Response")
|
|
||||||
proto.RegisterType((*CPlayer_GetLastPlayedTimes_Response_Game)(nil), "CPlayer_GetLastPlayedTimes_Response.Game")
|
|
||||||
proto.RegisterType((*CPlayer_AcceptSSA_Request)(nil), "CPlayer_AcceptSSA_Request")
|
|
||||||
proto.RegisterType((*CPlayer_AcceptSSA_Response)(nil), "CPlayer_AcceptSSA_Response")
|
|
||||||
proto.RegisterType((*CPlayer_LastPlayedTimes_Notification)(nil), "CPlayer_LastPlayedTimes_Notification")
|
|
||||||
proto.RegisterType((*CPlayerClient_GetSystemInformation_Request)(nil), "CPlayerClient_GetSystemInformation_Request")
|
|
||||||
proto.RegisterType((*CClientSystemInfo)(nil), "CClientSystemInfo")
|
|
||||||
proto.RegisterType((*CClientSystemInfo_CPU)(nil), "CClientSystemInfo.CPU")
|
|
||||||
proto.RegisterType((*CClientSystemInfo_VideoCard)(nil), "CClientSystemInfo.VideoCard")
|
|
||||||
proto.RegisterType((*CPlayerClient_GetSystemInformation_Response)(nil), "CPlayerClient_GetSystemInformation_Response")
|
|
||||||
}
|
|
||||||
|
|
||||||
var player_fileDescriptor0 = []byte{
|
|
||||||
// 1067 bytes of a gzipped FileDescriptorProto
|
|
||||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x9c, 0x55, 0x4d, 0x6f, 0xdb, 0x46,
|
|
||||||
0x10, 0x05, 0x2d, 0xcb, 0x96, 0x46, 0x76, 0x9c, 0x6c, 0x9c, 0x94, 0xa1, 0x5d, 0x60, 0x41, 0xa7,
|
|
||||||
0xf9, 0x70, 0x1c, 0xa2, 0x55, 0x82, 0xa2, 0x68, 0x0b, 0x04, 0xb6, 0x0f, 0x41, 0x01, 0x23, 0x48,
|
|
||||||
0xe3, 0x38, 0xa7, 0x02, 0xec, 0x8a, 0x5c, 0xc9, 0x44, 0x48, 0xae, 0xca, 0x5d, 0x29, 0x55, 0x4f,
|
|
||||||
0x45, 0xce, 0xbd, 0x15, 0xfd, 0x1b, 0xbd, 0xb9, 0xe7, 0x00, 0xfd, 0x23, 0xfd, 0x03, 0x3d, 0xf6,
|
|
||||||
0xde, 0xd9, 0x5d, 0x52, 0x1f, 0x96, 0x9d, 0xaa, 0x39, 0x18, 0xd6, 0xee, 0xbc, 0x1d, 0xbe, 0x79,
|
|
||||||
0x3b, 0xf3, 0x16, 0xee, 0x48, 0xc5, 0x59, 0x96, 0x71, 0x29, 0x59, 0x8f, 0xcb, 0xb0, 0x9f, 0xb2,
|
|
||||||
0x11, 0x2f, 0x02, 0xb3, 0x19, 0xa5, 0x09, 0xcf, 0x55, 0xd0, 0x2f, 0x84, 0x12, 0xde, 0xde, 0x2c,
|
|
||||||
0x6e, 0x90, 0x27, 0xdd, 0x84, 0xc7, 0x61, 0x87, 0x49, 0x3e, 0x8f, 0xf6, 0x1f, 0x81, 0x7f, 0xf8,
|
|
||||||
0xdc, 0xa4, 0x0a, 0x9f, 0x72, 0xf5, 0x94, 0x65, 0xfc, 0x80, 0xc5, 0x3d, 0x7e, 0xc4, 0x87, 0x3c,
|
|
||||||
0x95, 0xe1, 0x0b, 0xfe, 0xc3, 0x80, 0x4b, 0x45, 0xd6, 0xa1, 0xce, 0xfa, 0xfd, 0x24, 0x76, 0x1d,
|
|
||||||
0xea, 0xdc, 0x5b, 0xf7, 0xcf, 0x1c, 0xd8, 0x79, 0xef, 0x29, 0xd9, 0x17, 0xb9, 0xe4, 0x64, 0x13,
|
|
||||||
0xd6, 0x2c, 0xcd, 0x30, 0xd5, 0x11, 0x7b, 0x9a, 0x7c, 0x09, 0x2b, 0x1d, 0x8d, 0x96, 0xee, 0x12,
|
|
||||||
0xad, 0xdd, 0x6b, 0xb5, 0x77, 0x83, 0x05, 0x72, 0x05, 0x66, 0xd3, 0xfb, 0x1a, 0xea, 0xe6, 0x87,
|
|
||||||
0x66, 0x34, 0xc9, 0x59, 0x27, 0x57, 0x60, 0x45, 0xf2, 0x22, 0x31, 0x39, 0xf5, 0x1a, 0xbf, 0xdc,
|
|
||||||
0x11, 0x45, 0x8c, 0x39, 0x23, 0x91, 0x8a, 0xc2, 0xad, 0x19, 0xde, 0x6f, 0x9d, 0x99, 0x6a, 0x8f,
|
|
||||||
0x98, 0x54, 0x66, 0x15, 0xbf, 0x4c, 0x50, 0xaf, 0x71, 0xb5, 0xdf, 0xc1, 0x46, 0x96, 0xe4, 0x61,
|
|
||||||
0x8a, 0x61, 0x2b, 0x73, 0x59, 0xf7, 0xc1, 0xe1, 0xdb, 0x33, 0xf7, 0xc9, 0xcb, 0x53, 0x4e, 0x33,
|
|
||||||
0x21, 0x15, 0x2d, 0x78, 0x84, 0x3a, 0x52, 0x0d, 0x7b, 0x68, 0x61, 0x54, 0x61, 0x1e, 0xaa, 0x10,
|
|
||||||
0x60, 0x35, 0xa6, 0x2c, 0x2d, 0x38, 0x8b, 0x47, 0xf4, 0x75, 0x2e, 0xde, 0x48, 0xca, 0x3a, 0x62,
|
|
||||||
0xa0, 0xfc, 0x77, 0xb3, 0xe2, 0xcd, 0x93, 0x28, 0xc5, 0xfb, 0x02, 0xea, 0x3d, 0x14, 0x43, 0xe2,
|
|
||||||
0xb7, 0xb5, 0x4a, 0xf7, 0x83, 0x05, 0x0e, 0x05, 0x5a, 0x3e, 0x2f, 0x84, 0x65, 0xfd, 0x7f, 0xf6,
|
|
||||||
0xd6, 0xea, 0xe4, 0x06, 0xac, 0x8f, 0x4b, 0xd2, 0x44, 0x8d, 0x54, 0xeb, 0xe4, 0x23, 0xd8, 0xa8,
|
|
||||||
0x76, 0xc2, 0xf6, 0x1b, 0xce, 0x5f, 0x4b, 0xa3, 0x56, 0x9d, 0xb8, 0x70, 0x75, 0x1c, 0xe8, 0x8a,
|
|
||||||
0x02, 0xd5, 0x2e, 0xdc, 0x65, 0x1d, 0xf1, 0xb7, 0xe0, 0x56, 0x45, 0x66, 0x3f, 0x8a, 0x78, 0x5f,
|
|
||||||
0x1d, 0x1f, 0xef, 0x57, 0xea, 0xf9, 0xdb, 0xe0, 0x5d, 0x14, 0xb4, 0x04, 0xfd, 0xef, 0xe1, 0x76,
|
|
||||||
0x15, 0x3d, 0x5f, 0xc4, 0x33, 0xa1, 0xb0, 0x55, 0x23, 0xa6, 0x12, 0x91, 0x7f, 0x78, 0xf5, 0xfe,
|
|
||||||
0x1e, 0xec, 0x96, 0xd8, 0x43, 0x73, 0x09, 0xfa, 0xc4, 0xf1, 0x08, 0x3b, 0x3f, 0xfb, 0x26, 0xc7,
|
|
||||||
0x32, 0x32, 0x93, 0x7f, 0xcc, 0xf6, 0x9f, 0x65, 0xb8, 0x76, 0x68, 0x81, 0x13, 0x10, 0xd9, 0x81,
|
|
||||||
0x5a, 0xd4, 0x1f, 0x18, 0xdd, 0x5a, 0xed, 0x9b, 0xc1, 0x1c, 0x00, 0xd9, 0x9c, 0x90, 0x4f, 0x01,
|
|
||||||
0x86, 0x49, 0xcc, 0x45, 0x18, 0xb1, 0x22, 0x36, 0x62, 0xb6, 0xda, 0xdb, 0x17, 0x60, 0x5f, 0x69,
|
|
||||||
0xd0, 0x21, 0x62, 0xb4, 0xa2, 0xa2, 0xcf, 0x0b, 0x64, 0x90, 0xf7, 0x42, 0x69, 0x10, 0x46, 0xeb,
|
|
||||||
0x26, 0xb9, 0x0a, 0x0d, 0x21, 0xc3, 0xcf, 0x1f, 0x77, 0x12, 0x65, 0x34, 0x6e, 0xe8, 0xdb, 0xb2,
|
|
||||||
0x88, 0xb0, 0x60, 0x59, 0x98, 0x75, 0xdc, 0x7a, 0xd5, 0xd8, 0x6c, 0x10, 0x27, 0x22, 0x8c, 0xf9,
|
|
||||||
0x30, 0x89, 0xb8, 0xbb, 0x62, 0x8e, 0x6f, 0xc3, 0x66, 0xb9, 0x5b, 0x24, 0x78, 0x4d, 0x21, 0xfe,
|
|
||||||
0x49, 0xac, 0xd2, 0x5d, 0xd5, 0x51, 0xef, 0x2f, 0x07, 0x6a, 0x9a, 0xf0, 0x35, 0x68, 0xca, 0x3e,
|
|
||||||
0x47, 0x2f, 0xc8, 0x4e, 0x7f, 0x9a, 0xcc, 0xcd, 0x90, 0xe7, 0x31, 0x4e, 0xc8, 0x92, 0x49, 0xe4,
|
|
||||||
0x01, 0x49, 0x45, 0x0f, 0x2f, 0x21, 0x0d, 0xd1, 0x1f, 0x22, 0x34, 0x11, 0x51, 0x54, 0xfd, 0xb0,
|
|
||||||
0x05, 0xd7, 0xfb, 0xa7, 0x23, 0x79, 0x3e, 0x68, 0x5a, 0x82, 0xdc, 0x84, 0x2b, 0xa7, 0x23, 0xac,
|
|
||||||
0x4d, 0x9d, 0xea, 0x8e, 0xc7, 0xfa, 0x0c, 0xdf, 0x86, 0xee, 0xc1, 0x6e, 0x94, 0x89, 0xa1, 0x21,
|
|
||||||
0xda, 0x20, 0x6b, 0xb0, 0x2c, 0x25, 0x6f, 0x1b, 0x62, 0xd5, 0xea, 0x91, 0xdb, 0xa8, 0xa0, 0xd2,
|
|
||||||
0x2c, 0x9b, 0x93, 0x25, 0x7f, 0xcc, 0x5c, 0x98, 0x5e, 0x7e, 0xe6, 0xb6, 0xa6, 0x97, 0x6d, 0x77,
|
|
||||||
0x4d, 0x2f, 0xbd, 0xdf, 0x1d, 0x68, 0x4e, 0x74, 0xc6, 0xaa, 0xac, 0x10, 0xa6, 0xca, 0xa6, 0x26,
|
|
||||||
0x77, 0x4e, 0x18, 0x5b, 0xed, 0x75, 0x68, 0x95, 0xfb, 0x31, 0x53, 0xdc, 0x9a, 0x84, 0x9e, 0x87,
|
|
||||||
0x38, 0xc1, 0xd9, 0x56, 0x3f, 0x8e, 0xd1, 0xcb, 0x55, 0x16, 0xbc, 0xbd, 0xbc, 0x97, 0x8e, 0xf7,
|
|
||||||
0xeb, 0xd5, 0xdd, 0x59, 0x0d, 0x71, 0xd2, 0x56, 0x8c, 0x18, 0xb8, 0x63, 0xaf, 0x07, 0x77, 0x56,
|
|
||||||
0xcd, 0xce, 0x06, 0xac, 0x0e, 0xcb, 0x7b, 0x6c, 0x98, 0x11, 0x7a, 0x05, 0x0f, 0x16, 0xea, 0xd2,
|
|
||||||
0xd2, 0x0c, 0xee, 0x42, 0xab, 0xec, 0x86, 0x04, 0xc3, 0x65, 0x63, 0x92, 0xf9, 0x66, 0x6b, 0xff,
|
|
||||||
0x5d, 0x83, 0x15, 0x9b, 0x97, 0xfc, 0xe1, 0x00, 0x99, 0x77, 0x54, 0xb2, 0x13, 0xfc, 0xb7, 0xe1,
|
|
||||||
0x7b, 0xb7, 0x17, 0xf1, 0x64, 0xff, 0x04, 0xfd, 0xf0, 0xdb, 0x17, 0x5c, 0x0d, 0x8a, 0x5c, 0x1a,
|
|
||||||
0xdb, 0x3b, 0xd6, 0xef, 0x0b, 0x35, 0x30, 0x2a, 0xba, 0x94, 0xd1, 0x01, 0xba, 0xf2, 0x9e, 0x09,
|
|
||||||
0x99, 0x04, 0xd4, 0x78, 0x36, 0xc5, 0x02, 0xcd, 0x9e, 0x9e, 0xf0, 0x3d, 0xca, 0xf2, 0x98, 0x26,
|
|
||||||
0x5d, 0x9a, 0xa8, 0xbb, 0x12, 0x23, 0x49, 0x4a, 0x7e, 0x73, 0xc0, 0xb5, 0x85, 0xcd, 0x0f, 0xfb,
|
|
||||||
0x2c, 0xfd, 0x4b, 0x1c, 0x7c, 0x96, 0xfe, 0x65, 0x76, 0xe1, 0x07, 0x48, 0x7f, 0x17, 0x01, 0x96,
|
|
||||||
0xfb, 0x79, 0x1f, 0x97, 0x63, 0x9a, 0x2c, 0x8a, 0xc4, 0x20, 0x57, 0x24, 0x82, 0xe6, 0xd8, 0xd1,
|
|
||||||
0x88, 0x17, 0x5c, 0x6a, 0x81, 0xde, 0x56, 0xf0, 0x1e, 0x07, 0xfc, 0x18, 0xbf, 0x7a, 0xeb, 0x04,
|
|
||||||
0x75, 0xa1, 0x89, 0xd4, 0xa9, 0x31, 0x8e, 0xe3, 0x62, 0xe5, 0x3b, 0xde, 0xf7, 0x1e, 0x62, 0xf8,
|
|
||||||
0xfe, 0x3e, 0xc5, 0xb8, 0x6e, 0x20, 0xc3, 0x41, 0x83, 0xa4, 0xd4, 0x20, 0xab, 0xaf, 0x7d, 0x53,
|
|
||||||
0x29, 0xf6, 0x2c, 0x6b, 0xff, 0x5a, 0x83, 0xb5, 0xe9, 0x3e, 0x22, 0xbf, 0x38, 0x70, 0xc3, 0x38,
|
|
||||||
0xe9, 0xe8, 0xbc, 0x72, 0x9f, 0x04, 0x8b, 0x38, 0xaf, 0xd7, 0x0a, 0x9e, 0x89, 0x31, 0xd9, 0x27,
|
|
||||||
0xc8, 0xe6, 0xab, 0xe9, 0x30, 0xed, 0x16, 0x22, 0x33, 0xec, 0x90, 0x81, 0x12, 0xd5, 0x43, 0x87,
|
|
||||||
0x97, 0x9d, 0xe1, 0x13, 0x51, 0xbd, 0x89, 0x9a, 0xa1, 0x11, 0x91, 0xfc, 0xe9, 0xc0, 0xe6, 0x45,
|
|
||||||
0xad, 0x4d, 0x1e, 0x04, 0x8b, 0xbb, 0xb4, 0xb7, 0x17, 0xfc, 0x8f, 0x61, 0xf1, 0x9f, 0x23, 0xe9,
|
|
||||||
0xa3, 0xf2, 0xa8, 0xe5, 0xab, 0xc5, 0x9d, 0x70, 0x9e, 0x7a, 0xa0, 0xb5, 0xbc, 0xc9, 0x24, 0x87,
|
|
||||||
0x7d, 0xa2, 0x0d, 0x40, 0x77, 0xae, 0xa4, 0x76, 0xe8, 0x3c, 0xdd, 0x29, 0x77, 0xe6, 0xc4, 0xaf,
|
|
||||||
0x92, 0xe4, 0x53, 0xfa, 0xc8, 0x77, 0x67, 0xee, 0xd2, 0x41, 0xed, 0x67, 0xc7, 0xf9, 0x37, 0x00,
|
|
||||||
0x00, 0xff, 0xff, 0x9e, 0xe2, 0xe2, 0x67, 0xb1, 0x09, 0x00, 0x00,
|
|
||||||
}
|
|
2702
vendor/github.com/Philipp15b/go-steam/protocol/protobuf/unified/publishedfile.pb.go
generated
vendored
2702
vendor/github.com/Philipp15b/go-steam/protocol/protobuf/unified/publishedfile.pb.go
generated
vendored
File diff suppressed because it is too large
Load Diff
51
vendor/github.com/Philipp15b/go-steam/tf2/protocol/econ.go
generated
vendored
51
vendor/github.com/Philipp15b/go-steam/tf2/protocol/econ.go
generated
vendored
@ -1,51 +0,0 @@
|
|||||||
package protocol
|
|
||||||
|
|
||||||
import (
|
|
||||||
"encoding/binary"
|
|
||||||
"io"
|
|
||||||
)
|
|
||||||
|
|
||||||
type MsgGCSetItemPosition struct {
|
|
||||||
AssetId, Position uint64
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *MsgGCSetItemPosition) Serialize(w io.Writer) error {
|
|
||||||
return binary.Write(w, binary.LittleEndian, m)
|
|
||||||
}
|
|
||||||
|
|
||||||
type MsgGCCraft struct {
|
|
||||||
Recipe int16 // -2 = wildcard
|
|
||||||
numItems int16
|
|
||||||
Items []uint64
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *MsgGCCraft) Serialize(w io.Writer) error {
|
|
||||||
m.numItems = int16(len(m.Items))
|
|
||||||
return binary.Write(w, binary.LittleEndian, m)
|
|
||||||
}
|
|
||||||
|
|
||||||
type MsgGCDeleteItem struct {
|
|
||||||
ItemId uint64
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *MsgGCDeleteItem) Serialize(w io.Writer) error {
|
|
||||||
return binary.Write(w, binary.LittleEndian, m.ItemId)
|
|
||||||
}
|
|
||||||
|
|
||||||
type MsgGCNameItem struct {
|
|
||||||
Tool, Target uint64
|
|
||||||
Name string
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *MsgGCNameItem) Serialize(w io.Writer) error {
|
|
||||||
err := binary.Write(w, binary.LittleEndian, m.Tool)
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
err = binary.Write(w, binary.LittleEndian, m.Target)
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
_, err = w.Write([]byte(m.Name))
|
|
||||||
return err
|
|
||||||
}
|
|
3676
vendor/github.com/Philipp15b/go-steam/tf2/protocol/protobuf/base.pb.go
generated
vendored
3676
vendor/github.com/Philipp15b/go-steam/tf2/protocol/protobuf/base.pb.go
generated
vendored
File diff suppressed because it is too large
Load Diff
1815
vendor/github.com/Philipp15b/go-steam/tf2/protocol/protobuf/econ.pb.go
generated
vendored
1815
vendor/github.com/Philipp15b/go-steam/tf2/protocol/protobuf/econ.pb.go
generated
vendored
File diff suppressed because it is too large
Load Diff
1139
vendor/github.com/Philipp15b/go-steam/tf2/protocol/protobuf/gcsdk.pb.go
generated
vendored
1139
vendor/github.com/Philipp15b/go-steam/tf2/protocol/protobuf/gcsdk.pb.go
generated
vendored
File diff suppressed because it is too large
Load Diff
545
vendor/github.com/Philipp15b/go-steam/tf2/protocol/protobuf/system.pb.go
generated
vendored
545
vendor/github.com/Philipp15b/go-steam/tf2/protocol/protobuf/system.pb.go
generated
vendored
@ -1,545 +0,0 @@
|
|||||||
// Code generated by protoc-gen-go.
|
|
||||||
// source: gcsystemmsgs.proto
|
|
||||||
// DO NOT EDIT!
|
|
||||||
|
|
||||||
package protobuf
|
|
||||||
|
|
||||||
import proto "github.com/golang/protobuf/proto"
|
|
||||||
import fmt "fmt"
|
|
||||||
import math "math"
|
|
||||||
|
|
||||||
// Reference imports to suppress errors if they are not otherwise used.
|
|
||||||
var _ = proto.Marshal
|
|
||||||
var _ = fmt.Errorf
|
|
||||||
var _ = math.Inf
|
|
||||||
|
|
||||||
type EGCSystemMsg int32
|
|
||||||
|
|
||||||
const (
|
|
||||||
EGCSystemMsg_k_EGCMsgInvalid EGCSystemMsg = 0
|
|
||||||
EGCSystemMsg_k_EGCMsgMulti EGCSystemMsg = 1
|
|
||||||
EGCSystemMsg_k_EGCMsgGenericReply EGCSystemMsg = 10
|
|
||||||
EGCSystemMsg_k_EGCMsgSystemBase EGCSystemMsg = 50
|
|
||||||
EGCSystemMsg_k_EGCMsgAchievementAwarded EGCSystemMsg = 51
|
|
||||||
EGCSystemMsg_k_EGCMsgConCommand EGCSystemMsg = 52
|
|
||||||
EGCSystemMsg_k_EGCMsgStartPlaying EGCSystemMsg = 53
|
|
||||||
EGCSystemMsg_k_EGCMsgStopPlaying EGCSystemMsg = 54
|
|
||||||
EGCSystemMsg_k_EGCMsgStartGameserver EGCSystemMsg = 55
|
|
||||||
EGCSystemMsg_k_EGCMsgStopGameserver EGCSystemMsg = 56
|
|
||||||
EGCSystemMsg_k_EGCMsgWGRequest EGCSystemMsg = 57
|
|
||||||
EGCSystemMsg_k_EGCMsgWGResponse EGCSystemMsg = 58
|
|
||||||
EGCSystemMsg_k_EGCMsgGetUserGameStatsSchema EGCSystemMsg = 59
|
|
||||||
EGCSystemMsg_k_EGCMsgGetUserGameStatsSchemaResponse EGCSystemMsg = 60
|
|
||||||
EGCSystemMsg_k_EGCMsgGetUserStatsDEPRECATED EGCSystemMsg = 61
|
|
||||||
EGCSystemMsg_k_EGCMsgGetUserStatsResponse EGCSystemMsg = 62
|
|
||||||
EGCSystemMsg_k_EGCMsgAppInfoUpdated EGCSystemMsg = 63
|
|
||||||
EGCSystemMsg_k_EGCMsgValidateSession EGCSystemMsg = 64
|
|
||||||
EGCSystemMsg_k_EGCMsgValidateSessionResponse EGCSystemMsg = 65
|
|
||||||
EGCSystemMsg_k_EGCMsgLookupAccountFromInput EGCSystemMsg = 66
|
|
||||||
EGCSystemMsg_k_EGCMsgSendHTTPRequest EGCSystemMsg = 67
|
|
||||||
EGCSystemMsg_k_EGCMsgSendHTTPRequestResponse EGCSystemMsg = 68
|
|
||||||
EGCSystemMsg_k_EGCMsgPreTestSetup EGCSystemMsg = 69
|
|
||||||
EGCSystemMsg_k_EGCMsgRecordSupportAction EGCSystemMsg = 70
|
|
||||||
EGCSystemMsg_k_EGCMsgGetAccountDetails_DEPRECATED EGCSystemMsg = 71
|
|
||||||
EGCSystemMsg_k_EGCMsgReceiveInterAppMessage EGCSystemMsg = 73
|
|
||||||
EGCSystemMsg_k_EGCMsgFindAccounts EGCSystemMsg = 74
|
|
||||||
EGCSystemMsg_k_EGCMsgPostAlert EGCSystemMsg = 75
|
|
||||||
EGCSystemMsg_k_EGCMsgGetLicenses EGCSystemMsg = 76
|
|
||||||
EGCSystemMsg_k_EGCMsgGetUserStats EGCSystemMsg = 77
|
|
||||||
EGCSystemMsg_k_EGCMsgGetCommands EGCSystemMsg = 78
|
|
||||||
EGCSystemMsg_k_EGCMsgGetCommandsResponse EGCSystemMsg = 79
|
|
||||||
EGCSystemMsg_k_EGCMsgAddFreeLicense EGCSystemMsg = 80
|
|
||||||
EGCSystemMsg_k_EGCMsgAddFreeLicenseResponse EGCSystemMsg = 81
|
|
||||||
EGCSystemMsg_k_EGCMsgGetIPLocation EGCSystemMsg = 82
|
|
||||||
EGCSystemMsg_k_EGCMsgGetIPLocationResponse EGCSystemMsg = 83
|
|
||||||
EGCSystemMsg_k_EGCMsgSystemStatsSchema EGCSystemMsg = 84
|
|
||||||
EGCSystemMsg_k_EGCMsgGetSystemStats EGCSystemMsg = 85
|
|
||||||
EGCSystemMsg_k_EGCMsgGetSystemStatsResponse EGCSystemMsg = 86
|
|
||||||
EGCSystemMsg_k_EGCMsgSendEmail EGCSystemMsg = 87
|
|
||||||
EGCSystemMsg_k_EGCMsgSendEmailResponse EGCSystemMsg = 88
|
|
||||||
EGCSystemMsg_k_EGCMsgGetEmailTemplate EGCSystemMsg = 89
|
|
||||||
EGCSystemMsg_k_EGCMsgGetEmailTemplateResponse EGCSystemMsg = 90
|
|
||||||
EGCSystemMsg_k_EGCMsgGrantGuestPass EGCSystemMsg = 91
|
|
||||||
EGCSystemMsg_k_EGCMsgGrantGuestPassResponse EGCSystemMsg = 92
|
|
||||||
EGCSystemMsg_k_EGCMsgGetAccountDetails EGCSystemMsg = 93
|
|
||||||
EGCSystemMsg_k_EGCMsgGetAccountDetailsResponse EGCSystemMsg = 94
|
|
||||||
EGCSystemMsg_k_EGCMsgGetPersonaNames EGCSystemMsg = 95
|
|
||||||
EGCSystemMsg_k_EGCMsgGetPersonaNamesResponse EGCSystemMsg = 96
|
|
||||||
EGCSystemMsg_k_EGCMsgMultiplexMsg EGCSystemMsg = 97
|
|
||||||
EGCSystemMsg_k_EGCMsgWebAPIRegisterInterfaces EGCSystemMsg = 101
|
|
||||||
EGCSystemMsg_k_EGCMsgWebAPIJobRequest EGCSystemMsg = 102
|
|
||||||
EGCSystemMsg_k_EGCMsgWebAPIJobRequestHttpResponse EGCSystemMsg = 104
|
|
||||||
EGCSystemMsg_k_EGCMsgWebAPIJobRequestForwardResponse EGCSystemMsg = 105
|
|
||||||
EGCSystemMsg_k_EGCMsgMemCachedGet EGCSystemMsg = 200
|
|
||||||
EGCSystemMsg_k_EGCMsgMemCachedGetResponse EGCSystemMsg = 201
|
|
||||||
EGCSystemMsg_k_EGCMsgMemCachedSet EGCSystemMsg = 202
|
|
||||||
EGCSystemMsg_k_EGCMsgMemCachedDelete EGCSystemMsg = 203
|
|
||||||
EGCSystemMsg_k_EGCMsgMemCachedStats EGCSystemMsg = 204
|
|
||||||
EGCSystemMsg_k_EGCMsgMemCachedStatsResponse EGCSystemMsg = 205
|
|
||||||
EGCSystemMsg_k_EGCMsgSQLStats EGCSystemMsg = 210
|
|
||||||
EGCSystemMsg_k_EGCMsgSQLStatsResponse EGCSystemMsg = 211
|
|
||||||
EGCSystemMsg_k_EGCMsgMasterSetDirectory EGCSystemMsg = 220
|
|
||||||
EGCSystemMsg_k_EGCMsgMasterSetDirectoryResponse EGCSystemMsg = 221
|
|
||||||
EGCSystemMsg_k_EGCMsgMasterSetWebAPIRouting EGCSystemMsg = 222
|
|
||||||
EGCSystemMsg_k_EGCMsgMasterSetWebAPIRoutingResponse EGCSystemMsg = 223
|
|
||||||
EGCSystemMsg_k_EGCMsgMasterSetClientMsgRouting EGCSystemMsg = 224
|
|
||||||
EGCSystemMsg_k_EGCMsgMasterSetClientMsgRoutingResponse EGCSystemMsg = 225
|
|
||||||
EGCSystemMsg_k_EGCMsgSetOptions EGCSystemMsg = 226
|
|
||||||
EGCSystemMsg_k_EGCMsgSetOptionsResponse EGCSystemMsg = 227
|
|
||||||
EGCSystemMsg_k_EGCMsgSystemBase2 EGCSystemMsg = 500
|
|
||||||
EGCSystemMsg_k_EGCMsgGetPurchaseTrustStatus EGCSystemMsg = 501
|
|
||||||
EGCSystemMsg_k_EGCMsgGetPurchaseTrustStatusResponse EGCSystemMsg = 502
|
|
||||||
EGCSystemMsg_k_EGCMsgUpdateSession EGCSystemMsg = 503
|
|
||||||
EGCSystemMsg_k_EGCMsgGCAccountVacStatusChange EGCSystemMsg = 504
|
|
||||||
EGCSystemMsg_k_EGCMsgCheckFriendship EGCSystemMsg = 505
|
|
||||||
EGCSystemMsg_k_EGCMsgCheckFriendshipResponse EGCSystemMsg = 506
|
|
||||||
EGCSystemMsg_k_EGCMsgGetPartnerAccountLink EGCSystemMsg = 507
|
|
||||||
EGCSystemMsg_k_EGCMsgGetPartnerAccountLinkResponse EGCSystemMsg = 508
|
|
||||||
EGCSystemMsg_k_EGCMsgVSReportedSuspiciousActivity EGCSystemMsg = 509
|
|
||||||
)
|
|
||||||
|
|
||||||
var EGCSystemMsg_name = map[int32]string{
|
|
||||||
0: "k_EGCMsgInvalid",
|
|
||||||
1: "k_EGCMsgMulti",
|
|
||||||
10: "k_EGCMsgGenericReply",
|
|
||||||
50: "k_EGCMsgSystemBase",
|
|
||||||
51: "k_EGCMsgAchievementAwarded",
|
|
||||||
52: "k_EGCMsgConCommand",
|
|
||||||
53: "k_EGCMsgStartPlaying",
|
|
||||||
54: "k_EGCMsgStopPlaying",
|
|
||||||
55: "k_EGCMsgStartGameserver",
|
|
||||||
56: "k_EGCMsgStopGameserver",
|
|
||||||
57: "k_EGCMsgWGRequest",
|
|
||||||
58: "k_EGCMsgWGResponse",
|
|
||||||
59: "k_EGCMsgGetUserGameStatsSchema",
|
|
||||||
60: "k_EGCMsgGetUserGameStatsSchemaResponse",
|
|
||||||
61: "k_EGCMsgGetUserStatsDEPRECATED",
|
|
||||||
62: "k_EGCMsgGetUserStatsResponse",
|
|
||||||
63: "k_EGCMsgAppInfoUpdated",
|
|
||||||
64: "k_EGCMsgValidateSession",
|
|
||||||
65: "k_EGCMsgValidateSessionResponse",
|
|
||||||
66: "k_EGCMsgLookupAccountFromInput",
|
|
||||||
67: "k_EGCMsgSendHTTPRequest",
|
|
||||||
68: "k_EGCMsgSendHTTPRequestResponse",
|
|
||||||
69: "k_EGCMsgPreTestSetup",
|
|
||||||
70: "k_EGCMsgRecordSupportAction",
|
|
||||||
71: "k_EGCMsgGetAccountDetails_DEPRECATED",
|
|
||||||
73: "k_EGCMsgReceiveInterAppMessage",
|
|
||||||
74: "k_EGCMsgFindAccounts",
|
|
||||||
75: "k_EGCMsgPostAlert",
|
|
||||||
76: "k_EGCMsgGetLicenses",
|
|
||||||
77: "k_EGCMsgGetUserStats",
|
|
||||||
78: "k_EGCMsgGetCommands",
|
|
||||||
79: "k_EGCMsgGetCommandsResponse",
|
|
||||||
80: "k_EGCMsgAddFreeLicense",
|
|
||||||
81: "k_EGCMsgAddFreeLicenseResponse",
|
|
||||||
82: "k_EGCMsgGetIPLocation",
|
|
||||||
83: "k_EGCMsgGetIPLocationResponse",
|
|
||||||
84: "k_EGCMsgSystemStatsSchema",
|
|
||||||
85: "k_EGCMsgGetSystemStats",
|
|
||||||
86: "k_EGCMsgGetSystemStatsResponse",
|
|
||||||
87: "k_EGCMsgSendEmail",
|
|
||||||
88: "k_EGCMsgSendEmailResponse",
|
|
||||||
89: "k_EGCMsgGetEmailTemplate",
|
|
||||||
90: "k_EGCMsgGetEmailTemplateResponse",
|
|
||||||
91: "k_EGCMsgGrantGuestPass",
|
|
||||||
92: "k_EGCMsgGrantGuestPassResponse",
|
|
||||||
93: "k_EGCMsgGetAccountDetails",
|
|
||||||
94: "k_EGCMsgGetAccountDetailsResponse",
|
|
||||||
95: "k_EGCMsgGetPersonaNames",
|
|
||||||
96: "k_EGCMsgGetPersonaNamesResponse",
|
|
||||||
97: "k_EGCMsgMultiplexMsg",
|
|
||||||
101: "k_EGCMsgWebAPIRegisterInterfaces",
|
|
||||||
102: "k_EGCMsgWebAPIJobRequest",
|
|
||||||
104: "k_EGCMsgWebAPIJobRequestHttpResponse",
|
|
||||||
105: "k_EGCMsgWebAPIJobRequestForwardResponse",
|
|
||||||
200: "k_EGCMsgMemCachedGet",
|
|
||||||
201: "k_EGCMsgMemCachedGetResponse",
|
|
||||||
202: "k_EGCMsgMemCachedSet",
|
|
||||||
203: "k_EGCMsgMemCachedDelete",
|
|
||||||
204: "k_EGCMsgMemCachedStats",
|
|
||||||
205: "k_EGCMsgMemCachedStatsResponse",
|
|
||||||
210: "k_EGCMsgSQLStats",
|
|
||||||
211: "k_EGCMsgSQLStatsResponse",
|
|
||||||
220: "k_EGCMsgMasterSetDirectory",
|
|
||||||
221: "k_EGCMsgMasterSetDirectoryResponse",
|
|
||||||
222: "k_EGCMsgMasterSetWebAPIRouting",
|
|
||||||
223: "k_EGCMsgMasterSetWebAPIRoutingResponse",
|
|
||||||
224: "k_EGCMsgMasterSetClientMsgRouting",
|
|
||||||
225: "k_EGCMsgMasterSetClientMsgRoutingResponse",
|
|
||||||
226: "k_EGCMsgSetOptions",
|
|
||||||
227: "k_EGCMsgSetOptionsResponse",
|
|
||||||
500: "k_EGCMsgSystemBase2",
|
|
||||||
501: "k_EGCMsgGetPurchaseTrustStatus",
|
|
||||||
502: "k_EGCMsgGetPurchaseTrustStatusResponse",
|
|
||||||
503: "k_EGCMsgUpdateSession",
|
|
||||||
504: "k_EGCMsgGCAccountVacStatusChange",
|
|
||||||
505: "k_EGCMsgCheckFriendship",
|
|
||||||
506: "k_EGCMsgCheckFriendshipResponse",
|
|
||||||
507: "k_EGCMsgGetPartnerAccountLink",
|
|
||||||
508: "k_EGCMsgGetPartnerAccountLinkResponse",
|
|
||||||
509: "k_EGCMsgVSReportedSuspiciousActivity",
|
|
||||||
}
|
|
||||||
var EGCSystemMsg_value = map[string]int32{
|
|
||||||
"k_EGCMsgInvalid": 0,
|
|
||||||
"k_EGCMsgMulti": 1,
|
|
||||||
"k_EGCMsgGenericReply": 10,
|
|
||||||
"k_EGCMsgSystemBase": 50,
|
|
||||||
"k_EGCMsgAchievementAwarded": 51,
|
|
||||||
"k_EGCMsgConCommand": 52,
|
|
||||||
"k_EGCMsgStartPlaying": 53,
|
|
||||||
"k_EGCMsgStopPlaying": 54,
|
|
||||||
"k_EGCMsgStartGameserver": 55,
|
|
||||||
"k_EGCMsgStopGameserver": 56,
|
|
||||||
"k_EGCMsgWGRequest": 57,
|
|
||||||
"k_EGCMsgWGResponse": 58,
|
|
||||||
"k_EGCMsgGetUserGameStatsSchema": 59,
|
|
||||||
"k_EGCMsgGetUserGameStatsSchemaResponse": 60,
|
|
||||||
"k_EGCMsgGetUserStatsDEPRECATED": 61,
|
|
||||||
"k_EGCMsgGetUserStatsResponse": 62,
|
|
||||||
"k_EGCMsgAppInfoUpdated": 63,
|
|
||||||
"k_EGCMsgValidateSession": 64,
|
|
||||||
"k_EGCMsgValidateSessionResponse": 65,
|
|
||||||
"k_EGCMsgLookupAccountFromInput": 66,
|
|
||||||
"k_EGCMsgSendHTTPRequest": 67,
|
|
||||||
"k_EGCMsgSendHTTPRequestResponse": 68,
|
|
||||||
"k_EGCMsgPreTestSetup": 69,
|
|
||||||
"k_EGCMsgRecordSupportAction": 70,
|
|
||||||
"k_EGCMsgGetAccountDetails_DEPRECATED": 71,
|
|
||||||
"k_EGCMsgReceiveInterAppMessage": 73,
|
|
||||||
"k_EGCMsgFindAccounts": 74,
|
|
||||||
"k_EGCMsgPostAlert": 75,
|
|
||||||
"k_EGCMsgGetLicenses": 76,
|
|
||||||
"k_EGCMsgGetUserStats": 77,
|
|
||||||
"k_EGCMsgGetCommands": 78,
|
|
||||||
"k_EGCMsgGetCommandsResponse": 79,
|
|
||||||
"k_EGCMsgAddFreeLicense": 80,
|
|
||||||
"k_EGCMsgAddFreeLicenseResponse": 81,
|
|
||||||
"k_EGCMsgGetIPLocation": 82,
|
|
||||||
"k_EGCMsgGetIPLocationResponse": 83,
|
|
||||||
"k_EGCMsgSystemStatsSchema": 84,
|
|
||||||
"k_EGCMsgGetSystemStats": 85,
|
|
||||||
"k_EGCMsgGetSystemStatsResponse": 86,
|
|
||||||
"k_EGCMsgSendEmail": 87,
|
|
||||||
"k_EGCMsgSendEmailResponse": 88,
|
|
||||||
"k_EGCMsgGetEmailTemplate": 89,
|
|
||||||
"k_EGCMsgGetEmailTemplateResponse": 90,
|
|
||||||
"k_EGCMsgGrantGuestPass": 91,
|
|
||||||
"k_EGCMsgGrantGuestPassResponse": 92,
|
|
||||||
"k_EGCMsgGetAccountDetails": 93,
|
|
||||||
"k_EGCMsgGetAccountDetailsResponse": 94,
|
|
||||||
"k_EGCMsgGetPersonaNames": 95,
|
|
||||||
"k_EGCMsgGetPersonaNamesResponse": 96,
|
|
||||||
"k_EGCMsgMultiplexMsg": 97,
|
|
||||||
"k_EGCMsgWebAPIRegisterInterfaces": 101,
|
|
||||||
"k_EGCMsgWebAPIJobRequest": 102,
|
|
||||||
"k_EGCMsgWebAPIJobRequestHttpResponse": 104,
|
|
||||||
"k_EGCMsgWebAPIJobRequestForwardResponse": 105,
|
|
||||||
"k_EGCMsgMemCachedGet": 200,
|
|
||||||
"k_EGCMsgMemCachedGetResponse": 201,
|
|
||||||
"k_EGCMsgMemCachedSet": 202,
|
|
||||||
"k_EGCMsgMemCachedDelete": 203,
|
|
||||||
"k_EGCMsgMemCachedStats": 204,
|
|
||||||
"k_EGCMsgMemCachedStatsResponse": 205,
|
|
||||||
"k_EGCMsgSQLStats": 210,
|
|
||||||
"k_EGCMsgSQLStatsResponse": 211,
|
|
||||||
"k_EGCMsgMasterSetDirectory": 220,
|
|
||||||
"k_EGCMsgMasterSetDirectoryResponse": 221,
|
|
||||||
"k_EGCMsgMasterSetWebAPIRouting": 222,
|
|
||||||
"k_EGCMsgMasterSetWebAPIRoutingResponse": 223,
|
|
||||||
"k_EGCMsgMasterSetClientMsgRouting": 224,
|
|
||||||
"k_EGCMsgMasterSetClientMsgRoutingResponse": 225,
|
|
||||||
"k_EGCMsgSetOptions": 226,
|
|
||||||
"k_EGCMsgSetOptionsResponse": 227,
|
|
||||||
"k_EGCMsgSystemBase2": 500,
|
|
||||||
"k_EGCMsgGetPurchaseTrustStatus": 501,
|
|
||||||
"k_EGCMsgGetPurchaseTrustStatusResponse": 502,
|
|
||||||
"k_EGCMsgUpdateSession": 503,
|
|
||||||
"k_EGCMsgGCAccountVacStatusChange": 504,
|
|
||||||
"k_EGCMsgCheckFriendship": 505,
|
|
||||||
"k_EGCMsgCheckFriendshipResponse": 506,
|
|
||||||
"k_EGCMsgGetPartnerAccountLink": 507,
|
|
||||||
"k_EGCMsgGetPartnerAccountLinkResponse": 508,
|
|
||||||
"k_EGCMsgVSReportedSuspiciousActivity": 509,
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x EGCSystemMsg) Enum() *EGCSystemMsg {
|
|
||||||
p := new(EGCSystemMsg)
|
|
||||||
*p = x
|
|
||||||
return p
|
|
||||||
}
|
|
||||||
func (x EGCSystemMsg) String() string {
|
|
||||||
return proto.EnumName(EGCSystemMsg_name, int32(x))
|
|
||||||
}
|
|
||||||
func (x *EGCSystemMsg) UnmarshalJSON(data []byte) error {
|
|
||||||
value, err := proto.UnmarshalJSONEnum(EGCSystemMsg_value, data, "EGCSystemMsg")
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
*x = EGCSystemMsg(value)
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
func (EGCSystemMsg) EnumDescriptor() ([]byte, []int) { return system_fileDescriptor0, []int{0} }
|
|
||||||
|
|
||||||
type ESOMsg int32
|
|
||||||
|
|
||||||
const (
|
|
||||||
ESOMsg_k_ESOMsg_Create ESOMsg = 21
|
|
||||||
ESOMsg_k_ESOMsg_Update ESOMsg = 22
|
|
||||||
ESOMsg_k_ESOMsg_Destroy ESOMsg = 23
|
|
||||||
ESOMsg_k_ESOMsg_CacheSubscribed ESOMsg = 24
|
|
||||||
ESOMsg_k_ESOMsg_CacheUnsubscribed ESOMsg = 25
|
|
||||||
ESOMsg_k_ESOMsg_UpdateMultiple ESOMsg = 26
|
|
||||||
ESOMsg_k_ESOMsg_CacheSubscriptionCheck ESOMsg = 27
|
|
||||||
ESOMsg_k_ESOMsg_CacheSubscriptionRefresh ESOMsg = 28
|
|
||||||
ESOMsg_k_ESOMsg_CacheSubscribedUpToDate ESOMsg = 29
|
|
||||||
)
|
|
||||||
|
|
||||||
var ESOMsg_name = map[int32]string{
|
|
||||||
21: "k_ESOMsg_Create",
|
|
||||||
22: "k_ESOMsg_Update",
|
|
||||||
23: "k_ESOMsg_Destroy",
|
|
||||||
24: "k_ESOMsg_CacheSubscribed",
|
|
||||||
25: "k_ESOMsg_CacheUnsubscribed",
|
|
||||||
26: "k_ESOMsg_UpdateMultiple",
|
|
||||||
27: "k_ESOMsg_CacheSubscriptionCheck",
|
|
||||||
28: "k_ESOMsg_CacheSubscriptionRefresh",
|
|
||||||
29: "k_ESOMsg_CacheSubscribedUpToDate",
|
|
||||||
}
|
|
||||||
var ESOMsg_value = map[string]int32{
|
|
||||||
"k_ESOMsg_Create": 21,
|
|
||||||
"k_ESOMsg_Update": 22,
|
|
||||||
"k_ESOMsg_Destroy": 23,
|
|
||||||
"k_ESOMsg_CacheSubscribed": 24,
|
|
||||||
"k_ESOMsg_CacheUnsubscribed": 25,
|
|
||||||
"k_ESOMsg_UpdateMultiple": 26,
|
|
||||||
"k_ESOMsg_CacheSubscriptionCheck": 27,
|
|
||||||
"k_ESOMsg_CacheSubscriptionRefresh": 28,
|
|
||||||
"k_ESOMsg_CacheSubscribedUpToDate": 29,
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x ESOMsg) Enum() *ESOMsg {
|
|
||||||
p := new(ESOMsg)
|
|
||||||
*p = x
|
|
||||||
return p
|
|
||||||
}
|
|
||||||
func (x ESOMsg) String() string {
|
|
||||||
return proto.EnumName(ESOMsg_name, int32(x))
|
|
||||||
}
|
|
||||||
func (x *ESOMsg) UnmarshalJSON(data []byte) error {
|
|
||||||
value, err := proto.UnmarshalJSONEnum(ESOMsg_value, data, "ESOMsg")
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
*x = ESOMsg(value)
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
func (ESOMsg) EnumDescriptor() ([]byte, []int) { return system_fileDescriptor0, []int{1} }
|
|
||||||
|
|
||||||
type EGCBaseClientMsg int32
|
|
||||||
|
|
||||||
const (
|
|
||||||
EGCBaseClientMsg_k_EMsgGCPingRequest EGCBaseClientMsg = 3001
|
|
||||||
EGCBaseClientMsg_k_EMsgGCPingResponse EGCBaseClientMsg = 3002
|
|
||||||
EGCBaseClientMsg_k_EMsgGCClientWelcome EGCBaseClientMsg = 4004
|
|
||||||
EGCBaseClientMsg_k_EMsgGCServerWelcome EGCBaseClientMsg = 4005
|
|
||||||
EGCBaseClientMsg_k_EMsgGCClientHello EGCBaseClientMsg = 4006
|
|
||||||
EGCBaseClientMsg_k_EMsgGCServerHello EGCBaseClientMsg = 4007
|
|
||||||
EGCBaseClientMsg_k_EMsgGCClientGoodbye EGCBaseClientMsg = 4008
|
|
||||||
EGCBaseClientMsg_k_EMsgGCServerGoodbye EGCBaseClientMsg = 4009
|
|
||||||
)
|
|
||||||
|
|
||||||
var EGCBaseClientMsg_name = map[int32]string{
|
|
||||||
3001: "k_EMsgGCPingRequest",
|
|
||||||
3002: "k_EMsgGCPingResponse",
|
|
||||||
4004: "k_EMsgGCClientWelcome",
|
|
||||||
4005: "k_EMsgGCServerWelcome",
|
|
||||||
4006: "k_EMsgGCClientHello",
|
|
||||||
4007: "k_EMsgGCServerHello",
|
|
||||||
4008: "k_EMsgGCClientGoodbye",
|
|
||||||
4009: "k_EMsgGCServerGoodbye",
|
|
||||||
}
|
|
||||||
var EGCBaseClientMsg_value = map[string]int32{
|
|
||||||
"k_EMsgGCPingRequest": 3001,
|
|
||||||
"k_EMsgGCPingResponse": 3002,
|
|
||||||
"k_EMsgGCClientWelcome": 4004,
|
|
||||||
"k_EMsgGCServerWelcome": 4005,
|
|
||||||
"k_EMsgGCClientHello": 4006,
|
|
||||||
"k_EMsgGCServerHello": 4007,
|
|
||||||
"k_EMsgGCClientGoodbye": 4008,
|
|
||||||
"k_EMsgGCServerGoodbye": 4009,
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x EGCBaseClientMsg) Enum() *EGCBaseClientMsg {
|
|
||||||
p := new(EGCBaseClientMsg)
|
|
||||||
*p = x
|
|
||||||
return p
|
|
||||||
}
|
|
||||||
func (x EGCBaseClientMsg) String() string {
|
|
||||||
return proto.EnumName(EGCBaseClientMsg_name, int32(x))
|
|
||||||
}
|
|
||||||
func (x *EGCBaseClientMsg) UnmarshalJSON(data []byte) error {
|
|
||||||
value, err := proto.UnmarshalJSONEnum(EGCBaseClientMsg_value, data, "EGCBaseClientMsg")
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
*x = EGCBaseClientMsg(value)
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
func (EGCBaseClientMsg) EnumDescriptor() ([]byte, []int) { return system_fileDescriptor0, []int{2} }
|
|
||||||
|
|
||||||
type EGCToGCMsg int32
|
|
||||||
|
|
||||||
const (
|
|
||||||
EGCToGCMsg_k_EGCToGCMsgMasterAck EGCToGCMsg = 150
|
|
||||||
EGCToGCMsg_k_EGCToGCMsgMasterAckResponse EGCToGCMsg = 151
|
|
||||||
EGCToGCMsg_k_EGCToGCMsgRouted EGCToGCMsg = 152
|
|
||||||
EGCToGCMsg_k_EGCToGCMsgRoutedReply EGCToGCMsg = 153
|
|
||||||
EGCToGCMsg_k_EMsgGCUpdateSubGCSessionInfo EGCToGCMsg = 154
|
|
||||||
EGCToGCMsg_k_EMsgGCRequestSubGCSessionInfo EGCToGCMsg = 155
|
|
||||||
EGCToGCMsg_k_EMsgGCRequestSubGCSessionInfoResponse EGCToGCMsg = 156
|
|
||||||
EGCToGCMsg_k_EGCToGCMsgMasterStartupComplete EGCToGCMsg = 157
|
|
||||||
EGCToGCMsg_k_EMsgGCToGCSOCacheSubscribe EGCToGCMsg = 158
|
|
||||||
EGCToGCMsg_k_EMsgGCToGCSOCacheUnsubscribe EGCToGCMsg = 159
|
|
||||||
)
|
|
||||||
|
|
||||||
var EGCToGCMsg_name = map[int32]string{
|
|
||||||
150: "k_EGCToGCMsgMasterAck",
|
|
||||||
151: "k_EGCToGCMsgMasterAckResponse",
|
|
||||||
152: "k_EGCToGCMsgRouted",
|
|
||||||
153: "k_EGCToGCMsgRoutedReply",
|
|
||||||
154: "k_EMsgGCUpdateSubGCSessionInfo",
|
|
||||||
155: "k_EMsgGCRequestSubGCSessionInfo",
|
|
||||||
156: "k_EMsgGCRequestSubGCSessionInfoResponse",
|
|
||||||
157: "k_EGCToGCMsgMasterStartupComplete",
|
|
||||||
158: "k_EMsgGCToGCSOCacheSubscribe",
|
|
||||||
159: "k_EMsgGCToGCSOCacheUnsubscribe",
|
|
||||||
}
|
|
||||||
var EGCToGCMsg_value = map[string]int32{
|
|
||||||
"k_EGCToGCMsgMasterAck": 150,
|
|
||||||
"k_EGCToGCMsgMasterAckResponse": 151,
|
|
||||||
"k_EGCToGCMsgRouted": 152,
|
|
||||||
"k_EGCToGCMsgRoutedReply": 153,
|
|
||||||
"k_EMsgGCUpdateSubGCSessionInfo": 154,
|
|
||||||
"k_EMsgGCRequestSubGCSessionInfo": 155,
|
|
||||||
"k_EMsgGCRequestSubGCSessionInfoResponse": 156,
|
|
||||||
"k_EGCToGCMsgMasterStartupComplete": 157,
|
|
||||||
"k_EMsgGCToGCSOCacheSubscribe": 158,
|
|
||||||
"k_EMsgGCToGCSOCacheUnsubscribe": 159,
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x EGCToGCMsg) Enum() *EGCToGCMsg {
|
|
||||||
p := new(EGCToGCMsg)
|
|
||||||
*p = x
|
|
||||||
return p
|
|
||||||
}
|
|
||||||
func (x EGCToGCMsg) String() string {
|
|
||||||
return proto.EnumName(EGCToGCMsg_name, int32(x))
|
|
||||||
}
|
|
||||||
func (x *EGCToGCMsg) UnmarshalJSON(data []byte) error {
|
|
||||||
value, err := proto.UnmarshalJSONEnum(EGCToGCMsg_value, data, "EGCToGCMsg")
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
*x = EGCToGCMsg(value)
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
func (EGCToGCMsg) EnumDescriptor() ([]byte, []int) { return system_fileDescriptor0, []int{3} }
|
|
||||||
|
|
||||||
func init() {
|
|
||||||
proto.RegisterEnum("EGCSystemMsg", EGCSystemMsg_name, EGCSystemMsg_value)
|
|
||||||
proto.RegisterEnum("ESOMsg", ESOMsg_name, ESOMsg_value)
|
|
||||||
proto.RegisterEnum("EGCBaseClientMsg", EGCBaseClientMsg_name, EGCBaseClientMsg_value)
|
|
||||||
proto.RegisterEnum("EGCToGCMsg", EGCToGCMsg_name, EGCToGCMsg_value)
|
|
||||||
}
|
|
||||||
|
|
||||||
var system_fileDescriptor0 = []byte{
|
|
||||||
// 1379 bytes of a gzipped FileDescriptorProto
|
|
||||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x84, 0x57, 0x49, 0x73, 0x1b, 0x45,
|
|
||||||
0x14, 0xce, 0x44, 0x05, 0x87, 0x2e, 0x28, 0x5e, 0x3a, 0x89, 0xed, 0x24, 0x4e, 0x94, 0x84, 0x2c,
|
|
||||||
0xc4, 0x50, 0x39, 0x84, 0x7d, 0x47, 0x91, 0x64, 0x59, 0xc1, 0x8e, 0x15, 0x49, 0xb6, 0xd9, 0xcd,
|
|
||||||
0x78, 0xd4, 0xb6, 0xa6, 0x2c, 0x4d, 0x0f, 0xdd, 0x3d, 0x06, 0xdd, 0xf8, 0x13, 0xac, 0x61, 0xb9,
|
|
||||||
0xb0, 0xfe, 0x04, 0xf8, 0x05, 0xac, 0x17, 0xb8, 0xb2, 0x73, 0x84, 0x23, 0xfb, 0x52, 0xc5, 0x9b,
|
|
||||||
0xad, 0xa7, 0x47, 0x8b, 0xb9, 0x8d, 0xfa, 0x7b, 0x7b, 0x7f, 0xef, 0xf5, 0x13, 0xa1, 0x5b, 0x8e,
|
|
||||||
0x1c, 0x48, 0xc5, 0xfa, 0x7d, 0xb9, 0x25, 0xcf, 0xfb, 0x82, 0x2b, 0x3e, 0x77, 0xf5, 0x00, 0xb9,
|
|
||||||
0xae, 0x5a, 0x2b, 0xb7, 0xa2, 0xf3, 0x25, 0xb9, 0x45, 0xf7, 0x93, 0x1b, 0xb6, 0xd7, 0xf1, 0x04,
|
|
||||||
0xbf, 0xeb, 0xde, 0x8e, 0xdd, 0x73, 0x3b, 0xb0, 0x87, 0xee, 0x23, 0xd7, 0xa7, 0x87, 0x4b, 0x41,
|
|
||||||
0x4f, 0xb9, 0x60, 0xd1, 0x19, 0x72, 0x20, 0x3d, 0xaa, 0x31, 0x8f, 0x09, 0xd7, 0x69, 0x32, 0xbf,
|
|
||||||
0x37, 0x00, 0x42, 0xa7, 0x08, 0x4d, 0x91, 0xd8, 0xec, 0x45, 0x5b, 0x32, 0xb8, 0x40, 0x8f, 0x91,
|
|
||||||
0xc3, 0xe9, 0x79, 0xc9, 0xe9, 0xba, 0x6c, 0x87, 0xf5, 0x99, 0xa7, 0x4a, 0xcf, 0xda, 0xa2, 0xc3,
|
|
||||||
0x3a, 0x70, 0xab, 0xa9, 0x57, 0xe6, 0x5e, 0x99, 0xf7, 0xfb, 0xb6, 0xd7, 0x81, 0xdb, 0x4c, 0x4f,
|
|
||||||
0x2d, 0x65, 0x0b, 0xd5, 0xe8, 0xd9, 0x03, 0xd7, 0xdb, 0x82, 0xdb, 0xe9, 0x34, 0xd9, 0x9f, 0x21,
|
|
||||||
0xdc, 0x4f, 0x81, 0x3b, 0xe8, 0x11, 0x32, 0x9d, 0x53, 0xa9, 0xd9, 0x7d, 0x26, 0x99, 0xd8, 0x61,
|
|
||||||
0x02, 0xee, 0xa4, 0x87, 0xc9, 0x94, 0xa9, 0x65, 0x60, 0x77, 0xd1, 0x83, 0x64, 0x5f, 0x8a, 0xad,
|
|
||||||
0xd5, 0x9a, 0xec, 0x99, 0x80, 0x49, 0x05, 0x77, 0x9b, 0xa1, 0x85, 0xc7, 0xd2, 0xe7, 0x1e, 0xa6,
|
|
||||||
0x74, 0x0f, 0x3d, 0x49, 0x8e, 0x65, 0x45, 0x50, 0x2b, 0x68, 0x26, 0xb4, 0x86, 0x2e, 0x95, 0x6c,
|
|
||||||
0x39, 0x5d, 0xd6, 0xb7, 0xe1, 0x5e, 0x3a, 0x47, 0xce, 0xec, 0x2e, 0xa3, 0xed, 0xdd, 0x37, 0xc6,
|
|
||||||
0x5e, 0x24, 0x57, 0xa9, 0x36, 0x9a, 0xd5, 0x72, 0xa9, 0x5d, 0xad, 0xc0, 0xfd, 0xf4, 0x38, 0x99,
|
|
||||||
0x1d, 0x27, 0xa3, 0xad, 0x3c, 0x60, 0x26, 0x58, 0xf2, 0xfd, 0xba, 0xb7, 0xc9, 0x57, 0xfc, 0x8e,
|
|
||||||
0xad, 0xb0, 0xc8, 0x0f, 0x9a, 0x95, 0x59, 0x0d, 0x2f, 0x17, 0x8f, 0x5b, 0x4c, 0x4a, 0x97, 0x7b,
|
|
||||||
0xf0, 0x10, 0xbd, 0x91, 0x14, 0x27, 0x80, 0xda, 0x7a, 0xc9, 0x8c, 0x71, 0x91, 0xf3, 0xed, 0xc0,
|
|
||||||
0x2f, 0x39, 0x0e, 0x0f, 0x3c, 0x35, 0x2f, 0x78, 0xbf, 0xee, 0xf9, 0x81, 0x82, 0x8b, 0xb9, 0xfa,
|
|
||||||
0x33, 0xaf, 0xb3, 0xd0, 0x6e, 0x37, 0xd2, 0x62, 0x96, 0x4d, 0x2f, 0x43, 0xa0, 0xf6, 0x52, 0x31,
|
|
||||||
0x2f, 0xbd, 0x21, 0x58, 0x1b, 0xc1, 0x16, 0x53, 0x81, 0x0f, 0x55, 0x5a, 0x24, 0x47, 0x52, 0xa4,
|
|
||||||
0xc9, 0x1c, 0x2e, 0x3a, 0xad, 0xc0, 0xf7, 0xb9, 0x50, 0x25, 0x47, 0x85, 0x59, 0xcc, 0xd3, 0x9b,
|
|
||||||
0xc8, 0x29, 0xa3, 0x40, 0x49, 0x74, 0x15, 0xa6, 0x6c, 0xb7, 0x27, 0xd7, 0x8d, 0x52, 0xd6, 0xcc,
|
|
||||||
0x54, 0xd0, 0x14, 0x73, 0x77, 0x58, 0xdd, 0x53, 0x4c, 0x60, 0xd1, 0x96, 0x30, 0x6d, 0x7b, 0x8b,
|
|
||||||
0x41, 0xdd, 0x0c, 0x64, 0xde, 0xf5, 0x3a, 0x89, 0x39, 0x09, 0x97, 0x4c, 0xae, 0x34, 0xb8, 0x54,
|
|
||||||
0xa5, 0x1e, 0x13, 0x0a, 0x1e, 0x36, 0x49, 0x89, 0xee, 0x17, 0x5d, 0x87, 0x61, 0x46, 0x12, 0x16,
|
|
||||||
0xf3, 0x1d, 0x93, 0x5d, 0x1c, 0x2c, 0x0d, 0xa9, 0x24, 0xcc, 0x97, 0x70, 0xd9, 0xcc, 0xd5, 0x00,
|
|
||||||
0x74, 0x99, 0x96, 0x73, 0x57, 0xdd, 0xe9, 0xcc, 0x0b, 0xc6, 0x12, 0x87, 0xd0, 0x30, 0xb3, 0xcb,
|
|
||||||
0x63, 0x5a, 0xff, 0x0a, 0x3d, 0x44, 0x0e, 0x1a, 0x0e, 0xea, 0x8d, 0x45, 0xee, 0xd8, 0x51, 0x19,
|
|
||||||
0x9b, 0xf4, 0x04, 0x39, 0x3a, 0x16, 0xd2, 0xda, 0x2d, 0x7a, 0x94, 0x1c, 0xca, 0x77, 0xba, 0xc9,
|
|
||||||
0xfc, 0xb6, 0x19, 0x1c, 0x5a, 0x30, 0x24, 0x60, 0x65, 0x88, 0xe9, 0x06, 0xa6, 0xcd, 0xaf, 0x9a,
|
|
||||||
0x05, 0x0e, 0x89, 0x52, 0xed, 0xe3, 0x0d, 0xc2, 0x5a, 0xce, 0x6b, 0x7a, 0xac, 0xb5, 0x1e, 0xa1,
|
|
||||||
0xb3, 0x64, 0xc6, 0xb0, 0x1c, 0xa1, 0x6d, 0xd6, 0xf7, 0x7b, 0x48, 0x66, 0x78, 0x94, 0x9e, 0x22,
|
|
||||||
0xc7, 0x27, 0xa1, 0xda, 0xc6, 0x63, 0xb9, 0xc8, 0x85, 0xed, 0xa9, 0x5a, 0xc8, 0xce, 0x86, 0x2d,
|
|
||||||
0x25, 0x3c, 0x9e, 0x8b, 0x3c, 0x87, 0x69, 0xfd, 0x27, 0xcc, 0x10, 0x47, 0x28, 0x08, 0x4f, 0xd2,
|
|
||||||
0xd3, 0xe4, 0xc4, 0x44, 0x58, 0x5b, 0x79, 0xca, 0xec, 0x22, 0x14, 0x6b, 0x30, 0x21, 0xb9, 0x67,
|
|
||||||
0x5f, 0x0e, 0xc7, 0x15, 0xac, 0x9b, 0x5d, 0x34, 0x04, 0x6a, 0x0b, 0x4f, 0x9b, 0x94, 0x8b, 0xe6,
|
|
||||||
0xb6, 0xdf, 0x63, 0xcf, 0xe1, 0x37, 0xd8, 0x66, 0x1d, 0xd6, 0xd8, 0x46, 0xa9, 0x51, 0x6f, 0xb2,
|
|
||||||
0x2d, 0x17, 0x2f, 0x41, 0x44, 0x1d, 0xb0, 0x69, 0x3b, 0xe8, 0x84, 0x99, 0xb5, 0x8c, 0xa5, 0x2e,
|
|
||||||
0xf1, 0x8d, 0xb4, 0x91, 0x37, 0xcd, 0x46, 0x1b, 0x46, 0x17, 0x94, 0xf2, 0x75, 0x1c, 0x5d, 0x7a,
|
|
||||||
0x33, 0x39, 0x3b, 0x49, 0x72, 0x9e, 0x8b, 0xf0, 0x05, 0xd0, 0xc2, 0x2e, 0x72, 0x32, 0x0b, 0x9a,
|
|
||||||
0xf5, 0xcb, 0x36, 0xd2, 0xa9, 0x83, 0x29, 0xc2, 0x47, 0x16, 0x72, 0x72, 0x76, 0x1c, 0xa4, 0x95,
|
|
||||||
0x3f, 0xb6, 0xc6, 0x6a, 0xe3, 0xe8, 0x80, 0x4f, 0x2c, 0xcc, 0x66, 0x7a, 0x04, 0xaa, 0xb0, 0x1e,
|
|
||||||
0x43, 0x62, 0x7c, 0x6a, 0x61, 0xb5, 0xa7, 0x46, 0x15, 0x23, 0xb6, 0x7e, 0x66, 0x61, 0xb5, 0x8f,
|
|
||||||
0x8d, 0x07, 0xb5, 0xeb, 0xcf, 0x2d, 0xe4, 0x2b, 0x68, 0x62, 0x5e, 0x59, 0x8c, 0x75, 0xbf, 0xb0,
|
|
||||||
0x90, 0x0c, 0x33, 0xc3, 0xc7, 0x5a, 0xeb, 0x4b, 0x0b, 0x7b, 0x5c, 0x3f, 0x8b, 0x4b, 0x76, 0x78,
|
|
||||||
0x03, 0x18, 0x6d, 0xc5, 0x15, 0xcc, 0x51, 0x5c, 0x0c, 0xe0, 0x2b, 0x8b, 0x9e, 0x25, 0x27, 0x27,
|
|
||||||
0x0b, 0x68, 0x4b, 0x5f, 0xe7, 0x83, 0x4c, 0x05, 0x93, 0xcb, 0xe5, 0x81, 0x0a, 0x5f, 0xc6, 0x6f,
|
|
||||||
0x2c, 0xbc, 0x8a, 0x33, 0xbb, 0x0b, 0x69, 0x8b, 0xdf, 0x5a, 0xf4, 0x4c, 0x46, 0x54, 0x2d, 0x5c,
|
|
||||||
0xee, 0xb9, 0xf8, 0x6c, 0x87, 0x23, 0x33, 0x31, 0xfa, 0x9d, 0x45, 0xcf, 0x93, 0x73, 0xff, 0x2b,
|
|
||||||
0xa7, 0xed, 0x7e, 0x6f, 0xe1, 0xc0, 0xcb, 0x56, 0x04, 0xa6, 0x96, 0xfd, 0x70, 0xae, 0x48, 0xf8,
|
|
||||||
0x21, 0x57, 0x8c, 0x0c, 0xd0, 0x9a, 0x3f, 0x86, 0x6b, 0xc7, 0xfe, 0xd1, 0xe5, 0xe2, 0x02, 0xfc,
|
|
||||||
0x52, 0x30, 0xb3, 0x0f, 0x1b, 0x22, 0x10, 0x4e, 0x17, 0xa1, 0xb6, 0x08, 0xf0, 0xe9, 0xc0, 0x9a,
|
|
||||||
0x07, 0x12, 0x7e, 0x2d, 0x98, 0xd9, 0x8f, 0x17, 0xd2, 0xbe, 0x7e, 0x2b, 0xe0, 0x14, 0xd0, 0xc3,
|
|
||||||
0x31, 0x7e, 0x40, 0xd3, 0x97, 0xf2, 0xf7, 0x02, 0xb6, 0x70, 0x36, 0x47, 0xca, 0x49, 0x07, 0xaf,
|
|
||||||
0xda, 0x4e, 0x6c, 0xa4, 0xdc, 0xb5, 0x3d, 0x7c, 0x3c, 0xfe, 0x28, 0x98, 0x94, 0x2b, 0x77, 0x99,
|
|
||||||
0xb3, 0x3d, 0x2f, 0xb0, 0x28, 0x1d, 0xd9, 0x75, 0x7d, 0xf8, 0xb3, 0x80, 0x4d, 0x58, 0x9c, 0x80,
|
|
||||||
0xea, 0x30, 0xfe, 0x2a, 0xe0, 0xc0, 0x31, 0x07, 0x71, 0x03, 0xd7, 0x19, 0x5c, 0xb7, 0x12, 0x97,
|
|
||||||
0x8b, 0xae, 0xb7, 0x0d, 0x7f, 0x17, 0x70, 0xc9, 0x38, 0xbd, 0xab, 0x8c, 0xb6, 0xf7, 0x4f, 0x81,
|
|
||||||
0x9e, 0xcb, 0xda, 0x76, 0xb5, 0x85, 0x4b, 0x1b, 0xbe, 0x9d, 0x48, 0xe6, 0x40, 0xfa, 0xae, 0xe3,
|
|
||||||
0xf2, 0x40, 0x86, 0xef, 0xe8, 0x8e, 0xab, 0x06, 0xf0, 0x6f, 0x61, 0xee, 0x85, 0xbd, 0xe4, 0xda,
|
|
||||||
0x6a, 0x6b, 0x39, 0xdb, 0x0b, 0xa3, 0xef, 0xf5, 0xb2, 0x60, 0xe1, 0x34, 0x3d, 0x98, 0x3b, 0x8c,
|
|
||||||
0x4b, 0x04, 0x53, 0xf4, 0x40, 0xd4, 0x06, 0xf1, 0x61, 0x05, 0x3b, 0x5c, 0xf0, 0x01, 0x4c, 0x27,
|
|
||||||
0xa3, 0x24, 0xd1, 0x0f, 0xfb, 0xa7, 0x15, 0x6c, 0x48, 0x47, 0xb8, 0x1b, 0xb8, 0x96, 0xcc, 0x24,
|
|
||||||
0xbb, 0xa1, 0x81, 0xae, 0x78, 0x32, 0xc3, 0x0f, 0x25, 0xa3, 0xd0, 0x74, 0x94, 0xce, 0x33, 0x38,
|
|
||||||
0x9c, 0x8c, 0xc2, 0x51, 0xd3, 0x11, 0x7b, 0xa2, 0xc2, 0xc2, 0x91, 0x64, 0xe6, 0x4e, 0x10, 0x6a,
|
|
||||||
0xb2, 0x4d, 0xc1, 0x64, 0x17, 0x66, 0x93, 0xb9, 0x38, 0x36, 0xcc, 0x15, 0xbf, 0xcd, 0x2b, 0x61,
|
|
||||||
0x8a, 0x47, 0xe7, 0x7e, 0xb2, 0x08, 0x60, 0x05, 0x43, 0xee, 0x69, 0x9a, 0x27, 0xd4, 0x8c, 0x08,
|
|
||||||
0xd1, 0x88, 0xf8, 0x1e, 0xcf, 0xc9, 0x0f, 0xa6, 0x93, 0x99, 0x64, 0x20, 0xc9, 0x65, 0x7c, 0x38,
|
|
||||||
0x9d, 0x70, 0x2c, 0x82, 0x62, 0x4b, 0x6b, 0xac, 0xe7, 0xf0, 0x3e, 0x83, 0xb7, 0x8a, 0x26, 0xd6,
|
|
||||||
0x8a, 0x16, 0xd4, 0x14, 0x7b, 0xbb, 0x68, 0x3a, 0x8b, 0xf5, 0x16, 0x58, 0xaf, 0xc7, 0xe1, 0x9d,
|
|
||||||
0x1c, 0x12, 0x6b, 0xc5, 0xc8, 0xbb, 0xc5, 0x51, 0x5f, 0x35, 0xce, 0x3b, 0x1b, 0x03, 0x06, 0xef,
|
|
||||||
0x8d, 0xf1, 0x95, 0x62, 0xef, 0x17, 0xe7, 0x7e, 0xde, 0x4b, 0x08, 0x66, 0xdb, 0xe6, 0x11, 0x67,
|
|
||||||
0x74, 0x5b, 0x24, 0xbf, 0xe3, 0x86, 0x2f, 0x61, 0x91, 0x5f, 0xb4, 0x34, 0x57, 0x87, 0x31, 0x9d,
|
|
||||||
0xf2, 0x4b, 0x59, 0xf3, 0x27, 0x32, 0xe1, 0x78, 0xc0, 0x3b, 0x7e, 0x39, 0x9b, 0xcf, 0x39, 0x20,
|
|
||||||
0xfe, 0x57, 0xf1, 0x4a, 0x3a, 0xdd, 0xa2, 0x08, 0x93, 0x6e, 0x0c, 0x36, 0xc2, 0x60, 0xa3, 0x96,
|
|
||||||
0x0c, 0x97, 0x5c, 0x78, 0xd5, 0x4a, 0x3a, 0x2a, 0x12, 0x4a, 0xea, 0x3f, 0x22, 0x75, 0xd5, 0xa2,
|
|
||||||
0xb7, 0x44, 0xcf, 0xd1, 0x6e, 0x52, 0x3a, 0xde, 0xd7, 0xb2, 0x21, 0x98, 0xcb, 0x29, 0xfa, 0x5b,
|
|
||||||
0x11, 0xf8, 0xb8, 0x92, 0xf9, 0xd1, 0x03, 0xf2, 0x7a, 0xfa, 0x38, 0x45, 0x56, 0x43, 0xd1, 0xd6,
|
|
||||||
0x72, 0x9e, 0x3f, 0xf0, 0x46, 0x2e, 0x07, 0x43, 0xc4, 0xe0, 0x3a, 0xbc, 0x69, 0x5d, 0xbc, 0x66,
|
|
||||||
0xc1, 0x7a, 0xde, 0xda, 0xf3, 0x5f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xfc, 0xd8, 0x05, 0xd1, 0xae,
|
|
||||||
0x0d, 0x00, 0x00,
|
|
||||||
}
|
|
7122
vendor/github.com/Philipp15b/go-steam/tf2/protocol/protobuf/tf.pb.go
generated
vendored
7122
vendor/github.com/Philipp15b/go-steam/tf2/protocol/protobuf/tf.pb.go
generated
vendored
File diff suppressed because it is too large
Load Diff
75
vendor/github.com/Philipp15b/go-steam/tf2/tf2.go
generated
vendored
75
vendor/github.com/Philipp15b/go-steam/tf2/tf2.go
generated
vendored
@ -1,75 +0,0 @@
|
|||||||
/*
|
|
||||||
Provides access to TF2 Game Coordinator functionality.
|
|
||||||
*/
|
|
||||||
package tf2
|
|
||||||
|
|
||||||
import (
|
|
||||||
"github.com/Philipp15b/go-steam"
|
|
||||||
. "github.com/Philipp15b/go-steam/protocol/gamecoordinator"
|
|
||||||
. "github.com/Philipp15b/go-steam/tf2/protocol"
|
|
||||||
"github.com/Philipp15b/go-steam/tf2/protocol/protobuf"
|
|
||||||
)
|
|
||||||
|
|
||||||
const AppId = 440
|
|
||||||
|
|
||||||
// To use any methods of this, you'll need to SetPlaying(true) and wait for
|
|
||||||
// the GCReadyEvent.
|
|
||||||
type TF2 struct {
|
|
||||||
client *steam.Client
|
|
||||||
}
|
|
||||||
|
|
||||||
// Creates a new TF2 instance and registers it as a packet handler
|
|
||||||
func New(client *steam.Client) *TF2 {
|
|
||||||
t := &TF2{client}
|
|
||||||
client.GC.RegisterPacketHandler(t)
|
|
||||||
return t
|
|
||||||
}
|
|
||||||
|
|
||||||
func (t *TF2) SetPlaying(playing bool) {
|
|
||||||
if playing {
|
|
||||||
t.client.GC.SetGamesPlayed(AppId)
|
|
||||||
} else {
|
|
||||||
t.client.GC.SetGamesPlayed()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (t *TF2) SetItemPosition(itemId, position uint64) {
|
|
||||||
t.client.GC.Write(NewGCMsg(AppId, uint32(protobuf.EGCItemMsg_k_EMsgGCSetSingleItemPosition), &MsgGCSetItemPosition{
|
|
||||||
itemId, position,
|
|
||||||
}))
|
|
||||||
}
|
|
||||||
|
|
||||||
// recipe -2 = wildcard
|
|
||||||
func (t *TF2) CraftItems(items []uint64, recipe int16) {
|
|
||||||
t.client.GC.Write(NewGCMsg(AppId, uint32(protobuf.EGCItemMsg_k_EMsgGCCraft), &MsgGCCraft{
|
|
||||||
Recipe: recipe,
|
|
||||||
Items: items,
|
|
||||||
}))
|
|
||||||
}
|
|
||||||
|
|
||||||
func (t *TF2) DeleteItem(itemId uint64) {
|
|
||||||
t.client.GC.Write(NewGCMsg(AppId, uint32(protobuf.EGCItemMsg_k_EMsgGCDelete), &MsgGCDeleteItem{itemId}))
|
|
||||||
}
|
|
||||||
|
|
||||||
func (t *TF2) NameItem(toolId, target uint64, name string) {
|
|
||||||
t.client.GC.Write(NewGCMsg(AppId, uint32(protobuf.EGCItemMsg_k_EMsgGCNameItem), &MsgGCNameItem{
|
|
||||||
toolId, target, name,
|
|
||||||
}))
|
|
||||||
}
|
|
||||||
|
|
||||||
type GCReadyEvent struct{}
|
|
||||||
|
|
||||||
func (t *TF2) HandleGCPacket(packet *GCPacket) {
|
|
||||||
if packet.AppId != AppId {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
switch protobuf.EGCBaseClientMsg(packet.MsgType) {
|
|
||||||
case protobuf.EGCBaseClientMsg_k_EMsgGCClientWelcome:
|
|
||||||
t.handleWelcome(packet)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (t *TF2) handleWelcome(packet *GCPacket) {
|
|
||||||
// the packet's body is pretty useless
|
|
||||||
t.client.Emit(&GCReadyEvent{})
|
|
||||||
}
|
|
84
vendor/github.com/Philipp15b/go-steam/trade/actions.go
generated
vendored
84
vendor/github.com/Philipp15b/go-steam/trade/actions.go
generated
vendored
@ -1,84 +0,0 @@
|
|||||||
package trade
|
|
||||||
|
|
||||||
import (
|
|
||||||
"github.com/Philipp15b/go-steam/economy/inventory"
|
|
||||||
"github.com/Philipp15b/go-steam/trade/tradeapi"
|
|
||||||
"time"
|
|
||||||
)
|
|
||||||
|
|
||||||
type Slot uint
|
|
||||||
|
|
||||||
func (t *Trade) action(status *tradeapi.Status, err error) error {
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
t.onStatus(status)
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// Returns the next batch of events to process. These can be queued from calls to methods
|
|
||||||
// like `AddItem` or, if there are no queued events, from a new HTTP request to Steam's API (blocking!).
|
|
||||||
// If the latter is the case, this method may also sleep before the request
|
|
||||||
// to conform to the polling interval of the official Steam client.
|
|
||||||
func (t *Trade) Poll() ([]interface{}, error) {
|
|
||||||
if t.queuedEvents != nil {
|
|
||||||
return t.Events(), nil
|
|
||||||
}
|
|
||||||
|
|
||||||
if d := time.Since(t.lastPoll); d < pollTimeout {
|
|
||||||
time.Sleep(pollTimeout - d)
|
|
||||||
}
|
|
||||||
t.lastPoll = time.Now()
|
|
||||||
|
|
||||||
err := t.action(t.api.GetStatus())
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
return t.Events(), nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (t *Trade) GetTheirInventory(contextId uint64, appId uint32) (*inventory.Inventory, error) {
|
|
||||||
return inventory.GetFullInventory(func() (*inventory.PartialInventory, error) {
|
|
||||||
return t.api.GetForeignInventory(contextId, appId, nil)
|
|
||||||
}, func(start uint) (*inventory.PartialInventory, error) {
|
|
||||||
return t.api.GetForeignInventory(contextId, appId, &start)
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
func (t *Trade) GetOwnInventory(contextId uint64, appId uint32) (*inventory.Inventory, error) {
|
|
||||||
return t.api.GetOwnInventory(contextId, appId)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (t *Trade) GetMain() (*tradeapi.Main, error) {
|
|
||||||
return t.api.GetMain()
|
|
||||||
}
|
|
||||||
|
|
||||||
func (t *Trade) AddItem(slot Slot, item *Item) error {
|
|
||||||
return t.action(t.api.AddItem(uint(slot), item.AssetId, item.ContextId, item.AppId))
|
|
||||||
}
|
|
||||||
|
|
||||||
func (t *Trade) RemoveItem(slot Slot, item *Item) error {
|
|
||||||
return t.action(t.api.RemoveItem(uint(slot), item.AssetId, item.ContextId, item.AppId))
|
|
||||||
}
|
|
||||||
|
|
||||||
func (t *Trade) Chat(message string) error {
|
|
||||||
return t.action(t.api.Chat(message))
|
|
||||||
}
|
|
||||||
|
|
||||||
func (t *Trade) SetCurrency(amount uint, currency *Currency) error {
|
|
||||||
return t.action(t.api.SetCurrency(amount, currency.CurrencyId, currency.ContextId, currency.AppId))
|
|
||||||
}
|
|
||||||
|
|
||||||
func (t *Trade) SetReady(ready bool) error {
|
|
||||||
return t.action(t.api.SetReady(ready))
|
|
||||||
}
|
|
||||||
|
|
||||||
// This may only be called after a successful `SetReady(true)`.
|
|
||||||
func (t *Trade) Confirm() error {
|
|
||||||
return t.action(t.api.Confirm())
|
|
||||||
}
|
|
||||||
|
|
||||||
func (t *Trade) Cancel() error {
|
|
||||||
return t.action(t.api.Cancel())
|
|
||||||
}
|
|
40
vendor/github.com/Philipp15b/go-steam/trade/doc.go
generated
vendored
40
vendor/github.com/Philipp15b/go-steam/trade/doc.go
generated
vendored
@ -1,40 +0,0 @@
|
|||||||
/*
|
|
||||||
Allows automation of Steam Trading.
|
|
||||||
|
|
||||||
Usage
|
|
||||||
|
|
||||||
Like go-steam, this package is event-based. Call Poll() until the trade has ended, that is until the TradeEndedEvent is emitted.
|
|
||||||
|
|
||||||
// After receiving the steam.TradeSessionStartEvent
|
|
||||||
t := trade.New(sessionIdCookie, steamLoginCookie, steamLoginSecure, event.Other)
|
|
||||||
for {
|
|
||||||
eventList, err := t.Poll()
|
|
||||||
if err != nil {
|
|
||||||
// error handling here
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
for _, event := range eventList {
|
|
||||||
switch e := event.(type) {
|
|
||||||
case *trade.ChatEvent:
|
|
||||||
// respond to any chat message
|
|
||||||
t.Chat("Trading is awesome!")
|
|
||||||
case *trade.TradeEndedEvent:
|
|
||||||
return
|
|
||||||
// other event handlers here
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
You can either log into steamcommunity.com and use the values of the `sessionId` and `steamLogin` cookies,
|
|
||||||
or use go-steam and after logging in with client.Web.LogOn() and receiving the WebLoggedOnEvent use the `SessionId`
|
|
||||||
and `SteamLogin` fields of steam.Web for the respective cookies.
|
|
||||||
|
|
||||||
It is important that there is no delay between the Poll() calls greater than the timeout of the Steam client
|
|
||||||
(currently five seconds before the trade partner sees a warning) or the trade will be closed automatically by Steam.
|
|
||||||
|
|
||||||
Notes
|
|
||||||
|
|
||||||
All method calls to Steam APIs are blocking. This packages' and its subpackages' types are not thread-safe and no calls to any method of the same
|
|
||||||
trade instance may be done concurrently except when otherwise noted.
|
|
||||||
*/
|
|
||||||
package trade
|
|
122
vendor/github.com/Philipp15b/go-steam/trade/trade.go
generated
vendored
122
vendor/github.com/Philipp15b/go-steam/trade/trade.go
generated
vendored
@ -1,122 +0,0 @@
|
|||||||
package trade
|
|
||||||
|
|
||||||
import (
|
|
||||||
"errors"
|
|
||||||
"time"
|
|
||||||
|
|
||||||
"github.com/Philipp15b/go-steam/steamid"
|
|
||||||
"github.com/Philipp15b/go-steam/trade/tradeapi"
|
|
||||||
)
|
|
||||||
|
|
||||||
const pollTimeout = time.Second
|
|
||||||
|
|
||||||
type Trade struct {
|
|
||||||
ThemId steamid.SteamId
|
|
||||||
|
|
||||||
MeReady, ThemReady bool
|
|
||||||
|
|
||||||
lastPoll time.Time
|
|
||||||
queuedEvents []interface{}
|
|
||||||
api *tradeapi.Trade
|
|
||||||
}
|
|
||||||
|
|
||||||
func New(sessionId, steamLogin, steamLoginSecure string, other steamid.SteamId) *Trade {
|
|
||||||
return &Trade{
|
|
||||||
other,
|
|
||||||
false, false,
|
|
||||||
time.Unix(0, 0),
|
|
||||||
nil,
|
|
||||||
tradeapi.New(sessionId, steamLogin, steamLoginSecure, other),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (t *Trade) Version() uint {
|
|
||||||
return t.api.Version
|
|
||||||
}
|
|
||||||
|
|
||||||
// Returns all queued events and removes them from the queue without performing a HTTP request, like Poll() would.
|
|
||||||
func (t *Trade) Events() []interface{} {
|
|
||||||
qe := t.queuedEvents
|
|
||||||
t.queuedEvents = nil
|
|
||||||
return qe
|
|
||||||
}
|
|
||||||
|
|
||||||
func (t *Trade) onStatus(status *tradeapi.Status) error {
|
|
||||||
if !status.Success {
|
|
||||||
return errors.New("trade: returned status not successful! error message: " + status.Error)
|
|
||||||
}
|
|
||||||
|
|
||||||
if status.NewVersion {
|
|
||||||
t.api.Version = status.Version
|
|
||||||
|
|
||||||
t.MeReady = status.Me.Ready == true
|
|
||||||
t.ThemReady = status.Them.Ready == true
|
|
||||||
}
|
|
||||||
|
|
||||||
switch status.TradeStatus {
|
|
||||||
case tradeapi.TradeStatus_Complete:
|
|
||||||
t.addEvent(&TradeEndedEvent{TradeEndReason_Complete})
|
|
||||||
case tradeapi.TradeStatus_Cancelled:
|
|
||||||
t.addEvent(&TradeEndedEvent{TradeEndReason_Cancelled})
|
|
||||||
case tradeapi.TradeStatus_Timeout:
|
|
||||||
t.addEvent(&TradeEndedEvent{TradeEndReason_Timeout})
|
|
||||||
case tradeapi.TradeStatus_Failed:
|
|
||||||
t.addEvent(&TradeEndedEvent{TradeEndReason_Failed})
|
|
||||||
case tradeapi.TradeStatus_Open:
|
|
||||||
// nothing
|
|
||||||
default:
|
|
||||||
// ignore too
|
|
||||||
}
|
|
||||||
|
|
||||||
t.updateEvents(status.Events)
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (t *Trade) updateEvents(events tradeapi.EventList) {
|
|
||||||
if len(events) == 0 {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
var lastLogPos uint
|
|
||||||
for i, event := range events {
|
|
||||||
if i < t.api.LogPos {
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
if event.SteamId != t.ThemId {
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
|
|
||||||
if lastLogPos < i {
|
|
||||||
lastLogPos = i
|
|
||||||
}
|
|
||||||
|
|
||||||
switch event.Action {
|
|
||||||
case tradeapi.Action_AddItem:
|
|
||||||
t.addEvent(&ItemAddedEvent{newItem(event)})
|
|
||||||
case tradeapi.Action_RemoveItem:
|
|
||||||
t.addEvent(&ItemRemovedEvent{newItem(event)})
|
|
||||||
case tradeapi.Action_Ready:
|
|
||||||
t.ThemReady = true
|
|
||||||
t.addEvent(new(ReadyEvent))
|
|
||||||
case tradeapi.Action_Unready:
|
|
||||||
t.ThemReady = false
|
|
||||||
t.addEvent(new(UnreadyEvent))
|
|
||||||
case tradeapi.Action_SetCurrency:
|
|
||||||
t.addEvent(&SetCurrencyEvent{
|
|
||||||
newCurrency(event),
|
|
||||||
event.OldAmount,
|
|
||||||
event.NewAmount,
|
|
||||||
})
|
|
||||||
case tradeapi.Action_ChatMessage:
|
|
||||||
t.addEvent(&ChatEvent{
|
|
||||||
event.Text,
|
|
||||||
})
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
t.api.LogPos = uint(lastLogPos) + 1
|
|
||||||
}
|
|
||||||
|
|
||||||
func (t *Trade) addEvent(event interface{}) {
|
|
||||||
t.queuedEvents = append(t.queuedEvents, event)
|
|
||||||
}
|
|
111
vendor/github.com/Philipp15b/go-steam/trade/tradeapi/status.go
generated
vendored
111
vendor/github.com/Philipp15b/go-steam/trade/tradeapi/status.go
generated
vendored
@ -1,111 +0,0 @@
|
|||||||
package tradeapi
|
|
||||||
|
|
||||||
import (
|
|
||||||
"encoding/json"
|
|
||||||
"github.com/Philipp15b/go-steam/jsont"
|
|
||||||
"github.com/Philipp15b/go-steam/steamid"
|
|
||||||
"strconv"
|
|
||||||
)
|
|
||||||
|
|
||||||
type Status struct {
|
|
||||||
Success bool
|
|
||||||
Error string
|
|
||||||
NewVersion bool `json:"newversion"`
|
|
||||||
TradeStatus TradeStatus `json:"trade_status"`
|
|
||||||
Version uint
|
|
||||||
LogPos int
|
|
||||||
Me User
|
|
||||||
Them User
|
|
||||||
Events EventList
|
|
||||||
}
|
|
||||||
|
|
||||||
type TradeStatus uint
|
|
||||||
|
|
||||||
const (
|
|
||||||
TradeStatus_Open TradeStatus = 0
|
|
||||||
TradeStatus_Complete = 1
|
|
||||||
TradeStatus_Empty = 2 // when both parties trade no items
|
|
||||||
TradeStatus_Cancelled = 3
|
|
||||||
TradeStatus_Timeout = 4 // the partner timed out
|
|
||||||
TradeStatus_Failed = 5
|
|
||||||
)
|
|
||||||
|
|
||||||
type EventList map[uint]*Event
|
|
||||||
|
|
||||||
// The EventList can either be an array or an object of id -> event
|
|
||||||
func (e *EventList) UnmarshalJSON(data []byte) error {
|
|
||||||
// initialize the map if it's nil
|
|
||||||
if *e == nil {
|
|
||||||
*e = make(EventList)
|
|
||||||
}
|
|
||||||
|
|
||||||
o := make(map[string]*Event)
|
|
||||||
err := json.Unmarshal(data, &o)
|
|
||||||
// it's an object
|
|
||||||
if err == nil {
|
|
||||||
for is, event := range o {
|
|
||||||
i, err := strconv.ParseUint(is, 10, 32)
|
|
||||||
if err != nil {
|
|
||||||
panic(err)
|
|
||||||
}
|
|
||||||
(*e)[uint(i)] = event
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// it's an array
|
|
||||||
var a []*Event
|
|
||||||
err = json.Unmarshal(data, &a)
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
for i, event := range a {
|
|
||||||
(*e)[uint(i)] = event
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
type Event struct {
|
|
||||||
SteamId steamid.SteamId `json:",string"`
|
|
||||||
Action Action `json:",string"`
|
|
||||||
Timestamp uint64
|
|
||||||
|
|
||||||
AppId uint32
|
|
||||||
ContextId uint64 `json:",string"`
|
|
||||||
AssetId uint64 `json:",string"`
|
|
||||||
|
|
||||||
Text string // only used for chat messages
|
|
||||||
|
|
||||||
// The following is used for SetCurrency
|
|
||||||
CurrencyId uint64 `json:",string"`
|
|
||||||
OldAmount uint64 `json:"old_amount,string"`
|
|
||||||
NewAmount uint64 `json:"amount,string"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type Action uint
|
|
||||||
|
|
||||||
const (
|
|
||||||
Action_AddItem Action = 0
|
|
||||||
Action_RemoveItem = 1
|
|
||||||
Action_Ready = 2
|
|
||||||
Action_Unready = 3
|
|
||||||
Action_Accept = 4
|
|
||||||
Action_SetCurrency = 6
|
|
||||||
Action_ChatMessage = 7
|
|
||||||
)
|
|
||||||
|
|
||||||
type User struct {
|
|
||||||
Ready jsont.UintBool
|
|
||||||
Confirmed jsont.UintBool
|
|
||||||
SecSinceTouch int `json:"sec_since_touch"`
|
|
||||||
ConnectionPending bool `json:"connection_pending"`
|
|
||||||
Assets interface{}
|
|
||||||
Currency interface{} // either []*Currency or empty string
|
|
||||||
}
|
|
||||||
|
|
||||||
type Currency struct {
|
|
||||||
AppId uint64 `json:",string"`
|
|
||||||
ContextId uint64 `json:",string"`
|
|
||||||
CurrencyId uint64 `json:",string"`
|
|
||||||
Amount uint64 `json:",string"`
|
|
||||||
}
|
|
200
vendor/github.com/Philipp15b/go-steam/trade/tradeapi/trade.go
generated
vendored
200
vendor/github.com/Philipp15b/go-steam/trade/tradeapi/trade.go
generated
vendored
@ -1,200 +0,0 @@
|
|||||||
/*
|
|
||||||
Wrapper around the HTTP trading API for type safety 'n' stuff.
|
|
||||||
*/
|
|
||||||
package tradeapi
|
|
||||||
|
|
||||||
import (
|
|
||||||
"encoding/json"
|
|
||||||
"errors"
|
|
||||||
"fmt"
|
|
||||||
"github.com/Philipp15b/go-steam/community"
|
|
||||||
"github.com/Philipp15b/go-steam/economy/inventory"
|
|
||||||
"github.com/Philipp15b/go-steam/netutil"
|
|
||||||
"github.com/Philipp15b/go-steam/steamid"
|
|
||||||
"io/ioutil"
|
|
||||||
"net/http"
|
|
||||||
"regexp"
|
|
||||||
"strconv"
|
|
||||||
"time"
|
|
||||||
)
|
|
||||||
|
|
||||||
const tradeUrl = "https://steamcommunity.com/trade/%d/"
|
|
||||||
|
|
||||||
type Trade struct {
|
|
||||||
client *http.Client
|
|
||||||
other steamid.SteamId
|
|
||||||
|
|
||||||
LogPos uint // not automatically updated
|
|
||||||
Version uint // Incremented for each item change by Steam; not automatically updated.
|
|
||||||
|
|
||||||
// the `sessionid` cookie is sent as a parameter/POST data for CSRF protection.
|
|
||||||
sessionId string
|
|
||||||
baseUrl string
|
|
||||||
}
|
|
||||||
|
|
||||||
// Creates a new Trade based on the given cookies `sessionid`, `steamLogin`, `steamLoginSecure` and the trade partner's Steam ID.
|
|
||||||
func New(sessionId, steamLogin, steamLoginSecure string, other steamid.SteamId) *Trade {
|
|
||||||
client := new(http.Client)
|
|
||||||
client.Timeout = 10 * time.Second
|
|
||||||
|
|
||||||
t := &Trade{
|
|
||||||
client: client,
|
|
||||||
other: other,
|
|
||||||
sessionId: sessionId,
|
|
||||||
baseUrl: fmt.Sprintf(tradeUrl, other),
|
|
||||||
Version: 1,
|
|
||||||
}
|
|
||||||
community.SetCookies(t.client, sessionId, steamLogin, steamLoginSecure)
|
|
||||||
return t
|
|
||||||
}
|
|
||||||
|
|
||||||
type Main struct {
|
|
||||||
PartnerOnProbation bool
|
|
||||||
}
|
|
||||||
|
|
||||||
var onProbationRegex = regexp.MustCompile(`var g_bTradePartnerProbation = (\w+);`)
|
|
||||||
|
|
||||||
// Fetches the main HTML page and parses it. Thread-safe.
|
|
||||||
func (t *Trade) GetMain() (*Main, error) {
|
|
||||||
resp, err := t.client.Get(t.baseUrl)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
defer resp.Body.Close()
|
|
||||||
body, err := ioutil.ReadAll(resp.Body)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
match := onProbationRegex.FindSubmatch(body)
|
|
||||||
if len(match) == 0 {
|
|
||||||
return nil, errors.New("tradeapi.GetMain: Could not find probation info")
|
|
||||||
}
|
|
||||||
|
|
||||||
return &Main{
|
|
||||||
string(match[1]) == "true",
|
|
||||||
}, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// Ajax POSTs to an API endpoint that should return a status
|
|
||||||
func (t *Trade) postWithStatus(url string, data map[string]string) (*Status, error) {
|
|
||||||
status := new(Status)
|
|
||||||
|
|
||||||
req := netutil.NewPostForm(url, netutil.ToUrlValues(data))
|
|
||||||
// Tales of Madness and Pain, Episode 1: If you forget this, Steam will return an error
|
|
||||||
// saying "missing required parameter", even though they are all there. IT WAS JUST THE HEADER, ARGH!
|
|
||||||
req.Header.Add("Referer", t.baseUrl)
|
|
||||||
|
|
||||||
resp, err := t.client.Do(req)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
defer resp.Body.Close()
|
|
||||||
|
|
||||||
err = json.NewDecoder(resp.Body).Decode(status)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
return status, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (t *Trade) GetStatus() (*Status, error) {
|
|
||||||
return t.postWithStatus(t.baseUrl+"tradestatus/", map[string]string{
|
|
||||||
"sessionid": t.sessionId,
|
|
||||||
"logpos": strconv.FormatUint(uint64(t.LogPos), 10),
|
|
||||||
"version": strconv.FormatUint(uint64(t.Version), 10),
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
// Thread-safe.
|
|
||||||
func (t *Trade) GetForeignInventory(contextId uint64, appId uint32, start *uint) (*inventory.PartialInventory, error) {
|
|
||||||
data := map[string]string{
|
|
||||||
"sessionid": t.sessionId,
|
|
||||||
"steamid": fmt.Sprintf("%d", t.other),
|
|
||||||
"contextid": strconv.FormatUint(contextId, 10),
|
|
||||||
"appid": strconv.FormatUint(uint64(appId), 10),
|
|
||||||
}
|
|
||||||
if start != nil {
|
|
||||||
data["start"] = strconv.FormatUint(uint64(*start), 10)
|
|
||||||
}
|
|
||||||
|
|
||||||
req, err := http.NewRequest("GET", t.baseUrl+"foreigninventory?"+netutil.ToUrlValues(data).Encode(), nil)
|
|
||||||
if err != nil {
|
|
||||||
panic(err)
|
|
||||||
}
|
|
||||||
req.Header.Add("Referer", t.baseUrl)
|
|
||||||
|
|
||||||
return inventory.DoInventoryRequest(t.client, req)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Thread-safe.
|
|
||||||
func (t *Trade) GetOwnInventory(contextId uint64, appId uint32) (*inventory.Inventory, error) {
|
|
||||||
return inventory.GetOwnInventory(t.client, contextId, appId)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (t *Trade) Chat(message string) (*Status, error) {
|
|
||||||
return t.postWithStatus(t.baseUrl+"chat", map[string]string{
|
|
||||||
"sessionid": t.sessionId,
|
|
||||||
"logpos": strconv.FormatUint(uint64(t.LogPos), 10),
|
|
||||||
"version": strconv.FormatUint(uint64(t.Version), 10),
|
|
||||||
"message": message,
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
func (t *Trade) AddItem(slot uint, itemId, contextId uint64, appId uint32) (*Status, error) {
|
|
||||||
return t.postWithStatus(t.baseUrl+"additem", map[string]string{
|
|
||||||
"sessionid": t.sessionId,
|
|
||||||
"slot": strconv.FormatUint(uint64(slot), 10),
|
|
||||||
"itemid": strconv.FormatUint(itemId, 10),
|
|
||||||
"contextid": strconv.FormatUint(contextId, 10),
|
|
||||||
"appid": strconv.FormatUint(uint64(appId), 10),
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
func (t *Trade) RemoveItem(slot uint, itemId, contextId uint64, appId uint32) (*Status, error) {
|
|
||||||
return t.postWithStatus(t.baseUrl+"removeitem", map[string]string{
|
|
||||||
"sessionid": t.sessionId,
|
|
||||||
"slot": strconv.FormatUint(uint64(slot), 10),
|
|
||||||
"itemid": strconv.FormatUint(itemId, 10),
|
|
||||||
"contextid": strconv.FormatUint(contextId, 10),
|
|
||||||
"appid": strconv.FormatUint(uint64(appId), 10),
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
func (t *Trade) SetCurrency(amount uint, currencyId, contextId uint64, appId uint32) (*Status, error) {
|
|
||||||
return t.postWithStatus(t.baseUrl+"setcurrency", map[string]string{
|
|
||||||
"sessionid": t.sessionId,
|
|
||||||
"amount": strconv.FormatUint(uint64(amount), 10),
|
|
||||||
"currencyid": strconv.FormatUint(uint64(currencyId), 10),
|
|
||||||
"contextid": strconv.FormatUint(contextId, 10),
|
|
||||||
"appid": strconv.FormatUint(uint64(appId), 10),
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
func (t *Trade) SetReady(ready bool) (*Status, error) {
|
|
||||||
return t.postWithStatus(t.baseUrl+"toggleready", map[string]string{
|
|
||||||
"sessionid": t.sessionId,
|
|
||||||
"version": strconv.FormatUint(uint64(t.Version), 10),
|
|
||||||
"ready": fmt.Sprint(ready),
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
func (t *Trade) Confirm() (*Status, error) {
|
|
||||||
return t.postWithStatus(t.baseUrl+"confirm", map[string]string{
|
|
||||||
"sessionid": t.sessionId,
|
|
||||||
"version": strconv.FormatUint(uint64(t.Version), 10),
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
func (t *Trade) Cancel() (*Status, error) {
|
|
||||||
return t.postWithStatus(t.baseUrl+"cancel", map[string]string{
|
|
||||||
"sessionid": t.sessionId,
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
func isSuccess(v interface{}) bool {
|
|
||||||
if m, ok := v.(map[string]interface{}); ok {
|
|
||||||
return m["success"] == true
|
|
||||||
}
|
|
||||||
return false
|
|
||||||
}
|
|
67
vendor/github.com/Philipp15b/go-steam/trade/types.go
generated
vendored
67
vendor/github.com/Philipp15b/go-steam/trade/types.go
generated
vendored
@ -1,67 +0,0 @@
|
|||||||
package trade
|
|
||||||
|
|
||||||
import (
|
|
||||||
"github.com/Philipp15b/go-steam/trade/tradeapi"
|
|
||||||
)
|
|
||||||
|
|
||||||
type TradeEndedEvent struct {
|
|
||||||
Reason TradeEndReason
|
|
||||||
}
|
|
||||||
|
|
||||||
type TradeEndReason uint
|
|
||||||
|
|
||||||
const (
|
|
||||||
TradeEndReason_Complete TradeEndReason = 1
|
|
||||||
TradeEndReason_Cancelled = 2
|
|
||||||
TradeEndReason_Timeout = 3
|
|
||||||
TradeEndReason_Failed = 4
|
|
||||||
)
|
|
||||||
|
|
||||||
func newItem(event *tradeapi.Event) *Item {
|
|
||||||
return &Item{
|
|
||||||
event.AppId,
|
|
||||||
event.ContextId,
|
|
||||||
event.AssetId,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
type Item struct {
|
|
||||||
AppId uint32
|
|
||||||
ContextId uint64
|
|
||||||
AssetId uint64
|
|
||||||
}
|
|
||||||
|
|
||||||
type ItemAddedEvent struct {
|
|
||||||
Item *Item
|
|
||||||
}
|
|
||||||
|
|
||||||
type ItemRemovedEvent struct {
|
|
||||||
Item *Item
|
|
||||||
}
|
|
||||||
|
|
||||||
type ReadyEvent struct{}
|
|
||||||
type UnreadyEvent struct{}
|
|
||||||
|
|
||||||
func newCurrency(event *tradeapi.Event) *Currency {
|
|
||||||
return &Currency{
|
|
||||||
event.AppId,
|
|
||||||
event.ContextId,
|
|
||||||
event.CurrencyId,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
type Currency struct {
|
|
||||||
AppId uint32
|
|
||||||
ContextId uint64
|
|
||||||
CurrencyId uint64
|
|
||||||
}
|
|
||||||
|
|
||||||
type SetCurrencyEvent struct {
|
|
||||||
Currency *Currency
|
|
||||||
OldAmount uint64
|
|
||||||
NewAmount uint64
|
|
||||||
}
|
|
||||||
|
|
||||||
type ChatEvent struct {
|
|
||||||
Message string
|
|
||||||
}
|
|
452
vendor/github.com/Philipp15b/go-steam/tradeoffer/client.go
generated
vendored
452
vendor/github.com/Philipp15b/go-steam/tradeoffer/client.go
generated
vendored
@ -1,452 +0,0 @@
|
|||||||
package tradeoffer
|
|
||||||
|
|
||||||
import (
|
|
||||||
"encoding/json"
|
|
||||||
"fmt"
|
|
||||||
"github.com/Philipp15b/go-steam/community"
|
|
||||||
"github.com/Philipp15b/go-steam/economy/inventory"
|
|
||||||
"github.com/Philipp15b/go-steam/netutil"
|
|
||||||
"github.com/Philipp15b/go-steam/steamid"
|
|
||||||
"io/ioutil"
|
|
||||||
"net/http"
|
|
||||||
"strconv"
|
|
||||||
"time"
|
|
||||||
)
|
|
||||||
|
|
||||||
type APIKey string
|
|
||||||
|
|
||||||
const apiUrl = "https://api.steampowered.com/IEconService/%s/v%d"
|
|
||||||
|
|
||||||
type Client struct {
|
|
||||||
client *http.Client
|
|
||||||
key APIKey
|
|
||||||
sessionId string
|
|
||||||
}
|
|
||||||
|
|
||||||
func NewClient(key APIKey, sessionId, steamLogin, steamLoginSecure string) *Client {
|
|
||||||
c := &Client{
|
|
||||||
new(http.Client),
|
|
||||||
key,
|
|
||||||
sessionId,
|
|
||||||
}
|
|
||||||
community.SetCookies(c.client, sessionId, steamLogin, steamLoginSecure)
|
|
||||||
return c
|
|
||||||
}
|
|
||||||
|
|
||||||
func (c *Client) GetOffer(offerId uint64) (*TradeOfferResult, error) {
|
|
||||||
resp, err := c.client.Get(fmt.Sprintf(apiUrl, "GetTradeOffer", 1) + "?" + netutil.ToUrlValues(map[string]string{
|
|
||||||
"key": string(c.key),
|
|
||||||
"tradeofferid": strconv.FormatUint(offerId, 10),
|
|
||||||
"language": "en_us",
|
|
||||||
}).Encode())
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
defer resp.Body.Close()
|
|
||||||
t := new(struct {
|
|
||||||
Response *TradeOfferResult
|
|
||||||
})
|
|
||||||
if err = json.NewDecoder(resp.Body).Decode(t); err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
if t.Response == nil || t.Response.Offer == nil {
|
|
||||||
return nil, newSteamErrorf("steam returned empty offer result\n")
|
|
||||||
}
|
|
||||||
|
|
||||||
return t.Response, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (c *Client) GetOffers(getSent bool, getReceived bool, getDescriptions bool, activeOnly bool, historicalOnly bool, timeHistoricalCutoff *uint32) (*TradeOffersResult, error) {
|
|
||||||
if !getSent && !getReceived {
|
|
||||||
return nil, fmt.Errorf("getSent and getReceived can't be both false\n")
|
|
||||||
}
|
|
||||||
|
|
||||||
params := map[string]string{
|
|
||||||
"key": string(c.key),
|
|
||||||
}
|
|
||||||
if getSent {
|
|
||||||
params["get_sent_offers"] = "1"
|
|
||||||
}
|
|
||||||
if getReceived {
|
|
||||||
params["get_received_offers"] = "1"
|
|
||||||
}
|
|
||||||
if getDescriptions {
|
|
||||||
params["get_descriptions"] = "1"
|
|
||||||
params["language"] = "en_us"
|
|
||||||
}
|
|
||||||
if activeOnly {
|
|
||||||
params["active_only"] = "1"
|
|
||||||
}
|
|
||||||
if historicalOnly {
|
|
||||||
params["historical_only"] = "1"
|
|
||||||
}
|
|
||||||
if timeHistoricalCutoff != nil {
|
|
||||||
params["time_historical_cutoff"] = strconv.FormatUint(uint64(*timeHistoricalCutoff), 10)
|
|
||||||
}
|
|
||||||
resp, err := c.client.Get(fmt.Sprintf(apiUrl, "GetTradeOffers", 1) + "?" + netutil.ToUrlValues(params).Encode())
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
defer resp.Body.Close()
|
|
||||||
t := new(struct {
|
|
||||||
Response *TradeOffersResult
|
|
||||||
})
|
|
||||||
if err = json.NewDecoder(resp.Body).Decode(t); err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
if t.Response == nil {
|
|
||||||
return nil, newSteamErrorf("steam returned empty offers result\n")
|
|
||||||
}
|
|
||||||
return t.Response, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// action() is used by Decline() and Cancel()
|
|
||||||
// Steam only return success and error fields for malformed requests,
|
|
||||||
// hence client shall use GetOffer() to check action result
|
|
||||||
// It is also possible to implement Decline/Cancel using steamcommunity,
|
|
||||||
// which have more predictable responses
|
|
||||||
func (c *Client) action(method string, version uint, offerId uint64) error {
|
|
||||||
resp, err := c.client.Do(netutil.NewPostForm(fmt.Sprintf(apiUrl, method, version), netutil.ToUrlValues(map[string]string{
|
|
||||||
"key": string(c.key),
|
|
||||||
"tradeofferid": strconv.FormatUint(offerId, 10),
|
|
||||||
})))
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
defer resp.Body.Close()
|
|
||||||
if resp.StatusCode != 200 {
|
|
||||||
return fmt.Errorf(method+" error: status code %d", resp.StatusCode)
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (c *Client) Decline(offerId uint64) error {
|
|
||||||
return c.action("DeclineTradeOffer", 1, offerId)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (c *Client) Cancel(offerId uint64) error {
|
|
||||||
return c.action("CancelTradeOffer", 1, offerId)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Accept received trade offer
|
|
||||||
// It is best to confirm that offer was actually accepted
|
|
||||||
// by calling GetOffer after Accept and checking offer state
|
|
||||||
func (c *Client) Accept(offerId uint64) error {
|
|
||||||
baseurl := fmt.Sprintf("https://steamcommunity.com/tradeoffer/%d/", offerId)
|
|
||||||
req := netutil.NewPostForm(baseurl+"accept", netutil.ToUrlValues(map[string]string{
|
|
||||||
"sessionid": c.sessionId,
|
|
||||||
"serverid": "1",
|
|
||||||
"tradeofferid": strconv.FormatUint(offerId, 10),
|
|
||||||
}))
|
|
||||||
req.Header.Add("Referer", baseurl)
|
|
||||||
|
|
||||||
resp, err := c.client.Do(req)
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
defer resp.Body.Close()
|
|
||||||
t := new(struct {
|
|
||||||
StrError string `json:"strError"`
|
|
||||||
})
|
|
||||||
if err = json.NewDecoder(resp.Body).Decode(t); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
if t.StrError != "" {
|
|
||||||
return newSteamErrorf("accept error: %v\n", t.StrError)
|
|
||||||
}
|
|
||||||
if resp.StatusCode != 200 {
|
|
||||||
return fmt.Errorf("accept error: status code %d", resp.StatusCode)
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
type TradeItem struct {
|
|
||||||
AppId uint32 `json:"appid"`
|
|
||||||
ContextId uint64 `json:"contextid,string"`
|
|
||||||
Amount uint64 `json:"amount"`
|
|
||||||
AssetId uint64 `json:"assetid,string,omitempty"`
|
|
||||||
CurrencyId uint64 `json:"currencyid,string,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
// Sends a new trade offer to the given Steam user. You can optionally specify an access token if you've got one.
|
|
||||||
// In addition, `counteredOfferId` can be non-nil, indicating the trade offer this is a counter for.
|
|
||||||
// On success returns trade offer id
|
|
||||||
func (c *Client) Create(other steamid.SteamId, accessToken *string, myItems, theirItems []TradeItem, counteredOfferId *uint64, message string) (uint64, error) {
|
|
||||||
// Create new trade offer status
|
|
||||||
to := map[string]interface{}{
|
|
||||||
"newversion": true,
|
|
||||||
"version": 3,
|
|
||||||
"me": map[string]interface{}{
|
|
||||||
"assets": myItems,
|
|
||||||
"currency": make([]struct{}, 0),
|
|
||||||
"ready": false,
|
|
||||||
},
|
|
||||||
"them": map[string]interface{}{
|
|
||||||
"assets": theirItems,
|
|
||||||
"currency": make([]struct{}, 0),
|
|
||||||
"ready": false,
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
jto, err := json.Marshal(to)
|
|
||||||
if err != nil {
|
|
||||||
panic(err)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Create url parameters for request
|
|
||||||
data := map[string]string{
|
|
||||||
"sessionid": c.sessionId,
|
|
||||||
"serverid": "1",
|
|
||||||
"partner": other.ToString(),
|
|
||||||
"tradeoffermessage": message,
|
|
||||||
"json_tradeoffer": string(jto),
|
|
||||||
}
|
|
||||||
|
|
||||||
var referer string
|
|
||||||
if counteredOfferId != nil {
|
|
||||||
referer = fmt.Sprintf("https://steamcommunity.com/tradeoffer/%d/", *counteredOfferId)
|
|
||||||
data["tradeofferid_countered"] = strconv.FormatUint(*counteredOfferId, 10)
|
|
||||||
} else {
|
|
||||||
// Add token for non-friend offers
|
|
||||||
if accessToken != nil {
|
|
||||||
params := map[string]string{
|
|
||||||
"trade_offer_access_token": *accessToken,
|
|
||||||
}
|
|
||||||
paramsJson, err := json.Marshal(params)
|
|
||||||
if err != nil {
|
|
||||||
panic(err)
|
|
||||||
}
|
|
||||||
|
|
||||||
data["trade_offer_create_params"] = string(paramsJson)
|
|
||||||
|
|
||||||
referer = "https://steamcommunity.com/tradeoffer/new/?partner=" + strconv.FormatUint(uint64(other.GetAccountId()), 10) + "&token=" + *accessToken
|
|
||||||
} else {
|
|
||||||
|
|
||||||
referer = "https://steamcommunity.com/tradeoffer/new/?partner=" + strconv.FormatUint(uint64(other.GetAccountId()), 10)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Create request
|
|
||||||
req := netutil.NewPostForm("https://steamcommunity.com/tradeoffer/new/send", netutil.ToUrlValues(data))
|
|
||||||
req.Header.Add("Referer", referer)
|
|
||||||
|
|
||||||
// Send request
|
|
||||||
resp, err := c.client.Do(req)
|
|
||||||
if err != nil {
|
|
||||||
return 0, err
|
|
||||||
}
|
|
||||||
defer resp.Body.Close()
|
|
||||||
t := new(struct {
|
|
||||||
StrError string `json:"strError"`
|
|
||||||
TradeOfferId uint64 `json:"tradeofferid,string"`
|
|
||||||
})
|
|
||||||
if err = json.NewDecoder(resp.Body).Decode(t); err != nil {
|
|
||||||
return 0, err
|
|
||||||
}
|
|
||||||
// strError code descriptions:
|
|
||||||
// 15 invalide trade access token
|
|
||||||
// 16 timeout
|
|
||||||
// 20 wrong contextid
|
|
||||||
// 25 can't send more offers until some is accepted/cancelled...
|
|
||||||
// 26 object is not in our inventory
|
|
||||||
// error code names are in internal/steamlang/enums.go EResult_name
|
|
||||||
if t.StrError != "" {
|
|
||||||
return 0, newSteamErrorf("create error: %v\n", t.StrError)
|
|
||||||
}
|
|
||||||
if resp.StatusCode != 200 {
|
|
||||||
return 0, fmt.Errorf("create error: status code %d", resp.StatusCode)
|
|
||||||
}
|
|
||||||
if t.TradeOfferId == 0 {
|
|
||||||
return 0, newSteamErrorf("create error: steam returned 0 for trade offer id")
|
|
||||||
}
|
|
||||||
return t.TradeOfferId, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (c *Client) GetOwnInventory(contextId uint64, appId uint32) (*inventory.Inventory, error) {
|
|
||||||
return inventory.GetOwnInventory(c.client, contextId, appId)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (c *Client) GetPartnerInventory(other steamid.SteamId, contextId uint64, appId uint32, offerId *uint64) (*inventory.Inventory, error) {
|
|
||||||
return inventory.GetFullInventory(func() (*inventory.PartialInventory, error) {
|
|
||||||
return c.getPartialPartnerInventory(other, contextId, appId, offerId, nil)
|
|
||||||
}, func(start uint) (*inventory.PartialInventory, error) {
|
|
||||||
return c.getPartialPartnerInventory(other, contextId, appId, offerId, &start)
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
func (c *Client) getPartialPartnerInventory(other steamid.SteamId, contextId uint64, appId uint32, offerId *uint64, start *uint) (*inventory.PartialInventory, error) {
|
|
||||||
data := map[string]string{
|
|
||||||
"sessionid": c.sessionId,
|
|
||||||
"partner": other.ToString(),
|
|
||||||
"contextid": strconv.FormatUint(contextId, 10),
|
|
||||||
"appid": strconv.FormatUint(uint64(appId), 10),
|
|
||||||
}
|
|
||||||
if start != nil {
|
|
||||||
data["start"] = strconv.FormatUint(uint64(*start), 10)
|
|
||||||
}
|
|
||||||
|
|
||||||
baseUrl := "https://steamcommunity.com/tradeoffer/%v/"
|
|
||||||
if offerId != nil {
|
|
||||||
baseUrl = fmt.Sprintf(baseUrl, *offerId)
|
|
||||||
} else {
|
|
||||||
baseUrl = fmt.Sprintf(baseUrl, "new")
|
|
||||||
}
|
|
||||||
|
|
||||||
req, err := http.NewRequest("GET", baseUrl+"partnerinventory/?"+netutil.ToUrlValues(data).Encode(), nil)
|
|
||||||
if err != nil {
|
|
||||||
panic(err)
|
|
||||||
}
|
|
||||||
req.Header.Add("Referer", baseUrl+"?partner="+strconv.FormatUint(uint64(other.GetAccountId()), 10))
|
|
||||||
|
|
||||||
return inventory.DoInventoryRequest(c.client, req)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Can be used to verify accepted tradeoffer and find out received asset ids
|
|
||||||
func (c *Client) GetTradeReceipt(tradeId uint64) ([]*TradeReceiptItem, error) {
|
|
||||||
url := fmt.Sprintf("https://steamcommunity.com/trade/%d/receipt", tradeId)
|
|
||||||
resp, err := c.client.Get(url)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
defer resp.Body.Close()
|
|
||||||
respBody, err := ioutil.ReadAll(resp.Body)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
items, err := parseTradeReceipt(respBody)
|
|
||||||
if err != nil {
|
|
||||||
return nil, newSteamErrorf("failed to parse trade receipt: %v", err)
|
|
||||||
}
|
|
||||||
return items, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// Get duration of escrow in days. Call this before sending a trade offer
|
|
||||||
func (c *Client) GetPartnerEscrowDuration(other steamid.SteamId, accessToken *string) (*EscrowDuration, error) {
|
|
||||||
data := map[string]string{
|
|
||||||
"partner": strconv.FormatUint(uint64(other.GetAccountId()), 10),
|
|
||||||
}
|
|
||||||
if accessToken != nil {
|
|
||||||
data["token"] = *accessToken
|
|
||||||
}
|
|
||||||
return c.getEscrowDuration("https://steamcommunity.com/tradeoffer/new/?" + netutil.ToUrlValues(data).Encode())
|
|
||||||
}
|
|
||||||
|
|
||||||
// Get duration of escrow in days. Call this after receiving a trade offer
|
|
||||||
func (c *Client) GetOfferEscrowDuration(offerId uint64) (*EscrowDuration, error) {
|
|
||||||
return c.getEscrowDuration("http://steamcommunity.com/tradeoffer/" + strconv.FormatUint(offerId, 10))
|
|
||||||
}
|
|
||||||
|
|
||||||
func (c *Client) getEscrowDuration(queryUrl string) (*EscrowDuration, error) {
|
|
||||||
resp, err := c.client.Get(queryUrl)
|
|
||||||
if err != nil {
|
|
||||||
return nil, fmt.Errorf("failed to retrieve escrow duration: %v", err)
|
|
||||||
}
|
|
||||||
defer resp.Body.Close()
|
|
||||||
respBody, err := ioutil.ReadAll(resp.Body)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
escrowDuration, err := parseEscrowDuration(respBody)
|
|
||||||
if err != nil {
|
|
||||||
return nil, newSteamErrorf("failed to parse escrow duration: %v", err)
|
|
||||||
}
|
|
||||||
return escrowDuration, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (c *Client) GetOfferWithRetry(offerId uint64, retryCount int, retryDelay time.Duration) (*TradeOfferResult, error) {
|
|
||||||
var res *TradeOfferResult
|
|
||||||
return res, withRetry(
|
|
||||||
func() (err error) {
|
|
||||||
res, err = c.GetOffer(offerId)
|
|
||||||
return err
|
|
||||||
}, retryCount, retryDelay)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (c *Client) GetOffersWithRetry(getSent bool, getReceived bool, getDescriptions bool, activeOnly bool, historicalOnly bool, timeHistoricalCutoff *uint32, retryCount int, retryDelay time.Duration) (*TradeOffersResult, error) {
|
|
||||||
var res *TradeOffersResult
|
|
||||||
return res, withRetry(
|
|
||||||
func() (err error) {
|
|
||||||
res, err = c.GetOffers(getSent, getReceived, getDescriptions, activeOnly, historicalOnly, timeHistoricalCutoff)
|
|
||||||
return err
|
|
||||||
}, retryCount, retryDelay)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (c *Client) DeclineWithRetry(offerId uint64, retryCount int, retryDelay time.Duration) error {
|
|
||||||
return withRetry(
|
|
||||||
func() error {
|
|
||||||
return c.Decline(offerId)
|
|
||||||
}, retryCount, retryDelay)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (c *Client) CancelWithRetry(offerId uint64, retryCount int, retryDelay time.Duration) error {
|
|
||||||
return withRetry(
|
|
||||||
func() error {
|
|
||||||
return c.Cancel(offerId)
|
|
||||||
}, retryCount, retryDelay)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (c *Client) AcceptWithRetry(offerId uint64, retryCount int, retryDelay time.Duration) error {
|
|
||||||
return withRetry(
|
|
||||||
func() error {
|
|
||||||
return c.Accept(offerId)
|
|
||||||
}, retryCount, retryDelay)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (c *Client) CreateWithRetry(other steamid.SteamId, accessToken *string, myItems, theirItems []TradeItem, counteredOfferId *uint64, message string, retryCount int, retryDelay time.Duration) (uint64, error) {
|
|
||||||
var res uint64
|
|
||||||
return res, withRetry(
|
|
||||||
func() (err error) {
|
|
||||||
res, err = c.Create(other, accessToken, myItems, theirItems, counteredOfferId, message)
|
|
||||||
return err
|
|
||||||
}, retryCount, retryDelay)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (c *Client) GetOwnInventoryWithRetry(contextId uint64, appId uint32, retryCount int, retryDelay time.Duration) (*inventory.Inventory, error) {
|
|
||||||
var res *inventory.Inventory
|
|
||||||
return res, withRetry(
|
|
||||||
func() (err error) {
|
|
||||||
res, err = c.GetOwnInventory(contextId, appId)
|
|
||||||
return err
|
|
||||||
}, retryCount, retryDelay)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (c *Client) GetPartnerInventoryWithRetry(other steamid.SteamId, contextId uint64, appId uint32, offerId *uint64, retryCount int, retryDelay time.Duration) (*inventory.Inventory, error) {
|
|
||||||
var res *inventory.Inventory
|
|
||||||
return res, withRetry(
|
|
||||||
func() (err error) {
|
|
||||||
res, err = c.GetPartnerInventory(other, contextId, appId, offerId)
|
|
||||||
return err
|
|
||||||
}, retryCount, retryDelay)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (c *Client) GetTradeReceiptWithRetry(tradeId uint64, retryCount int, retryDelay time.Duration) ([]*TradeReceiptItem, error) {
|
|
||||||
var res []*TradeReceiptItem
|
|
||||||
return res, withRetry(
|
|
||||||
func() (err error) {
|
|
||||||
res, err = c.GetTradeReceipt(tradeId)
|
|
||||||
return err
|
|
||||||
}, retryCount, retryDelay)
|
|
||||||
}
|
|
||||||
|
|
||||||
func withRetry(f func() error, retryCount int, retryDelay time.Duration) error {
|
|
||||||
if retryCount <= 0 {
|
|
||||||
panic("retry count must be more than 0")
|
|
||||||
}
|
|
||||||
i := 0
|
|
||||||
for {
|
|
||||||
i++
|
|
||||||
if err := f(); err != nil {
|
|
||||||
// If we got steam error do not retry
|
|
||||||
if _, ok := err.(*SteamError); ok {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
if i == retryCount {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
time.Sleep(retryDelay)
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
break
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
|
19
vendor/github.com/Philipp15b/go-steam/tradeoffer/error.go
generated
vendored
19
vendor/github.com/Philipp15b/go-steam/tradeoffer/error.go
generated
vendored
@ -1,19 +0,0 @@
|
|||||||
package tradeoffer
|
|
||||||
|
|
||||||
import (
|
|
||||||
"fmt"
|
|
||||||
)
|
|
||||||
|
|
||||||
// SteamError can be returned by Create, Accept, Decline and Cancel methods.
|
|
||||||
// It means we got response from steam, but it was in unknown format
|
|
||||||
// or request was declined.
|
|
||||||
type SteamError struct {
|
|
||||||
msg string
|
|
||||||
}
|
|
||||||
|
|
||||||
func (e *SteamError) Error() string {
|
|
||||||
return e.msg
|
|
||||||
}
|
|
||||||
func newSteamErrorf(format string, a ...interface{}) *SteamError {
|
|
||||||
return &SteamError{fmt.Sprintf(format, a...)}
|
|
||||||
}
|
|
47
vendor/github.com/Philipp15b/go-steam/tradeoffer/escrow.go
generated
vendored
47
vendor/github.com/Philipp15b/go-steam/tradeoffer/escrow.go
generated
vendored
@ -1,47 +0,0 @@
|
|||||||
package tradeoffer
|
|
||||||
|
|
||||||
import (
|
|
||||||
"errors"
|
|
||||||
"fmt"
|
|
||||||
"regexp"
|
|
||||||
"strconv"
|
|
||||||
)
|
|
||||||
|
|
||||||
type EscrowDuration struct {
|
|
||||||
DaysMyEscrow uint32
|
|
||||||
DaysTheirEscrow uint32
|
|
||||||
}
|
|
||||||
|
|
||||||
func parseEscrowDuration(data []byte) (*EscrowDuration, error) {
|
|
||||||
// TODO: why we are using case insensitive matching?
|
|
||||||
myRegex := regexp.MustCompile("(?i)g_daysMyEscrow[\\s=]+(\\d+);")
|
|
||||||
theirRegex := regexp.MustCompile("(?i)g_daysTheirEscrow[\\s=]+(\\d+);")
|
|
||||||
|
|
||||||
myM := myRegex.FindSubmatch(data)
|
|
||||||
theirM := theirRegex.FindSubmatch(data)
|
|
||||||
|
|
||||||
if myM == nil || theirM == nil {
|
|
||||||
// check if access token is valid
|
|
||||||
notFriendsRegex := regexp.MustCompile(">You are not friends with this user<")
|
|
||||||
notFriendsM := notFriendsRegex.FindSubmatch(data)
|
|
||||||
if notFriendsM == nil {
|
|
||||||
return nil, errors.New("regexp does not match")
|
|
||||||
} else {
|
|
||||||
return nil, errors.New("you are not friends with this user")
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
myEscrow, err := strconv.ParseUint(string(myM[1]), 10, 32)
|
|
||||||
if err != nil {
|
|
||||||
return nil, fmt.Errorf("failed to parse my duration into uint: %v", err)
|
|
||||||
}
|
|
||||||
theirEscrow, err := strconv.ParseUint(string(theirM[1]), 10, 32)
|
|
||||||
if err != nil {
|
|
||||||
return nil, fmt.Errorf("failed to parse their duration into uint: %v", err)
|
|
||||||
}
|
|
||||||
|
|
||||||
return &EscrowDuration{
|
|
||||||
DaysMyEscrow: uint32(myEscrow),
|
|
||||||
DaysTheirEscrow: uint32(theirEscrow),
|
|
||||||
}, nil
|
|
||||||
}
|
|
35
vendor/github.com/Philipp15b/go-steam/tradeoffer/receipt.go
generated
vendored
35
vendor/github.com/Philipp15b/go-steam/tradeoffer/receipt.go
generated
vendored
@ -1,35 +0,0 @@
|
|||||||
package tradeoffer
|
|
||||||
|
|
||||||
import (
|
|
||||||
"encoding/json"
|
|
||||||
"fmt"
|
|
||||||
"github.com/Philipp15b/go-steam/economy/inventory"
|
|
||||||
"regexp"
|
|
||||||
)
|
|
||||||
|
|
||||||
type TradeReceiptItem struct {
|
|
||||||
AssetId uint64 `json:"id,string"`
|
|
||||||
AppId uint32
|
|
||||||
ContextId uint64
|
|
||||||
Owner uint64 `json:",string"`
|
|
||||||
Pos uint32
|
|
||||||
inventory.Description
|
|
||||||
}
|
|
||||||
|
|
||||||
func parseTradeReceipt(data []byte) ([]*TradeReceiptItem, error) {
|
|
||||||
reg := regexp.MustCompile("oItem =\\s+(.+?});")
|
|
||||||
itemMatches := reg.FindAllSubmatch(data, -1)
|
|
||||||
if itemMatches == nil {
|
|
||||||
return nil, fmt.Errorf("items not found\n")
|
|
||||||
}
|
|
||||||
items := make([]*TradeReceiptItem, 0, len(itemMatches))
|
|
||||||
for _, m := range itemMatches {
|
|
||||||
item := new(TradeReceiptItem)
|
|
||||||
err := json.Unmarshal(m[1], &item)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
items = append(items, item)
|
|
||||||
}
|
|
||||||
return items, nil
|
|
||||||
}
|
|
118
vendor/github.com/Philipp15b/go-steam/tradeoffer/tradeoffer.go
generated
vendored
118
vendor/github.com/Philipp15b/go-steam/tradeoffer/tradeoffer.go
generated
vendored
@ -1,118 +0,0 @@
|
|||||||
/*
|
|
||||||
Implements methods to interact with the official Trade Offer API.
|
|
||||||
|
|
||||||
See: https://developer.valvesoftware.com/wiki/Steam_Web_API/IEconService
|
|
||||||
*/
|
|
||||||
package tradeoffer
|
|
||||||
|
|
||||||
import (
|
|
||||||
"encoding/json"
|
|
||||||
"github.com/Philipp15b/go-steam/economy/inventory"
|
|
||||||
"github.com/Philipp15b/go-steam/steamid"
|
|
||||||
)
|
|
||||||
|
|
||||||
type TradeOfferState uint
|
|
||||||
|
|
||||||
const (
|
|
||||||
TradeOfferState_Invalid TradeOfferState = 1 // Invalid
|
|
||||||
TradeOfferState_Active = 2 // This trade offer has been sent, neither party has acted on it yet.
|
|
||||||
TradeOfferState_Accepted = 3 // The trade offer was accepted by the recipient and items were exchanged.
|
|
||||||
TradeOfferState_Countered = 4 // The recipient made a counter offer
|
|
||||||
TradeOfferState_Expired = 5 // The trade offer was not accepted before the expiration date
|
|
||||||
TradeOfferState_Canceled = 6 // The sender cancelled the offer
|
|
||||||
TradeOfferState_Declined = 7 // The recipient declined the offer
|
|
||||||
TradeOfferState_InvalidItems = 8 // Some of the items in the offer are no longer available (indicated by the missing flag in the output)
|
|
||||||
TradeOfferState_CreatedNeedsConfirmation = 9 // The offer hasn't been sent yet and is awaiting email/mobile confirmation. The offer is only visible to the sender.
|
|
||||||
TradeOfferState_CanceledBySecondFactor = 10 // Either party canceled the offer via email/mobile. The offer is visible to both parties, even if the sender canceled it before it was sent.
|
|
||||||
TradeOfferState_InEscrow = 11 // The trade has been placed on hold. The items involved in the trade have all been removed from both parties' inventories and will be automatically delivered in the future.
|
|
||||||
)
|
|
||||||
|
|
||||||
type TradeOfferConfirmationMethod uint
|
|
||||||
|
|
||||||
const (
|
|
||||||
TradeOfferConfirmationMethod_Invalid TradeOfferConfirmationMethod = 0
|
|
||||||
TradeOfferConfirmationMethod_Email = 1
|
|
||||||
TradeOfferConfirmationMethod_MobileApp = 2
|
|
||||||
)
|
|
||||||
|
|
||||||
type Asset struct {
|
|
||||||
AppId uint32 `json:",string"`
|
|
||||||
ContextId uint64 `json:",string"`
|
|
||||||
AssetId uint64 `json:",string"`
|
|
||||||
CurrencyId uint64 `json:",string"`
|
|
||||||
ClassId uint64 `json:",string"`
|
|
||||||
InstanceId uint64 `json:",string"`
|
|
||||||
Amount uint64 `json:",string"`
|
|
||||||
Missing bool
|
|
||||||
}
|
|
||||||
|
|
||||||
type TradeOffer struct {
|
|
||||||
TradeOfferId uint64 `json:",string"`
|
|
||||||
TradeId uint64 `json:",string"`
|
|
||||||
OtherAccountId uint32 `json:"accountid_other"`
|
|
||||||
OtherSteamId steamid.SteamId `json:"-"`
|
|
||||||
Message string `json:"message"`
|
|
||||||
ExpirationTime uint32 `json:"expiraton_time"`
|
|
||||||
State TradeOfferState `json:"trade_offer_state"`
|
|
||||||
ToGive []*Asset `json:"items_to_give"`
|
|
||||||
ToReceive []*Asset `json:"items_to_receive"`
|
|
||||||
IsOurOffer bool `json:"is_our_offer"`
|
|
||||||
TimeCreated uint32 `json:"time_created"`
|
|
||||||
TimeUpdated uint32 `json:"time_updated"`
|
|
||||||
EscrowEndDate uint32 `json:"escrow_end_date"`
|
|
||||||
ConfirmationMethod TradeOfferConfirmationMethod `json:"confirmation_method"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (t *TradeOffer) UnmarshalJSON(data []byte) error {
|
|
||||||
type Alias TradeOffer
|
|
||||||
aux := struct {
|
|
||||||
*Alias
|
|
||||||
}{
|
|
||||||
Alias: (*Alias)(t),
|
|
||||||
}
|
|
||||||
if err := json.Unmarshal(data, &aux); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
if t.OtherAccountId == 0 {
|
|
||||||
t.OtherSteamId = steamid.SteamId(0)
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
t.OtherSteamId = steamid.SteamId(uint64(t.OtherAccountId) + 76561197960265728)
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
type TradeOffersResult struct {
|
|
||||||
Sent []*TradeOffer `json:"trade_offers_sent"`
|
|
||||||
Received []*TradeOffer `json:"trade_offers_received"`
|
|
||||||
Descriptions []*Description
|
|
||||||
}
|
|
||||||
|
|
||||||
type TradeOfferResult struct {
|
|
||||||
Offer *TradeOffer
|
|
||||||
Descriptions []*Description
|
|
||||||
}
|
|
||||||
type Description struct {
|
|
||||||
AppId uint32 `json:"appid"`
|
|
||||||
ClassId uint64 `json:"classid,string"`
|
|
||||||
InstanceId uint64 `json:"instanceid,string"`
|
|
||||||
|
|
||||||
IconUrl string `json:"icon_url"`
|
|
||||||
IconUrlLarge string `json:"icon_url_large"`
|
|
||||||
|
|
||||||
Name string
|
|
||||||
MarketName string `json:"market_name"`
|
|
||||||
MarketHashName string `json:"market_hash_name"`
|
|
||||||
|
|
||||||
// Colors in hex, for example `B2B2B2`
|
|
||||||
NameColor string `json:"name_color"`
|
|
||||||
BackgroundColor string `json:"background_color"`
|
|
||||||
|
|
||||||
Type string
|
|
||||||
|
|
||||||
Tradable bool `json:"tradable"`
|
|
||||||
Commodity bool `json:"commodity"`
|
|
||||||
MarketTradableRestriction uint32 `json:"market_tradable_restriction"`
|
|
||||||
|
|
||||||
Descriptions inventory.DescriptionLines `json:"descriptions"`
|
|
||||||
Actions []*inventory.Action `json:"actions"`
|
|
||||||
}
|
|
2
vendor/github.com/alecthomas/log4go/.gitignore
generated
vendored
Normal file
2
vendor/github.com/alecthomas/log4go/.gitignore
generated
vendored
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
*.sw[op]
|
||||||
|
.DS_Store
|
14
vendor/github.com/alecthomas/log4go/README
generated
vendored
Normal file
14
vendor/github.com/alecthomas/log4go/README
generated
vendored
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
# This is an unmaintained fork, left only so it doesn't break imports.
|
||||||
|
|
||||||
|
Please see http://log4go.googlecode.com/
|
||||||
|
|
||||||
|
Installation:
|
||||||
|
- Run `goinstall log4go.googlecode.com/hg`
|
||||||
|
|
||||||
|
Usage:
|
||||||
|
- Add the following import:
|
||||||
|
import l4g "log4go.googlecode.com/hg"
|
||||||
|
|
||||||
|
Acknowledgements:
|
||||||
|
- pomack
|
||||||
|
For providing awesome patches to bring log4go up to the latest Go spec
|
14
vendor/github.com/alecthomas/log4go/examples/ConsoleLogWriter_Manual.go
generated
vendored
14
vendor/github.com/alecthomas/log4go/examples/ConsoleLogWriter_Manual.go
generated
vendored
@ -1,14 +0,0 @@
|
|||||||
package main
|
|
||||||
|
|
||||||
import (
|
|
||||||
"time"
|
|
||||||
)
|
|
||||||
|
|
||||||
import l4g "code.google.com/p/log4go"
|
|
||||||
|
|
||||||
func main() {
|
|
||||||
log := l4g.NewLogger()
|
|
||||||
defer log.Close()
|
|
||||||
log.AddFilter("stdout", l4g.DEBUG, l4g.NewConsoleLogWriter())
|
|
||||||
log.Info("The time is now: %s", time.Now().Format("15:04:05 MST 2006/01/02"))
|
|
||||||
}
|
|
57
vendor/github.com/alecthomas/log4go/examples/FileLogWriter_Manual.go
generated
vendored
57
vendor/github.com/alecthomas/log4go/examples/FileLogWriter_Manual.go
generated
vendored
@ -1,57 +0,0 @@
|
|||||||
package main
|
|
||||||
|
|
||||||
import (
|
|
||||||
"bufio"
|
|
||||||
"fmt"
|
|
||||||
"io"
|
|
||||||
"os"
|
|
||||||
"time"
|
|
||||||
)
|
|
||||||
|
|
||||||
import l4g "code.google.com/p/log4go"
|
|
||||||
|
|
||||||
const (
|
|
||||||
filename = "flw.log"
|
|
||||||
)
|
|
||||||
|
|
||||||
func main() {
|
|
||||||
// Get a new logger instance
|
|
||||||
log := l4g.NewLogger()
|
|
||||||
|
|
||||||
// Create a default logger that is logging messages of FINE or higher
|
|
||||||
log.AddFilter("file", l4g.FINE, l4g.NewFileLogWriter(filename, false))
|
|
||||||
log.Close()
|
|
||||||
|
|
||||||
/* Can also specify manually via the following: (these are the defaults) */
|
|
||||||
flw := l4g.NewFileLogWriter(filename, false)
|
|
||||||
flw.SetFormat("[%D %T] [%L] (%S) %M")
|
|
||||||
flw.SetRotate(false)
|
|
||||||
flw.SetRotateSize(0)
|
|
||||||
flw.SetRotateLines(0)
|
|
||||||
flw.SetRotateDaily(false)
|
|
||||||
log.AddFilter("file", l4g.FINE, flw)
|
|
||||||
|
|
||||||
// Log some experimental messages
|
|
||||||
log.Finest("Everything is created now (notice that I will not be printing to the file)")
|
|
||||||
log.Info("The time is now: %s", time.Now().Format("15:04:05 MST 2006/01/02"))
|
|
||||||
log.Critical("Time to close out!")
|
|
||||||
|
|
||||||
// Close the log
|
|
||||||
log.Close()
|
|
||||||
|
|
||||||
// Print what was logged to the file (yes, I know I'm skipping error checking)
|
|
||||||
fd, _ := os.Open(filename)
|
|
||||||
in := bufio.NewReader(fd)
|
|
||||||
fmt.Print("Messages logged to file were: (line numbers not included)\n")
|
|
||||||
for lineno := 1; ; lineno++ {
|
|
||||||
line, err := in.ReadString('\n')
|
|
||||||
if err == io.EOF {
|
|
||||||
break
|
|
||||||
}
|
|
||||||
fmt.Printf("%3d:\t%s", lineno, line)
|
|
||||||
}
|
|
||||||
fd.Close()
|
|
||||||
|
|
||||||
// Remove the file so it's not lying around
|
|
||||||
os.Remove(filename)
|
|
||||||
}
|
|
42
vendor/github.com/alecthomas/log4go/examples/SimpleNetLogServer.go
generated
vendored
42
vendor/github.com/alecthomas/log4go/examples/SimpleNetLogServer.go
generated
vendored
@ -1,42 +0,0 @@
|
|||||||
package main
|
|
||||||
|
|
||||||
import (
|
|
||||||
"flag"
|
|
||||||
"fmt"
|
|
||||||
"net"
|
|
||||||
"os"
|
|
||||||
)
|
|
||||||
|
|
||||||
var (
|
|
||||||
port = flag.String("p", "12124", "Port number to listen on")
|
|
||||||
)
|
|
||||||
|
|
||||||
func e(err error) {
|
|
||||||
if err != nil {
|
|
||||||
fmt.Printf("Erroring out: %s\n", err)
|
|
||||||
os.Exit(1)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func main() {
|
|
||||||
flag.Parse()
|
|
||||||
|
|
||||||
// Bind to the port
|
|
||||||
bind, err := net.ResolveUDPAddr("0.0.0.0:" + *port)
|
|
||||||
e(err)
|
|
||||||
|
|
||||||
// Create listener
|
|
||||||
listener, err := net.ListenUDP("udp", bind)
|
|
||||||
e(err)
|
|
||||||
|
|
||||||
fmt.Printf("Listening to port %s...\n", *port)
|
|
||||||
for {
|
|
||||||
// read into a new buffer
|
|
||||||
buffer := make([]byte, 1024)
|
|
||||||
_, _, err := listener.ReadFrom(buffer)
|
|
||||||
e(err)
|
|
||||||
|
|
||||||
// log to standard output
|
|
||||||
fmt.Println(string(buffer))
|
|
||||||
}
|
|
||||||
}
|
|
18
vendor/github.com/alecthomas/log4go/examples/SocketLogWriter_Manual.go
generated
vendored
18
vendor/github.com/alecthomas/log4go/examples/SocketLogWriter_Manual.go
generated
vendored
@ -1,18 +0,0 @@
|
|||||||
package main
|
|
||||||
|
|
||||||
import (
|
|
||||||
"time"
|
|
||||||
)
|
|
||||||
|
|
||||||
import l4g "code.google.com/p/log4go"
|
|
||||||
|
|
||||||
func main() {
|
|
||||||
log := l4g.NewLogger()
|
|
||||||
log.AddFilter("network", l4g.FINEST, l4g.NewSocketLogWriter("udp", "192.168.1.255:12124"))
|
|
||||||
|
|
||||||
// Run `nc -u -l -p 12124` or similar before you run this to see the following message
|
|
||||||
log.Info("The time is now: %s", time.Now().Format("15:04:05 MST 2006/01/02"))
|
|
||||||
|
|
||||||
// This makes sure the output stream buffer is written
|
|
||||||
log.Close()
|
|
||||||
}
|
|
13
vendor/github.com/alecthomas/log4go/examples/XMLConfigurationExample.go
generated
vendored
13
vendor/github.com/alecthomas/log4go/examples/XMLConfigurationExample.go
generated
vendored
@ -1,13 +0,0 @@
|
|||||||
package main
|
|
||||||
|
|
||||||
import l4g "code.google.com/p/log4go"
|
|
||||||
|
|
||||||
func main() {
|
|
||||||
// Load the configuration (isn't this easy?)
|
|
||||||
l4g.LoadConfiguration("example.xml")
|
|
||||||
|
|
||||||
// And now we're ready!
|
|
||||||
l4g.Finest("This will only go to those of you really cool UDP kids! If you change enabled=true.")
|
|
||||||
l4g.Debug("Oh no! %d + %d = %d!", 2, 2, 2+2)
|
|
||||||
l4g.Info("About that time, eh chaps?")
|
|
||||||
}
|
|
362
vendor/github.com/armon/consul-api/LICENSE
generated
vendored
362
vendor/github.com/armon/consul-api/LICENSE
generated
vendored
@ -1,362 +0,0 @@
|
|||||||
Mozilla Public License, version 2.0
|
|
||||||
|
|
||||||
1. Definitions
|
|
||||||
|
|
||||||
1.1. "Contributor"
|
|
||||||
|
|
||||||
means each individual or legal entity that creates, contributes to the
|
|
||||||
creation of, or owns Covered Software.
|
|
||||||
|
|
||||||
1.2. "Contributor Version"
|
|
||||||
|
|
||||||
means the combination of the Contributions of others (if any) used by a
|
|
||||||
Contributor and that particular Contributor's Contribution.
|
|
||||||
|
|
||||||
1.3. "Contribution"
|
|
||||||
|
|
||||||
means Covered Software of a particular Contributor.
|
|
||||||
|
|
||||||
1.4. "Covered Software"
|
|
||||||
|
|
||||||
means Source Code Form to which the initial Contributor has attached the
|
|
||||||
notice in Exhibit A, the Executable Form of such Source Code Form, and
|
|
||||||
Modifications of such Source Code Form, in each case including portions
|
|
||||||
thereof.
|
|
||||||
|
|
||||||
1.5. "Incompatible With Secondary Licenses"
|
|
||||||
means
|
|
||||||
|
|
||||||
a. that the initial Contributor has attached the notice described in
|
|
||||||
Exhibit B to the Covered Software; or
|
|
||||||
|
|
||||||
b. that the Covered Software was made available under the terms of
|
|
||||||
version 1.1 or earlier of the License, but not also under the terms of
|
|
||||||
a Secondary License.
|
|
||||||
|
|
||||||
1.6. "Executable Form"
|
|
||||||
|
|
||||||
means any form of the work other than Source Code Form.
|
|
||||||
|
|
||||||
1.7. "Larger Work"
|
|
||||||
|
|
||||||
means a work that combines Covered Software with other material, in a
|
|
||||||
separate file or files, that is not Covered Software.
|
|
||||||
|
|
||||||
1.8. "License"
|
|
||||||
|
|
||||||
means this document.
|
|
||||||
|
|
||||||
1.9. "Licensable"
|
|
||||||
|
|
||||||
means having the right to grant, to the maximum extent possible, whether
|
|
||||||
at the time of the initial grant or subsequently, any and all of the
|
|
||||||
rights conveyed by this License.
|
|
||||||
|
|
||||||
1.10. "Modifications"
|
|
||||||
|
|
||||||
means any of the following:
|
|
||||||
|
|
||||||
a. any file in Source Code Form that results from an addition to,
|
|
||||||
deletion from, or modification of the contents of Covered Software; or
|
|
||||||
|
|
||||||
b. any new file in Source Code Form that contains any Covered Software.
|
|
||||||
|
|
||||||
1.11. "Patent Claims" of a Contributor
|
|
||||||
|
|
||||||
means any patent claim(s), including without limitation, method,
|
|
||||||
process, and apparatus claims, in any patent Licensable by such
|
|
||||||
Contributor that would be infringed, but for the grant of the License,
|
|
||||||
by the making, using, selling, offering for sale, having made, import,
|
|
||||||
or transfer of either its Contributions or its Contributor Version.
|
|
||||||
|
|
||||||
1.12. "Secondary License"
|
|
||||||
|
|
||||||
means either the GNU General Public License, Version 2.0, the GNU Lesser
|
|
||||||
General Public License, Version 2.1, the GNU Affero General Public
|
|
||||||
License, Version 3.0, or any later versions of those licenses.
|
|
||||||
|
|
||||||
1.13. "Source Code Form"
|
|
||||||
|
|
||||||
means the form of the work preferred for making modifications.
|
|
||||||
|
|
||||||
1.14. "You" (or "Your")
|
|
||||||
|
|
||||||
means an individual or a legal entity exercising rights under this
|
|
||||||
License. For legal entities, "You" includes any entity that controls, is
|
|
||||||
controlled by, or is under common control with You. For purposes of this
|
|
||||||
definition, "control" means (a) the power, direct or indirect, to cause
|
|
||||||
the direction or management of such entity, whether by contract or
|
|
||||||
otherwise, or (b) ownership of more than fifty percent (50%) of the
|
|
||||||
outstanding shares or beneficial ownership of such entity.
|
|
||||||
|
|
||||||
|
|
||||||
2. License Grants and Conditions
|
|
||||||
|
|
||||||
2.1. Grants
|
|
||||||
|
|
||||||
Each Contributor hereby grants You a world-wide, royalty-free,
|
|
||||||
non-exclusive license:
|
|
||||||
|
|
||||||
a. under intellectual property rights (other than patent or trademark)
|
|
||||||
Licensable by such Contributor to use, reproduce, make available,
|
|
||||||
modify, display, perform, distribute, and otherwise exploit its
|
|
||||||
Contributions, either on an unmodified basis, with Modifications, or
|
|
||||||
as part of a Larger Work; and
|
|
||||||
|
|
||||||
b. under Patent Claims of such Contributor to make, use, sell, offer for
|
|
||||||
sale, have made, import, and otherwise transfer either its
|
|
||||||
Contributions or its Contributor Version.
|
|
||||||
|
|
||||||
2.2. Effective Date
|
|
||||||
|
|
||||||
The licenses granted in Section 2.1 with respect to any Contribution
|
|
||||||
become effective for each Contribution on the date the Contributor first
|
|
||||||
distributes such Contribution.
|
|
||||||
|
|
||||||
2.3. Limitations on Grant Scope
|
|
||||||
|
|
||||||
The licenses granted in this Section 2 are the only rights granted under
|
|
||||||
this License. No additional rights or licenses will be implied from the
|
|
||||||
distribution or licensing of Covered Software under this License.
|
|
||||||
Notwithstanding Section 2.1(b) above, no patent license is granted by a
|
|
||||||
Contributor:
|
|
||||||
|
|
||||||
a. for any code that a Contributor has removed from Covered Software; or
|
|
||||||
|
|
||||||
b. for infringements caused by: (i) Your and any other third party's
|
|
||||||
modifications of Covered Software, or (ii) the combination of its
|
|
||||||
Contributions with other software (except as part of its Contributor
|
|
||||||
Version); or
|
|
||||||
|
|
||||||
c. under Patent Claims infringed by Covered Software in the absence of
|
|
||||||
its Contributions.
|
|
||||||
|
|
||||||
This License does not grant any rights in the trademarks, service marks,
|
|
||||||
or logos of any Contributor (except as may be necessary to comply with
|
|
||||||
the notice requirements in Section 3.4).
|
|
||||||
|
|
||||||
2.4. Subsequent Licenses
|
|
||||||
|
|
||||||
No Contributor makes additional grants as a result of Your choice to
|
|
||||||
distribute the Covered Software under a subsequent version of this
|
|
||||||
License (see Section 10.2) or under the terms of a Secondary License (if
|
|
||||||
permitted under the terms of Section 3.3).
|
|
||||||
|
|
||||||
2.5. Representation
|
|
||||||
|
|
||||||
Each Contributor represents that the Contributor believes its
|
|
||||||
Contributions are its original creation(s) or it has sufficient rights to
|
|
||||||
grant the rights to its Contributions conveyed by this License.
|
|
||||||
|
|
||||||
2.6. Fair Use
|
|
||||||
|
|
||||||
This License is not intended to limit any rights You have under
|
|
||||||
applicable copyright doctrines of fair use, fair dealing, or other
|
|
||||||
equivalents.
|
|
||||||
|
|
||||||
2.7. Conditions
|
|
||||||
|
|
||||||
Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted in
|
|
||||||
Section 2.1.
|
|
||||||
|
|
||||||
|
|
||||||
3. Responsibilities
|
|
||||||
|
|
||||||
3.1. Distribution of Source Form
|
|
||||||
|
|
||||||
All distribution of Covered Software in Source Code Form, including any
|
|
||||||
Modifications that You create or to which You contribute, must be under
|
|
||||||
the terms of this License. You must inform recipients that the Source
|
|
||||||
Code Form of the Covered Software is governed by the terms of this
|
|
||||||
License, and how they can obtain a copy of this License. You may not
|
|
||||||
attempt to alter or restrict the recipients' rights in the Source Code
|
|
||||||
Form.
|
|
||||||
|
|
||||||
3.2. Distribution of Executable Form
|
|
||||||
|
|
||||||
If You distribute Covered Software in Executable Form then:
|
|
||||||
|
|
||||||
a. such Covered Software must also be made available in Source Code Form,
|
|
||||||
as described in Section 3.1, and You must inform recipients of the
|
|
||||||
Executable Form how they can obtain a copy of such Source Code Form by
|
|
||||||
reasonable means in a timely manner, at a charge no more than the cost
|
|
||||||
of distribution to the recipient; and
|
|
||||||
|
|
||||||
b. You may distribute such Executable Form under the terms of this
|
|
||||||
License, or sublicense it under different terms, provided that the
|
|
||||||
license for the Executable Form does not attempt to limit or alter the
|
|
||||||
recipients' rights in the Source Code Form under this License.
|
|
||||||
|
|
||||||
3.3. Distribution of a Larger Work
|
|
||||||
|
|
||||||
You may create and distribute a Larger Work under terms of Your choice,
|
|
||||||
provided that You also comply with the requirements of this License for
|
|
||||||
the Covered Software. If the Larger Work is a combination of Covered
|
|
||||||
Software with a work governed by one or more Secondary Licenses, and the
|
|
||||||
Covered Software is not Incompatible With Secondary Licenses, this
|
|
||||||
License permits You to additionally distribute such Covered Software
|
|
||||||
under the terms of such Secondary License(s), so that the recipient of
|
|
||||||
the Larger Work may, at their option, further distribute the Covered
|
|
||||||
Software under the terms of either this License or such Secondary
|
|
||||||
License(s).
|
|
||||||
|
|
||||||
3.4. Notices
|
|
||||||
|
|
||||||
You may not remove or alter the substance of any license notices
|
|
||||||
(including copyright notices, patent notices, disclaimers of warranty, or
|
|
||||||
limitations of liability) contained within the Source Code Form of the
|
|
||||||
Covered Software, except that You may alter any license notices to the
|
|
||||||
extent required to remedy known factual inaccuracies.
|
|
||||||
|
|
||||||
3.5. Application of Additional Terms
|
|
||||||
|
|
||||||
You may choose to offer, and to charge a fee for, warranty, support,
|
|
||||||
indemnity or liability obligations to one or more recipients of Covered
|
|
||||||
Software. However, You may do so only on Your own behalf, and not on
|
|
||||||
behalf of any Contributor. You must make it absolutely clear that any
|
|
||||||
such warranty, support, indemnity, or liability obligation is offered by
|
|
||||||
You alone, and You hereby agree to indemnify every Contributor for any
|
|
||||||
liability incurred by such Contributor as a result of warranty, support,
|
|
||||||
indemnity or liability terms You offer. You may include additional
|
|
||||||
disclaimers of warranty and limitations of liability specific to any
|
|
||||||
jurisdiction.
|
|
||||||
|
|
||||||
4. Inability to Comply Due to Statute or Regulation
|
|
||||||
|
|
||||||
If it is impossible for You to comply with any of the terms of this License
|
|
||||||
with respect to some or all of the Covered Software due to statute,
|
|
||||||
judicial order, or regulation then You must: (a) comply with the terms of
|
|
||||||
this License to the maximum extent possible; and (b) describe the
|
|
||||||
limitations and the code they affect. Such description must be placed in a
|
|
||||||
text file included with all distributions of the Covered Software under
|
|
||||||
this License. Except to the extent prohibited by statute or regulation,
|
|
||||||
such description must be sufficiently detailed for a recipient of ordinary
|
|
||||||
skill to be able to understand it.
|
|
||||||
|
|
||||||
5. Termination
|
|
||||||
|
|
||||||
5.1. The rights granted under this License will terminate automatically if You
|
|
||||||
fail to comply with any of its terms. However, if You become compliant,
|
|
||||||
then the rights granted under this License from a particular Contributor
|
|
||||||
are reinstated (a) provisionally, unless and until such Contributor
|
|
||||||
explicitly and finally terminates Your grants, and (b) on an ongoing
|
|
||||||
basis, if such Contributor fails to notify You of the non-compliance by
|
|
||||||
some reasonable means prior to 60 days after You have come back into
|
|
||||||
compliance. Moreover, Your grants from a particular Contributor are
|
|
||||||
reinstated on an ongoing basis if such Contributor notifies You of the
|
|
||||||
non-compliance by some reasonable means, this is the first time You have
|
|
||||||
received notice of non-compliance with this License from such
|
|
||||||
Contributor, and You become compliant prior to 30 days after Your receipt
|
|
||||||
of the notice.
|
|
||||||
|
|
||||||
5.2. If You initiate litigation against any entity by asserting a patent
|
|
||||||
infringement claim (excluding declaratory judgment actions,
|
|
||||||
counter-claims, and cross-claims) alleging that a Contributor Version
|
|
||||||
directly or indirectly infringes any patent, then the rights granted to
|
|
||||||
You by any and all Contributors for the Covered Software under Section
|
|
||||||
2.1 of this License shall terminate.
|
|
||||||
|
|
||||||
5.3. In the event of termination under Sections 5.1 or 5.2 above, all end user
|
|
||||||
license agreements (excluding distributors and resellers) which have been
|
|
||||||
validly granted by You or Your distributors under this License prior to
|
|
||||||
termination shall survive termination.
|
|
||||||
|
|
||||||
6. Disclaimer of Warranty
|
|
||||||
|
|
||||||
Covered Software is provided under this License on an "as is" basis,
|
|
||||||
without warranty of any kind, either expressed, implied, or statutory,
|
|
||||||
including, without limitation, warranties that the Covered Software is free
|
|
||||||
of defects, merchantable, fit for a particular purpose or non-infringing.
|
|
||||||
The entire risk as to the quality and performance of the Covered Software
|
|
||||||
is with You. Should any Covered Software prove defective in any respect,
|
|
||||||
You (not any Contributor) assume the cost of any necessary servicing,
|
|
||||||
repair, or correction. This disclaimer of warranty constitutes an essential
|
|
||||||
part of this License. No use of any Covered Software is authorized under
|
|
||||||
this License except under this disclaimer.
|
|
||||||
|
|
||||||
7. Limitation of Liability
|
|
||||||
|
|
||||||
Under no circumstances and under no legal theory, whether tort (including
|
|
||||||
negligence), contract, or otherwise, shall any Contributor, or anyone who
|
|
||||||
distributes Covered Software as permitted above, be liable to You for any
|
|
||||||
direct, indirect, special, incidental, or consequential damages of any
|
|
||||||
character including, without limitation, damages for lost profits, loss of
|
|
||||||
goodwill, work stoppage, computer failure or malfunction, or any and all
|
|
||||||
other commercial damages or losses, even if such party shall have been
|
|
||||||
informed of the possibility of such damages. This limitation of liability
|
|
||||||
shall not apply to liability for death or personal injury resulting from
|
|
||||||
such party's negligence to the extent applicable law prohibits such
|
|
||||||
limitation. Some jurisdictions do not allow the exclusion or limitation of
|
|
||||||
incidental or consequential damages, so this exclusion and limitation may
|
|
||||||
not apply to You.
|
|
||||||
|
|
||||||
8. Litigation
|
|
||||||
|
|
||||||
Any litigation relating to this License may be brought only in the courts
|
|
||||||
of a jurisdiction where the defendant maintains its principal place of
|
|
||||||
business and such litigation shall be governed by laws of that
|
|
||||||
jurisdiction, without reference to its conflict-of-law provisions. Nothing
|
|
||||||
in this Section shall prevent a party's ability to bring cross-claims or
|
|
||||||
counter-claims.
|
|
||||||
|
|
||||||
9. Miscellaneous
|
|
||||||
|
|
||||||
This License represents the complete agreement concerning the subject
|
|
||||||
matter hereof. If any provision of this License is held to be
|
|
||||||
unenforceable, such provision shall be reformed only to the extent
|
|
||||||
necessary to make it enforceable. Any law or regulation which provides that
|
|
||||||
the language of a contract shall be construed against the drafter shall not
|
|
||||||
be used to construe this License against a Contributor.
|
|
||||||
|
|
||||||
|
|
||||||
10. Versions of the License
|
|
||||||
|
|
||||||
10.1. New Versions
|
|
||||||
|
|
||||||
Mozilla Foundation is the license steward. Except as provided in Section
|
|
||||||
10.3, no one other than the license steward has the right to modify or
|
|
||||||
publish new versions of this License. Each version will be given a
|
|
||||||
distinguishing version number.
|
|
||||||
|
|
||||||
10.2. Effect of New Versions
|
|
||||||
|
|
||||||
You may distribute the Covered Software under the terms of the version
|
|
||||||
of the License under which You originally received the Covered Software,
|
|
||||||
or under the terms of any subsequent version published by the license
|
|
||||||
steward.
|
|
||||||
|
|
||||||
10.3. Modified Versions
|
|
||||||
|
|
||||||
If you create software not governed by this License, and you want to
|
|
||||||
create a new license for such software, you may create and use a
|
|
||||||
modified version of this License if you rename the license and remove
|
|
||||||
any references to the name of the license steward (except to note that
|
|
||||||
such modified license differs from this License).
|
|
||||||
|
|
||||||
10.4. Distributing Source Code Form that is Incompatible With Secondary
|
|
||||||
Licenses If You choose to distribute Source Code Form that is
|
|
||||||
Incompatible With Secondary Licenses under the terms of this version of
|
|
||||||
the License, the notice described in Exhibit B of this License must be
|
|
||||||
attached.
|
|
||||||
|
|
||||||
Exhibit A - Source Code Form License Notice
|
|
||||||
|
|
||||||
This Source Code Form is subject to the
|
|
||||||
terms of the Mozilla Public License, v.
|
|
||||||
2.0. If a copy of the MPL was not
|
|
||||||
distributed with this file, You can
|
|
||||||
obtain one at
|
|
||||||
http://mozilla.org/MPL/2.0/.
|
|
||||||
|
|
||||||
If it is not possible or desirable to put the notice in a particular file,
|
|
||||||
then You may include the notice in a location (such as a LICENSE file in a
|
|
||||||
relevant directory) where a recipient would be likely to look for such a
|
|
||||||
notice.
|
|
||||||
|
|
||||||
You may add additional accurate notices of copyright ownership.
|
|
||||||
|
|
||||||
Exhibit B - "Incompatible With Secondary Licenses" Notice
|
|
||||||
|
|
||||||
This Source Code Form is "Incompatible
|
|
||||||
With Secondary Licenses", as defined by
|
|
||||||
the Mozilla Public License, v. 2.0.
|
|
140
vendor/github.com/armon/consul-api/acl.go
generated
vendored
140
vendor/github.com/armon/consul-api/acl.go
generated
vendored
@ -1,140 +0,0 @@
|
|||||||
package consulapi
|
|
||||||
|
|
||||||
const (
|
|
||||||
// ACLCLientType is the client type token
|
|
||||||
ACLClientType = "client"
|
|
||||||
|
|
||||||
// ACLManagementType is the management type token
|
|
||||||
ACLManagementType = "management"
|
|
||||||
)
|
|
||||||
|
|
||||||
// ACLEntry is used to represent an ACL entry
|
|
||||||
type ACLEntry struct {
|
|
||||||
CreateIndex uint64
|
|
||||||
ModifyIndex uint64
|
|
||||||
ID string
|
|
||||||
Name string
|
|
||||||
Type string
|
|
||||||
Rules string
|
|
||||||
}
|
|
||||||
|
|
||||||
// ACL can be used to query the ACL endpoints
|
|
||||||
type ACL struct {
|
|
||||||
c *Client
|
|
||||||
}
|
|
||||||
|
|
||||||
// ACL returns a handle to the ACL endpoints
|
|
||||||
func (c *Client) ACL() *ACL {
|
|
||||||
return &ACL{c}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Create is used to generate a new token with the given parameters
|
|
||||||
func (a *ACL) Create(acl *ACLEntry, q *WriteOptions) (string, *WriteMeta, error) {
|
|
||||||
r := a.c.newRequest("PUT", "/v1/acl/create")
|
|
||||||
r.setWriteOptions(q)
|
|
||||||
r.obj = acl
|
|
||||||
rtt, resp, err := requireOK(a.c.doRequest(r))
|
|
||||||
if err != nil {
|
|
||||||
return "", nil, err
|
|
||||||
}
|
|
||||||
defer resp.Body.Close()
|
|
||||||
|
|
||||||
wm := &WriteMeta{RequestTime: rtt}
|
|
||||||
var out struct{ ID string }
|
|
||||||
if err := decodeBody(resp, &out); err != nil {
|
|
||||||
return "", nil, err
|
|
||||||
}
|
|
||||||
return out.ID, wm, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// Update is used to update the rules of an existing token
|
|
||||||
func (a *ACL) Update(acl *ACLEntry, q *WriteOptions) (*WriteMeta, error) {
|
|
||||||
r := a.c.newRequest("PUT", "/v1/acl/update")
|
|
||||||
r.setWriteOptions(q)
|
|
||||||
r.obj = acl
|
|
||||||
rtt, resp, err := requireOK(a.c.doRequest(r))
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
defer resp.Body.Close()
|
|
||||||
|
|
||||||
wm := &WriteMeta{RequestTime: rtt}
|
|
||||||
return wm, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// Destroy is used to destroy a given ACL token ID
|
|
||||||
func (a *ACL) Destroy(id string, q *WriteOptions) (*WriteMeta, error) {
|
|
||||||
r := a.c.newRequest("PUT", "/v1/acl/destroy/"+id)
|
|
||||||
r.setWriteOptions(q)
|
|
||||||
rtt, resp, err := requireOK(a.c.doRequest(r))
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
resp.Body.Close()
|
|
||||||
|
|
||||||
wm := &WriteMeta{RequestTime: rtt}
|
|
||||||
return wm, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// Clone is used to return a new token cloned from an existing one
|
|
||||||
func (a *ACL) Clone(id string, q *WriteOptions) (string, *WriteMeta, error) {
|
|
||||||
r := a.c.newRequest("PUT", "/v1/acl/clone/"+id)
|
|
||||||
r.setWriteOptions(q)
|
|
||||||
rtt, resp, err := requireOK(a.c.doRequest(r))
|
|
||||||
if err != nil {
|
|
||||||
return "", nil, err
|
|
||||||
}
|
|
||||||
defer resp.Body.Close()
|
|
||||||
|
|
||||||
wm := &WriteMeta{RequestTime: rtt}
|
|
||||||
var out struct{ ID string }
|
|
||||||
if err := decodeBody(resp, &out); err != nil {
|
|
||||||
return "", nil, err
|
|
||||||
}
|
|
||||||
return out.ID, wm, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// Info is used to query for information about an ACL token
|
|
||||||
func (a *ACL) Info(id string, q *QueryOptions) (*ACLEntry, *QueryMeta, error) {
|
|
||||||
r := a.c.newRequest("GET", "/v1/acl/info/"+id)
|
|
||||||
r.setQueryOptions(q)
|
|
||||||
rtt, resp, err := requireOK(a.c.doRequest(r))
|
|
||||||
if err != nil {
|
|
||||||
return nil, nil, err
|
|
||||||
}
|
|
||||||
defer resp.Body.Close()
|
|
||||||
|
|
||||||
qm := &QueryMeta{}
|
|
||||||
parseQueryMeta(resp, qm)
|
|
||||||
qm.RequestTime = rtt
|
|
||||||
|
|
||||||
var entries []*ACLEntry
|
|
||||||
if err := decodeBody(resp, &entries); err != nil {
|
|
||||||
return nil, nil, err
|
|
||||||
}
|
|
||||||
if len(entries) > 0 {
|
|
||||||
return entries[0], qm, nil
|
|
||||||
}
|
|
||||||
return nil, qm, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// List is used to get all the ACL tokens
|
|
||||||
func (a *ACL) List(q *QueryOptions) ([]*ACLEntry, *QueryMeta, error) {
|
|
||||||
r := a.c.newRequest("GET", "/v1/acl/list")
|
|
||||||
r.setQueryOptions(q)
|
|
||||||
rtt, resp, err := requireOK(a.c.doRequest(r))
|
|
||||||
if err != nil {
|
|
||||||
return nil, nil, err
|
|
||||||
}
|
|
||||||
defer resp.Body.Close()
|
|
||||||
|
|
||||||
qm := &QueryMeta{}
|
|
||||||
parseQueryMeta(resp, qm)
|
|
||||||
qm.RequestTime = rtt
|
|
||||||
|
|
||||||
var entries []*ACLEntry
|
|
||||||
if err := decodeBody(resp, &entries); err != nil {
|
|
||||||
return nil, nil, err
|
|
||||||
}
|
|
||||||
return entries, qm, nil
|
|
||||||
}
|
|
272
vendor/github.com/armon/consul-api/agent.go
generated
vendored
272
vendor/github.com/armon/consul-api/agent.go
generated
vendored
@ -1,272 +0,0 @@
|
|||||||
package consulapi
|
|
||||||
|
|
||||||
import (
|
|
||||||
"fmt"
|
|
||||||
)
|
|
||||||
|
|
||||||
// AgentCheck represents a check known to the agent
|
|
||||||
type AgentCheck struct {
|
|
||||||
Node string
|
|
||||||
CheckID string
|
|
||||||
Name string
|
|
||||||
Status string
|
|
||||||
Notes string
|
|
||||||
Output string
|
|
||||||
ServiceID string
|
|
||||||
ServiceName string
|
|
||||||
}
|
|
||||||
|
|
||||||
// AgentService represents a service known to the agent
|
|
||||||
type AgentService struct {
|
|
||||||
ID string
|
|
||||||
Service string
|
|
||||||
Tags []string
|
|
||||||
Port int
|
|
||||||
}
|
|
||||||
|
|
||||||
// AgentMember represents a cluster member known to the agent
|
|
||||||
type AgentMember struct {
|
|
||||||
Name string
|
|
||||||
Addr string
|
|
||||||
Port uint16
|
|
||||||
Tags map[string]string
|
|
||||||
Status int
|
|
||||||
ProtocolMin uint8
|
|
||||||
ProtocolMax uint8
|
|
||||||
ProtocolCur uint8
|
|
||||||
DelegateMin uint8
|
|
||||||
DelegateMax uint8
|
|
||||||
DelegateCur uint8
|
|
||||||
}
|
|
||||||
|
|
||||||
// AgentServiceRegistration is used to register a new service
|
|
||||||
type AgentServiceRegistration struct {
|
|
||||||
ID string `json:",omitempty"`
|
|
||||||
Name string `json:",omitempty"`
|
|
||||||
Tags []string `json:",omitempty"`
|
|
||||||
Port int `json:",omitempty"`
|
|
||||||
Check *AgentServiceCheck
|
|
||||||
}
|
|
||||||
|
|
||||||
// AgentCheckRegistration is used to register a new check
|
|
||||||
type AgentCheckRegistration struct {
|
|
||||||
ID string `json:",omitempty"`
|
|
||||||
Name string `json:",omitempty"`
|
|
||||||
Notes string `json:",omitempty"`
|
|
||||||
AgentServiceCheck
|
|
||||||
}
|
|
||||||
|
|
||||||
// AgentServiceCheck is used to create an associated
|
|
||||||
// check for a service
|
|
||||||
type AgentServiceCheck struct {
|
|
||||||
Script string `json:",omitempty"`
|
|
||||||
Interval string `json:",omitempty"`
|
|
||||||
TTL string `json:",omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
// Agent can be used to query the Agent endpoints
|
|
||||||
type Agent struct {
|
|
||||||
c *Client
|
|
||||||
|
|
||||||
// cache the node name
|
|
||||||
nodeName string
|
|
||||||
}
|
|
||||||
|
|
||||||
// Agent returns a handle to the agent endpoints
|
|
||||||
func (c *Client) Agent() *Agent {
|
|
||||||
return &Agent{c: c}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Self is used to query the agent we are speaking to for
|
|
||||||
// information about itself
|
|
||||||
func (a *Agent) Self() (map[string]map[string]interface{}, error) {
|
|
||||||
r := a.c.newRequest("GET", "/v1/agent/self")
|
|
||||||
_, resp, err := requireOK(a.c.doRequest(r))
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
defer resp.Body.Close()
|
|
||||||
|
|
||||||
var out map[string]map[string]interface{}
|
|
||||||
if err := decodeBody(resp, &out); err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
return out, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// NodeName is used to get the node name of the agent
|
|
||||||
func (a *Agent) NodeName() (string, error) {
|
|
||||||
if a.nodeName != "" {
|
|
||||||
return a.nodeName, nil
|
|
||||||
}
|
|
||||||
info, err := a.Self()
|
|
||||||
if err != nil {
|
|
||||||
return "", err
|
|
||||||
}
|
|
||||||
name := info["Config"]["NodeName"].(string)
|
|
||||||
a.nodeName = name
|
|
||||||
return name, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// Checks returns the locally registered checks
|
|
||||||
func (a *Agent) Checks() (map[string]*AgentCheck, error) {
|
|
||||||
r := a.c.newRequest("GET", "/v1/agent/checks")
|
|
||||||
_, resp, err := requireOK(a.c.doRequest(r))
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
defer resp.Body.Close()
|
|
||||||
|
|
||||||
var out map[string]*AgentCheck
|
|
||||||
if err := decodeBody(resp, &out); err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
return out, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// Services returns the locally registered services
|
|
||||||
func (a *Agent) Services() (map[string]*AgentService, error) {
|
|
||||||
r := a.c.newRequest("GET", "/v1/agent/services")
|
|
||||||
_, resp, err := requireOK(a.c.doRequest(r))
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
defer resp.Body.Close()
|
|
||||||
|
|
||||||
var out map[string]*AgentService
|
|
||||||
if err := decodeBody(resp, &out); err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
return out, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// Members returns the known gossip members. The WAN
|
|
||||||
// flag can be used to query a server for WAN members.
|
|
||||||
func (a *Agent) Members(wan bool) ([]*AgentMember, error) {
|
|
||||||
r := a.c.newRequest("GET", "/v1/agent/members")
|
|
||||||
if wan {
|
|
||||||
r.params.Set("wan", "1")
|
|
||||||
}
|
|
||||||
_, resp, err := requireOK(a.c.doRequest(r))
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
defer resp.Body.Close()
|
|
||||||
|
|
||||||
var out []*AgentMember
|
|
||||||
if err := decodeBody(resp, &out); err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
return out, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// ServiceRegister is used to register a new service with
|
|
||||||
// the local agent
|
|
||||||
func (a *Agent) ServiceRegister(service *AgentServiceRegistration) error {
|
|
||||||
r := a.c.newRequest("PUT", "/v1/agent/service/register")
|
|
||||||
r.obj = service
|
|
||||||
_, resp, err := requireOK(a.c.doRequest(r))
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
resp.Body.Close()
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// ServiceDeregister is used to deregister a service with
|
|
||||||
// the local agent
|
|
||||||
func (a *Agent) ServiceDeregister(serviceID string) error {
|
|
||||||
r := a.c.newRequest("PUT", "/v1/agent/service/deregister/"+serviceID)
|
|
||||||
_, resp, err := requireOK(a.c.doRequest(r))
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
resp.Body.Close()
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// PassTTL is used to set a TTL check to the passing state
|
|
||||||
func (a *Agent) PassTTL(checkID, note string) error {
|
|
||||||
return a.UpdateTTL(checkID, note, "pass")
|
|
||||||
}
|
|
||||||
|
|
||||||
// WarnTTL is used to set a TTL check to the warning state
|
|
||||||
func (a *Agent) WarnTTL(checkID, note string) error {
|
|
||||||
return a.UpdateTTL(checkID, note, "warn")
|
|
||||||
}
|
|
||||||
|
|
||||||
// FailTTL is used to set a TTL check to the failing state
|
|
||||||
func (a *Agent) FailTTL(checkID, note string) error {
|
|
||||||
return a.UpdateTTL(checkID, note, "fail")
|
|
||||||
}
|
|
||||||
|
|
||||||
// UpdateTTL is used to update the TTL of a check
|
|
||||||
func (a *Agent) UpdateTTL(checkID, note, status string) error {
|
|
||||||
switch status {
|
|
||||||
case "pass":
|
|
||||||
case "warn":
|
|
||||||
case "fail":
|
|
||||||
default:
|
|
||||||
return fmt.Errorf("Invalid status: %s", status)
|
|
||||||
}
|
|
||||||
endpoint := fmt.Sprintf("/v1/agent/check/%s/%s", status, checkID)
|
|
||||||
r := a.c.newRequest("PUT", endpoint)
|
|
||||||
r.params.Set("note", note)
|
|
||||||
_, resp, err := requireOK(a.c.doRequest(r))
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
resp.Body.Close()
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// CheckRegister is used to register a new check with
|
|
||||||
// the local agent
|
|
||||||
func (a *Agent) CheckRegister(check *AgentCheckRegistration) error {
|
|
||||||
r := a.c.newRequest("PUT", "/v1/agent/check/register")
|
|
||||||
r.obj = check
|
|
||||||
_, resp, err := requireOK(a.c.doRequest(r))
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
resp.Body.Close()
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// CheckDeregister is used to deregister a check with
|
|
||||||
// the local agent
|
|
||||||
func (a *Agent) CheckDeregister(checkID string) error {
|
|
||||||
r := a.c.newRequest("PUT", "/v1/agent/check/deregister/"+checkID)
|
|
||||||
_, resp, err := requireOK(a.c.doRequest(r))
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
resp.Body.Close()
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// Join is used to instruct the agent to attempt a join to
|
|
||||||
// another cluster member
|
|
||||||
func (a *Agent) Join(addr string, wan bool) error {
|
|
||||||
r := a.c.newRequest("PUT", "/v1/agent/join/"+addr)
|
|
||||||
if wan {
|
|
||||||
r.params.Set("wan", "1")
|
|
||||||
}
|
|
||||||
_, resp, err := requireOK(a.c.doRequest(r))
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
resp.Body.Close()
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// ForceLeave is used to have the agent eject a failed node
|
|
||||||
func (a *Agent) ForceLeave(node string) error {
|
|
||||||
r := a.c.newRequest("PUT", "/v1/agent/force-leave/"+node)
|
|
||||||
_, resp, err := requireOK(a.c.doRequest(r))
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
resp.Body.Close()
|
|
||||||
return nil
|
|
||||||
}
|
|
323
vendor/github.com/armon/consul-api/api.go
generated
vendored
323
vendor/github.com/armon/consul-api/api.go
generated
vendored
@ -1,323 +0,0 @@
|
|||||||
package consulapi
|
|
||||||
|
|
||||||
import (
|
|
||||||
"bytes"
|
|
||||||
"encoding/json"
|
|
||||||
"fmt"
|
|
||||||
"io"
|
|
||||||
"net/http"
|
|
||||||
"net/url"
|
|
||||||
"strconv"
|
|
||||||
"time"
|
|
||||||
)
|
|
||||||
|
|
||||||
// QueryOptions are used to parameterize a query
|
|
||||||
type QueryOptions struct {
|
|
||||||
// Providing a datacenter overwrites the DC provided
|
|
||||||
// by the Config
|
|
||||||
Datacenter string
|
|
||||||
|
|
||||||
// AllowStale allows any Consul server (non-leader) to service
|
|
||||||
// a read. This allows for lower latency and higher throughput
|
|
||||||
AllowStale bool
|
|
||||||
|
|
||||||
// RequireConsistent forces the read to be fully consistent.
|
|
||||||
// This is more expensive but prevents ever performing a stale
|
|
||||||
// read.
|
|
||||||
RequireConsistent bool
|
|
||||||
|
|
||||||
// WaitIndex is used to enable a blocking query. Waits
|
|
||||||
// until the timeout or the next index is reached
|
|
||||||
WaitIndex uint64
|
|
||||||
|
|
||||||
// WaitTime is used to bound the duration of a wait.
|
|
||||||
// Defaults to that of the Config, but can be overriden.
|
|
||||||
WaitTime time.Duration
|
|
||||||
|
|
||||||
// Token is used to provide a per-request ACL token
|
|
||||||
// which overrides the agent's default token.
|
|
||||||
Token string
|
|
||||||
}
|
|
||||||
|
|
||||||
// WriteOptions are used to parameterize a write
|
|
||||||
type WriteOptions struct {
|
|
||||||
// Providing a datacenter overwrites the DC provided
|
|
||||||
// by the Config
|
|
||||||
Datacenter string
|
|
||||||
|
|
||||||
// Token is used to provide a per-request ACL token
|
|
||||||
// which overrides the agent's default token.
|
|
||||||
Token string
|
|
||||||
}
|
|
||||||
|
|
||||||
// QueryMeta is used to return meta data about a query
|
|
||||||
type QueryMeta struct {
|
|
||||||
// LastIndex. This can be used as a WaitIndex to perform
|
|
||||||
// a blocking query
|
|
||||||
LastIndex uint64
|
|
||||||
|
|
||||||
// Time of last contact from the leader for the
|
|
||||||
// server servicing the request
|
|
||||||
LastContact time.Duration
|
|
||||||
|
|
||||||
// Is there a known leader
|
|
||||||
KnownLeader bool
|
|
||||||
|
|
||||||
// How long did the request take
|
|
||||||
RequestTime time.Duration
|
|
||||||
}
|
|
||||||
|
|
||||||
// WriteMeta is used to return meta data about a write
|
|
||||||
type WriteMeta struct {
|
|
||||||
// How long did the request take
|
|
||||||
RequestTime time.Duration
|
|
||||||
}
|
|
||||||
|
|
||||||
// HttpBasicAuth is used to authenticate http client with HTTP Basic Authentication
|
|
||||||
type HttpBasicAuth struct {
|
|
||||||
// Username to use for HTTP Basic Authentication
|
|
||||||
Username string
|
|
||||||
|
|
||||||
// Password to use for HTTP Basic Authentication
|
|
||||||
Password string
|
|
||||||
}
|
|
||||||
|
|
||||||
// Config is used to configure the creation of a client
|
|
||||||
type Config struct {
|
|
||||||
// Address is the address of the Consul server
|
|
||||||
Address string
|
|
||||||
|
|
||||||
// Scheme is the URI scheme for the Consul server
|
|
||||||
Scheme string
|
|
||||||
|
|
||||||
// Datacenter to use. If not provided, the default agent datacenter is used.
|
|
||||||
Datacenter string
|
|
||||||
|
|
||||||
// HttpClient is the client to use. Default will be
|
|
||||||
// used if not provided.
|
|
||||||
HttpClient *http.Client
|
|
||||||
|
|
||||||
// HttpAuth is the auth info to use for http access.
|
|
||||||
HttpAuth *HttpBasicAuth
|
|
||||||
|
|
||||||
// WaitTime limits how long a Watch will block. If not provided,
|
|
||||||
// the agent default values will be used.
|
|
||||||
WaitTime time.Duration
|
|
||||||
|
|
||||||
// Token is used to provide a per-request ACL token
|
|
||||||
// which overrides the agent's default token.
|
|
||||||
Token string
|
|
||||||
}
|
|
||||||
|
|
||||||
// DefaultConfig returns a default configuration for the client
|
|
||||||
func DefaultConfig() *Config {
|
|
||||||
return &Config{
|
|
||||||
Address: "127.0.0.1:8500",
|
|
||||||
Scheme: "http",
|
|
||||||
HttpClient: http.DefaultClient,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Client provides a client to the Consul API
|
|
||||||
type Client struct {
|
|
||||||
config Config
|
|
||||||
}
|
|
||||||
|
|
||||||
// NewClient returns a new client
|
|
||||||
func NewClient(config *Config) (*Client, error) {
|
|
||||||
// bootstrap the config
|
|
||||||
defConfig := DefaultConfig()
|
|
||||||
|
|
||||||
if len(config.Address) == 0 {
|
|
||||||
config.Address = defConfig.Address
|
|
||||||
}
|
|
||||||
|
|
||||||
if len(config.Scheme) == 0 {
|
|
||||||
config.Scheme = defConfig.Scheme
|
|
||||||
}
|
|
||||||
|
|
||||||
if config.HttpClient == nil {
|
|
||||||
config.HttpClient = defConfig.HttpClient
|
|
||||||
}
|
|
||||||
|
|
||||||
client := &Client{
|
|
||||||
config: *config,
|
|
||||||
}
|
|
||||||
return client, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// request is used to help build up a request
|
|
||||||
type request struct {
|
|
||||||
config *Config
|
|
||||||
method string
|
|
||||||
url *url.URL
|
|
||||||
params url.Values
|
|
||||||
body io.Reader
|
|
||||||
obj interface{}
|
|
||||||
}
|
|
||||||
|
|
||||||
// setQueryOptions is used to annotate the request with
|
|
||||||
// additional query options
|
|
||||||
func (r *request) setQueryOptions(q *QueryOptions) {
|
|
||||||
if q == nil {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
if q.Datacenter != "" {
|
|
||||||
r.params.Set("dc", q.Datacenter)
|
|
||||||
}
|
|
||||||
if q.AllowStale {
|
|
||||||
r.params.Set("stale", "")
|
|
||||||
}
|
|
||||||
if q.RequireConsistent {
|
|
||||||
r.params.Set("consistent", "")
|
|
||||||
}
|
|
||||||
if q.WaitIndex != 0 {
|
|
||||||
r.params.Set("index", strconv.FormatUint(q.WaitIndex, 10))
|
|
||||||
}
|
|
||||||
if q.WaitTime != 0 {
|
|
||||||
r.params.Set("wait", durToMsec(q.WaitTime))
|
|
||||||
}
|
|
||||||
if q.Token != "" {
|
|
||||||
r.params.Set("token", q.Token)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// durToMsec converts a duration to a millisecond specified string
|
|
||||||
func durToMsec(dur time.Duration) string {
|
|
||||||
return fmt.Sprintf("%dms", dur/time.Millisecond)
|
|
||||||
}
|
|
||||||
|
|
||||||
// setWriteOptions is used to annotate the request with
|
|
||||||
// additional write options
|
|
||||||
func (r *request) setWriteOptions(q *WriteOptions) {
|
|
||||||
if q == nil {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
if q.Datacenter != "" {
|
|
||||||
r.params.Set("dc", q.Datacenter)
|
|
||||||
}
|
|
||||||
if q.Token != "" {
|
|
||||||
r.params.Set("token", q.Token)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// toHTTP converts the request to an HTTP request
|
|
||||||
func (r *request) toHTTP() (*http.Request, error) {
|
|
||||||
// Encode the query parameters
|
|
||||||
r.url.RawQuery = r.params.Encode()
|
|
||||||
|
|
||||||
// Get the url sring
|
|
||||||
urlRaw := r.url.String()
|
|
||||||
|
|
||||||
// Check if we should encode the body
|
|
||||||
if r.body == nil && r.obj != nil {
|
|
||||||
if b, err := encodeBody(r.obj); err != nil {
|
|
||||||
return nil, err
|
|
||||||
} else {
|
|
||||||
r.body = b
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Create the HTTP request
|
|
||||||
req, err := http.NewRequest(r.method, urlRaw, r.body)
|
|
||||||
|
|
||||||
// Setup auth
|
|
||||||
if err == nil && r.config.HttpAuth != nil {
|
|
||||||
req.SetBasicAuth(r.config.HttpAuth.Username, r.config.HttpAuth.Password)
|
|
||||||
}
|
|
||||||
|
|
||||||
return req, err
|
|
||||||
}
|
|
||||||
|
|
||||||
// newRequest is used to create a new request
|
|
||||||
func (c *Client) newRequest(method, path string) *request {
|
|
||||||
r := &request{
|
|
||||||
config: &c.config,
|
|
||||||
method: method,
|
|
||||||
url: &url.URL{
|
|
||||||
Scheme: c.config.Scheme,
|
|
||||||
Host: c.config.Address,
|
|
||||||
Path: path,
|
|
||||||
},
|
|
||||||
params: make(map[string][]string),
|
|
||||||
}
|
|
||||||
if c.config.Datacenter != "" {
|
|
||||||
r.params.Set("dc", c.config.Datacenter)
|
|
||||||
}
|
|
||||||
if c.config.WaitTime != 0 {
|
|
||||||
r.params.Set("wait", durToMsec(r.config.WaitTime))
|
|
||||||
}
|
|
||||||
if c.config.Token != "" {
|
|
||||||
r.params.Set("token", r.config.Token)
|
|
||||||
}
|
|
||||||
return r
|
|
||||||
}
|
|
||||||
|
|
||||||
// doRequest runs a request with our client
|
|
||||||
func (c *Client) doRequest(r *request) (time.Duration, *http.Response, error) {
|
|
||||||
req, err := r.toHTTP()
|
|
||||||
if err != nil {
|
|
||||||
return 0, nil, err
|
|
||||||
}
|
|
||||||
start := time.Now()
|
|
||||||
resp, err := c.config.HttpClient.Do(req)
|
|
||||||
diff := time.Now().Sub(start)
|
|
||||||
return diff, resp, err
|
|
||||||
}
|
|
||||||
|
|
||||||
// parseQueryMeta is used to help parse query meta-data
|
|
||||||
func parseQueryMeta(resp *http.Response, q *QueryMeta) error {
|
|
||||||
header := resp.Header
|
|
||||||
|
|
||||||
// Parse the X-Consul-Index
|
|
||||||
index, err := strconv.ParseUint(header.Get("X-Consul-Index"), 10, 64)
|
|
||||||
if err != nil {
|
|
||||||
return fmt.Errorf("Failed to parse X-Consul-Index: %v", err)
|
|
||||||
}
|
|
||||||
q.LastIndex = index
|
|
||||||
|
|
||||||
// Parse the X-Consul-LastContact
|
|
||||||
last, err := strconv.ParseUint(header.Get("X-Consul-LastContact"), 10, 64)
|
|
||||||
if err != nil {
|
|
||||||
return fmt.Errorf("Failed to parse X-Consul-LastContact: %v", err)
|
|
||||||
}
|
|
||||||
q.LastContact = time.Duration(last) * time.Millisecond
|
|
||||||
|
|
||||||
// Parse the X-Consul-KnownLeader
|
|
||||||
switch header.Get("X-Consul-KnownLeader") {
|
|
||||||
case "true":
|
|
||||||
q.KnownLeader = true
|
|
||||||
default:
|
|
||||||
q.KnownLeader = false
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// decodeBody is used to JSON decode a body
|
|
||||||
func decodeBody(resp *http.Response, out interface{}) error {
|
|
||||||
dec := json.NewDecoder(resp.Body)
|
|
||||||
return dec.Decode(out)
|
|
||||||
}
|
|
||||||
|
|
||||||
// encodeBody is used to encode a request body
|
|
||||||
func encodeBody(obj interface{}) (io.Reader, error) {
|
|
||||||
buf := bytes.NewBuffer(nil)
|
|
||||||
enc := json.NewEncoder(buf)
|
|
||||||
if err := enc.Encode(obj); err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
return buf, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// requireOK is used to wrap doRequest and check for a 200
|
|
||||||
func requireOK(d time.Duration, resp *http.Response, e error) (time.Duration, *http.Response, error) {
|
|
||||||
if e != nil {
|
|
||||||
return d, resp, e
|
|
||||||
}
|
|
||||||
if resp.StatusCode != 200 {
|
|
||||||
var buf bytes.Buffer
|
|
||||||
io.Copy(&buf, resp.Body)
|
|
||||||
return d, resp, fmt.Errorf("Unexpected response code: %d (%s)", resp.StatusCode, buf.Bytes())
|
|
||||||
}
|
|
||||||
return d, resp, e
|
|
||||||
}
|
|
181
vendor/github.com/armon/consul-api/catalog.go
generated
vendored
181
vendor/github.com/armon/consul-api/catalog.go
generated
vendored
@ -1,181 +0,0 @@
|
|||||||
package consulapi
|
|
||||||
|
|
||||||
type Node struct {
|
|
||||||
Node string
|
|
||||||
Address string
|
|
||||||
}
|
|
||||||
|
|
||||||
type CatalogService struct {
|
|
||||||
Node string
|
|
||||||
Address string
|
|
||||||
ServiceID string
|
|
||||||
ServiceName string
|
|
||||||
ServiceTags []string
|
|
||||||
ServicePort int
|
|
||||||
}
|
|
||||||
|
|
||||||
type CatalogNode struct {
|
|
||||||
Node *Node
|
|
||||||
Services map[string]*AgentService
|
|
||||||
}
|
|
||||||
|
|
||||||
type CatalogRegistration struct {
|
|
||||||
Node string
|
|
||||||
Address string
|
|
||||||
Datacenter string
|
|
||||||
Service *AgentService
|
|
||||||
Check *AgentCheck
|
|
||||||
}
|
|
||||||
|
|
||||||
type CatalogDeregistration struct {
|
|
||||||
Node string
|
|
||||||
Address string
|
|
||||||
Datacenter string
|
|
||||||
ServiceID string
|
|
||||||
CheckID string
|
|
||||||
}
|
|
||||||
|
|
||||||
// Catalog can be used to query the Catalog endpoints
|
|
||||||
type Catalog struct {
|
|
||||||
c *Client
|
|
||||||
}
|
|
||||||
|
|
||||||
// Catalog returns a handle to the catalog endpoints
|
|
||||||
func (c *Client) Catalog() *Catalog {
|
|
||||||
return &Catalog{c}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (c *Catalog) Register(reg *CatalogRegistration, q *WriteOptions) (*WriteMeta, error) {
|
|
||||||
r := c.c.newRequest("PUT", "/v1/catalog/register")
|
|
||||||
r.setWriteOptions(q)
|
|
||||||
r.obj = reg
|
|
||||||
rtt, resp, err := requireOK(c.c.doRequest(r))
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
resp.Body.Close()
|
|
||||||
|
|
||||||
wm := &WriteMeta{}
|
|
||||||
wm.RequestTime = rtt
|
|
||||||
|
|
||||||
return wm, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (c *Catalog) Deregister(dereg *CatalogDeregistration, q *WriteOptions) (*WriteMeta, error) {
|
|
||||||
r := c.c.newRequest("PUT", "/v1/catalog/deregister")
|
|
||||||
r.setWriteOptions(q)
|
|
||||||
r.obj = dereg
|
|
||||||
rtt, resp, err := requireOK(c.c.doRequest(r))
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
resp.Body.Close()
|
|
||||||
|
|
||||||
wm := &WriteMeta{}
|
|
||||||
wm.RequestTime = rtt
|
|
||||||
|
|
||||||
return wm, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// Datacenters is used to query for all the known datacenters
|
|
||||||
func (c *Catalog) Datacenters() ([]string, error) {
|
|
||||||
r := c.c.newRequest("GET", "/v1/catalog/datacenters")
|
|
||||||
_, resp, err := requireOK(c.c.doRequest(r))
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
defer resp.Body.Close()
|
|
||||||
|
|
||||||
var out []string
|
|
||||||
if err := decodeBody(resp, &out); err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
return out, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// Nodes is used to query all the known nodes
|
|
||||||
func (c *Catalog) Nodes(q *QueryOptions) ([]*Node, *QueryMeta, error) {
|
|
||||||
r := c.c.newRequest("GET", "/v1/catalog/nodes")
|
|
||||||
r.setQueryOptions(q)
|
|
||||||
rtt, resp, err := requireOK(c.c.doRequest(r))
|
|
||||||
if err != nil {
|
|
||||||
return nil, nil, err
|
|
||||||
}
|
|
||||||
defer resp.Body.Close()
|
|
||||||
|
|
||||||
qm := &QueryMeta{}
|
|
||||||
parseQueryMeta(resp, qm)
|
|
||||||
qm.RequestTime = rtt
|
|
||||||
|
|
||||||
var out []*Node
|
|
||||||
if err := decodeBody(resp, &out); err != nil {
|
|
||||||
return nil, nil, err
|
|
||||||
}
|
|
||||||
return out, qm, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// Services is used to query for all known services
|
|
||||||
func (c *Catalog) Services(q *QueryOptions) (map[string][]string, *QueryMeta, error) {
|
|
||||||
r := c.c.newRequest("GET", "/v1/catalog/services")
|
|
||||||
r.setQueryOptions(q)
|
|
||||||
rtt, resp, err := requireOK(c.c.doRequest(r))
|
|
||||||
if err != nil {
|
|
||||||
return nil, nil, err
|
|
||||||
}
|
|
||||||
defer resp.Body.Close()
|
|
||||||
|
|
||||||
qm := &QueryMeta{}
|
|
||||||
parseQueryMeta(resp, qm)
|
|
||||||
qm.RequestTime = rtt
|
|
||||||
|
|
||||||
var out map[string][]string
|
|
||||||
if err := decodeBody(resp, &out); err != nil {
|
|
||||||
return nil, nil, err
|
|
||||||
}
|
|
||||||
return out, qm, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// Service is used to query catalog entries for a given service
|
|
||||||
func (c *Catalog) Service(service, tag string, q *QueryOptions) ([]*CatalogService, *QueryMeta, error) {
|
|
||||||
r := c.c.newRequest("GET", "/v1/catalog/service/"+service)
|
|
||||||
r.setQueryOptions(q)
|
|
||||||
if tag != "" {
|
|
||||||
r.params.Set("tag", tag)
|
|
||||||
}
|
|
||||||
rtt, resp, err := requireOK(c.c.doRequest(r))
|
|
||||||
if err != nil {
|
|
||||||
return nil, nil, err
|
|
||||||
}
|
|
||||||
defer resp.Body.Close()
|
|
||||||
|
|
||||||
qm := &QueryMeta{}
|
|
||||||
parseQueryMeta(resp, qm)
|
|
||||||
qm.RequestTime = rtt
|
|
||||||
|
|
||||||
var out []*CatalogService
|
|
||||||
if err := decodeBody(resp, &out); err != nil {
|
|
||||||
return nil, nil, err
|
|
||||||
}
|
|
||||||
return out, qm, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// Node is used to query for service information about a single node
|
|
||||||
func (c *Catalog) Node(node string, q *QueryOptions) (*CatalogNode, *QueryMeta, error) {
|
|
||||||
r := c.c.newRequest("GET", "/v1/catalog/node/"+node)
|
|
||||||
r.setQueryOptions(q)
|
|
||||||
rtt, resp, err := requireOK(c.c.doRequest(r))
|
|
||||||
if err != nil {
|
|
||||||
return nil, nil, err
|
|
||||||
}
|
|
||||||
defer resp.Body.Close()
|
|
||||||
|
|
||||||
qm := &QueryMeta{}
|
|
||||||
parseQueryMeta(resp, qm)
|
|
||||||
qm.RequestTime = rtt
|
|
||||||
|
|
||||||
var out *CatalogNode
|
|
||||||
if err := decodeBody(resp, &out); err != nil {
|
|
||||||
return nil, nil, err
|
|
||||||
}
|
|
||||||
return out, qm, nil
|
|
||||||
}
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user