core.go 601 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. package core
  2. import (
  3. "os/user"
  4. "path/filepath"
  5. "strconv"
  6. )
  7. var (
  8. Drivers = map[string]DriverFactory{}
  9. Config ConfigData
  10. )
  11. type ConfigData struct {
  12. WorkDir string
  13. UID uint32 // Mount UID
  14. GID uint32 // Mount GID
  15. }
  16. // TODO Friendly panics
  17. func init() {
  18. usr, err := user.Current()
  19. if err != nil {
  20. panic(err)
  21. }
  22. uid, err := strconv.Atoi(usr.Uid)
  23. if err != nil {
  24. panic(err)
  25. }
  26. gid, err := strconv.Atoi(usr.Uid)
  27. if err != nil {
  28. panic(gid)
  29. }
  30. Config = ConfigData{
  31. WorkDir: filepath.Join(usr.HomeDir, ".cloudmount"),
  32. UID: uint32(uid),
  33. GID: uint32(gid),
  34. }
  35. }