miqt/qt6/gen_qlockfile.go

126 lines
2.8 KiB
Go
Raw Normal View History

2024-10-20 05:21:03 +00:00
package qt6
/*
#include "gen_qlockfile.h"
#include <stdlib.h>
*/
import "C"
import (
"runtime"
"unsafe"
)
type QLockFile__LockError int
const (
QLockFile__NoError QLockFile__LockError = 0
QLockFile__LockFailedError QLockFile__LockError = 1
QLockFile__PermissionError QLockFile__LockError = 2
QLockFile__UnknownError QLockFile__LockError = 3
)
type QLockFile struct {
2024-11-19 06:29:06 +00:00
h *C.QLockFile
isSubclass bool
2024-10-20 05:21:03 +00:00
}
func (this *QLockFile) cPointer() *C.QLockFile {
if this == nil {
return nil
}
return this.h
}
func (this *QLockFile) UnsafePointer() unsafe.Pointer {
if this == nil {
return nil
}
return unsafe.Pointer(this.h)
}
2024-11-19 06:29:06 +00:00
// newQLockFile constructs the type using only CGO pointers.
2024-10-20 05:21:03 +00:00
func newQLockFile(h *C.QLockFile) *QLockFile {
if h == nil {
return nil
}
2024-12-07 04:15:57 +00:00
2024-10-20 05:21:03 +00:00
return &QLockFile{h: h}
}
2024-11-19 06:29:06 +00:00
// UnsafeNewQLockFile constructs the type using only unsafe pointers.
2024-10-20 05:21:03 +00:00
func UnsafeNewQLockFile(h unsafe.Pointer) *QLockFile {
2024-12-07 04:15:57 +00:00
return newQLockFile((*C.QLockFile)(h))
2024-10-20 05:21:03 +00:00
}
// NewQLockFile constructs a new QLockFile object.
func NewQLockFile(fileName string) *QLockFile {
fileName_ms := C.struct_miqt_string{}
fileName_ms.data = C.CString(fileName)
fileName_ms.len = C.size_t(len(fileName))
defer C.free(unsafe.Pointer(fileName_ms.data))
2024-11-19 06:29:06 +00:00
2024-12-07 04:15:57 +00:00
ret := newQLockFile(C.QLockFile_new(fileName_ms))
2024-11-19 06:29:06 +00:00
ret.isSubclass = true
return ret
2024-10-20 05:21:03 +00:00
}
func (this *QLockFile) FileName() string {
var _ms C.struct_miqt_string = C.QLockFile_FileName(this.h)
_ret := C.GoStringN(_ms.data, C.int(int64(_ms.len)))
C.free(unsafe.Pointer(_ms.data))
return _ret
}
func (this *QLockFile) Lock() bool {
return (bool)(C.QLockFile_Lock(this.h))
}
func (this *QLockFile) TryLock() bool {
return (bool)(C.QLockFile_TryLock(this.h))
}
func (this *QLockFile) Unlock() {
C.QLockFile_Unlock(this.h)
}
func (this *QLockFile) SetStaleLockTime(staleLockTime int) {
C.QLockFile_SetStaleLockTime(this.h, (C.int)(staleLockTime))
}
func (this *QLockFile) StaleLockTime() int {
return (int)(C.QLockFile_StaleLockTime(this.h))
}
func (this *QLockFile) IsLocked() bool {
return (bool)(C.QLockFile_IsLocked(this.h))
}
func (this *QLockFile) RemoveStaleLockFile() bool {
return (bool)(C.QLockFile_RemoveStaleLockFile(this.h))
}
func (this *QLockFile) Error() QLockFile__LockError {
return (QLockFile__LockError)(C.QLockFile_Error(this.h))
}
func (this *QLockFile) TryLock1(timeout int) bool {
return (bool)(C.QLockFile_TryLock1(this.h, (C.int)(timeout)))
}
// Delete this object from C++ memory.
func (this *QLockFile) Delete() {
2024-11-19 06:29:06 +00:00
C.QLockFile_Delete(this.h, C.bool(this.isSubclass))
2024-10-20 05:21:03 +00:00
}
// GoGC adds a Go Finalizer to this pointer, so that it will be deleted
// from C++ memory once it is unreachable from Go memory.
func (this *QLockFile) GoGC() {
runtime.SetFinalizer(this, func(this *QLockFile) {
this.Delete()
runtime.KeepAlive(this.h)
})
}