sync.go 760 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. // db.go - Functions for database handling.
  2. //
  3. // Copyright (c) 2013 The go-alpm Authors
  4. //
  5. // MIT Licensed. See LICENSE for details.
  6. package alpm
  7. /*
  8. #include <alpm.h>
  9. */
  10. import "C"
  11. import "unsafe"
  12. // NewVersion checks if there is a new version of the package in a given DBlist.
  13. func (pkg *Package) SyncNewVersion(l DBList) *Package {
  14. ptr := C.alpm_sync_newversion(pkg.pmpkg,
  15. (*C.alpm_list_t)(unsafe.Pointer(l.list)))
  16. if ptr == nil {
  17. return nil
  18. }
  19. return &Package{ptr, l.handle}
  20. }
  21. func (h *Handle) SyncSysupgrade(enableDowngrade bool) error {
  22. intEnableDowngrade := C.int(0)
  23. if enableDowngrade {
  24. intEnableDowngrade = C.int(1)
  25. }
  26. ret := C.alpm_sync_sysupgrade(h.ptr, intEnableDowngrade)
  27. if ret != 0 {
  28. return h.LastError()
  29. }
  30. return nil
  31. }