file.go 606 B

1234567891011121314151617181920212223242526
  1. package scanner
  2. import "fmt"
  3. type File struct {
  4. Name string
  5. Flags uint32
  6. Modified int64
  7. Version uint32
  8. Size int64
  9. Blocks []Block
  10. Suppressed bool
  11. }
  12. func (f File) String() string {
  13. return fmt.Sprintf("File{Name:%q, Flags:0x%x, Modified:%d, Version:%d, Size:%d, NumBlocks:%d}",
  14. f.Name, f.Flags, f.Modified, f.Version, f.Size, len(f.Blocks))
  15. }
  16. func (f File) Equals(o File) bool {
  17. return f.Modified == o.Modified && f.Version == o.Version
  18. }
  19. func (f File) NewerThan(o File) bool {
  20. return f.Modified > o.Modified || (f.Modified == o.Modified && f.Version > o.Version)
  21. }