summaryrefslogtreecommitdiffstats
path: root/scanner/file.go
blob: 110e8fa8889288256b9f180bab62a688903b6eec (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
package scanner

import "fmt"

type File struct {
	Name       string
	Flags      uint32
	Modified   int64
	Version    uint64
	Size       int64
	Blocks     []Block
	Suppressed bool
}

func (f File) String() string {
	return fmt.Sprintf("File{Name:%q, Flags:0%o, Modified:%d, Version:%d, Size:%d, NumBlocks:%d}",
		f.Name, f.Flags, f.Modified, f.Version, f.Size, len(f.Blocks))
}

func (f File) Equals(o File) bool {
	return f.Modified == o.Modified && f.Version == o.Version
}

func (f File) NewerThan(o File) bool {
	return f.Modified > o.Modified || (f.Modified == o.Modified && f.Version > o.Version)
}