gommunicator/internal/entity/client.go

47 lines
731 B
Go

package entity
import (
"fmt"
"golang.org/x/term"
)
type ServerClient struct{}
func NewServerClient() *ServerClient {
return &ServerClient{}
}
func (c *ServerClient) Send(msg string) error {
fmt.Println(msg)
return nil
}
func (c *ServerClient) Username() string {
return "server"
}
type TerminalClient struct {
terminal *term.Terminal
username string
}
func NewTerminalClient(term *term.Terminal, username string) *TerminalClient {
return &TerminalClient{
terminal: term,
username: username,
}
}
func (c *TerminalClient) Send(msg string) error {
_, err := fmt.Fprintf(c.terminal, "%s\n", msg)
if err != nil {
return err
}
return nil
}
func (c *TerminalClient) Username() string {
return c.username
}