49 lines
877 B
Go
49 lines
877 B
Go
package main
|
|
|
|
import (
|
|
"crypto/tls"
|
|
"fmt"
|
|
"log"
|
|
"os"
|
|
"time"
|
|
|
|
"layeh.com/barnard/uiterm"
|
|
"layeh.com/gumble/gumble"
|
|
"layeh.com/gumble/gumbleopenal"
|
|
)
|
|
|
|
type Barnard struct {
|
|
Config *gumble.Config
|
|
Client *gumble.Client
|
|
|
|
Address string
|
|
TLSConfig tls.Config
|
|
Debug bool
|
|
Logger *log.Logger
|
|
TreeWidth int
|
|
LogFile *os.File
|
|
|
|
Stream *gumbleopenal.Stream
|
|
transmitting bool
|
|
|
|
Ui *uiterm.Ui
|
|
UiOutput uiterm.Textview
|
|
UiInput uiterm.Textbox
|
|
UiStatus uiterm.Label
|
|
UiTree uiterm.Tree
|
|
UiInputStatus uiterm.Label
|
|
}
|
|
|
|
func (b *Barnard) debugf(format string, args ...interface{}) {
|
|
if b.Debug && b.Logger != nil {
|
|
b.Logger.Printf(format, args...)
|
|
}
|
|
}
|
|
|
|
func (b *Barnard) logMessage(line string) {
|
|
if b.LogFile != nil {
|
|
now := time.Now()
|
|
fmt.Fprintf(b.LogFile, "[%s] %s\n", now.Format("2006-01-02 15:04:05"), line)
|
|
}
|
|
}
|