// Copyright (C) 2014 The Syncthing Authors. // // This program is free software: you can redistribute it and/or modify it // under the terms of the GNU General Public License as published by the Free // Software Foundation, either version 3 of the License, or (at your option) // any later version. // // This program is distributed in the hope that it will be useful, but WITHOUT // ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or // FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // // You should have received a copy of the GNU General Public License along // with this program. If not, see . // +build windows package model import ( "fmt" "path/filepath" "strings" ) type tempNamer struct { prefix string } var defTempNamer = tempNamer{"~syncthing~"} func (t tempNamer) IsTemporary(name string) bool { return strings.HasPrefix(filepath.Base(name), t.prefix) } func (t tempNamer) TempName(name string) string { tdir := filepath.Dir(name) tname := fmt.Sprintf("%s.%s.tmp", t.prefix, filepath.Base(name)) return filepath.Join(tdir, tname) }