moth

Monarch Of The Hill game server
git clone https://git.woozle.org/neale/moth.git

moth / cmd / mothd
Neale Pickett  ·  2021-10-20

theme.go

 1package main
 2
 3import (
 4	"time"
 5
 6	"github.com/spf13/afero"
 7)
 8
 9// Theme defines a filesystem-backed ThemeProvider.
10type Theme struct {
11	afero.Fs
12}
13
14// NewTheme returns a new Theme, backed by Fs.
15func NewTheme(fs afero.Fs) *Theme {
16	return &Theme{
17		Fs: fs,
18	}
19}
20
21// Open returns a new opened file.
22func (t *Theme) Open(name string) (ReadSeekCloser, time.Time, error) {
23	f, err := t.Fs.Open(name)
24	if err != nil {
25		return nil, time.Time{}, err
26	}
27
28	fi, err := f.Stat()
29	if err != nil {
30		f.Close()
31		return nil, time.Time{}, err
32	}
33
34	return f, fi.ModTime(), nil
35}
36
37// Maintain performs housekeeping for a Theme.
38func (t *Theme) Maintain(i time.Duration) {
39	// No periodic tasks for a theme
40}
41
42func (t *Theme) refresh() {
43	// Nothing to do for a theme
44}