2024-08-25 04:08:24 +00:00
|
|
|
package qt
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
|
|
|
#cgo CFLAGS: -fPIC
|
|
|
|
#cgo pkg-config: Qt5Widgets
|
|
|
|
#include "gen_qdir.h"
|
|
|
|
#include <stdlib.h>
|
|
|
|
|
|
|
|
*/
|
|
|
|
import "C"
|
|
|
|
|
|
|
|
import (
|
|
|
|
"runtime"
|
|
|
|
"unsafe"
|
|
|
|
)
|
|
|
|
|
|
|
|
type QDir struct {
|
|
|
|
h *C.QDir
|
|
|
|
}
|
|
|
|
|
|
|
|
func (this *QDir) cPointer() *C.QDir {
|
|
|
|
if this == nil {
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
return this.h
|
|
|
|
}
|
|
|
|
|
|
|
|
func newQDir(h *C.QDir) *QDir {
|
2024-09-01 02:23:55 +00:00
|
|
|
if h == nil {
|
|
|
|
return nil
|
|
|
|
}
|
2024-08-25 04:08:24 +00:00
|
|
|
return &QDir{h: h}
|
|
|
|
}
|
|
|
|
|
|
|
|
func newQDir_U(h unsafe.Pointer) *QDir {
|
|
|
|
return newQDir((*C.QDir)(h))
|
|
|
|
}
|
|
|
|
|
|
|
|
// NewQDir constructs a new QDir object.
|
|
|
|
func NewQDir(param1 *QDir) *QDir {
|
|
|
|
ret := C.QDir_new(param1.cPointer())
|
|
|
|
return newQDir(ret)
|
|
|
|
}
|
|
|
|
|
|
|
|
// NewQDir2 constructs a new QDir object.
|
|
|
|
func NewQDir2() *QDir {
|
|
|
|
ret := C.QDir_new2()
|
|
|
|
return newQDir(ret)
|
|
|
|
}
|
|
|
|
|
|
|
|
// NewQDir3 constructs a new QDir object.
|
2024-08-29 07:01:51 +00:00
|
|
|
func NewQDir3(path string, nameFilter string) *QDir {
|
2024-08-25 04:08:24 +00:00
|
|
|
path_Cstring := C.CString(path)
|
|
|
|
defer C.free(unsafe.Pointer(path_Cstring))
|
2024-08-29 07:01:51 +00:00
|
|
|
nameFilter_Cstring := C.CString(nameFilter)
|
|
|
|
defer C.free(unsafe.Pointer(nameFilter_Cstring))
|
|
|
|
ret := C.QDir_new3(path_Cstring, C.ulong(len(path)), nameFilter_Cstring, C.ulong(len(nameFilter)))
|
|
|
|
return newQDir(ret)
|
|
|
|
}
|
|
|
|
|
|
|
|
// NewQDir4 constructs a new QDir object.
|
|
|
|
func NewQDir4(path string) *QDir {
|
|
|
|
path_Cstring := C.CString(path)
|
|
|
|
defer C.free(unsafe.Pointer(path_Cstring))
|
|
|
|
ret := C.QDir_new4(path_Cstring, C.ulong(len(path)))
|
|
|
|
return newQDir(ret)
|
|
|
|
}
|
|
|
|
|
|
|
|
// NewQDir5 constructs a new QDir object.
|
|
|
|
func NewQDir5(path string, nameFilter string, sort int) *QDir {
|
|
|
|
path_Cstring := C.CString(path)
|
|
|
|
defer C.free(unsafe.Pointer(path_Cstring))
|
|
|
|
nameFilter_Cstring := C.CString(nameFilter)
|
|
|
|
defer C.free(unsafe.Pointer(nameFilter_Cstring))
|
|
|
|
ret := C.QDir_new5(path_Cstring, C.ulong(len(path)), nameFilter_Cstring, C.ulong(len(nameFilter)), (C.int)(sort))
|
|
|
|
return newQDir(ret)
|
|
|
|
}
|
|
|
|
|
|
|
|
// NewQDir6 constructs a new QDir object.
|
|
|
|
func NewQDir6(path string, nameFilter string, sort int, filter int) *QDir {
|
|
|
|
path_Cstring := C.CString(path)
|
|
|
|
defer C.free(unsafe.Pointer(path_Cstring))
|
|
|
|
nameFilter_Cstring := C.CString(nameFilter)
|
|
|
|
defer C.free(unsafe.Pointer(nameFilter_Cstring))
|
|
|
|
ret := C.QDir_new6(path_Cstring, C.ulong(len(path)), nameFilter_Cstring, C.ulong(len(nameFilter)), (C.int)(sort), (C.int)(filter))
|
2024-08-25 04:08:24 +00:00
|
|
|
return newQDir(ret)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (this *QDir) OperatorAssign(param1 *QDir) {
|
|
|
|
C.QDir_OperatorAssign(this.h, param1.cPointer())
|
|
|
|
}
|
|
|
|
|
|
|
|
func (this *QDir) OperatorAssignWithPath(path string) {
|
|
|
|
path_Cstring := C.CString(path)
|
|
|
|
defer C.free(unsafe.Pointer(path_Cstring))
|
|
|
|
C.QDir_OperatorAssignWithPath(this.h, path_Cstring, C.ulong(len(path)))
|
|
|
|
}
|
|
|
|
|
|
|
|
func (this *QDir) Swap(other *QDir) {
|
|
|
|
C.QDir_Swap(this.h, other.cPointer())
|
|
|
|
}
|
|
|
|
|
|
|
|
func (this *QDir) SetPath(path string) {
|
|
|
|
path_Cstring := C.CString(path)
|
|
|
|
defer C.free(unsafe.Pointer(path_Cstring))
|
|
|
|
C.QDir_SetPath(this.h, path_Cstring, C.ulong(len(path)))
|
|
|
|
}
|
|
|
|
|
|
|
|
func (this *QDir) Path() string {
|
|
|
|
var _out *C.char = nil
|
|
|
|
var _out_Strlen C.int = 0
|
|
|
|
C.QDir_Path(this.h, &_out, &_out_Strlen)
|
|
|
|
ret := C.GoStringN(_out, _out_Strlen)
|
|
|
|
C.free(unsafe.Pointer(_out))
|
|
|
|
return ret
|
|
|
|
}
|
|
|
|
|
|
|
|
func (this *QDir) AbsolutePath() string {
|
|
|
|
var _out *C.char = nil
|
|
|
|
var _out_Strlen C.int = 0
|
|
|
|
C.QDir_AbsolutePath(this.h, &_out, &_out_Strlen)
|
|
|
|
ret := C.GoStringN(_out, _out_Strlen)
|
|
|
|
C.free(unsafe.Pointer(_out))
|
|
|
|
return ret
|
|
|
|
}
|
|
|
|
|
|
|
|
func (this *QDir) CanonicalPath() string {
|
|
|
|
var _out *C.char = nil
|
|
|
|
var _out_Strlen C.int = 0
|
|
|
|
C.QDir_CanonicalPath(this.h, &_out, &_out_Strlen)
|
|
|
|
ret := C.GoStringN(_out, _out_Strlen)
|
|
|
|
C.free(unsafe.Pointer(_out))
|
|
|
|
return ret
|
|
|
|
}
|
|
|
|
|
|
|
|
func QDir_AddResourceSearchPath(path string) {
|
|
|
|
path_Cstring := C.CString(path)
|
|
|
|
defer C.free(unsafe.Pointer(path_Cstring))
|
|
|
|
C.QDir_AddResourceSearchPath(path_Cstring, C.ulong(len(path)))
|
|
|
|
}
|
|
|
|
|
|
|
|
func QDir_SetSearchPaths(prefix string, searchPaths []string) {
|
|
|
|
prefix_Cstring := C.CString(prefix)
|
|
|
|
defer C.free(unsafe.Pointer(prefix_Cstring))
|
|
|
|
// For the C ABI, malloc two C arrays; raw char* pointers and their lengths
|
|
|
|
searchPaths_CArray := (*[0xffff]*C.char)(C.malloc(C.ulong(8 * len(searchPaths))))
|
|
|
|
searchPaths_Lengths := (*[0xffff]C.size_t)(C.malloc(C.ulong(8 * len(searchPaths))))
|
|
|
|
defer C.free(unsafe.Pointer(searchPaths_CArray))
|
|
|
|
defer C.free(unsafe.Pointer(searchPaths_Lengths))
|
|
|
|
for i := range searchPaths {
|
|
|
|
single_cstring := C.CString(searchPaths[i])
|
|
|
|
defer C.free(unsafe.Pointer(single_cstring))
|
|
|
|
searchPaths_CArray[i] = single_cstring
|
|
|
|
searchPaths_Lengths[i] = (C.size_t)(len(searchPaths[i]))
|
|
|
|
}
|
|
|
|
C.QDir_SetSearchPaths(prefix_Cstring, C.ulong(len(prefix)), &searchPaths_CArray[0], &searchPaths_Lengths[0], C.ulong(len(searchPaths)))
|
|
|
|
}
|
|
|
|
|
|
|
|
func QDir_AddSearchPath(prefix string, path string) {
|
|
|
|
prefix_Cstring := C.CString(prefix)
|
|
|
|
defer C.free(unsafe.Pointer(prefix_Cstring))
|
|
|
|
path_Cstring := C.CString(path)
|
|
|
|
defer C.free(unsafe.Pointer(path_Cstring))
|
|
|
|
C.QDir_AddSearchPath(prefix_Cstring, C.ulong(len(prefix)), path_Cstring, C.ulong(len(path)))
|
|
|
|
}
|
|
|
|
|
|
|
|
func QDir_SearchPaths(prefix string) []string {
|
|
|
|
prefix_Cstring := C.CString(prefix)
|
|
|
|
defer C.free(unsafe.Pointer(prefix_Cstring))
|
|
|
|
var _out **C.char = nil
|
|
|
|
var _out_Lengths *C.int = nil
|
|
|
|
var _out_len C.size_t = 0
|
|
|
|
C.QDir_SearchPaths(prefix_Cstring, C.ulong(len(prefix)), &_out, &_out_Lengths, &_out_len)
|
|
|
|
ret := make([]string, int(_out_len))
|
|
|
|
_outCast := (*[0xffff]*C.char)(unsafe.Pointer(_out)) // hey ya
|
|
|
|
_out_LengthsCast := (*[0xffff]C.int)(unsafe.Pointer(_out_Lengths))
|
|
|
|
for i := 0; i < int(_out_len); i++ {
|
|
|
|
ret[i] = C.GoStringN(_outCast[i], _out_LengthsCast[i])
|
|
|
|
}
|
|
|
|
C.free(unsafe.Pointer(_out))
|
|
|
|
return ret
|
|
|
|
}
|
|
|
|
|
|
|
|
func (this *QDir) DirName() string {
|
|
|
|
var _out *C.char = nil
|
|
|
|
var _out_Strlen C.int = 0
|
|
|
|
C.QDir_DirName(this.h, &_out, &_out_Strlen)
|
|
|
|
ret := C.GoStringN(_out, _out_Strlen)
|
|
|
|
C.free(unsafe.Pointer(_out))
|
|
|
|
return ret
|
|
|
|
}
|
|
|
|
|
|
|
|
func (this *QDir) FilePath(fileName string) string {
|
|
|
|
fileName_Cstring := C.CString(fileName)
|
|
|
|
defer C.free(unsafe.Pointer(fileName_Cstring))
|
|
|
|
var _out *C.char = nil
|
|
|
|
var _out_Strlen C.int = 0
|
|
|
|
C.QDir_FilePath(this.h, fileName_Cstring, C.ulong(len(fileName)), &_out, &_out_Strlen)
|
|
|
|
ret := C.GoStringN(_out, _out_Strlen)
|
|
|
|
C.free(unsafe.Pointer(_out))
|
|
|
|
return ret
|
|
|
|
}
|
|
|
|
|
|
|
|
func (this *QDir) AbsoluteFilePath(fileName string) string {
|
|
|
|
fileName_Cstring := C.CString(fileName)
|
|
|
|
defer C.free(unsafe.Pointer(fileName_Cstring))
|
|
|
|
var _out *C.char = nil
|
|
|
|
var _out_Strlen C.int = 0
|
|
|
|
C.QDir_AbsoluteFilePath(this.h, fileName_Cstring, C.ulong(len(fileName)), &_out, &_out_Strlen)
|
|
|
|
ret := C.GoStringN(_out, _out_Strlen)
|
|
|
|
C.free(unsafe.Pointer(_out))
|
|
|
|
return ret
|
|
|
|
}
|
|
|
|
|
|
|
|
func (this *QDir) RelativeFilePath(fileName string) string {
|
|
|
|
fileName_Cstring := C.CString(fileName)
|
|
|
|
defer C.free(unsafe.Pointer(fileName_Cstring))
|
|
|
|
var _out *C.char = nil
|
|
|
|
var _out_Strlen C.int = 0
|
|
|
|
C.QDir_RelativeFilePath(this.h, fileName_Cstring, C.ulong(len(fileName)), &_out, &_out_Strlen)
|
|
|
|
ret := C.GoStringN(_out, _out_Strlen)
|
|
|
|
C.free(unsafe.Pointer(_out))
|
|
|
|
return ret
|
|
|
|
}
|
|
|
|
|
|
|
|
func QDir_ToNativeSeparators(pathName string) string {
|
|
|
|
pathName_Cstring := C.CString(pathName)
|
|
|
|
defer C.free(unsafe.Pointer(pathName_Cstring))
|
|
|
|
var _out *C.char = nil
|
|
|
|
var _out_Strlen C.int = 0
|
|
|
|
C.QDir_ToNativeSeparators(pathName_Cstring, C.ulong(len(pathName)), &_out, &_out_Strlen)
|
|
|
|
ret := C.GoStringN(_out, _out_Strlen)
|
|
|
|
C.free(unsafe.Pointer(_out))
|
|
|
|
return ret
|
|
|
|
}
|
|
|
|
|
|
|
|
func QDir_FromNativeSeparators(pathName string) string {
|
|
|
|
pathName_Cstring := C.CString(pathName)
|
|
|
|
defer C.free(unsafe.Pointer(pathName_Cstring))
|
|
|
|
var _out *C.char = nil
|
|
|
|
var _out_Strlen C.int = 0
|
|
|
|
C.QDir_FromNativeSeparators(pathName_Cstring, C.ulong(len(pathName)), &_out, &_out_Strlen)
|
|
|
|
ret := C.GoStringN(_out, _out_Strlen)
|
|
|
|
C.free(unsafe.Pointer(_out))
|
|
|
|
return ret
|
|
|
|
}
|
|
|
|
|
|
|
|
func (this *QDir) Cd(dirName string) bool {
|
|
|
|
dirName_Cstring := C.CString(dirName)
|
|
|
|
defer C.free(unsafe.Pointer(dirName_Cstring))
|
|
|
|
ret := C.QDir_Cd(this.h, dirName_Cstring, C.ulong(len(dirName)))
|
|
|
|
return (bool)(ret)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (this *QDir) CdUp() bool {
|
|
|
|
ret := C.QDir_CdUp(this.h)
|
|
|
|
return (bool)(ret)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (this *QDir) NameFilters() []string {
|
|
|
|
var _out **C.char = nil
|
|
|
|
var _out_Lengths *C.int = nil
|
|
|
|
var _out_len C.size_t = 0
|
|
|
|
C.QDir_NameFilters(this.h, &_out, &_out_Lengths, &_out_len)
|
|
|
|
ret := make([]string, int(_out_len))
|
|
|
|
_outCast := (*[0xffff]*C.char)(unsafe.Pointer(_out)) // hey ya
|
|
|
|
_out_LengthsCast := (*[0xffff]C.int)(unsafe.Pointer(_out_Lengths))
|
|
|
|
for i := 0; i < int(_out_len); i++ {
|
|
|
|
ret[i] = C.GoStringN(_outCast[i], _out_LengthsCast[i])
|
|
|
|
}
|
|
|
|
C.free(unsafe.Pointer(_out))
|
|
|
|
return ret
|
|
|
|
}
|
|
|
|
|
|
|
|
func (this *QDir) SetNameFilters(nameFilters []string) {
|
|
|
|
// For the C ABI, malloc two C arrays; raw char* pointers and their lengths
|
|
|
|
nameFilters_CArray := (*[0xffff]*C.char)(C.malloc(C.ulong(8 * len(nameFilters))))
|
|
|
|
nameFilters_Lengths := (*[0xffff]C.size_t)(C.malloc(C.ulong(8 * len(nameFilters))))
|
|
|
|
defer C.free(unsafe.Pointer(nameFilters_CArray))
|
|
|
|
defer C.free(unsafe.Pointer(nameFilters_Lengths))
|
|
|
|
for i := range nameFilters {
|
|
|
|
single_cstring := C.CString(nameFilters[i])
|
|
|
|
defer C.free(unsafe.Pointer(single_cstring))
|
|
|
|
nameFilters_CArray[i] = single_cstring
|
|
|
|
nameFilters_Lengths[i] = (C.size_t)(len(nameFilters[i]))
|
|
|
|
}
|
|
|
|
C.QDir_SetNameFilters(this.h, &nameFilters_CArray[0], &nameFilters_Lengths[0], C.ulong(len(nameFilters)))
|
|
|
|
}
|
|
|
|
|
2024-08-29 07:01:51 +00:00
|
|
|
func (this *QDir) Filter() int {
|
|
|
|
ret := C.QDir_Filter(this.h)
|
|
|
|
return (int)(ret)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (this *QDir) SetFilter(filter int) {
|
|
|
|
C.QDir_SetFilter(this.h, (C.int)(filter))
|
|
|
|
}
|
|
|
|
|
|
|
|
func (this *QDir) Sorting() int {
|
|
|
|
ret := C.QDir_Sorting(this.h)
|
|
|
|
return (int)(ret)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (this *QDir) SetSorting(sort int) {
|
|
|
|
C.QDir_SetSorting(this.h, (C.int)(sort))
|
|
|
|
}
|
|
|
|
|
2024-08-25 04:08:24 +00:00
|
|
|
func (this *QDir) Count() uint {
|
|
|
|
ret := C.QDir_Count(this.h)
|
|
|
|
return (uint)(ret)
|
|
|
|
}
|
|
|
|
|
2024-08-29 07:01:51 +00:00
|
|
|
func (this *QDir) IsEmpty() bool {
|
|
|
|
ret := C.QDir_IsEmpty(this.h)
|
|
|
|
return (bool)(ret)
|
|
|
|
}
|
|
|
|
|
2024-08-25 04:08:24 +00:00
|
|
|
func (this *QDir) OperatorSubscript(param1 int) string {
|
|
|
|
var _out *C.char = nil
|
|
|
|
var _out_Strlen C.int = 0
|
|
|
|
C.QDir_OperatorSubscript(this.h, (C.int)(param1), &_out, &_out_Strlen)
|
|
|
|
ret := C.GoStringN(_out, _out_Strlen)
|
|
|
|
C.free(unsafe.Pointer(_out))
|
|
|
|
return ret
|
|
|
|
}
|
|
|
|
|
|
|
|
func QDir_NameFiltersFromString(nameFilter string) []string {
|
|
|
|
nameFilter_Cstring := C.CString(nameFilter)
|
|
|
|
defer C.free(unsafe.Pointer(nameFilter_Cstring))
|
|
|
|
var _out **C.char = nil
|
|
|
|
var _out_Lengths *C.int = nil
|
|
|
|
var _out_len C.size_t = 0
|
|
|
|
C.QDir_NameFiltersFromString(nameFilter_Cstring, C.ulong(len(nameFilter)), &_out, &_out_Lengths, &_out_len)
|
|
|
|
ret := make([]string, int(_out_len))
|
|
|
|
_outCast := (*[0xffff]*C.char)(unsafe.Pointer(_out)) // hey ya
|
|
|
|
_out_LengthsCast := (*[0xffff]C.int)(unsafe.Pointer(_out_Lengths))
|
|
|
|
for i := 0; i < int(_out_len); i++ {
|
|
|
|
ret[i] = C.GoStringN(_outCast[i], _out_LengthsCast[i])
|
|
|
|
}
|
|
|
|
C.free(unsafe.Pointer(_out))
|
|
|
|
return ret
|
|
|
|
}
|
|
|
|
|
2024-08-29 07:01:51 +00:00
|
|
|
func (this *QDir) EntryList() []string {
|
|
|
|
var _out **C.char = nil
|
|
|
|
var _out_Lengths *C.int = nil
|
|
|
|
var _out_len C.size_t = 0
|
|
|
|
C.QDir_EntryList(this.h, &_out, &_out_Lengths, &_out_len)
|
|
|
|
ret := make([]string, int(_out_len))
|
|
|
|
_outCast := (*[0xffff]*C.char)(unsafe.Pointer(_out)) // hey ya
|
|
|
|
_out_LengthsCast := (*[0xffff]C.int)(unsafe.Pointer(_out_Lengths))
|
|
|
|
for i := 0; i < int(_out_len); i++ {
|
|
|
|
ret[i] = C.GoStringN(_outCast[i], _out_LengthsCast[i])
|
|
|
|
}
|
|
|
|
C.free(unsafe.Pointer(_out))
|
|
|
|
return ret
|
|
|
|
}
|
|
|
|
|
|
|
|
func (this *QDir) EntryListWithNameFilters(nameFilters []string) []string {
|
|
|
|
// For the C ABI, malloc two C arrays; raw char* pointers and their lengths
|
|
|
|
nameFilters_CArray := (*[0xffff]*C.char)(C.malloc(C.ulong(8 * len(nameFilters))))
|
|
|
|
nameFilters_Lengths := (*[0xffff]C.size_t)(C.malloc(C.ulong(8 * len(nameFilters))))
|
|
|
|
defer C.free(unsafe.Pointer(nameFilters_CArray))
|
|
|
|
defer C.free(unsafe.Pointer(nameFilters_Lengths))
|
|
|
|
for i := range nameFilters {
|
|
|
|
single_cstring := C.CString(nameFilters[i])
|
|
|
|
defer C.free(unsafe.Pointer(single_cstring))
|
|
|
|
nameFilters_CArray[i] = single_cstring
|
|
|
|
nameFilters_Lengths[i] = (C.size_t)(len(nameFilters[i]))
|
|
|
|
}
|
|
|
|
var _out **C.char = nil
|
|
|
|
var _out_Lengths *C.int = nil
|
|
|
|
var _out_len C.size_t = 0
|
|
|
|
C.QDir_EntryListWithNameFilters(this.h, &nameFilters_CArray[0], &nameFilters_Lengths[0], C.ulong(len(nameFilters)), &_out, &_out_Lengths, &_out_len)
|
|
|
|
ret := make([]string, int(_out_len))
|
|
|
|
_outCast := (*[0xffff]*C.char)(unsafe.Pointer(_out)) // hey ya
|
|
|
|
_out_LengthsCast := (*[0xffff]C.int)(unsafe.Pointer(_out_Lengths))
|
|
|
|
for i := 0; i < int(_out_len); i++ {
|
|
|
|
ret[i] = C.GoStringN(_outCast[i], _out_LengthsCast[i])
|
|
|
|
}
|
|
|
|
C.free(unsafe.Pointer(_out))
|
|
|
|
return ret
|
|
|
|
}
|
|
|
|
|
|
|
|
func (this *QDir) EntryInfoList() []QFileInfo {
|
|
|
|
var _out **C.QFileInfo = nil
|
|
|
|
var _out_len C.size_t = 0
|
|
|
|
C.QDir_EntryInfoList(this.h, &_out, &_out_len)
|
|
|
|
ret := make([]QFileInfo, int(_out_len))
|
|
|
|
_outCast := (*[0xffff]*C.QFileInfo)(unsafe.Pointer(_out)) // so fresh so clean
|
|
|
|
for i := 0; i < int(_out_len); i++ {
|
|
|
|
ret[i] = *newQFileInfo(_outCast[i])
|
|
|
|
}
|
|
|
|
C.free(unsafe.Pointer(_out))
|
|
|
|
return ret
|
|
|
|
}
|
|
|
|
|
|
|
|
func (this *QDir) EntryInfoListWithNameFilters(nameFilters []string) []QFileInfo {
|
|
|
|
// For the C ABI, malloc two C arrays; raw char* pointers and their lengths
|
|
|
|
nameFilters_CArray := (*[0xffff]*C.char)(C.malloc(C.ulong(8 * len(nameFilters))))
|
|
|
|
nameFilters_Lengths := (*[0xffff]C.size_t)(C.malloc(C.ulong(8 * len(nameFilters))))
|
|
|
|
defer C.free(unsafe.Pointer(nameFilters_CArray))
|
|
|
|
defer C.free(unsafe.Pointer(nameFilters_Lengths))
|
|
|
|
for i := range nameFilters {
|
|
|
|
single_cstring := C.CString(nameFilters[i])
|
|
|
|
defer C.free(unsafe.Pointer(single_cstring))
|
|
|
|
nameFilters_CArray[i] = single_cstring
|
|
|
|
nameFilters_Lengths[i] = (C.size_t)(len(nameFilters[i]))
|
|
|
|
}
|
|
|
|
var _out **C.QFileInfo = nil
|
|
|
|
var _out_len C.size_t = 0
|
|
|
|
C.QDir_EntryInfoListWithNameFilters(this.h, &nameFilters_CArray[0], &nameFilters_Lengths[0], C.ulong(len(nameFilters)), &_out, &_out_len)
|
|
|
|
ret := make([]QFileInfo, int(_out_len))
|
|
|
|
_outCast := (*[0xffff]*C.QFileInfo)(unsafe.Pointer(_out)) // so fresh so clean
|
|
|
|
for i := 0; i < int(_out_len); i++ {
|
|
|
|
ret[i] = *newQFileInfo(_outCast[i])
|
|
|
|
}
|
|
|
|
C.free(unsafe.Pointer(_out))
|
|
|
|
return ret
|
|
|
|
}
|
|
|
|
|
2024-08-25 04:08:24 +00:00
|
|
|
func (this *QDir) Mkdir(dirName string) bool {
|
|
|
|
dirName_Cstring := C.CString(dirName)
|
|
|
|
defer C.free(unsafe.Pointer(dirName_Cstring))
|
|
|
|
ret := C.QDir_Mkdir(this.h, dirName_Cstring, C.ulong(len(dirName)))
|
|
|
|
return (bool)(ret)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (this *QDir) Rmdir(dirName string) bool {
|
|
|
|
dirName_Cstring := C.CString(dirName)
|
|
|
|
defer C.free(unsafe.Pointer(dirName_Cstring))
|
|
|
|
ret := C.QDir_Rmdir(this.h, dirName_Cstring, C.ulong(len(dirName)))
|
|
|
|
return (bool)(ret)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (this *QDir) Mkpath(dirPath string) bool {
|
|
|
|
dirPath_Cstring := C.CString(dirPath)
|
|
|
|
defer C.free(unsafe.Pointer(dirPath_Cstring))
|
|
|
|
ret := C.QDir_Mkpath(this.h, dirPath_Cstring, C.ulong(len(dirPath)))
|
|
|
|
return (bool)(ret)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (this *QDir) Rmpath(dirPath string) bool {
|
|
|
|
dirPath_Cstring := C.CString(dirPath)
|
|
|
|
defer C.free(unsafe.Pointer(dirPath_Cstring))
|
|
|
|
ret := C.QDir_Rmpath(this.h, dirPath_Cstring, C.ulong(len(dirPath)))
|
|
|
|
return (bool)(ret)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (this *QDir) RemoveRecursively() bool {
|
|
|
|
ret := C.QDir_RemoveRecursively(this.h)
|
|
|
|
return (bool)(ret)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (this *QDir) IsReadable() bool {
|
|
|
|
ret := C.QDir_IsReadable(this.h)
|
|
|
|
return (bool)(ret)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (this *QDir) Exists() bool {
|
|
|
|
ret := C.QDir_Exists(this.h)
|
|
|
|
return (bool)(ret)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (this *QDir) IsRoot() bool {
|
|
|
|
ret := C.QDir_IsRoot(this.h)
|
|
|
|
return (bool)(ret)
|
|
|
|
}
|
|
|
|
|
|
|
|
func QDir_IsRelativePath(path string) bool {
|
|
|
|
path_Cstring := C.CString(path)
|
|
|
|
defer C.free(unsafe.Pointer(path_Cstring))
|
|
|
|
ret := C.QDir_IsRelativePath(path_Cstring, C.ulong(len(path)))
|
|
|
|
return (bool)(ret)
|
|
|
|
}
|
|
|
|
|
|
|
|
func QDir_IsAbsolutePath(path string) bool {
|
|
|
|
path_Cstring := C.CString(path)
|
|
|
|
defer C.free(unsafe.Pointer(path_Cstring))
|
|
|
|
ret := C.QDir_IsAbsolutePath(path_Cstring, C.ulong(len(path)))
|
|
|
|
return (bool)(ret)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (this *QDir) IsRelative() bool {
|
|
|
|
ret := C.QDir_IsRelative(this.h)
|
|
|
|
return (bool)(ret)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (this *QDir) IsAbsolute() bool {
|
|
|
|
ret := C.QDir_IsAbsolute(this.h)
|
|
|
|
return (bool)(ret)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (this *QDir) MakeAbsolute() bool {
|
|
|
|
ret := C.QDir_MakeAbsolute(this.h)
|
|
|
|
return (bool)(ret)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (this *QDir) OperatorEqual(dir *QDir) bool {
|
|
|
|
ret := C.QDir_OperatorEqual(this.h, dir.cPointer())
|
|
|
|
return (bool)(ret)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (this *QDir) OperatorNotEqual(dir *QDir) bool {
|
|
|
|
ret := C.QDir_OperatorNotEqual(this.h, dir.cPointer())
|
|
|
|
return (bool)(ret)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (this *QDir) Remove(fileName string) bool {
|
|
|
|
fileName_Cstring := C.CString(fileName)
|
|
|
|
defer C.free(unsafe.Pointer(fileName_Cstring))
|
|
|
|
ret := C.QDir_Remove(this.h, fileName_Cstring, C.ulong(len(fileName)))
|
|
|
|
return (bool)(ret)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (this *QDir) Rename(oldName string, newName string) bool {
|
|
|
|
oldName_Cstring := C.CString(oldName)
|
|
|
|
defer C.free(unsafe.Pointer(oldName_Cstring))
|
|
|
|
newName_Cstring := C.CString(newName)
|
|
|
|
defer C.free(unsafe.Pointer(newName_Cstring))
|
|
|
|
ret := C.QDir_Rename(this.h, oldName_Cstring, C.ulong(len(oldName)), newName_Cstring, C.ulong(len(newName)))
|
|
|
|
return (bool)(ret)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (this *QDir) ExistsWithName(name string) bool {
|
|
|
|
name_Cstring := C.CString(name)
|
|
|
|
defer C.free(unsafe.Pointer(name_Cstring))
|
|
|
|
ret := C.QDir_ExistsWithName(this.h, name_Cstring, C.ulong(len(name)))
|
|
|
|
return (bool)(ret)
|
|
|
|
}
|
|
|
|
|
|
|
|
func QDir_Drives() []QFileInfo {
|
|
|
|
var _out **C.QFileInfo = nil
|
|
|
|
var _out_len C.size_t = 0
|
|
|
|
C.QDir_Drives(&_out, &_out_len)
|
|
|
|
ret := make([]QFileInfo, int(_out_len))
|
|
|
|
_outCast := (*[0xffff]*C.QFileInfo)(unsafe.Pointer(_out)) // so fresh so clean
|
|
|
|
for i := 0; i < int(_out_len); i++ {
|
|
|
|
ret[i] = *newQFileInfo(_outCast[i])
|
|
|
|
}
|
|
|
|
C.free(unsafe.Pointer(_out))
|
|
|
|
return ret
|
|
|
|
}
|
|
|
|
|
|
|
|
func QDir_ListSeparator() *QChar {
|
|
|
|
ret := C.QDir_ListSeparator()
|
|
|
|
// Qt uses pass-by-value semantics for this type. Mimic with finalizer
|
|
|
|
ret1 := newQChar(ret)
|
|
|
|
runtime.SetFinalizer(ret1, func(ret2 *QChar) {
|
|
|
|
ret2.Delete()
|
|
|
|
runtime.KeepAlive(ret2.h)
|
|
|
|
})
|
|
|
|
return ret1
|
|
|
|
}
|
|
|
|
|
|
|
|
func QDir_Separator() *QChar {
|
|
|
|
ret := C.QDir_Separator()
|
|
|
|
// Qt uses pass-by-value semantics for this type. Mimic with finalizer
|
|
|
|
ret1 := newQChar(ret)
|
|
|
|
runtime.SetFinalizer(ret1, func(ret2 *QChar) {
|
|
|
|
ret2.Delete()
|
|
|
|
runtime.KeepAlive(ret2.h)
|
|
|
|
})
|
|
|
|
return ret1
|
|
|
|
}
|
|
|
|
|
|
|
|
func QDir_SetCurrent(path string) bool {
|
|
|
|
path_Cstring := C.CString(path)
|
|
|
|
defer C.free(unsafe.Pointer(path_Cstring))
|
|
|
|
ret := C.QDir_SetCurrent(path_Cstring, C.ulong(len(path)))
|
|
|
|
return (bool)(ret)
|
|
|
|
}
|
|
|
|
|
|
|
|
func QDir_Current() *QDir {
|
|
|
|
ret := C.QDir_Current()
|
|
|
|
// Qt uses pass-by-value semantics for this type. Mimic with finalizer
|
|
|
|
ret1 := newQDir(ret)
|
|
|
|
runtime.SetFinalizer(ret1, func(ret2 *QDir) {
|
|
|
|
ret2.Delete()
|
|
|
|
runtime.KeepAlive(ret2.h)
|
|
|
|
})
|
|
|
|
return ret1
|
|
|
|
}
|
|
|
|
|
|
|
|
func QDir_CurrentPath() string {
|
|
|
|
var _out *C.char = nil
|
|
|
|
var _out_Strlen C.int = 0
|
|
|
|
C.QDir_CurrentPath(&_out, &_out_Strlen)
|
|
|
|
ret := C.GoStringN(_out, _out_Strlen)
|
|
|
|
C.free(unsafe.Pointer(_out))
|
|
|
|
return ret
|
|
|
|
}
|
|
|
|
|
|
|
|
func QDir_Home() *QDir {
|
|
|
|
ret := C.QDir_Home()
|
|
|
|
// Qt uses pass-by-value semantics for this type. Mimic with finalizer
|
|
|
|
ret1 := newQDir(ret)
|
|
|
|
runtime.SetFinalizer(ret1, func(ret2 *QDir) {
|
|
|
|
ret2.Delete()
|
|
|
|
runtime.KeepAlive(ret2.h)
|
|
|
|
})
|
|
|
|
return ret1
|
|
|
|
}
|
|
|
|
|
|
|
|
func QDir_HomePath() string {
|
|
|
|
var _out *C.char = nil
|
|
|
|
var _out_Strlen C.int = 0
|
|
|
|
C.QDir_HomePath(&_out, &_out_Strlen)
|
|
|
|
ret := C.GoStringN(_out, _out_Strlen)
|
|
|
|
C.free(unsafe.Pointer(_out))
|
|
|
|
return ret
|
|
|
|
}
|
|
|
|
|
|
|
|
func QDir_Root() *QDir {
|
|
|
|
ret := C.QDir_Root()
|
|
|
|
// Qt uses pass-by-value semantics for this type. Mimic with finalizer
|
|
|
|
ret1 := newQDir(ret)
|
|
|
|
runtime.SetFinalizer(ret1, func(ret2 *QDir) {
|
|
|
|
ret2.Delete()
|
|
|
|
runtime.KeepAlive(ret2.h)
|
|
|
|
})
|
|
|
|
return ret1
|
|
|
|
}
|
|
|
|
|
|
|
|
func QDir_RootPath() string {
|
|
|
|
var _out *C.char = nil
|
|
|
|
var _out_Strlen C.int = 0
|
|
|
|
C.QDir_RootPath(&_out, &_out_Strlen)
|
|
|
|
ret := C.GoStringN(_out, _out_Strlen)
|
|
|
|
C.free(unsafe.Pointer(_out))
|
|
|
|
return ret
|
|
|
|
}
|
|
|
|
|
|
|
|
func QDir_Temp() *QDir {
|
|
|
|
ret := C.QDir_Temp()
|
|
|
|
// Qt uses pass-by-value semantics for this type. Mimic with finalizer
|
|
|
|
ret1 := newQDir(ret)
|
|
|
|
runtime.SetFinalizer(ret1, func(ret2 *QDir) {
|
|
|
|
ret2.Delete()
|
|
|
|
runtime.KeepAlive(ret2.h)
|
|
|
|
})
|
|
|
|
return ret1
|
|
|
|
}
|
|
|
|
|
|
|
|
func QDir_TempPath() string {
|
|
|
|
var _out *C.char = nil
|
|
|
|
var _out_Strlen C.int = 0
|
|
|
|
C.QDir_TempPath(&_out, &_out_Strlen)
|
|
|
|
ret := C.GoStringN(_out, _out_Strlen)
|
|
|
|
C.free(unsafe.Pointer(_out))
|
|
|
|
return ret
|
|
|
|
}
|
|
|
|
|
|
|
|
func QDir_Match(filters []string, fileName string) bool {
|
|
|
|
// For the C ABI, malloc two C arrays; raw char* pointers and their lengths
|
|
|
|
filters_CArray := (*[0xffff]*C.char)(C.malloc(C.ulong(8 * len(filters))))
|
|
|
|
filters_Lengths := (*[0xffff]C.size_t)(C.malloc(C.ulong(8 * len(filters))))
|
|
|
|
defer C.free(unsafe.Pointer(filters_CArray))
|
|
|
|
defer C.free(unsafe.Pointer(filters_Lengths))
|
|
|
|
for i := range filters {
|
|
|
|
single_cstring := C.CString(filters[i])
|
|
|
|
defer C.free(unsafe.Pointer(single_cstring))
|
|
|
|
filters_CArray[i] = single_cstring
|
|
|
|
filters_Lengths[i] = (C.size_t)(len(filters[i]))
|
|
|
|
}
|
|
|
|
fileName_Cstring := C.CString(fileName)
|
|
|
|
defer C.free(unsafe.Pointer(fileName_Cstring))
|
|
|
|
ret := C.QDir_Match(&filters_CArray[0], &filters_Lengths[0], C.ulong(len(filters)), fileName_Cstring, C.ulong(len(fileName)))
|
|
|
|
return (bool)(ret)
|
|
|
|
}
|
|
|
|
|
|
|
|
func QDir_Match2(filter string, fileName string) bool {
|
|
|
|
filter_Cstring := C.CString(filter)
|
|
|
|
defer C.free(unsafe.Pointer(filter_Cstring))
|
|
|
|
fileName_Cstring := C.CString(fileName)
|
|
|
|
defer C.free(unsafe.Pointer(fileName_Cstring))
|
|
|
|
ret := C.QDir_Match2(filter_Cstring, C.ulong(len(filter)), fileName_Cstring, C.ulong(len(fileName)))
|
|
|
|
return (bool)(ret)
|
|
|
|
}
|
|
|
|
|
|
|
|
func QDir_CleanPath(path string) string {
|
|
|
|
path_Cstring := C.CString(path)
|
|
|
|
defer C.free(unsafe.Pointer(path_Cstring))
|
|
|
|
var _out *C.char = nil
|
|
|
|
var _out_Strlen C.int = 0
|
|
|
|
C.QDir_CleanPath(path_Cstring, C.ulong(len(path)), &_out, &_out_Strlen)
|
|
|
|
ret := C.GoStringN(_out, _out_Strlen)
|
|
|
|
C.free(unsafe.Pointer(_out))
|
|
|
|
return ret
|
|
|
|
}
|
|
|
|
|
|
|
|
func (this *QDir) Refresh() {
|
|
|
|
C.QDir_Refresh(this.h)
|
|
|
|
}
|
|
|
|
|
2024-08-29 07:01:51 +00:00
|
|
|
func (this *QDir) IsEmpty1(filters int) bool {
|
|
|
|
ret := C.QDir_IsEmpty1(this.h, (C.int)(filters))
|
|
|
|
return (bool)(ret)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (this *QDir) EntryList1(filters int) []string {
|
|
|
|
var _out **C.char = nil
|
|
|
|
var _out_Lengths *C.int = nil
|
|
|
|
var _out_len C.size_t = 0
|
|
|
|
C.QDir_EntryList1(this.h, (C.int)(filters), &_out, &_out_Lengths, &_out_len)
|
|
|
|
ret := make([]string, int(_out_len))
|
|
|
|
_outCast := (*[0xffff]*C.char)(unsafe.Pointer(_out)) // hey ya
|
|
|
|
_out_LengthsCast := (*[0xffff]C.int)(unsafe.Pointer(_out_Lengths))
|
|
|
|
for i := 0; i < int(_out_len); i++ {
|
|
|
|
ret[i] = C.GoStringN(_outCast[i], _out_LengthsCast[i])
|
|
|
|
}
|
|
|
|
C.free(unsafe.Pointer(_out))
|
|
|
|
return ret
|
|
|
|
}
|
|
|
|
|
|
|
|
func (this *QDir) EntryList2(filters int, sort int) []string {
|
|
|
|
var _out **C.char = nil
|
|
|
|
var _out_Lengths *C.int = nil
|
|
|
|
var _out_len C.size_t = 0
|
|
|
|
C.QDir_EntryList2(this.h, (C.int)(filters), (C.int)(sort), &_out, &_out_Lengths, &_out_len)
|
|
|
|
ret := make([]string, int(_out_len))
|
|
|
|
_outCast := (*[0xffff]*C.char)(unsafe.Pointer(_out)) // hey ya
|
|
|
|
_out_LengthsCast := (*[0xffff]C.int)(unsafe.Pointer(_out_Lengths))
|
|
|
|
for i := 0; i < int(_out_len); i++ {
|
|
|
|
ret[i] = C.GoStringN(_outCast[i], _out_LengthsCast[i])
|
|
|
|
}
|
|
|
|
C.free(unsafe.Pointer(_out))
|
|
|
|
return ret
|
|
|
|
}
|
|
|
|
|
|
|
|
func (this *QDir) EntryList22(nameFilters []string, filters int) []string {
|
|
|
|
// For the C ABI, malloc two C arrays; raw char* pointers and their lengths
|
|
|
|
nameFilters_CArray := (*[0xffff]*C.char)(C.malloc(C.ulong(8 * len(nameFilters))))
|
|
|
|
nameFilters_Lengths := (*[0xffff]C.size_t)(C.malloc(C.ulong(8 * len(nameFilters))))
|
|
|
|
defer C.free(unsafe.Pointer(nameFilters_CArray))
|
|
|
|
defer C.free(unsafe.Pointer(nameFilters_Lengths))
|
|
|
|
for i := range nameFilters {
|
|
|
|
single_cstring := C.CString(nameFilters[i])
|
|
|
|
defer C.free(unsafe.Pointer(single_cstring))
|
|
|
|
nameFilters_CArray[i] = single_cstring
|
|
|
|
nameFilters_Lengths[i] = (C.size_t)(len(nameFilters[i]))
|
|
|
|
}
|
|
|
|
var _out **C.char = nil
|
|
|
|
var _out_Lengths *C.int = nil
|
|
|
|
var _out_len C.size_t = 0
|
|
|
|
C.QDir_EntryList22(this.h, &nameFilters_CArray[0], &nameFilters_Lengths[0], C.ulong(len(nameFilters)), (C.int)(filters), &_out, &_out_Lengths, &_out_len)
|
|
|
|
ret := make([]string, int(_out_len))
|
|
|
|
_outCast := (*[0xffff]*C.char)(unsafe.Pointer(_out)) // hey ya
|
|
|
|
_out_LengthsCast := (*[0xffff]C.int)(unsafe.Pointer(_out_Lengths))
|
|
|
|
for i := 0; i < int(_out_len); i++ {
|
|
|
|
ret[i] = C.GoStringN(_outCast[i], _out_LengthsCast[i])
|
|
|
|
}
|
|
|
|
C.free(unsafe.Pointer(_out))
|
|
|
|
return ret
|
|
|
|
}
|
|
|
|
|
|
|
|
func (this *QDir) EntryList3(nameFilters []string, filters int, sort int) []string {
|
|
|
|
// For the C ABI, malloc two C arrays; raw char* pointers and their lengths
|
|
|
|
nameFilters_CArray := (*[0xffff]*C.char)(C.malloc(C.ulong(8 * len(nameFilters))))
|
|
|
|
nameFilters_Lengths := (*[0xffff]C.size_t)(C.malloc(C.ulong(8 * len(nameFilters))))
|
|
|
|
defer C.free(unsafe.Pointer(nameFilters_CArray))
|
|
|
|
defer C.free(unsafe.Pointer(nameFilters_Lengths))
|
|
|
|
for i := range nameFilters {
|
|
|
|
single_cstring := C.CString(nameFilters[i])
|
|
|
|
defer C.free(unsafe.Pointer(single_cstring))
|
|
|
|
nameFilters_CArray[i] = single_cstring
|
|
|
|
nameFilters_Lengths[i] = (C.size_t)(len(nameFilters[i]))
|
|
|
|
}
|
|
|
|
var _out **C.char = nil
|
|
|
|
var _out_Lengths *C.int = nil
|
|
|
|
var _out_len C.size_t = 0
|
|
|
|
C.QDir_EntryList3(this.h, &nameFilters_CArray[0], &nameFilters_Lengths[0], C.ulong(len(nameFilters)), (C.int)(filters), (C.int)(sort), &_out, &_out_Lengths, &_out_len)
|
|
|
|
ret := make([]string, int(_out_len))
|
|
|
|
_outCast := (*[0xffff]*C.char)(unsafe.Pointer(_out)) // hey ya
|
|
|
|
_out_LengthsCast := (*[0xffff]C.int)(unsafe.Pointer(_out_Lengths))
|
|
|
|
for i := 0; i < int(_out_len); i++ {
|
|
|
|
ret[i] = C.GoStringN(_outCast[i], _out_LengthsCast[i])
|
|
|
|
}
|
|
|
|
C.free(unsafe.Pointer(_out))
|
|
|
|
return ret
|
|
|
|
}
|
|
|
|
|
|
|
|
func (this *QDir) EntryInfoList1(filters int) []QFileInfo {
|
|
|
|
var _out **C.QFileInfo = nil
|
|
|
|
var _out_len C.size_t = 0
|
|
|
|
C.QDir_EntryInfoList1(this.h, (C.int)(filters), &_out, &_out_len)
|
|
|
|
ret := make([]QFileInfo, int(_out_len))
|
|
|
|
_outCast := (*[0xffff]*C.QFileInfo)(unsafe.Pointer(_out)) // so fresh so clean
|
|
|
|
for i := 0; i < int(_out_len); i++ {
|
|
|
|
ret[i] = *newQFileInfo(_outCast[i])
|
|
|
|
}
|
|
|
|
C.free(unsafe.Pointer(_out))
|
|
|
|
return ret
|
|
|
|
}
|
|
|
|
|
|
|
|
func (this *QDir) EntryInfoList2(filters int, sort int) []QFileInfo {
|
|
|
|
var _out **C.QFileInfo = nil
|
|
|
|
var _out_len C.size_t = 0
|
|
|
|
C.QDir_EntryInfoList2(this.h, (C.int)(filters), (C.int)(sort), &_out, &_out_len)
|
|
|
|
ret := make([]QFileInfo, int(_out_len))
|
|
|
|
_outCast := (*[0xffff]*C.QFileInfo)(unsafe.Pointer(_out)) // so fresh so clean
|
|
|
|
for i := 0; i < int(_out_len); i++ {
|
|
|
|
ret[i] = *newQFileInfo(_outCast[i])
|
|
|
|
}
|
|
|
|
C.free(unsafe.Pointer(_out))
|
|
|
|
return ret
|
|
|
|
}
|
|
|
|
|
|
|
|
func (this *QDir) EntryInfoList22(nameFilters []string, filters int) []QFileInfo {
|
|
|
|
// For the C ABI, malloc two C arrays; raw char* pointers and their lengths
|
|
|
|
nameFilters_CArray := (*[0xffff]*C.char)(C.malloc(C.ulong(8 * len(nameFilters))))
|
|
|
|
nameFilters_Lengths := (*[0xffff]C.size_t)(C.malloc(C.ulong(8 * len(nameFilters))))
|
|
|
|
defer C.free(unsafe.Pointer(nameFilters_CArray))
|
|
|
|
defer C.free(unsafe.Pointer(nameFilters_Lengths))
|
|
|
|
for i := range nameFilters {
|
|
|
|
single_cstring := C.CString(nameFilters[i])
|
|
|
|
defer C.free(unsafe.Pointer(single_cstring))
|
|
|
|
nameFilters_CArray[i] = single_cstring
|
|
|
|
nameFilters_Lengths[i] = (C.size_t)(len(nameFilters[i]))
|
|
|
|
}
|
|
|
|
var _out **C.QFileInfo = nil
|
|
|
|
var _out_len C.size_t = 0
|
|
|
|
C.QDir_EntryInfoList22(this.h, &nameFilters_CArray[0], &nameFilters_Lengths[0], C.ulong(len(nameFilters)), (C.int)(filters), &_out, &_out_len)
|
|
|
|
ret := make([]QFileInfo, int(_out_len))
|
|
|
|
_outCast := (*[0xffff]*C.QFileInfo)(unsafe.Pointer(_out)) // so fresh so clean
|
|
|
|
for i := 0; i < int(_out_len); i++ {
|
|
|
|
ret[i] = *newQFileInfo(_outCast[i])
|
|
|
|
}
|
|
|
|
C.free(unsafe.Pointer(_out))
|
|
|
|
return ret
|
|
|
|
}
|
|
|
|
|
|
|
|
func (this *QDir) EntryInfoList3(nameFilters []string, filters int, sort int) []QFileInfo {
|
|
|
|
// For the C ABI, malloc two C arrays; raw char* pointers and their lengths
|
|
|
|
nameFilters_CArray := (*[0xffff]*C.char)(C.malloc(C.ulong(8 * len(nameFilters))))
|
|
|
|
nameFilters_Lengths := (*[0xffff]C.size_t)(C.malloc(C.ulong(8 * len(nameFilters))))
|
|
|
|
defer C.free(unsafe.Pointer(nameFilters_CArray))
|
|
|
|
defer C.free(unsafe.Pointer(nameFilters_Lengths))
|
|
|
|
for i := range nameFilters {
|
|
|
|
single_cstring := C.CString(nameFilters[i])
|
|
|
|
defer C.free(unsafe.Pointer(single_cstring))
|
|
|
|
nameFilters_CArray[i] = single_cstring
|
|
|
|
nameFilters_Lengths[i] = (C.size_t)(len(nameFilters[i]))
|
|
|
|
}
|
|
|
|
var _out **C.QFileInfo = nil
|
|
|
|
var _out_len C.size_t = 0
|
|
|
|
C.QDir_EntryInfoList3(this.h, &nameFilters_CArray[0], &nameFilters_Lengths[0], C.ulong(len(nameFilters)), (C.int)(filters), (C.int)(sort), &_out, &_out_len)
|
|
|
|
ret := make([]QFileInfo, int(_out_len))
|
|
|
|
_outCast := (*[0xffff]*C.QFileInfo)(unsafe.Pointer(_out)) // so fresh so clean
|
|
|
|
for i := 0; i < int(_out_len); i++ {
|
|
|
|
ret[i] = *newQFileInfo(_outCast[i])
|
|
|
|
}
|
|
|
|
C.free(unsafe.Pointer(_out))
|
|
|
|
return ret
|
|
|
|
}
|
|
|
|
|
2024-08-25 04:08:24 +00:00
|
|
|
func (this *QDir) Delete() {
|
|
|
|
C.QDir_Delete(this.h)
|
|
|
|
}
|