Merge pull request #344 from bnema/chore/upstream-foundations
chore(deps): integrate approved upstream foundations
921 files · +28709 -25527
M docs/first-presentation.md +5 -2
| @@ -46,5 +46,8 @@ labels. Set `DUMBER_MACHINE_GPU_PROFILE` to one of `generic-gpu`, | |||
| 46 | 46 | `integrated-gpu`, `discrete-gpu`, `hybrid-gpu`, `virtual-gpu`, or `unknown-gpu`; | |
| 47 | 47 | do not use a device model or other identifier. Publish only the seven reviewed | |
| 48 | 48 | JSON files to an external Gist. Raw logs and temporary XDG homes are removed and | |
| 49 | - | must not be published. A missing or incomplete timeline, non-DMABUF backend, or | |
| 50 | - | invalid run fails collection. | |
| 49 | + | must not be published. `metadata.json` derives the selected | |
| 50 | + | `github.com/bnema/purego-cef2gtk` pseudo-version and its full immutable Git | |
| 51 | + | origin hash from Go module metadata; branch selectors or missing origin metadata | |
| 52 | + | fail collection. A missing or incomplete timeline, non-DMABUF backend, or invalid | |
| 53 | + | run also fails collection. | |
| @@ -46,5 +46,8 @@ labels. Set `DUMBER_MACHINE_GPU_PROFILE` to one of `generic-gpu`, | |||||
| 46 | `integrated-gpu`, `discrete-gpu`, `hybrid-gpu`, `virtual-gpu`, or `unknown-gpu`; | 46 | `integrated-gpu`, `discrete-gpu`, `hybrid-gpu`, `virtual-gpu`, or `unknown-gpu`; | ||
| 47 | do not use a device model or other identifier. Publish only the seven reviewed | 47 | do not use a device model or other identifier. Publish only the seven reviewed | ||
| 48 | JSON files to an external Gist. Raw logs and temporary XDG homes are removed and | 48 | JSON files to an external Gist. Raw logs and temporary XDG homes are removed and | ||
| 49 | - | must not be published. A missing or incomplete timeline, non-DMABUF backend, or | 49 | + | must not be published. `metadata.json` derives the selected |
| 50 | - | invalid run fails collection. | 50 | + | `github.com/bnema/purego-cef2gtk` pseudo-version and its full immutable Git |
| 51 | + | origin hash from Go module metadata; branch selectors or missing origin metadata | |||
| 52 | + | fail collection. A missing or incomplete timeline, non-DMABUF backend, or invalid | |||
| 53 | + | run also fails collection. | |||
M go.mod +5 -5
| @@ -6,11 +6,11 @@ require ( | |||
| 6 | 6 | github.com/a-h/templ v0.3.1020 | |
| 7 | 7 | github.com/andybalholm/brotli v1.2.2 | |
| 8 | 8 | github.com/bnema/purego v0.11.0-bnema.4 | |
| 9 | - | github.com/bnema/purego-cef v0.13.3 | |
| 10 | - | github.com/bnema/purego-cef2gtk v0.8.4 | |
| 11 | - | github.com/bnema/purego-pipewire v0.1.4 | |
| 12 | - | github.com/bnema/purego-sqlite v0.1.3 | |
| 13 | - | github.com/bnema/puregotk v0.7.0 | |
| 9 | + | github.com/bnema/purego-cef v0.13.4-0.20260714140305-f0b7414af67e | |
| 10 | + | github.com/bnema/purego-cef2gtk v0.8.4-0.20260714160309-bbd397409ebe | |
| 11 | + | github.com/bnema/purego-pipewire v0.1.5-0.20260714124450-6504b9cdf02a | |
| 12 | + | github.com/bnema/purego-sqlite v0.1.4-0.20260714131321-3614fe683b9c | |
| 13 | + | github.com/bnema/puregotk v0.7.1-0.20260714170452-0b6b9b901234 | |
| 14 | 14 | github.com/charmbracelet/bubbles v1.0.0 | |
| 15 | 15 | github.com/charmbracelet/bubbletea v1.3.10 | |
| 16 | 16 | github.com/charmbracelet/lipgloss v1.1.0 | |
| @@ -6,11 +6,11 @@ require ( | |||||
| 6 | github.com/a-h/templ v0.3.1020 | 6 | github.com/a-h/templ v0.3.1020 | ||
| 7 | github.com/andybalholm/brotli v1.2.2 | 7 | github.com/andybalholm/brotli v1.2.2 | ||
| 8 | github.com/bnema/purego v0.11.0-bnema.4 | 8 | github.com/bnema/purego v0.11.0-bnema.4 | ||
| 9 | - | github.com/bnema/purego-cef v0.13.3 | 9 | + | github.com/bnema/purego-cef v0.13.4-0.20260714140305-f0b7414af67e |
| 10 | - | github.com/bnema/purego-cef2gtk v0.8.4 | 10 | + | github.com/bnema/purego-cef2gtk v0.8.4-0.20260714160309-bbd397409ebe |
| 11 | - | github.com/bnema/purego-pipewire v0.1.4 | 11 | + | github.com/bnema/purego-pipewire v0.1.5-0.20260714124450-6504b9cdf02a |
| 12 | - | github.com/bnema/purego-sqlite v0.1.3 | 12 | + | github.com/bnema/purego-sqlite v0.1.4-0.20260714131321-3614fe683b9c |
| 13 | - | github.com/bnema/puregotk v0.7.0 | 13 | + | github.com/bnema/puregotk v0.7.1-0.20260714170452-0b6b9b901234 |
| 14 | github.com/charmbracelet/bubbles v1.0.0 | 14 | github.com/charmbracelet/bubbles v1.0.0 | ||
| 15 | github.com/charmbracelet/bubbletea v1.3.10 | 15 | github.com/charmbracelet/bubbletea v1.3.10 | ||
| 16 | github.com/charmbracelet/lipgloss v1.1.0 | 16 | github.com/charmbracelet/lipgloss v1.1.0 | ||
M go.sum +12 -0 generated file: collapsed
A internal/infrastructure/persistence/sqlite/history_repo_benchmark_test.go +71 -0
| @@ -0,0 +1,71 @@ | |||
| 1 | + | package sqlite_test | |
| 2 | + | ||
| 3 | + | import ( | |
| 4 | + | "fmt" | |
| 5 | + | "path/filepath" | |
| 6 | + | "testing" | |
| 7 | + | ||
| 8 | + | "github.com/bnema/dumber/internal/domain/entity" | |
| 9 | + | "github.com/bnema/dumber/internal/domain/repository" | |
| 10 | + | "github.com/bnema/dumber/internal/infrastructure/persistence/sqlite" | |
| 11 | + | ) | |
| 12 | + | ||
| 13 | + | // newHistoryBenchmarkRepository creates a representative local history corpus | |
| 14 | + | // outside the measured operation. Sidebar reads use GetRecent and omnibox | |
| 15 | + | // history suggestions use Search. | |
| 16 | + | func newHistoryBenchmarkRepository(b *testing.B) (repository.HistoryRepository, func()) { | |
| 17 | + | b.Helper() | |
| 18 | + | ||
| 19 | + | ctx := historyTestCtx() | |
| 20 | + | db, err := sqlite.NewConnection(ctx, filepath.Join(b.TempDir(), "dumber.db")) | |
| 21 | + | if err != nil { | |
| 22 | + | b.Fatal(err) | |
| 23 | + | } | |
| 24 | + | ||
| 25 | + | b.Cleanup(func() { | |
| 26 | + | if err := db.Close(); err != nil { | |
| 27 | + | b.Errorf("close benchmark database: %v", err) | |
| 28 | + | } | |
| 29 | + | }) | |
| 30 | + | ||
| 31 | + | repo := sqlite.NewHistoryRepository(db) | |
| 32 | + | for i := range 200 { | |
| 33 | + | entry := &entity.HistoryEntry{ | |
| 34 | + | URL: fmt.Sprintf("https://example%d.test/dumber/history/%d", i%20, i), | |
| 35 | + | Title: fmt.Sprintf("Dumber history entry %d", i), | |
| 36 | + | } | |
| 37 | + | if err := repo.Save(ctx, entry); err != nil { | |
| 38 | + | b.Fatal(err) | |
| 39 | + | } | |
| 40 | + | } | |
| 41 | + | ||
| 42 | + | return repo, func() {} | |
| 43 | + | } | |
| 44 | + | ||
| 45 | + | func BenchmarkHistorySQLiteSidebarRecent(b *testing.B) { | |
| 46 | + | repo, closeDB := newHistoryBenchmarkRepository(b) | |
| 47 | + | defer closeDB() | |
| 48 | + | ctx := historyTestCtx() | |
| 49 | + | ||
| 50 | + | b.ReportAllocs() | |
| 51 | + | b.ResetTimer() | |
| 52 | + | for range b.N { | |
| 53 | + | if _, err := repo.GetRecent(ctx, 50, 0); err != nil { | |
| 54 | + | b.Fatal(err) | |
| 55 | + | } | |
| 56 | + | } | |
| 57 | + | } | |
| 58 | + | ||
| 59 | + | func BenchmarkHistorySQLiteOmniboxSearch(b *testing.B) { | |
| 60 | + | repo, closeDB := newHistoryBenchmarkRepository(b) | |
| 61 | + | defer closeDB() | |
| 62 | + | ctx := historyTestCtx() | |
| 63 | + | ||
| 64 | + | b.ReportAllocs() | |
| 65 | + | b.ResetTimer() | |
| 66 | + | for range b.N { | |
| 67 | + | if _, err := repo.Search(ctx, "dumber history", 10); err != nil { | |
| 68 | + | b.Fatal(err) | |
| 69 | + | } | |
| 70 | + | } | |
| 71 | + | } | |
| @@ -0,0 +1,71 @@ | |||||
| 1 | + | package sqlite_test | |||
| 2 | + | ||||
| 3 | + | import ( | |||
| 4 | + | "fmt" | |||
| 5 | + | "path/filepath" | |||
| 6 | + | "testing" | |||
| 7 | + | ||||
| 8 | + | "github.com/bnema/dumber/internal/domain/entity" | |||
| 9 | + | "github.com/bnema/dumber/internal/domain/repository" | |||
| 10 | + | "github.com/bnema/dumber/internal/infrastructure/persistence/sqlite" | |||
| 11 | + | ) | |||
| 12 | + | ||||
| 13 | + | // newHistoryBenchmarkRepository creates a representative local history corpus | |||
| 14 | + | // outside the measured operation. Sidebar reads use GetRecent and omnibox | |||
| 15 | + | // history suggestions use Search. | |||
| 16 | + | func newHistoryBenchmarkRepository(b *testing.B) (repository.HistoryRepository, func()) { | |||
| 17 | + | b.Helper() | |||
| 18 | + | ||||
| 19 | + | ctx := historyTestCtx() | |||
| 20 | + | db, err := sqlite.NewConnection(ctx, filepath.Join(b.TempDir(), "dumber.db")) | |||
| 21 | + | if err != nil { | |||
| 22 | + | b.Fatal(err) | |||
| 23 | + | } | |||
| 24 | + | ||||
| 25 | + | b.Cleanup(func() { | |||
| 26 | + | if err := db.Close(); err != nil { | |||
| 27 | + | b.Errorf("close benchmark database: %v", err) | |||
| 28 | + | } | |||
| 29 | + | }) | |||
| 30 | + | ||||
| 31 | + | repo := sqlite.NewHistoryRepository(db) | |||
| 32 | + | for i := range 200 { | |||
| 33 | + | entry := &entity.HistoryEntry{ | |||
| 34 | + | URL: fmt.Sprintf("https://example%d.test/dumber/history/%d", i%20, i), | |||
| 35 | + | Title: fmt.Sprintf("Dumber history entry %d", i), | |||
| 36 | + | } | |||
| 37 | + | if err := repo.Save(ctx, entry); err != nil { | |||
| 38 | + | b.Fatal(err) | |||
| 39 | + | } | |||
| 40 | + | } | |||
| 41 | + | ||||
| 42 | + | return repo, func() {} | |||
| 43 | + | } | |||
| 44 | + | ||||
| 45 | + | func BenchmarkHistorySQLiteSidebarRecent(b *testing.B) { | |||
| 46 | + | repo, closeDB := newHistoryBenchmarkRepository(b) | |||
| 47 | + | defer closeDB() | |||
| 48 | + | ctx := historyTestCtx() | |||
| 49 | + | ||||
| 50 | + | b.ReportAllocs() | |||
| 51 | + | b.ResetTimer() | |||
| 52 | + | for range b.N { | |||
| 53 | + | if _, err := repo.GetRecent(ctx, 50, 0); err != nil { | |||
| 54 | + | b.Fatal(err) | |||
| 55 | + | } | |||
| 56 | + | } | |||
| 57 | + | } | |||
| 58 | + | ||||
| 59 | + | func BenchmarkHistorySQLiteOmniboxSearch(b *testing.B) { | |||
| 60 | + | repo, closeDB := newHistoryBenchmarkRepository(b) | |||
| 61 | + | defer closeDB() | |||
| 62 | + | ctx := historyTestCtx() | |||
| 63 | + | ||||
| 64 | + | b.ReportAllocs() | |||
| 65 | + | b.ResetTimer() | |||
| 66 | + | for range b.N { | |||
| 67 | + | if _, err := repo.Search(ctx, "dumber history", 10); err != nil { | |||
| 68 | + | b.Fatal(err) | |||
| 69 | + | } | |||
| 70 | + | } | |||
| 71 | + | } | |||
M internal/logging/first_presentation_collector_test.go +132 -1
| @@ -2,6 +2,7 @@ package logging | |||
| 2 | 2 | ||
| 3 | 3 | import ( | |
| 4 | 4 | "encoding/json" | |
| 5 | + | "fmt" | |
| 5 | 6 | "os" | |
| 6 | 7 | "os/exec" | |
| 7 | 8 | "path/filepath" | |
| @@ -143,8 +144,9 @@ func TestFirstPresentationCollectorSanitizesMachineLocalValues(t *testing.T) { | |||
| 143 | 144 | } | |
| 144 | 145 | for _, required := range []string{ | |
| 145 | 146 | `"measured_source_revision"`, | |
| 147 | + | `"version": "v0.8.4-0.20260714160309-bbd397409ebe"`, | |
| 146 | 148 | `"tag": "v0.8.4"`, | |
| 147 | - | `"revision": "f217ece342dea3ef2a3f98671fcd16a39ad0037d"`, | |
| 149 | + | `"revision": "bbd397409ebed75a5979c1e4566a2ef319f6a484"`, | |
| 148 | 150 | } { | |
| 149 | 151 | require.Contains(t, artifacts.String(), required) | |
| 150 | 152 | } | |
| @@ -166,6 +168,135 @@ func TestFirstPresentationCollectorSanitizesMachineLocalValues(t *testing.T) { | |||
| 166 | 168 | require.Equal(t, "integrated-gpu", metadata.Comparison.MachineGPUProfile) | |
| 167 | 169 | } | |
| 168 | 170 | ||
| 171 | + | func TestFirstPresentationCollectorDerivesSelectedImmutableModuleProvenance(t *testing.T) { | |
| 172 | + | repoRoot, err := filepath.Abs(filepath.Join("..", "..")) | |
| 173 | + | require.NoError(t, err) | |
| 174 | + | temp := t.TempDir() | |
| 175 | + | runtime := filepath.Join(temp, "cef-147-runtime") | |
| 176 | + | require.NoError(t, os.Mkdir(runtime, 0o755)) | |
| 177 | + | binary := filepath.Join(temp, "dumber") | |
| 178 | + | require.NoError(t, os.WriteFile(binary, collectorTestBinary(validFirstPresentationLog), 0o755)) | |
| 179 | + | ||
| 180 | + | // This exact pseudo-version is deliberately newer than the former v0.8.4 | |
| 181 | + | // hardcode; the collector must report what the selected module says. | |
| 182 | + | const version = "v0.8.5-0.20300102030405-bbd397409ebe" | |
| 183 | + | const revision = "bbd397409ebed75a5979c1e4566a2ef319f6a484" | |
| 184 | + | goBin := collectorProvenanceGo(t, temp, version, revision, "") | |
| 185 | + | output := filepath.Join(temp, "artifacts") | |
| 186 | + | cmd := exec.Command(filepath.Join(repoRoot, "scripts", "collect_first_presentation.sh")) | |
| 187 | + | cmd.Dir = repoRoot | |
| 188 | + | cmd.Env = append(os.Environ(), | |
| 189 | + | "DISPLAY=:test", | |
| 190 | + | "DUMBER_CEF_DIR="+runtime, | |
| 191 | + | "DUMBER_FIRST_PRESENTATION_BIN="+binary, | |
| 192 | + | "DUMBER_FIRST_PRESENTATION_OUTPUT="+output, | |
| 193 | + | "DUMBER_FIRST_PRESENTATION_TIMEOUT_SECONDS=1", | |
| 194 | + | "PATH="+filepath.Dir(goBin)+":"+os.Getenv("PATH"), | |
| 195 | + | ) | |
| 196 | + | result, err := cmd.CombinedOutput() | |
| 197 | + | require.NoErrorf(t, err, "collector failed: %s", result) | |
| 198 | + | ||
| 199 | + | var metadata struct { | |
| 200 | + | Upstream struct { | |
| 201 | + | Module string `json:"module"` | |
| 202 | + | Version string `json:"version"` | |
| 203 | + | Tag string `json:"tag"` | |
| 204 | + | Revision string `json:"revision"` | |
| 205 | + | } `json:"upstream"` | |
| 206 | + | } | |
| 207 | + | contents, err := os.ReadFile(filepath.Join(output, "metadata.json")) | |
| 208 | + | require.NoError(t, err) | |
| 209 | + | require.NoError(t, json.Unmarshal(contents, &metadata)) | |
| 210 | + | require.Equal(t, "github.com/bnema/purego-cef2gtk", metadata.Upstream.Module) | |
| 211 | + | require.Equal(t, version, metadata.Upstream.Version) | |
| 212 | + | require.Equal(t, "v0.8.5", metadata.Upstream.Tag) | |
| 213 | + | require.Equal(t, revision, metadata.Upstream.Revision) | |
| 214 | + | ||
| 215 | + | script, err := os.ReadFile(filepath.Join(repoRoot, "scripts", "collect_first_presentation.sh")) | |
| 216 | + | require.NoError(t, err) | |
| 217 | + | require.NotContains(t, string(script), "f217ece342dea3ef2a3f98671fcd16a39ad0037d") | |
| 218 | + | } | |
| 219 | + | ||
| 220 | + | func TestFirstPresentationCollectorRejectsNonImmutableModuleProvenanceWithoutLeaks(t *testing.T) { | |
| 221 | + | repoRoot, err := filepath.Abs(filepath.Join("..", "..")) | |
| 222 | + | require.NoError(t, err) | |
| 223 | + | ||
| 224 | + | for _, test := range []struct { | |
| 225 | + | name, version, revision, ref string | |
| 226 | + | }{ | |
| 227 | + | {name: "branch selector", version: "main", ref: "main"}, | |
| 228 | + | {name: "missing origin", version: "v0.8.5-0.20300102030405-bbd397409ebe"}, | |
| 229 | + | {name: "named origin ref", version: "v0.8.5-0.20300102030405-bbd397409ebe", revision: "bbd397409ebed75a5979c1e4566a2ef319f6a484", ref: "main"}, | |
| 230 | + | } { | |
| 231 | + | t.Run(test.name, func(t *testing.T) { | |
| 232 | + | temp := t.TempDir() | |
| 233 | + | runtime := filepath.Join(temp, "cef-147-runtime") | |
| 234 | + | require.NoError(t, os.Mkdir(runtime, 0o755)) | |
| 235 | + | binary := filepath.Join(temp, "dumber") | |
| 236 | + | require.NoError(t, os.WriteFile(binary, collectorTestBinary(validFirstPresentationLog), 0o755)) | |
| 237 | + | ||
| 238 | + | goBin := collectorProvenanceGo(t, temp, test.version, test.revision, test.ref) | |
| 239 | + | output := filepath.Join(temp, "artifacts") | |
| 240 | + | cmd := exec.Command(filepath.Join(repoRoot, "scripts", "collect_first_presentation.sh")) | |
| 241 | + | cmd.Dir = repoRoot | |
| 242 | + | cmd.Env = append(os.Environ(), | |
| 243 | + | "DISPLAY=:test", | |
| 244 | + | "DUMBER_CEF_DIR="+runtime, | |
| 245 | + | "DUMBER_FIRST_PRESENTATION_BIN="+binary, | |
| 246 | + | "DUMBER_FIRST_PRESENTATION_OUTPUT="+output, | |
| 247 | + | "PATH="+filepath.Dir(goBin)+":"+os.Getenv("PATH"), | |
| 248 | + | ) | |
| 249 | + | result, runErr := cmd.CombinedOutput() | |
| 250 | + | require.Errorf(t, runErr, "collector accepted nonimmutable module provenance: %s", result) | |
| 251 | + | require.Contains(t, string(result), "immutable module provenance is unavailable") | |
| 252 | + | require.NotContains(t, string(result), temp) | |
| 253 | + | require.NoFileExists(t, filepath.Join(output, "metadata.json")) | |
| 254 | + | for _, name := range runArtifactNames() { | |
| 255 | + | require.NoFileExists(t, filepath.Join(output, name)) | |
| 256 | + | } | |
| 257 | + | }) | |
| 258 | + | } | |
| 259 | + | } | |
| 260 | + | ||
| 261 | + | func collectorProvenanceGo(t *testing.T, temp, version, revision, ref string) string { | |
| 262 | + | t.Helper() | |
| 263 | + | infoPath := filepath.Join(temp, "module.info") | |
| 264 | + | info := map[string]any{"Version": version} | |
| 265 | + | if revision != "" { | |
| 266 | + | info["Origin"] = map[string]string{ | |
| 267 | + | "VCS": "git", "URL": "https://github.com/bnema/purego-cef2gtk", "Hash": revision, "Ref": ref, | |
| 268 | + | } | |
| 269 | + | } | |
| 270 | + | infoJSON, err := json.Marshal(info) | |
| 271 | + | require.NoError(t, err) | |
| 272 | + | require.NoError(t, os.WriteFile(infoPath, infoJSON, 0o600)) | |
| 273 | + | ||
| 274 | + | selectedJSON, err := json.Marshal(map[string]string{ | |
| 275 | + | "Path": "github.com/bnema/purego-cef2gtk", "Version": version, | |
| 276 | + | }) | |
| 277 | + | require.NoError(t, err) | |
| 278 | + | downloadedJSON, err := json.Marshal(map[string]string{ | |
| 279 | + | "Path": "github.com/bnema/purego-cef2gtk", "Version": version, "Info": infoPath, | |
| 280 | + | }) | |
| 281 | + | require.NoError(t, err) | |
| 282 | + | binDir := filepath.Join(temp, "bin") | |
| 283 | + | require.NoError(t, os.Mkdir(binDir, 0o755)) | |
| 284 | + | goBin := filepath.Join(binDir, "go") | |
| 285 | + | script := fmt.Sprintf(`#!/bin/sh | |
| 286 | + | if [ "$1" = "list" ] && [ "$2" = "-m" ] && [ "$3" = "-json" ] && [ "$4" = "github.com/bnema/purego-cef2gtk" ]; then | |
| 287 | + | printf '%%s\n' '%s' | |
| 288 | + | exit 0 | |
| 289 | + | fi | |
| 290 | + | if [ "$1" = "mod" ] && [ "$2" = "download" ] && [ "$3" = "-json" ] && [ "$4" = "github.com/bnema/purego-cef2gtk@%s" ]; then | |
| 291 | + | printf '%%s\n' '%s' | |
| 292 | + | exit 0 | |
| 293 | + | fi | |
| 294 | + | exit 1 | |
| 295 | + | `, selectedJSON, version, downloadedJSON) | |
| 296 | + | require.NoError(t, os.WriteFile(goBin, []byte(script), 0o755)) | |
| 297 | + | return goBin | |
| 298 | + | } | |
| 299 | + | ||
| 169 | 300 | func TestFirstPresentationCollectorDefaultsToXDGStateEvidenceDirectory(t *testing.T) { | |
| 170 | 301 | repoRoot, err := filepath.Abs(filepath.Join("..", "..")) | |
| 171 | 302 | require.NoError(t, err) | |
| @@ -2,6 +2,7 @@ package logging | |||||
| 2 | 2 | ||||
| 3 | import ( | 3 | import ( | ||
| 4 | "encoding/json" | 4 | "encoding/json" | ||
| 5 | + | "fmt" | |||
| 5 | "os" | 6 | "os" | ||
| 6 | "os/exec" | 7 | "os/exec" | ||
| 7 | "path/filepath" | 8 | "path/filepath" | ||
| @@ -143,8 +144,9 @@ func TestFirstPresentationCollectorSanitizesMachineLocalValues(t *testing.T) { | |||||
| 143 | } | 144 | } | ||
| 144 | for _, required := range []string{ | 145 | for _, required := range []string{ | ||
| 145 | `"measured_source_revision"`, | 146 | `"measured_source_revision"`, | ||
| 147 | + | `"version": "v0.8.4-0.20260714160309-bbd397409ebe"`, | |||
| 146 | `"tag": "v0.8.4"`, | 148 | `"tag": "v0.8.4"`, | ||
| 147 | - | `"revision": "f217ece342dea3ef2a3f98671fcd16a39ad0037d"`, | 149 | + | `"revision": "bbd397409ebed75a5979c1e4566a2ef319f6a484"`, |
| 148 | } { | 150 | } { | ||
| 149 | require.Contains(t, artifacts.String(), required) | 151 | require.Contains(t, artifacts.String(), required) | ||
| 150 | } | 152 | } | ||
| @@ -166,6 +168,135 @@ func TestFirstPresentationCollectorSanitizesMachineLocalValues(t *testing.T) { | |||||
| 166 | require.Equal(t, "integrated-gpu", metadata.Comparison.MachineGPUProfile) | 168 | require.Equal(t, "integrated-gpu", metadata.Comparison.MachineGPUProfile) | ||
| 167 | } | 169 | } | ||
| 168 | 170 | ||||
| 171 | + | func TestFirstPresentationCollectorDerivesSelectedImmutableModuleProvenance(t *testing.T) { | |||
| 172 | + | repoRoot, err := filepath.Abs(filepath.Join("..", "..")) | |||
| 173 | + | require.NoError(t, err) | |||
| 174 | + | temp := t.TempDir() | |||
| 175 | + | runtime := filepath.Join(temp, "cef-147-runtime") | |||
| 176 | + | require.NoError(t, os.Mkdir(runtime, 0o755)) | |||
| 177 | + | binary := filepath.Join(temp, "dumber") | |||
| 178 | + | require.NoError(t, os.WriteFile(binary, collectorTestBinary(validFirstPresentationLog), 0o755)) | |||
| 179 | + | ||||
| 180 | + | // This exact pseudo-version is deliberately newer than the former v0.8.4 | |||
| 181 | + | // hardcode; the collector must report what the selected module says. | |||
| 182 | + | const version = "v0.8.5-0.20300102030405-bbd397409ebe" | |||
| 183 | + | const revision = "bbd397409ebed75a5979c1e4566a2ef319f6a484" | |||
| 184 | + | goBin := collectorProvenanceGo(t, temp, version, revision, "") | |||
| 185 | + | output := filepath.Join(temp, "artifacts") | |||
| 186 | + | cmd := exec.Command(filepath.Join(repoRoot, "scripts", "collect_first_presentation.sh")) | |||
| 187 | + | cmd.Dir = repoRoot | |||
| 188 | + | cmd.Env = append(os.Environ(), | |||
| 189 | + | "DISPLAY=:test", | |||
| 190 | + | "DUMBER_CEF_DIR="+runtime, | |||
| 191 | + | "DUMBER_FIRST_PRESENTATION_BIN="+binary, | |||
| 192 | + | "DUMBER_FIRST_PRESENTATION_OUTPUT="+output, | |||
| 193 | + | "DUMBER_FIRST_PRESENTATION_TIMEOUT_SECONDS=1", | |||
| 194 | + | "PATH="+filepath.Dir(goBin)+":"+os.Getenv("PATH"), | |||
| 195 | + | ) | |||
| 196 | + | result, err := cmd.CombinedOutput() | |||
| 197 | + | require.NoErrorf(t, err, "collector failed: %s", result) | |||
| 198 | + | ||||
| 199 | + | var metadata struct { | |||
| 200 | + | Upstream struct { | |||
| 201 | + | Module string `json:"module"` | |||
| 202 | + | Version string `json:"version"` | |||
| 203 | + | Tag string `json:"tag"` | |||
| 204 | + | Revision string `json:"revision"` | |||
| 205 | + | } `json:"upstream"` | |||
| 206 | + | } | |||
| 207 | + | contents, err := os.ReadFile(filepath.Join(output, "metadata.json")) | |||
| 208 | + | require.NoError(t, err) | |||
| 209 | + | require.NoError(t, json.Unmarshal(contents, &metadata)) | |||
| 210 | + | require.Equal(t, "github.com/bnema/purego-cef2gtk", metadata.Upstream.Module) | |||
| 211 | + | require.Equal(t, version, metadata.Upstream.Version) | |||
| 212 | + | require.Equal(t, "v0.8.5", metadata.Upstream.Tag) | |||
| 213 | + | require.Equal(t, revision, metadata.Upstream.Revision) | |||
| 214 | + | ||||
| 215 | + | script, err := os.ReadFile(filepath.Join(repoRoot, "scripts", "collect_first_presentation.sh")) | |||
| 216 | + | require.NoError(t, err) | |||
| 217 | + | require.NotContains(t, string(script), "f217ece342dea3ef2a3f98671fcd16a39ad0037d") | |||
| 218 | + | } | |||
| 219 | + | ||||
| 220 | + | func TestFirstPresentationCollectorRejectsNonImmutableModuleProvenanceWithoutLeaks(t *testing.T) { | |||
| 221 | + | repoRoot, err := filepath.Abs(filepath.Join("..", "..")) | |||
| 222 | + | require.NoError(t, err) | |||
| 223 | + | ||||
| 224 | + | for _, test := range []struct { | |||
| 225 | + | name, version, revision, ref string | |||
| 226 | + | }{ | |||
| 227 | + | {name: "branch selector", version: "main", ref: "main"}, | |||
| 228 | + | {name: "missing origin", version: "v0.8.5-0.20300102030405-bbd397409ebe"}, | |||
| 229 | + | {name: "named origin ref", version: "v0.8.5-0.20300102030405-bbd397409ebe", revision: "bbd397409ebed75a5979c1e4566a2ef319f6a484", ref: "main"}, | |||
| 230 | + | } { | |||
| 231 | + | t.Run(test.name, func(t *testing.T) { | |||
| 232 | + | temp := t.TempDir() | |||
| 233 | + | runtime := filepath.Join(temp, "cef-147-runtime") | |||
| 234 | + | require.NoError(t, os.Mkdir(runtime, 0o755)) | |||
| 235 | + | binary := filepath.Join(temp, "dumber") | |||
| 236 | + | require.NoError(t, os.WriteFile(binary, collectorTestBinary(validFirstPresentationLog), 0o755)) | |||
| 237 | + | ||||
| 238 | + | goBin := collectorProvenanceGo(t, temp, test.version, test.revision, test.ref) | |||
| 239 | + | output := filepath.Join(temp, "artifacts") | |||
| 240 | + | cmd := exec.Command(filepath.Join(repoRoot, "scripts", "collect_first_presentation.sh")) | |||
| 241 | + | cmd.Dir = repoRoot | |||
| 242 | + | cmd.Env = append(os.Environ(), | |||
| 243 | + | "DISPLAY=:test", | |||
| 244 | + | "DUMBER_CEF_DIR="+runtime, | |||
| 245 | + | "DUMBER_FIRST_PRESENTATION_BIN="+binary, | |||
| 246 | + | "DUMBER_FIRST_PRESENTATION_OUTPUT="+output, | |||
| 247 | + | "PATH="+filepath.Dir(goBin)+":"+os.Getenv("PATH"), | |||
| 248 | + | ) | |||
| 249 | + | result, runErr := cmd.CombinedOutput() | |||
| 250 | + | require.Errorf(t, runErr, "collector accepted nonimmutable module provenance: %s", result) | |||
| 251 | + | require.Contains(t, string(result), "immutable module provenance is unavailable") | |||
| 252 | + | require.NotContains(t, string(result), temp) | |||
| 253 | + | require.NoFileExists(t, filepath.Join(output, "metadata.json")) | |||
| 254 | + | for _, name := range runArtifactNames() { | |||
| 255 | + | require.NoFileExists(t, filepath.Join(output, name)) | |||
| 256 | + | } | |||
| 257 | + | }) | |||
| 258 | + | } | |||
| 259 | + | } | |||
| 260 | + | ||||
| 261 | + | func collectorProvenanceGo(t *testing.T, temp, version, revision, ref string) string { | |||
| 262 | + | t.Helper() | |||
| 263 | + | infoPath := filepath.Join(temp, "module.info") | |||
| 264 | + | info := map[string]any{"Version": version} | |||
| 265 | + | if revision != "" { | |||
| 266 | + | info["Origin"] = map[string]string{ | |||
| 267 | + | "VCS": "git", "URL": "https://github.com/bnema/purego-cef2gtk", "Hash": revision, "Ref": ref, | |||
| 268 | + | } | |||
| 269 | + | } | |||
| 270 | + | infoJSON, err := json.Marshal(info) | |||
| 271 | + | require.NoError(t, err) | |||
| 272 | + | require.NoError(t, os.WriteFile(infoPath, infoJSON, 0o600)) | |||
| 273 | + | ||||
| 274 | + | selectedJSON, err := json.Marshal(map[string]string{ | |||
| 275 | + | "Path": "github.com/bnema/purego-cef2gtk", "Version": version, | |||
| 276 | + | }) | |||
| 277 | + | require.NoError(t, err) | |||
| 278 | + | downloadedJSON, err := json.Marshal(map[string]string{ | |||
| 279 | + | "Path": "github.com/bnema/purego-cef2gtk", "Version": version, "Info": infoPath, | |||
| 280 | + | }) | |||
| 281 | + | require.NoError(t, err) | |||
| 282 | + | binDir := filepath.Join(temp, "bin") | |||
| 283 | + | require.NoError(t, os.Mkdir(binDir, 0o755)) | |||
| 284 | + | goBin := filepath.Join(binDir, "go") | |||
| 285 | + | script := fmt.Sprintf(`#!/bin/sh | |||
| 286 | + | if [ "$1" = "list" ] && [ "$2" = "-m" ] && [ "$3" = "-json" ] && [ "$4" = "github.com/bnema/purego-cef2gtk" ]; then | |||
| 287 | + | printf '%%s\n' '%s' | |||
| 288 | + | exit 0 | |||
| 289 | + | fi | |||
| 290 | + | if [ "$1" = "mod" ] && [ "$2" = "download" ] && [ "$3" = "-json" ] && [ "$4" = "github.com/bnema/purego-cef2gtk@%s" ]; then | |||
| 291 | + | printf '%%s\n' '%s' | |||
| 292 | + | exit 0 | |||
| 293 | + | fi | |||
| 294 | + | exit 1 | |||
| 295 | + | `, selectedJSON, version, downloadedJSON) | |||
| 296 | + | require.NoError(t, os.WriteFile(goBin, []byte(script), 0o755)) | |||
| 297 | + | return goBin | |||
| 298 | + | } | |||
| 299 | + | ||||
| 169 | func TestFirstPresentationCollectorDefaultsToXDGStateEvidenceDirectory(t *testing.T) { | 300 | func TestFirstPresentationCollectorDefaultsToXDGStateEvidenceDirectory(t *testing.T) { | ||
| 170 | repoRoot, err := filepath.Abs(filepath.Join("..", "..")) | 301 | repoRoot, err := filepath.Abs(filepath.Join("..", "..")) | ||
| 171 | require.NoError(t, err) | 302 | require.NoError(t, err) | ||
M scripts/collect_first_presentation.sh +78 -9
| @@ -31,8 +31,78 @@ else | |||
| 31 | 31 | fi | |
| 32 | 32 | readonly output | |
| 33 | 33 | readonly upstream_module="github.com/bnema/purego-cef2gtk" | |
| 34 | - | readonly upstream_tag="v0.8.4" | |
| 35 | - | readonly upstream_revision="f217ece342dea3ef2a3f98671fcd16a39ad0037d" | |
| 34 | + | ||
| 35 | + | # Resolve the version selected by this checkout, then obtain its immutable VCS | |
| 36 | + | # origin from Go's cached module metadata. Do not infer a revision from a tag, | |
| 37 | + | # a branch, or a truncated pseudo-version suffix. | |
| 38 | + | resolve_upstream_provenance() { | |
| 39 | + | local selected_metadata selected_version downloaded_metadata | |
| 40 | + | ||
| 41 | + | selected_metadata="$(go list -m -json "$upstream_module" 2>/dev/null)" || { | |
| 42 | + | echo "first-presentation: immutable module provenance is unavailable" >&2 | |
| 43 | + | exit 2 | |
| 44 | + | } | |
| 45 | + | selected_version="$(python3 - "$upstream_module" "$selected_metadata" <<'PY' | |
| 46 | + | import json, sys | |
| 47 | + | try: | |
| 48 | + | metadata = json.loads(sys.argv[2]) | |
| 49 | + | if metadata.get("Path") != sys.argv[1] or not isinstance(metadata.get("Version"), str): | |
| 50 | + | raise ValueError | |
| 51 | + | print(metadata["Version"]) | |
| 52 | + | except (AttributeError, TypeError, ValueError, json.JSONDecodeError): | |
| 53 | + | raise SystemExit("first-presentation: immutable module provenance is unavailable") | |
| 54 | + | PY | |
| 55 | + | )" || exit $? | |
| 56 | + | downloaded_metadata="$(go mod download -json "$upstream_module@$selected_version" 2>/dev/null)" || { | |
| 57 | + | echo "first-presentation: immutable module provenance is unavailable" >&2 | |
| 58 | + | exit 2 | |
| 59 | + | } | |
| 60 | + | ||
| 61 | + | python3 - "$upstream_module" "$selected_metadata" "$downloaded_metadata" <<'PY' | |
| 62 | + | import json, re, sys | |
| 63 | + | ||
| 64 | + | module, selected_raw, downloaded_raw = sys.argv[1:] | |
| 65 | + | ||
| 66 | + | def fail(): | |
| 67 | + | # Do not expose Go cache locations or other machine-local values. | |
| 68 | + | raise SystemExit("first-presentation: immutable module provenance is unavailable") | |
| 69 | + | ||
| 70 | + | try: | |
| 71 | + | selected = json.loads(selected_raw) | |
| 72 | + | downloaded = json.loads(downloaded_raw) | |
| 73 | + | version = selected["Version"] | |
| 74 | + | if selected.get("Path") != module or downloaded.get("Path") != module: | |
| 75 | + | fail() | |
| 76 | + | if downloaded.get("Version") != version: | |
| 77 | + | fail() | |
| 78 | + | # A selected pseudo-version is an exact immutable selector, never a branch. | |
| 79 | + | match = re.fullmatch(r"(v\d+\.\d+\.\d+)-0\.\d{14}-([0-9a-f]{12})", version) | |
| 80 | + | if not match: | |
| 81 | + | fail() | |
| 82 | + | info_path = downloaded.get("Info") | |
| 83 | + | if not isinstance(info_path, str) or not info_path: | |
| 84 | + | fail() | |
| 85 | + | with open(info_path, encoding="utf-8") as info_file: | |
| 86 | + | info = json.load(info_file) | |
| 87 | + | origin = info.get("Origin") or downloaded.get("Origin") | |
| 88 | + | if info.get("Version") != version or not isinstance(origin, dict): | |
| 89 | + | fail() | |
| 90 | + | revision = origin.get("Hash") | |
| 91 | + | if origin.get("VCS") != "git" or origin.get("URL") != "https://github.com/bnema/purego-cef2gtk": | |
| 92 | + | fail() | |
| 93 | + | if not isinstance(revision, str) or not re.fullmatch(r"[0-9a-f]{40}", revision): | |
| 94 | + | fail() | |
| 95 | + | if not revision.startswith(match.group(2)): | |
| 96 | + | fail() | |
| 97 | + | # A named ref can move. Only the immutable hash itself is acceptable. | |
| 98 | + | if origin.get("Ref") not in (None, "", revision): | |
| 99 | + | fail() | |
| 100 | + | except (AttributeError, KeyError, OSError, TypeError, ValueError, json.JSONDecodeError): | |
| 101 | + | fail() | |
| 102 | + | ||
| 103 | + | print("\t".join((version, match.group(1), revision))) | |
| 104 | + | PY | |
| 105 | + | } | |
| 36 | 106 | ||
| 37 | 107 | # The artifact destination is caller-controlled. Never empty or recursively | |
| 38 | 108 | # clear it: collection only writes to a newly-created directory whose parent is | |
| @@ -66,10 +136,9 @@ prepare_output | |||
| 66 | 136 | [[ -x "$binary" ]] || { echo "first-presentation: executable not found: $binary" >&2; exit 2; } | |
| 67 | 137 | [[ -d "$runtime" ]] || { echo "first-presentation: CEF runtime not found: $runtime" >&2; exit 2; } | |
| 68 | 138 | [[ -n "${WAYLAND_DISPLAY:-}${DISPLAY:-}" ]] || { echo "first-presentation: a current Wayland/X11 display is required" >&2; exit 2; } | |
| 69 | - | [[ "$(go list -m -f '{{.Version}}' "$upstream_module")" == "$upstream_tag" ]] || { | |
| 70 | - | echo "first-presentation: expected $upstream_module@$upstream_tag" >&2 | |
| 71 | - | exit 2 | |
| 72 | - | } | |
| 139 | + | upstream_provenance="$(resolve_upstream_provenance)" || exit $? | |
| 140 | + | IFS=$'\t' read -r upstream_version upstream_tag upstream_revision <<<"$upstream_provenance" | |
| 141 | + | readonly upstream_version upstream_tag upstream_revision | |
| 73 | 142 | ||
| 74 | 143 | # Raw logs and temporary XDG homes may contain machine-local paths. Keep them | |
| 75 | 144 | # outside the committed artifact directory and always remove them. | |
| @@ -80,9 +149,9 @@ cleanup_work_root() { | |||
| 80 | 149 | rm -rf -- "$work_root" | |
| 81 | 150 | } | |
| 82 | 151 | trap cleanup_work_root EXIT | |
| 83 | - | python3 - "$output/metadata.json" "$binary" "$timeout_seconds" "$upstream_module" "$upstream_tag" "$upstream_revision" <<'PY' | |
| 152 | + | python3 - "$output/metadata.json" "$binary" "$timeout_seconds" "$upstream_module" "$upstream_version" "$upstream_tag" "$upstream_revision" <<'PY' | |
| 84 | 153 | import hashlib, json, os, platform, subprocess, sys | |
| 85 | - | path, binary, timeout, upstream_module, upstream_tag, upstream_revision = sys.argv[1:] | |
| 154 | + | path, binary, timeout, upstream_module, upstream_version, upstream_tag, upstream_revision = sys.argv[1:] | |
| 86 | 155 | with open(binary, "rb") as candidate: | |
| 87 | 156 | binary_sha256 = hashlib.file_digest(candidate, "sha256").hexdigest() | |
| 88 | 157 | ||
| @@ -102,7 +171,7 @@ json.dump({ | |||
| 102 | 171 | "binary": {"label": "dumber", "sha256": binary_sha256}, | |
| 103 | 172 | "timeout_seconds": int(timeout), | |
| 104 | 173 | "measured_source_revision": subprocess.check_output(["git", "-c", f"safe.directory={os.getcwd()}", "rev-parse", "HEAD"], text=True).strip(), | |
| 105 | - | "upstream": {"module": upstream_module, "tag": upstream_tag, "revision": upstream_revision}, | |
| 174 | + | "upstream": {"module": upstream_module, "version": upstream_version, "tag": upstream_tag, "revision": upstream_revision}, | |
| 106 | 175 | "comparison": {"os": os_label, "architecture": architecture, "display_protocol": display_protocol, "machine_gpu_profile": gpu_profile}, | |
| 107 | 176 | "render_configuration": {"backend": "gdk-dmabuf", "buffer_sharing": "dmabuf", "renderer": "vulkan"} | |
| 108 | 177 | }, open(path, "w"), indent=2, sort_keys=True) | |
| @@ -31,8 +31,78 @@ else | |||||
| 31 | fi | 31 | fi | ||
| 32 | readonly output | 32 | readonly output | ||
| 33 | readonly upstream_module="github.com/bnema/purego-cef2gtk" | 33 | readonly upstream_module="github.com/bnema/purego-cef2gtk" | ||
| 34 | - | readonly upstream_tag="v0.8.4" | 34 | + | |
| 35 | - | readonly upstream_revision="f217ece342dea3ef2a3f98671fcd16a39ad0037d" | 35 | + | # Resolve the version selected by this checkout, then obtain its immutable VCS |
| 36 | + | # origin from Go's cached module metadata. Do not infer a revision from a tag, | |||
| 37 | + | # a branch, or a truncated pseudo-version suffix. | |||
| 38 | + | resolve_upstream_provenance() { | |||
| 39 | + | local selected_metadata selected_version downloaded_metadata | |||
| 40 | + | ||||
| 41 | + | selected_metadata="$(go list -m -json "$upstream_module" 2>/dev/null)" || { | |||
| 42 | + | echo "first-presentation: immutable module provenance is unavailable" >&2 | |||
| 43 | + | exit 2 | |||
| 44 | + | } | |||
| 45 | + | selected_version="$(python3 - "$upstream_module" "$selected_metadata" <<'PY' | |||
| 46 | + | import json, sys | |||
| 47 | + | try: | |||
| 48 | + | metadata = json.loads(sys.argv[2]) | |||
| 49 | + | if metadata.get("Path") != sys.argv[1] or not isinstance(metadata.get("Version"), str): | |||
| 50 | + | raise ValueError | |||
| 51 | + | print(metadata["Version"]) | |||
| 52 | + | except (AttributeError, TypeError, ValueError, json.JSONDecodeError): | |||
| 53 | + | raise SystemExit("first-presentation: immutable module provenance is unavailable") | |||
| 54 | + | PY | |||
| 55 | + | )" || exit $? | |||
| 56 | + | downloaded_metadata="$(go mod download -json "$upstream_module@$selected_version" 2>/dev/null)" || { | |||
| 57 | + | echo "first-presentation: immutable module provenance is unavailable" >&2 | |||
| 58 | + | exit 2 | |||
| 59 | + | } | |||
| 60 | + | ||||
| 61 | + | python3 - "$upstream_module" "$selected_metadata" "$downloaded_metadata" <<'PY' | |||
| 62 | + | import json, re, sys | |||
| 63 | + | ||||
| 64 | + | module, selected_raw, downloaded_raw = sys.argv[1:] | |||
| 65 | + | ||||
| 66 | + | def fail(): | |||
| 67 | + | # Do not expose Go cache locations or other machine-local values. | |||
| 68 | + | raise SystemExit("first-presentation: immutable module provenance is unavailable") | |||
| 69 | + | ||||
| 70 | + | try: | |||
| 71 | + | selected = json.loads(selected_raw) | |||
| 72 | + | downloaded = json.loads(downloaded_raw) | |||
| 73 | + | version = selected["Version"] | |||
| 74 | + | if selected.get("Path") != module or downloaded.get("Path") != module: | |||
| 75 | + | fail() | |||
| 76 | + | if downloaded.get("Version") != version: | |||
| 77 | + | fail() | |||
| 78 | + | # A selected pseudo-version is an exact immutable selector, never a branch. | |||
| 79 | + | match = re.fullmatch(r"(v\d+\.\d+\.\d+)-0\.\d{14}-([0-9a-f]{12})", version) | |||
| 80 | + | if not match: | |||
| 81 | + | fail() | |||
| 82 | + | info_path = downloaded.get("Info") | |||
| 83 | + | if not isinstance(info_path, str) or not info_path: | |||
| 84 | + | fail() | |||
| 85 | + | with open(info_path, encoding="utf-8") as info_file: | |||
| 86 | + | info = json.load(info_file) | |||
| 87 | + | origin = info.get("Origin") or downloaded.get("Origin") | |||
| 88 | + | if info.get("Version") != version or not isinstance(origin, dict): | |||
| 89 | + | fail() | |||
| 90 | + | revision = origin.get("Hash") | |||
| 91 | + | if origin.get("VCS") != "git" or origin.get("URL") != "https://github.com/bnema/purego-cef2gtk": | |||
| 92 | + | fail() | |||
| 93 | + | if not isinstance(revision, str) or not re.fullmatch(r"[0-9a-f]{40}", revision): | |||
| 94 | + | fail() | |||
| 95 | + | if not revision.startswith(match.group(2)): | |||
| 96 | + | fail() | |||
| 97 | + | # A named ref can move. Only the immutable hash itself is acceptable. | |||
| 98 | + | if origin.get("Ref") not in (None, "", revision): | |||
| 99 | + | fail() | |||
| 100 | + | except (AttributeError, KeyError, OSError, TypeError, ValueError, json.JSONDecodeError): | |||
| 101 | + | fail() | |||
| 102 | + | ||||
| 103 | + | print("\t".join((version, match.group(1), revision))) | |||
| 104 | + | PY | |||
| 105 | + | } | |||
| 36 | 106 | ||||
| 37 | # The artifact destination is caller-controlled. Never empty or recursively | 107 | # The artifact destination is caller-controlled. Never empty or recursively | ||
| 38 | # clear it: collection only writes to a newly-created directory whose parent is | 108 | # clear it: collection only writes to a newly-created directory whose parent is | ||
| @@ -66,10 +136,9 @@ prepare_output | |||||
| 66 | [[ -x "$binary" ]] || { echo "first-presentation: executable not found: $binary" >&2; exit 2; } | 136 | [[ -x "$binary" ]] || { echo "first-presentation: executable not found: $binary" >&2; exit 2; } | ||
| 67 | [[ -d "$runtime" ]] || { echo "first-presentation: CEF runtime not found: $runtime" >&2; exit 2; } | 137 | [[ -d "$runtime" ]] || { echo "first-presentation: CEF runtime not found: $runtime" >&2; exit 2; } | ||
| 68 | [[ -n "${WAYLAND_DISPLAY:-}${DISPLAY:-}" ]] || { echo "first-presentation: a current Wayland/X11 display is required" >&2; exit 2; } | 138 | [[ -n "${WAYLAND_DISPLAY:-}${DISPLAY:-}" ]] || { echo "first-presentation: a current Wayland/X11 display is required" >&2; exit 2; } | ||
| 69 | - | [[ "$(go list -m -f '{{.Version}}' "$upstream_module")" == "$upstream_tag" ]] || { | 139 | + | upstream_provenance="$(resolve_upstream_provenance)" || exit $? |
| 70 | - | echo "first-presentation: expected $upstream_module@$upstream_tag" >&2 | 140 | + | IFS=$'\t' read -r upstream_version upstream_tag upstream_revision <<<"$upstream_provenance" |
| 71 | - | exit 2 | 141 | + | readonly upstream_version upstream_tag upstream_revision |
| 72 | - | } | |||
| 73 | 142 | ||||
| 74 | # Raw logs and temporary XDG homes may contain machine-local paths. Keep them | 143 | # Raw logs and temporary XDG homes may contain machine-local paths. Keep them | ||
| 75 | # outside the committed artifact directory and always remove them. | 144 | # outside the committed artifact directory and always remove them. | ||
| @@ -80,9 +149,9 @@ cleanup_work_root() { | |||||
| 80 | rm -rf -- "$work_root" | 149 | rm -rf -- "$work_root" | ||
| 81 | } | 150 | } | ||
| 82 | trap cleanup_work_root EXIT | 151 | trap cleanup_work_root EXIT | ||
| 83 | - | python3 - "$output/metadata.json" "$binary" "$timeout_seconds" "$upstream_module" "$upstream_tag" "$upstream_revision" <<'PY' | 152 | + | python3 - "$output/metadata.json" "$binary" "$timeout_seconds" "$upstream_module" "$upstream_version" "$upstream_tag" "$upstream_revision" <<'PY' |
| 84 | import hashlib, json, os, platform, subprocess, sys | 153 | import hashlib, json, os, platform, subprocess, sys | ||
| 85 | - | path, binary, timeout, upstream_module, upstream_tag, upstream_revision = sys.argv[1:] | 154 | + | path, binary, timeout, upstream_module, upstream_version, upstream_tag, upstream_revision = sys.argv[1:] |
| 86 | with open(binary, "rb") as candidate: | 155 | with open(binary, "rb") as candidate: | ||
| 87 | binary_sha256 = hashlib.file_digest(candidate, "sha256").hexdigest() | 156 | binary_sha256 = hashlib.file_digest(candidate, "sha256").hexdigest() | ||
| 88 | 157 | ||||
| @@ -102,7 +171,7 @@ json.dump({ | |||||
| 102 | "binary": {"label": "dumber", "sha256": binary_sha256}, | 171 | "binary": {"label": "dumber", "sha256": binary_sha256}, | ||
| 103 | "timeout_seconds": int(timeout), | 172 | "timeout_seconds": int(timeout), | ||
| 104 | "measured_source_revision": subprocess.check_output(["git", "-c", f"safe.directory={os.getcwd()}", "rev-parse", "HEAD"], text=True).strip(), | 173 | "measured_source_revision": subprocess.check_output(["git", "-c", f"safe.directory={os.getcwd()}", "rev-parse", "HEAD"], text=True).strip(), | ||
| 105 | - | "upstream": {"module": upstream_module, "tag": upstream_tag, "revision": upstream_revision}, | 174 | + | "upstream": {"module": upstream_module, "version": upstream_version, "tag": upstream_tag, "revision": upstream_revision}, |
| 106 | "comparison": {"os": os_label, "architecture": architecture, "display_protocol": display_protocol, "machine_gpu_profile": gpu_profile}, | 175 | "comparison": {"os": os_label, "architecture": architecture, "display_protocol": display_protocol, "machine_gpu_profile": gpu_profile}, | ||
| 107 | "render_configuration": {"backend": "gdk-dmabuf", "buffer_sharing": "dmabuf", "renderer": "vulkan"} | 176 | "render_configuration": {"backend": "gdk-dmabuf", "buffer_sharing": "dmabuf", "renderer": "vulkan"} | ||
| 108 | }, open(path, "w"), indent=2, sort_keys=True) | 177 | }, open(path, "w"), indent=2, sort_keys=True) | ||
M vendor/github.com/bnema/purego-cef/cef/bridge.go +8 -13 generated file: collapsed
M vendor/github.com/bnema/purego-cef2gtk/internal/cefadapter/accelerated_paint.go +34 -37 generated file: collapsed
M vendor/github.com/bnema/purego-cef2gtk/internal/dmabuf/frame.go +38 -19 generated file: collapsed
M vendor/github.com/bnema/purego-cef2gtk/internal/gtkgdk/renderer.go +89 -69 generated file: collapsed
M vendor/github.com/bnema/purego-pipewire/internal/core/player.go +5 -0 generated file: collapsed
M vendor/github.com/bnema/purego-pipewire/internal/core/player_rt.go +10 -6 generated file: collapsed
M vendor/github.com/bnema/purego-pipewire/internal/core/pwbuffer.go +66 -32 generated file: collapsed
M vendor/github.com/bnema/purego-sqlite/driver/driver.go +268 -63 generated file: collapsed
M vendor/github.com/bnema/purego-sqlite/internal/core/db.go +8 -0 generated file: collapsed
M vendor/github.com/bnema/purego-sqlite/internal/core/rows.go +13 -0 generated file: collapsed
M vendor/github.com/bnema/purego-sqlite/internal/loader/loader.go +23 -5 generated file: collapsed
M vendor/github.com/bnema/purego-sqlite/internal/ports/in/ports_gen.go +3 -0 generated file: collapsed
M vendor/github.com/bnema/puregotk/internal/core/core.go +197 -4 generated file: collapsed
M vendor/github.com/bnema/puregotk/pkg/core/core.go +10 -0 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-about-dialog.go +99 -64 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-about-window.go +95 -62 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-accent-color.go +7 -15 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-action-row.go +33 -29 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-alert-dialog.go +66 -47 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-animation-target.go +10 -27 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-animation-util.go +4 -12 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-animation.go +24 -26 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-application-window.go +14 -22 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-application.go +3 -15 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-avatar.go +22 -25 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-banner.go +23 -26 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-bin.go +5 -16 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-bottom-sheet.go +47 -38 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-breakpoint-bin.go +10 -19 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-breakpoint.go +33 -37 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-button-content.go +18 -22 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-button-row.go +10 -18 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-carousel-indicator-dots.go +5 -16 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-carousel-indicator-lines.go +5 -16 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-carousel.go +47 -37 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-clamp-layout.go +14 -20 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-clamp-scrollable.go +17 -22 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-clamp.go +17 -22 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-combo-row.go +34 -33 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-dialog.go +45 -38 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-easing.go +3 -13 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-entry-row.go +40 -33 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-enum-list-model.go +13 -22 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-expander-row.go +40 -33 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-flap.go +61 -48 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-fold-threshold-policy.go +10 -1 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-header-bar.go +36 -33 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-inline-view-switcher.go +18 -24 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-layout-slot.go +4 -15 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-layout.go +7 -17 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-leaflet.go +69 -56 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-length-unit.go +5 -14 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-main.go +5 -15 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-message-dialog.go +63 -44 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-multi-layout-view.go +17 -23 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-navigation-direction.go +10 -1 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-navigation-split-view.go +36 -32 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-navigation-view.go +60 -49 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-overlay-split-view.go +48 -38 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-password-entry-row.go +2 -13 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-preferences-dialog.go +23 -25 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-preferences-group.go +24 -26 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-preferences-page.go +38 -33 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-preferences-row.go +18 -22 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-preferences-window.go +31 -29 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-shortcut-label.go +10 -18 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-shortcuts-dialog.go +4 -15 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-shortcuts-item.go +23 -25 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-shortcuts-section.go +8 -17 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-sidebar-item.go +45 -37 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-sidebar-section.go +24 -27 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-sidebar.go +41 -39 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-spin-row.go +40 -34 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-spinner-paintable.go +5 -16 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-spinner.go +2 -13 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-split-button.go +39 -34 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-spring-animation.go +34 -30 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-spring-params.go +17 -21 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-squeezer.go +49 -44 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-status-page.go +20 -24 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-style-manager.go +25 -28 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-swipe-tracker.go +33 -30 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-swipeable.go +33 -21 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-switch-row.go +6 -16 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-tab-bar.go +35 -32 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-tab-button.go +5 -16 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-tab-overview.go +45 -37 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-tab-view.go +123 -87 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-timed-animation.go +30 -28 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-toast-overlay.go +9 -18 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-toast.go +41 -36 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-toggle-group.go +64 -51 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-toolbar-view.go +40 -35 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-version.go +7 -16 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-view-stack.go +78 -62 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-view-switcher-bar.go +9 -18 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-view-switcher-sidebar.go +15 -22 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-view-switcher-title.go +19 -23 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-view-switcher.go +10 -20 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-window-title.go +10 -18 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-window.go +14 -22 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-wrap-box.go +66 -46 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-wrap-layout.go +57 -46 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/cairo/main.go +36 -79 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkapplaunchcontext.go +10 -17 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkcairo.go +12 -16 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkcairocontext.go +3 -13 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkcicpparams.go +20 -25 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkclipboard.go +34 -32 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkcolorstate.go +12 -16 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkcontentdeserializer.go +26 -27 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkcontentformats.go +28 -31 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkcontentprovider.go +23 -28 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkcontentserializer.go +26 -27 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkcursor.go +12 -21 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkdevice.go +36 -33 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkdevicepad.go +27 -22 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkdevicetool.go +10 -18 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkdisplay.go +51 -43 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkdisplaymanager.go +10 -20 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkdmabuftexture.go +3 -13 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkdmabuftexturebuilder.go +53 -41 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkdrag.go +20 -28 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkdragsurface.go +6 -14 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkdragsurfacesize.go +3 -13 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkdrawcontext.go +11 -18 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkdrop.go +19 -24 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkenums.go +21 -1 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkevents.go +120 -118 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkframeclock.go +22 -24 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkframetimings.go +17 -20 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkglcontext.go +40 -36 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkgltexture.go +4 -15 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkgltexturebuilder.go +41 -35 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkkeys.go +19 -22 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkmemorytexture.go +2 -13 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkmemorytexturebuilder.go +42 -35 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkmonitor.go +27 -27 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkpaintable.go +63 -33 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkpango.go +4 -12 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkpixbuf.go +2 -12 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkpopup.go +47 -26 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkpopuplayout.go +36 -32 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkrgba.go +19 -21 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkseat.go +11 -20 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdksnapshot.go +7 -0 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdksurface.go +46 -40 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdktexture.go +27 -31 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdktoplevel.go +157 -66 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdktoplevellayout.go +24 -25 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdktoplevelsize.go +9 -16 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdktypes.go +95 -72 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkvulkancontext.go +3 -13 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdkpixbuf/gdk-pixbuf-animation.go +26 -32 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdkpixbuf/gdk-pixbuf-core.go +9 -0 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdkpixbuf/gdk-pixbuf-io.go +25 -23 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdkpixbuf/gdk-pixbuf-loader.go +13 -22 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdkpixbuf/gdk-pixbuf-simple-anim.go +8 -17 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdkpixbuf/gdk-pixbuf-transform.go +11 -1 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdkpixbuf/gdk-pixbuf.go +102 -79 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdkpixbuf/main.go +5 -17 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gaction.go +59 -31 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gactiongroup.go +96 -39 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gactionmap.go +33 -21 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gappinfo.go +244 -116 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gapplication.go +79 -55 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gapplicationcommandline.go +31 -27 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gasyncinitable.go +25 -22 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gasyncresult.go +26 -19 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gbufferedinputstream.go +26 -29 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gbufferedoutputstream.go +11 -18 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gbytesicon.go +4 -15 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gcancellable.go +26 -27 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gcharsetconverter.go +8 -17 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gcontenttype.go +30 -26 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gconverter.go +23 -20 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gconverterinputstream.go +3 -14 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gconverteroutputstream.go +3 -14 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gcredentials.go +12 -21 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gdatagrambased.go +45 -30 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gdatainputstream.go +31 -35 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gdataoutputstream.go +14 -23 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gdbusactiongroup.go +2 -13 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gdbusaddress.go +10 -17 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gdbusauthobserver.go +6 -16 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gdbusconnection.go +77 -66 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gdbuserror.go +16 -18 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gdbusinterface.go +26 -19 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gdbusinterfaceskeleton.go +25 -24 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gdbusintrospection.go +54 -56 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gdbusmenumodel.go +2 -13 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gdbusmessage.go +88 -64 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gdbusmethodinvocation.go +35 -30 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gdbusnameowning.go +10 -15 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gdbusnamewatching.go +10 -15 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gdbusobject.go +19 -17 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gdbusobjectmanager.go +26 -19 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gdbusobjectmanagerclient.go +16 -23 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gdbusobjectmanagerserver.go +13 -20 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gdbusobjectproxy.go +3 -15 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gdbusobjectskeleton.go +12 -18 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gdbusproxy.go +42 -38 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gdbusserver.go +14 -20 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gdbusutils.go +24 -22 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gdebugcontroller.go +12 -16 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gdebugcontrollerdbus.go +4 -14 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gdrive.go +214 -82 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gdtlsclientconnection.go +34 -24 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gdtlsconnection.go +207 -80 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gdtlsserverconnection.go +2 -13 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gemblem.go +6 -17 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gemblemedicon.go +9 -18 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gfile.go +1148 -450 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gfileattribute.go +13 -19 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gfileenumerator.go +34 -35 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gfileicon.go +3 -15 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gfileinfo.go +138 -84
| @@ -5,7 +5,6 @@ import ( | |||
| 5 | 5 | "structs" | |
| 6 | 6 | "unsafe" | |
| 7 | 7 | ||
| 8 | - | "github.com/bnema/purego" | |
| 9 | 8 | "github.com/bnema/puregotk/pkg/core" | |
| 10 | 9 | "github.com/bnema/puregotk/v4/glib" | |
| 11 | 10 | "github.com/bnema/puregotk/v4/gobject" | |
| @@ -751,6 +750,7 @@ type FileInfo struct { | |||
| 751 | 750 | var xFileInfoGLibType func() types.GType | |
| 752 | 751 | ||
| 753 | 752 | func FileInfoGLibType() types.GType { | |
| 753 | + | core.LazyRegister(&xFileInfoGLibType, "GIO", "g_file_info_get_type", false) | |
| 754 | 754 | return xFileInfoGLibType() | |
| 755 | 755 | } | |
| 756 | 756 | ||
| @@ -764,6 +764,7 @@ var xNewFileInfo func() uintptr | |||
| 764 | 764 | ||
| 765 | 765 | // Creates a new file info structure. | |
| 766 | 766 | func NewFileInfo() *FileInfo { | |
| 767 | + | core.LazyRegister(&xNewFileInfo, "GIO", "g_file_info_new", false) | |
| 767 | 768 | var cls *FileInfo | |
| 768 | 769 | ||
| 769 | 770 | cret := xNewFileInfo() | |
| @@ -780,6 +781,8 @@ var xFileInfoClearStatus func(uintptr) | |||
| 780 | 781 | ||
| 781 | 782 | // Clears the status information from @info. | |
| 782 | 783 | func (x *FileInfo) ClearStatus() { | |
| 784 | + | core.LazyRegister(&xFileInfoClearStatus, "GIO", "g_file_info_clear_status", false) | |
| 785 | + | ||
| 783 | 786 | xFileInfoClearStatus(x.GoPointer()) | |
| 784 | 787 | } | |
| 785 | 788 | ||
| @@ -788,6 +791,8 @@ var xFileInfoCopyInto func(uintptr, uintptr) | |||
| 788 | 791 | // First clears all of the [GFileAttribute](file-attributes.html#file-attributes) of | |
| 789 | 792 | // @dest_info, and then copies all of the file attributes from @src_info to @dest_info. | |
| 790 | 793 | func (x *FileInfo) CopyInto(DestInfoVar *FileInfo) { | |
| 794 | + | core.LazyRegister(&xFileInfoCopyInto, "GIO", "g_file_info_copy_into", false) | |
| 795 | + | ||
| 791 | 796 | xFileInfoCopyInto(x.GoPointer(), DestInfoVar.GoPointer()) | |
| 792 | 797 | } | |
| 793 | 798 | ||
| @@ -795,6 +800,7 @@ var xFileInfoDup func(uintptr) uintptr | |||
| 795 | 800 | ||
| 796 | 801 | // Duplicates a file info structure. | |
| 797 | 802 | func (x *FileInfo) Dup() *FileInfo { | |
| 803 | + | core.LazyRegister(&xFileInfoDup, "GIO", "g_file_info_dup", false) | |
| 798 | 804 | var cls *FileInfo | |
| 799 | 805 | ||
| 800 | 806 | cret := xFileInfoDup(x.GoPointer()) | |
| @@ -820,6 +826,8 @@ var xFileInfoGetAccessDateTime func(uintptr) uintptr | |||
| 820 | 826 | // If nanosecond precision is needed, %G_FILE_ATTRIBUTE_TIME_ACCESS_NSEC must | |
| 821 | 827 | // be queried separately using g_file_info_get_attribute_uint32(). | |
| 822 | 828 | func (x *FileInfo) GetAccessDateTime() *glib.DateTime { | |
| 829 | + | core.LazyRegister(&xFileInfoGetAccessDateTime, "GIO", "g_file_info_get_access_date_time", false) | |
| 830 | + | ||
| 823 | 831 | cret := xFileInfoGetAccessDateTime(x.GoPointer()) | |
| 824 | 832 | if cret == 0 { | |
| 825 | 833 | return nil | |
| @@ -850,6 +858,8 @@ var xFileInfoGetAttributeAsString func(uintptr, string) string | |||
| 850 | 858 | // | |
| 851 | 859 | // ``` | |
| 852 | 860 | func (x *FileInfo) GetAttributeAsString(AttributeVar string) string { | |
| 861 | + | core.LazyRegister(&xFileInfoGetAttributeAsString, "GIO", "g_file_info_get_attribute_as_string", false) | |
| 862 | + | ||
| 853 | 863 | cret := xFileInfoGetAttributeAsString(x.GoPointer(), AttributeVar) | |
| 854 | 864 | return cret | |
| 855 | 865 | } | |
| @@ -859,6 +869,8 @@ var xFileInfoGetAttributeBoolean func(uintptr, string) bool | |||
| 859 | 869 | // Gets the value of a boolean attribute. If the attribute does not | |
| 860 | 870 | // contain a boolean value, %FALSE will be returned. | |
| 861 | 871 | func (x *FileInfo) GetAttributeBoolean(AttributeVar string) bool { | |
| 872 | + | core.LazyRegister(&xFileInfoGetAttributeBoolean, "GIO", "g_file_info_get_attribute_boolean", false) | |
| 873 | + | ||
| 862 | 874 | cret := xFileInfoGetAttributeBoolean(x.GoPointer(), AttributeVar) | |
| 863 | 875 | return cret | |
| 864 | 876 | } | |
| @@ -868,6 +880,8 @@ var xFileInfoGetAttributeByteString func(uintptr, string) string | |||
| 868 | 880 | // Gets the value of a byte string attribute. If the attribute does | |
| 869 | 881 | // not contain a byte string, %NULL will be returned. | |
| 870 | 882 | func (x *FileInfo) GetAttributeByteString(AttributeVar string) string { | |
| 883 | + | core.LazyRegister(&xFileInfoGetAttributeByteString, "GIO", "g_file_info_get_attribute_byte_string", false) | |
| 884 | + | ||
| 871 | 885 | cret := xFileInfoGetAttributeByteString(x.GoPointer(), AttributeVar) | |
| 872 | 886 | return cret | |
| 873 | 887 | } | |
| @@ -876,6 +890,8 @@ var xFileInfoGetAttributeData func(uintptr, string, *FileAttributeType, *uintptr | |||
| 876 | 890 | ||
| 877 | 891 | // Gets the attribute type, value and status for an attribute key. | |
| 878 | 892 | func (x *FileInfo) GetAttributeData(AttributeVar string, TypeVar *FileAttributeType, ValuePpVar *uintptr, StatusVar *FileAttributeStatus) bool { | |
| 893 | + | core.LazyRegister(&xFileInfoGetAttributeData, "GIO", "g_file_info_get_attribute_data", false) | |
| 894 | + | ||
| 879 | 895 | cret := xFileInfoGetAttributeData(x.GoPointer(), AttributeVar, TypeVar, ValuePpVar, StatusVar) | |
| 880 | 896 | return cret | |
| 881 | 897 | } | |
| @@ -889,6 +905,8 @@ var xFileInfoGetAttributeFilePath func(uintptr, string) string | |||
| 889 | 905 | // This function is meant to be used by language bindings that have specific | |
| 890 | 906 | // handling for Unix paths. | |
| 891 | 907 | func (x *FileInfo) GetAttributeFilePath(AttributeVar string) string { | |
| 908 | + | core.LazyRegister(&xFileInfoGetAttributeFilePath, "GIO", "g_file_info_get_attribute_file_path", false) | |
| 909 | + | ||
| 892 | 910 | cret := xFileInfoGetAttributeFilePath(x.GoPointer(), AttributeVar) | |
| 893 | 911 | return cret | |
| 894 | 912 | } | |
| @@ -899,6 +917,8 @@ var xFileInfoGetAttributeInt32 func(uintptr, string) int32 | |||
| 899 | 917 | // attribute does not contain a signed 32-bit integer, or is invalid, | |
| 900 | 918 | // 0 will be returned. | |
| 901 | 919 | func (x *FileInfo) GetAttributeInt32(AttributeVar string) int32 { | |
| 920 | + | core.LazyRegister(&xFileInfoGetAttributeInt32, "GIO", "g_file_info_get_attribute_int32", false) | |
| 921 | + | ||
| 902 | 922 | cret := xFileInfoGetAttributeInt32(x.GoPointer(), AttributeVar) | |
| 903 | 923 | return cret | |
| 904 | 924 | } | |
| @@ -909,6 +929,8 @@ var xFileInfoGetAttributeInt64 func(uintptr, string) int64 | |||
| 909 | 929 | // attribute does not contain a signed 64-bit integer, or is invalid, | |
| 910 | 930 | // 0 will be returned. | |
| 911 | 931 | func (x *FileInfo) GetAttributeInt64(AttributeVar string) int64 { | |
| 932 | + | core.LazyRegister(&xFileInfoGetAttributeInt64, "GIO", "g_file_info_get_attribute_int64", false) | |
| 933 | + | ||
| 912 | 934 | cret := xFileInfoGetAttributeInt64(x.GoPointer(), AttributeVar) | |
| 913 | 935 | return cret | |
| 914 | 936 | } | |
| @@ -918,6 +940,7 @@ var xFileInfoGetAttributeObject func(uintptr, string) uintptr | |||
| 918 | 940 | // Gets the value of a #GObject attribute. If the attribute does | |
| 919 | 941 | // not contain a #GObject, %NULL will be returned. | |
| 920 | 942 | func (x *FileInfo) GetAttributeObject(AttributeVar string) *gobject.Object { | |
| 943 | + | core.LazyRegister(&xFileInfoGetAttributeObject, "GIO", "g_file_info_get_attribute_object", false) | |
| 921 | 944 | var cls *gobject.Object | |
| 922 | 945 | ||
| 923 | 946 | cret := xFileInfoGetAttributeObject(x.GoPointer(), AttributeVar) | |
| @@ -935,6 +958,8 @@ var xFileInfoGetAttributeStatus func(uintptr, string) FileAttributeStatus | |||
| 935 | 958 | ||
| 936 | 959 | // Gets the attribute status for an attribute key. | |
| 937 | 960 | func (x *FileInfo) GetAttributeStatus(AttributeVar string) FileAttributeStatus { | |
| 961 | + | core.LazyRegister(&xFileInfoGetAttributeStatus, "GIO", "g_file_info_get_attribute_status", false) | |
| 962 | + | ||
| 938 | 963 | cret := xFileInfoGetAttributeStatus(x.GoPointer(), AttributeVar) | |
| 939 | 964 | return cret | |
| 940 | 965 | } | |
| @@ -944,6 +969,8 @@ var xFileInfoGetAttributeString func(uintptr, string) string | |||
| 944 | 969 | // Gets the value of a string attribute. If the attribute does | |
| 945 | 970 | // not contain a string, %NULL will be returned. | |
| 946 | 971 | func (x *FileInfo) GetAttributeString(AttributeVar string) string { | |
| 972 | + | core.LazyRegister(&xFileInfoGetAttributeString, "GIO", "g_file_info_get_attribute_string", false) | |
| 973 | + | ||
| 947 | 974 | cret := xFileInfoGetAttributeString(x.GoPointer(), AttributeVar) | |
| 948 | 975 | return cret | |
| 949 | 976 | } | |
| @@ -953,6 +980,8 @@ var xFileInfoGetAttributeStringv func(uintptr, string) []string | |||
| 953 | 980 | // Gets the value of a stringv attribute. If the attribute does | |
| 954 | 981 | // not contain a stringv, %NULL will be returned. | |
| 955 | 982 | func (x *FileInfo) GetAttributeStringv(AttributeVar string) []string { | |
| 983 | + | core.LazyRegister(&xFileInfoGetAttributeStringv, "GIO", "g_file_info_get_attribute_stringv", false) | |
| 984 | + | ||
| 956 | 985 | cret := xFileInfoGetAttributeStringv(x.GoPointer(), AttributeVar) | |
| 957 | 986 | return cret | |
| 958 | 987 | } | |
| @@ -961,6 +990,8 @@ var xFileInfoGetAttributeType func(uintptr, string) FileAttributeType | |||
| 961 | 990 | ||
| 962 | 991 | // Gets the attribute type for an attribute key. | |
| 963 | 992 | func (x *FileInfo) GetAttributeType(AttributeVar string) FileAttributeType { | |
| 993 | + | core.LazyRegister(&xFileInfoGetAttributeType, "GIO", "g_file_info_get_attribute_type", false) | |
| 994 | + | ||
| 964 | 995 | cret := xFileInfoGetAttributeType(x.GoPointer(), AttributeVar) | |
| 965 | 996 | return cret | |
| 966 | 997 | } | |
| @@ -971,6 +1002,8 @@ var xFileInfoGetAttributeUint32 func(uintptr, string) uint32 | |||
| 971 | 1002 | // attribute does not contain an unsigned 32-bit integer, or is invalid, | |
| 972 | 1003 | // 0 will be returned. | |
| 973 | 1004 | func (x *FileInfo) GetAttributeUint32(AttributeVar string) uint32 { | |
| 1005 | + | core.LazyRegister(&xFileInfoGetAttributeUint32, "GIO", "g_file_info_get_attribute_uint32", false) | |
| 1006 | + | ||
| 974 | 1007 | cret := xFileInfoGetAttributeUint32(x.GoPointer(), AttributeVar) | |
| 975 | 1008 | return cret | |
| 976 | 1009 | } | |
| @@ -981,6 +1014,8 @@ var xFileInfoGetAttributeUint64 func(uintptr, string) uint64 | |||
| 981 | 1014 | // attribute does not contain an unsigned 64-bit integer, or is invalid, | |
| 982 | 1015 | // 0 will be returned. | |
| 983 | 1016 | func (x *FileInfo) GetAttributeUint64(AttributeVar string) uint64 { | |
| 1017 | + | core.LazyRegister(&xFileInfoGetAttributeUint64, "GIO", "g_file_info_get_attribute_uint64", false) | |
| 1018 | + | ||
| 984 | 1019 | cret := xFileInfoGetAttributeUint64(x.GoPointer(), AttributeVar) | |
| 985 | 1020 | return cret | |
| 986 | 1021 | } | |
| @@ -992,6 +1027,8 @@ var xFileInfoGetContentType func(uintptr) string | |||
| 992 | 1027 | // It is an error to call this if the #GFileInfo does not contain | |
| 993 | 1028 | // %G_FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE. | |
| 994 | 1029 | func (x *FileInfo) GetContentType() string { | |
| 1030 | + | core.LazyRegister(&xFileInfoGetContentType, "GIO", "g_file_info_get_content_type", false) | |
| 1031 | + | ||
| 995 | 1032 | cret := xFileInfoGetContentType(x.GoPointer()) | |
| 996 | 1033 | return cret | |
| 997 | 1034 | } | |
| @@ -1009,6 +1046,8 @@ var xFileInfoGetCreationDateTime func(uintptr) uintptr | |||
| 1009 | 1046 | // If nanosecond precision is needed, %G_FILE_ATTRIBUTE_TIME_CREATED_NSEC must | |
| 1010 | 1047 | // be queried separately using g_file_info_get_attribute_uint32(). | |
| 1011 | 1048 | func (x *FileInfo) GetCreationDateTime() *glib.DateTime { | |
| 1049 | + | core.LazyRegister(&xFileInfoGetCreationDateTime, "GIO", "g_file_info_get_creation_date_time", false) | |
| 1050 | + | ||
| 1012 | 1051 | cret := xFileInfoGetCreationDateTime(x.GoPointer()) | |
| 1013 | 1052 | if cret == 0 { | |
| 1014 | 1053 | return nil | |
| @@ -1022,6 +1061,8 @@ var xFileInfoGetDeletionDate func(uintptr) uintptr | |||
| 1022 | 1061 | // available in %G_FILE_ATTRIBUTE_TRASH_DELETION_DATE. If the | |
| 1023 | 1062 | // %G_FILE_ATTRIBUTE_TRASH_DELETION_DATE attribute is unset, %NULL is returned. | |
| 1024 | 1063 | func (x *FileInfo) GetDeletionDate() *glib.DateTime { | |
| 1064 | + | core.LazyRegister(&xFileInfoGetDeletionDate, "GIO", "g_file_info_get_deletion_date", false) | |
| 1065 | + | ||
| 1025 | 1066 | cret := xFileInfoGetDeletionDate(x.GoPointer()) | |
| 1026 | 1067 | if cret == 0 { | |
| 1027 | 1068 | return nil | |
| @@ -1036,6 +1077,8 @@ var xFileInfoGetDisplayName func(uintptr) string | |||
| 1036 | 1077 | // It is an error to call this if the #GFileInfo does not contain | |
| 1037 | 1078 | // %G_FILE_ATTRIBUTE_STANDARD_DISPLAY_NAME. | |
| 1038 | 1079 | func (x *FileInfo) GetDisplayName() string { | |
| 1080 | + | core.LazyRegister(&xFileInfoGetDisplayName, "GIO", "g_file_info_get_display_name", false) | |
| 1081 | + | ||
| 1039 | 1082 | cret := xFileInfoGetDisplayName(x.GoPointer()) | |
| 1040 | 1083 | return cret | |
| 1041 | 1084 | } | |
| @@ -1047,6 +1090,8 @@ var xFileInfoGetEditName func(uintptr) string | |||
| 1047 | 1090 | // It is an error to call this if the #GFileInfo does not contain | |
| 1048 | 1091 | // %G_FILE_ATTRIBUTE_STANDARD_EDIT_NAME. | |
| 1049 | 1092 | func (x *FileInfo) GetEditName() string { | |
| 1093 | + | core.LazyRegister(&xFileInfoGetEditName, "GIO", "g_file_info_get_edit_name", false) | |
| 1094 | + | ||
| 1050 | 1095 | cret := xFileInfoGetEditName(x.GoPointer()) | |
| 1051 | 1096 | return cret | |
| 1052 | 1097 | } | |
| @@ -1059,6 +1104,8 @@ var xFileInfoGetEtag func(uintptr) string | |||
| 1059 | 1104 | // It is an error to call this if the #GFileInfo does not contain | |
| 1060 | 1105 | // %G_FILE_ATTRIBUTE_ETAG_VALUE. | |
| 1061 | 1106 | func (x *FileInfo) GetEtag() string { | |
| 1107 | + | core.LazyRegister(&xFileInfoGetEtag, "GIO", "g_file_info_get_etag", false) | |
| 1108 | + | ||
| 1062 | 1109 | cret := xFileInfoGetEtag(x.GoPointer()) | |
| 1063 | 1110 | return cret | |
| 1064 | 1111 | } | |
| @@ -1071,6 +1118,8 @@ var xFileInfoGetFileType func(uintptr) FileType | |||
| 1071 | 1118 | // It is an error to call this if the #GFileInfo does not contain | |
| 1072 | 1119 | // %G_FILE_ATTRIBUTE_STANDARD_TYPE. | |
| 1073 | 1120 | func (x *FileInfo) GetFileType() FileType { | |
| 1121 | + | core.LazyRegister(&xFileInfoGetFileType, "GIO", "g_file_info_get_file_type", false) | |
| 1122 | + | ||
| 1074 | 1123 | cret := xFileInfoGetFileType(x.GoPointer()) | |
| 1075 | 1124 | return cret | |
| 1076 | 1125 | } | |
| @@ -1082,6 +1131,7 @@ var xFileInfoGetIcon func(uintptr) uintptr | |||
| 1082 | 1131 | // It is an error to call this if the #GFileInfo does not contain | |
| 1083 | 1132 | // %G_FILE_ATTRIBUTE_STANDARD_ICON. | |
| 1084 | 1133 | func (x *FileInfo) GetIcon() *IconBase { | |
| 1134 | + | core.LazyRegister(&xFileInfoGetIcon, "GIO", "g_file_info_get_icon", false) | |
| 1085 | 1135 | var cls *IconBase | |
| 1086 | 1136 | ||
| 1087 | 1137 | cret := xFileInfoGetIcon(x.GoPointer()) | |
| @@ -1107,6 +1157,8 @@ var xFileInfoGetIsBackup func(uintptr) bool | |||
| 1107 | 1157 | // It is an error to call this if the #GFileInfo does not contain | |
| 1108 | 1158 | // %G_FILE_ATTRIBUTE_STANDARD_IS_BACKUP. | |
| 1109 | 1159 | func (x *FileInfo) GetIsBackup() bool { | |
| 1160 | + | core.LazyRegister(&xFileInfoGetIsBackup, "GIO", "g_file_info_get_is_backup", false) | |
| 1161 | + | ||
| 1110 | 1162 | cret := xFileInfoGetIsBackup(x.GoPointer()) | |
| 1111 | 1163 | return cret | |
| 1112 | 1164 | } | |
| @@ -1118,6 +1170,8 @@ var xFileInfoGetIsHidden func(uintptr) bool | |||
| 1118 | 1170 | // It is an error to call this if the #GFileInfo does not contain | |
| 1119 | 1171 | // %G_FILE_ATTRIBUTE_STANDARD_IS_HIDDEN. | |
| 1120 | 1172 | func (x *FileInfo) GetIsHidden() bool { | |
| 1173 | + | core.LazyRegister(&xFileInfoGetIsHidden, "GIO", "g_file_info_get_is_hidden", false) | |
| 1174 | + | ||
| 1121 | 1175 | cret := xFileInfoGetIsHidden(x.GoPointer()) | |
| 1122 | 1176 | return cret | |
| 1123 | 1177 | } | |
| @@ -1129,6 +1183,8 @@ var xFileInfoGetIsSymlink func(uintptr) bool | |||
| 1129 | 1183 | // It is an error to call this if the #GFileInfo does not contain | |
| 1130 | 1184 | // %G_FILE_ATTRIBUTE_STANDARD_IS_SYMLINK. | |
| 1131 | 1185 | func (x *FileInfo) GetIsSymlink() bool { | |
| 1186 | + | core.LazyRegister(&xFileInfoGetIsSymlink, "GIO", "g_file_info_get_is_symlink", false) | |
| 1187 | + | ||
| 1132 | 1188 | cret := xFileInfoGetIsSymlink(x.GoPointer()) | |
| 1133 | 1189 | return cret | |
| 1134 | 1190 | } | |
| @@ -1146,6 +1202,8 @@ var xFileInfoGetModificationDateTime func(uintptr) uintptr | |||
| 1146 | 1202 | // If nanosecond precision is needed, %G_FILE_ATTRIBUTE_TIME_MODIFIED_NSEC must | |
| 1147 | 1203 | // be queried separately using g_file_info_get_attribute_uint32(). | |
| 1148 | 1204 | func (x *FileInfo) GetModificationDateTime() *glib.DateTime { | |
| 1205 | + | core.LazyRegister(&xFileInfoGetModificationDateTime, "GIO", "g_file_info_get_modification_date_time", false) | |
| 1206 | + | ||
| 1149 | 1207 | cret := xFileInfoGetModificationDateTime(x.GoPointer()) | |
| 1150 | 1208 | if cret == 0 { | |
| 1151 | 1209 | return nil | |
| @@ -1162,6 +1220,8 @@ var xFileInfoGetModificationTime func(uintptr, *glib.TimeVal) | |||
| 1162 | 1220 | // %G_FILE_ATTRIBUTE_TIME_MODIFIED. If %G_FILE_ATTRIBUTE_TIME_MODIFIED_USEC is | |
| 1163 | 1221 | // provided it will be used too. | |
| 1164 | 1222 | func (x *FileInfo) GetModificationTime(ResultVar *glib.TimeVal) { | |
| 1223 | + | core.LazyRegister(&xFileInfoGetModificationTime, "GIO", "g_file_info_get_modification_time", false) | |
| 1224 | + | ||
| 1165 | 1225 | xFileInfoGetModificationTime(x.GoPointer(), ResultVar) | |
| 1166 | 1226 | } | |
| 1167 | 1227 | ||
| @@ -1172,6 +1232,8 @@ var xFileInfoGetName func(uintptr) string | |||
| 1172 | 1232 | // It is an error to call this if the #GFileInfo does not contain | |
| 1173 | 1233 | // %G_FILE_ATTRIBUTE_STANDARD_NAME. | |
| 1174 | 1234 | func (x *FileInfo) GetName() string { | |
| 1235 | + | core.LazyRegister(&xFileInfoGetName, "GIO", "g_file_info_get_name", false) | |
| 1236 | + | ||
| 1175 | 1237 | cret := xFileInfoGetName(x.GoPointer()) | |
| 1176 | 1238 | return cret | |
| 1177 | 1239 | } | |
| @@ -1185,6 +1247,8 @@ var xFileInfoGetSize func(uintptr) int64 | |||
| 1185 | 1247 | // It is an error to call this if the #GFileInfo does not contain | |
| 1186 | 1248 | // %G_FILE_ATTRIBUTE_STANDARD_SIZE. | |
| 1187 | 1249 | func (x *FileInfo) GetSize() int64 { | |
| 1250 | + | core.LazyRegister(&xFileInfoGetSize, "GIO", "g_file_info_get_size", false) | |
| 1251 | + | ||
| 1188 | 1252 | cret := xFileInfoGetSize(x.GoPointer()) | |
| 1189 | 1253 | return cret | |
| 1190 | 1254 | } | |
| @@ -1197,6 +1261,8 @@ var xFileInfoGetSortOrder func(uintptr) int32 | |||
| 1197 | 1261 | // It is an error to call this if the #GFileInfo does not contain | |
| 1198 | 1262 | // %G_FILE_ATTRIBUTE_STANDARD_SORT_ORDER. | |
| 1199 | 1263 | func (x *FileInfo) GetSortOrder() int32 { | |
| 1264 | + | core.LazyRegister(&xFileInfoGetSortOrder, "GIO", "g_file_info_get_sort_order", false) | |
| 1265 | + | ||
| 1200 | 1266 | cret := xFileInfoGetSortOrder(x.GoPointer()) | |
| 1201 | 1267 | return cret | |
| 1202 | 1268 | } | |
| @@ -1208,6 +1274,7 @@ var xFileInfoGetSymbolicIcon func(uintptr) uintptr | |||
| 1208 | 1274 | // It is an error to call this if the #GFileInfo does not contain | |
| 1209 | 1275 | // %G_FILE_ATTRIBUTE_STANDARD_SYMBOLIC_ICON. | |
| 1210 | 1276 | func (x *FileInfo) GetSymbolicIcon() *IconBase { | |
| 1277 | + | core.LazyRegister(&xFileInfoGetSymbolicIcon, "GIO", "g_file_info_get_symbolic_icon", false) | |
| 1211 | 1278 | var cls *IconBase | |
| 1212 | 1279 | ||
| 1213 | 1280 | cret := xFileInfoGetSymbolicIcon(x.GoPointer()) | |
| @@ -1228,6 +1295,8 @@ var xFileInfoGetSymlinkTarget func(uintptr) string | |||
| 1228 | 1295 | // It is an error to call this if the #GFileInfo does not contain | |
| 1229 | 1296 | // %G_FILE_ATTRIBUTE_STANDARD_SYMLINK_TARGET. | |
| 1230 | 1297 | func (x *FileInfo) GetSymlinkTarget() string { | |
| 1298 | + | core.LazyRegister(&xFileInfoGetSymlinkTarget, "GIO", "g_file_info_get_symlink_target", false) | |
| 1299 | + | ||
| 1231 | 1300 | cret := xFileInfoGetSymlinkTarget(x.GoPointer()) | |
| 1232 | 1301 | return cret | |
| 1233 | 1302 | } | |
| @@ -1236,6 +1305,8 @@ var xFileInfoHasAttribute func(uintptr, string) bool | |||
| 1236 | 1305 | ||
| 1237 | 1306 | // Checks if a file info structure has an attribute named @attribute. | |
| 1238 | 1307 | func (x *FileInfo) HasAttribute(AttributeVar string) bool { | |
| 1308 | + | core.LazyRegister(&xFileInfoHasAttribute, "GIO", "g_file_info_has_attribute", false) | |
| 1309 | + | ||
| 1239 | 1310 | cret := xFileInfoHasAttribute(x.GoPointer(), AttributeVar) | |
| 1240 | 1311 | return cret | |
| 1241 | 1312 | } | |
| @@ -1245,6 +1316,8 @@ var xFileInfoHasNamespace func(uintptr, string) bool | |||
| 1245 | 1316 | // Checks if a file info structure has an attribute in the | |
| 1246 | 1317 | // specified @name_space. | |
| 1247 | 1318 | func (x *FileInfo) HasNamespace(NameSpaceVar string) bool { | |
| 1319 | + | core.LazyRegister(&xFileInfoHasNamespace, "GIO", "g_file_info_has_namespace", false) | |
| 1320 | + | ||
| 1248 | 1321 | cret := xFileInfoHasNamespace(x.GoPointer(), NameSpaceVar) | |
| 1249 | 1322 | return cret | |
| 1250 | 1323 | } | |
| @@ -1253,6 +1326,8 @@ var xFileInfoListAttributes func(uintptr, uintptr) []string | |||
| 1253 | 1326 | ||
| 1254 | 1327 | // Lists the file info structure's attributes. | |
| 1255 | 1328 | func (x *FileInfo) ListAttributes(NameSpaceVar *string) []string { | |
| 1329 | + | core.LazyRegister(&xFileInfoListAttributes, "GIO", "g_file_info_list_attributes", false) | |
| 1330 | + | ||
| 1256 | 1331 | NameSpaceVarPtr := core.GStrdupNullable(NameSpaceVar) | |
| 1257 | 1332 | defer core.GFreeNullable(NameSpaceVarPtr) | |
| 1258 | 1333 | ||
| @@ -1264,6 +1339,8 @@ var xFileInfoRemoveAttribute func(uintptr, string) | |||
| 1264 | 1339 | ||
| 1265 | 1340 | // Removes all cases of @attribute from @info if it exists. | |
| 1266 | 1341 | func (x *FileInfo) RemoveAttribute(AttributeVar string) { | |
| 1342 | + | core.LazyRegister(&xFileInfoRemoveAttribute, "GIO", "g_file_info_remove_attribute", false) | |
| 1343 | + | ||
| 1267 | 1344 | xFileInfoRemoveAttribute(x.GoPointer(), AttributeVar) | |
| 1268 | 1345 | } | |
| 1269 | 1346 | ||
| @@ -1275,6 +1352,8 @@ var xFileInfoSetAccessDateTime func(uintptr, *glib.DateTime) | |||
| 1275 | 1352 | // | |
| 1276 | 1353 | // %G_FILE_ATTRIBUTE_TIME_ACCESS_NSEC will be cleared. | |
| 1277 | 1354 | func (x *FileInfo) SetAccessDateTime(AtimeVar *glib.DateTime) { | |
| 1355 | + | core.LazyRegister(&xFileInfoSetAccessDateTime, "GIO", "g_file_info_set_access_date_time", false) | |
| 1356 | + | ||
| 1278 | 1357 | xFileInfoSetAccessDateTime(x.GoPointer(), AtimeVar) | |
| 1279 | 1358 | } | |
| 1280 | 1359 | ||
| @@ -1283,6 +1362,8 @@ var xFileInfoSetAttribute func(uintptr, string, FileAttributeType, uintptr) | |||
| 1283 | 1362 | // Sets the @attribute to contain the given value, if possible. To unset the | |
| 1284 | 1363 | // attribute, use %G_FILE_ATTRIBUTE_TYPE_INVALID for @type. | |
| 1285 | 1364 | func (x *FileInfo) SetAttribute(AttributeVar string, TypeVar FileAttributeType, ValuePVar uintptr) { | |
| 1365 | + | core.LazyRegister(&xFileInfoSetAttribute, "GIO", "g_file_info_set_attribute", false) | |
| 1366 | + | ||
| 1286 | 1367 | xFileInfoSetAttribute(x.GoPointer(), AttributeVar, TypeVar, ValuePVar) | |
| 1287 | 1368 | } | |
| 1288 | 1369 | ||
| @@ -1291,6 +1372,8 @@ var xFileInfoSetAttributeBoolean func(uintptr, string, bool) | |||
| 1291 | 1372 | // Sets the @attribute to contain the given @attr_value, | |
| 1292 | 1373 | // if possible. | |
| 1293 | 1374 | func (x *FileInfo) SetAttributeBoolean(AttributeVar string, AttrValueVar bool) { | |
| 1375 | + | core.LazyRegister(&xFileInfoSetAttributeBoolean, "GIO", "g_file_info_set_attribute_boolean", false) | |
| 1376 | + | ||
| 1294 | 1377 | xFileInfoSetAttributeBoolean(x.GoPointer(), AttributeVar, AttrValueVar) | |
| 1295 | 1378 | } | |
| 1296 | 1379 | ||
| @@ -1299,6 +1382,8 @@ var xFileInfoSetAttributeByteString func(uintptr, string, string) | |||
| 1299 | 1382 | // Sets the @attribute to contain the given @attr_value, | |
| 1300 | 1383 | // if possible. | |
| 1301 | 1384 | func (x *FileInfo) SetAttributeByteString(AttributeVar string, AttrValueVar string) { | |
| 1385 | + | core.LazyRegister(&xFileInfoSetAttributeByteString, "GIO", "g_file_info_set_attribute_byte_string", false) | |
| 1386 | + | ||
| 1302 | 1387 | xFileInfoSetAttributeByteString(x.GoPointer(), AttributeVar, AttrValueVar) | |
| 1303 | 1388 | } | |
| 1304 | 1389 | ||
| @@ -1310,6 +1395,8 @@ var xFileInfoSetAttributeFilePath func(uintptr, string, string) | |||
| 1310 | 1395 | // This function is meant to be used by language bindings that have specific | |
| 1311 | 1396 | // handling for Unix paths. | |
| 1312 | 1397 | func (x *FileInfo) SetAttributeFilePath(AttributeVar string, AttrValueVar string) { | |
| 1398 | + | core.LazyRegister(&xFileInfoSetAttributeFilePath, "GIO", "g_file_info_set_attribute_file_path", false) | |
| 1399 | + | ||
| 1313 | 1400 | xFileInfoSetAttributeFilePath(x.GoPointer(), AttributeVar, AttrValueVar) | |
| 1314 | 1401 | } | |
| 1315 | 1402 | ||
| @@ -1318,6 +1405,8 @@ var xFileInfoSetAttributeInt32 func(uintptr, string, int32) | |||
| 1318 | 1405 | // Sets the @attribute to contain the given @attr_value, | |
| 1319 | 1406 | // if possible. | |
| 1320 | 1407 | func (x *FileInfo) SetAttributeInt32(AttributeVar string, AttrValueVar int32) { | |
| 1408 | + | core.LazyRegister(&xFileInfoSetAttributeInt32, "GIO", "g_file_info_set_attribute_int32", false) | |
| 1409 | + | ||
| 1321 | 1410 | xFileInfoSetAttributeInt32(x.GoPointer(), AttributeVar, AttrValueVar) | |
| 1322 | 1411 | } | |
| 1323 | 1412 | ||
| @@ -1326,6 +1415,8 @@ var xFileInfoSetAttributeInt64 func(uintptr, string, int64) | |||
| 1326 | 1415 | // Sets the @attribute to contain the given @attr_value, | |
| 1327 | 1416 | // if possible. | |
| 1328 | 1417 | func (x *FileInfo) SetAttributeInt64(AttributeVar string, AttrValueVar int64) { | |
| 1418 | + | core.LazyRegister(&xFileInfoSetAttributeInt64, "GIO", "g_file_info_set_attribute_int64", false) | |
| 1419 | + | ||
| 1329 | 1420 | xFileInfoSetAttributeInt64(x.GoPointer(), AttributeVar, AttrValueVar) | |
| 1330 | 1421 | } | |
| 1331 | 1422 | ||
| @@ -1333,6 +1424,8 @@ var xFileInfoSetAttributeMask func(uintptr, *FileAttributeMatcher) | |||
| 1333 | 1424 | ||
| 1334 | 1425 | // Sets @mask on @info to match specific attribute types. | |
| 1335 | 1426 | func (x *FileInfo) SetAttributeMask(MaskVar *FileAttributeMatcher) { | |
| 1427 | + | core.LazyRegister(&xFileInfoSetAttributeMask, "GIO", "g_file_info_set_attribute_mask", false) | |
| 1428 | + | ||
| 1336 | 1429 | xFileInfoSetAttributeMask(x.GoPointer(), MaskVar) | |
| 1337 | 1430 | } | |
| 1338 | 1431 | ||
| @@ -1341,6 +1434,8 @@ var xFileInfoSetAttributeObject func(uintptr, string, uintptr) | |||
| 1341 | 1434 | // Sets the @attribute to contain the given @attr_value, | |
| 1342 | 1435 | // if possible. | |
| 1343 | 1436 | func (x *FileInfo) SetAttributeObject(AttributeVar string, AttrValueVar *gobject.Object) { | |
| 1437 | + | core.LazyRegister(&xFileInfoSetAttributeObject, "GIO", "g_file_info_set_attribute_object", false) | |
| 1438 | + | ||
| 1344 | 1439 | xFileInfoSetAttributeObject(x.GoPointer(), AttributeVar, AttrValueVar.GoPointer()) | |
| 1345 | 1440 | } | |
| 1346 | 1441 | ||
| @@ -1353,6 +1448,8 @@ var xFileInfoSetAttributeStatus func(uintptr, string, FileAttributeStatus) bool | |||
| 1353 | 1448 | // The attribute must exist in @info for this to work. Otherwise %FALSE | |
| 1354 | 1449 | // is returned and @info is unchanged. | |
| 1355 | 1450 | func (x *FileInfo) SetAttributeStatus(AttributeVar string, StatusVar FileAttributeStatus) bool { | |
| 1451 | + | core.LazyRegister(&xFileInfoSetAttributeStatus, "GIO", "g_file_info_set_attribute_status", false) | |
| 1452 | + | ||
| 1356 | 1453 | cret := xFileInfoSetAttributeStatus(x.GoPointer(), AttributeVar, StatusVar) | |
| 1357 | 1454 | return cret | |
| 1358 | 1455 | } | |
| @@ -1362,6 +1459,8 @@ var xFileInfoSetAttributeString func(uintptr, string, string) | |||
| 1362 | 1459 | // Sets the @attribute to contain the given @attr_value, | |
| 1363 | 1460 | // if possible. | |
| 1364 | 1461 | func (x *FileInfo) SetAttributeString(AttributeVar string, AttrValueVar string) { | |
| 1462 | + | core.LazyRegister(&xFileInfoSetAttributeString, "GIO", "g_file_info_set_attribute_string", false) | |
| 1463 | + | ||
| 1365 | 1464 | xFileInfoSetAttributeString(x.GoPointer(), AttributeVar, AttrValueVar) | |
| 1366 | 1465 | } | |
| 1367 | 1466 | ||
| @@ -1372,6 +1471,8 @@ var xFileInfoSetAttributeStringv func(uintptr, string, []string) | |||
| 1372 | 1471 | // | |
| 1373 | 1472 | // Sinze: 2.22 | |
| 1374 | 1473 | func (x *FileInfo) SetAttributeStringv(AttributeVar string, AttrValueVar []string) { | |
| 1474 | + | core.LazyRegister(&xFileInfoSetAttributeStringv, "GIO", "g_file_info_set_attribute_stringv", false) | |
| 1475 | + | ||
| 1375 | 1476 | xFileInfoSetAttributeStringv(x.GoPointer(), AttributeVar, AttrValueVar) | |
| 1376 | 1477 | } | |
| 1377 | 1478 | ||
| @@ -1380,6 +1481,8 @@ var xFileInfoSetAttributeUint32 func(uintptr, string, uint32) | |||
| 1380 | 1481 | // Sets the @attribute to contain the given @attr_value, | |
| 1381 | 1482 | // if possible. | |
| 1382 | 1483 | func (x *FileInfo) SetAttributeUint32(AttributeVar string, AttrValueVar uint32) { | |
| 1484 | + | core.LazyRegister(&xFileInfoSetAttributeUint32, "GIO", "g_file_info_set_attribute_uint32", false) | |
| 1485 | + | ||
| 1383 | 1486 | xFileInfoSetAttributeUint32(x.GoPointer(), AttributeVar, AttrValueVar) | |
| 1384 | 1487 | } | |
| 1385 | 1488 | ||
| @@ -1388,6 +1491,8 @@ var xFileInfoSetAttributeUint64 func(uintptr, string, uint64) | |||
| 1388 | 1491 | // Sets the @attribute to contain the given @attr_value, | |
| 1389 | 1492 | // if possible. | |
| 1390 | 1493 | func (x *FileInfo) SetAttributeUint64(AttributeVar string, AttrValueVar uint64) { | |
| 1494 | + | core.LazyRegister(&xFileInfoSetAttributeUint64, "GIO", "g_file_info_set_attribute_uint64", false) | |
| 1495 | + | ||
| 1391 | 1496 | xFileInfoSetAttributeUint64(x.GoPointer(), AttributeVar, AttrValueVar) | |
| 1392 | 1497 | } | |
| 1393 | 1498 | ||
| @@ -1396,6 +1501,8 @@ var xFileInfoSetContentType func(uintptr, string) | |||
| 1396 | 1501 | // Sets the content type attribute for a given #GFileInfo. | |
| 1397 | 1502 | // See %G_FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE. | |
| 1398 | 1503 | func (x *FileInfo) SetContentType(ContentTypeVar string) { | |
| 1504 | + | core.LazyRegister(&xFileInfoSetContentType, "GIO", "g_file_info_set_content_type", false) | |
| 1505 | + | ||
| 1399 | 1506 | xFileInfoSetContentType(x.GoPointer(), ContentTypeVar) | |
| 1400 | 1507 | } | |
| 1401 | 1508 | ||
| @@ -1407,6 +1514,8 @@ var xFileInfoSetCreationDateTime func(uintptr, *glib.DateTime) | |||
| 1407 | 1514 | // | |
| 1408 | 1515 | // %G_FILE_ATTRIBUTE_TIME_CREATED_NSEC will be cleared. | |
| 1409 | 1516 | func (x *FileInfo) SetCreationDateTime(CreationTimeVar *glib.DateTime) { | |
| 1517 | + | core.LazyRegister(&xFileInfoSetCreationDateTime, "GIO", "g_file_info_set_creation_date_time", false) | |
| 1518 | + | ||
| 1410 | 1519 | xFileInfoSetCreationDateTime(x.GoPointer(), CreationTimeVar) | |
| 1411 | 1520 | } | |
| 1412 | 1521 | ||
| @@ -1415,6 +1524,8 @@ var xFileInfoSetDisplayName func(uintptr, string) | |||
| 1415 | 1524 | // Sets the display name for the current #GFileInfo. | |
| 1416 | 1525 | // See %G_FILE_ATTRIBUTE_STANDARD_DISPLAY_NAME. | |
| 1417 | 1526 | func (x *FileInfo) SetDisplayName(DisplayNameVar string) { | |
| 1527 | + | core.LazyRegister(&xFileInfoSetDisplayName, "GIO", "g_file_info_set_display_name", false) | |
| 1528 | + | ||
| 1418 | 1529 | xFileInfoSetDisplayName(x.GoPointer(), DisplayNameVar) | |
| 1419 | 1530 | } | |
| 1420 | 1531 | ||
| @@ -1423,6 +1534,8 @@ var xFileInfoSetEditName func(uintptr, string) | |||
| 1423 | 1534 | // Sets the edit name for the current file. | |
| 1424 | 1535 | // See %G_FILE_ATTRIBUTE_STANDARD_EDIT_NAME. | |
| 1425 | 1536 | func (x *FileInfo) SetEditName(EditNameVar string) { | |
| 1537 | + | core.LazyRegister(&xFileInfoSetEditName, "GIO", "g_file_info_set_edit_name", false) | |
| 1538 | + | ||
| 1426 | 1539 | xFileInfoSetEditName(x.GoPointer(), EditNameVar) | |
| 1427 | 1540 | } | |
| 1428 | 1541 | ||
| @@ -1431,6 +1544,8 @@ var xFileInfoSetFileType func(uintptr, FileType) | |||
| 1431 | 1544 | // Sets the file type in a #GFileInfo to @type. | |
| 1432 | 1545 | // See %G_FILE_ATTRIBUTE_STANDARD_TYPE. | |
| 1433 | 1546 | func (x *FileInfo) SetFileType(TypeVar FileType) { | |
| 1547 | + | core.LazyRegister(&xFileInfoSetFileType, "GIO", "g_file_info_set_file_type", false) | |
| 1548 | + | ||
| 1434 | 1549 | xFileInfoSetFileType(x.GoPointer(), TypeVar) | |
| 1435 | 1550 | } | |
| 1436 | 1551 | ||
| @@ -1439,6 +1554,8 @@ var xFileInfoSetIcon func(uintptr, uintptr) | |||
| 1439 | 1554 | // Sets the icon for a given #GFileInfo. | |
| 1440 | 1555 | // See %G_FILE_ATTRIBUTE_STANDARD_ICON. | |
| 1441 | 1556 | func (x *FileInfo) SetIcon(IconVar Icon) { | |
| 1557 | + | core.LazyRegister(&xFileInfoSetIcon, "GIO", "g_file_info_set_icon", false) | |
| 1558 | + | ||
| 1442 | 1559 | xFileInfoSetIcon(x.GoPointer(), IconVar.GoPointer()) | |
| 1443 | 1560 | } | |
| 1444 | 1561 | ||
| @@ -1447,6 +1564,8 @@ var xFileInfoSetIsHidden func(uintptr, bool) | |||
| 1447 | 1564 | // Sets the "is_hidden" attribute in a #GFileInfo according to @is_hidden. | |
| 1448 | 1565 | // See %G_FILE_ATTRIBUTE_STANDARD_IS_HIDDEN. | |
| 1449 | 1566 | func (x *FileInfo) SetIsHidden(IsHiddenVar bool) { | |
| 1567 | + | core.LazyRegister(&xFileInfoSetIsHidden, "GIO", "g_file_info_set_is_hidden", false) | |
| 1568 | + | ||
| 1450 | 1569 | xFileInfoSetIsHidden(x.GoPointer(), IsHiddenVar) | |
| 1451 | 1570 | } | |
| 1452 | 1571 | ||
| @@ -1455,6 +1574,8 @@ var xFileInfoSetIsSymlink func(uintptr, bool) | |||
| 1455 | 1574 | // Sets the "is_symlink" attribute in a #GFileInfo according to @is_symlink. | |
| 1456 | 1575 | // See %G_FILE_ATTRIBUTE_STANDARD_IS_SYMLINK. | |
| 1457 | 1576 | func (x *FileInfo) SetIsSymlink(IsSymlinkVar bool) { | |
| 1577 | + | core.LazyRegister(&xFileInfoSetIsSymlink, "GIO", "g_file_info_set_is_symlink", false) | |
| 1578 | + | ||
| 1458 | 1579 | xFileInfoSetIsSymlink(x.GoPointer(), IsSymlinkVar) | |
| 1459 | 1580 | } | |
| 1460 | 1581 | ||
| @@ -1466,6 +1587,8 @@ var xFileInfoSetModificationDateTime func(uintptr, *glib.DateTime) | |||
| 1466 | 1587 | // | |
| 1467 | 1588 | // %G_FILE_ATTRIBUTE_TIME_MODIFIED_NSEC will be cleared. | |
| 1468 | 1589 | func (x *FileInfo) SetModificationDateTime(MtimeVar *glib.DateTime) { | |
| 1590 | + | core.LazyRegister(&xFileInfoSetModificationDateTime, "GIO", "g_file_info_set_modification_date_time", false) | |
| 1591 | + | ||
| 1469 | 1592 | xFileInfoSetModificationDateTime(x.GoPointer(), MtimeVar) | |
| 1470 | 1593 | } | |
| 1471 | 1594 | ||
| @@ -1477,6 +1600,8 @@ var xFileInfoSetModificationTime func(uintptr, *glib.TimeVal) | |||
| 1477 | 1600 | // | |
| 1478 | 1601 | // %G_FILE_ATTRIBUTE_TIME_MODIFIED_NSEC will be cleared. | |
| 1479 | 1602 | func (x *FileInfo) SetModificationTime(MtimeVar *glib.TimeVal) { | |
| 1603 | + | core.LazyRegister(&xFileInfoSetModificationTime, "GIO", "g_file_info_set_modification_time", false) | |
| 1604 | + | ||
| 1480 | 1605 | xFileInfoSetModificationTime(x.GoPointer(), MtimeVar) | |
| 1481 | 1606 | } | |
| 1482 | 1607 | ||
| @@ -1485,6 +1610,8 @@ var xFileInfoSetName func(uintptr, string) | |||
| 1485 | 1610 | // Sets the name attribute for the current #GFileInfo. | |
| 1486 | 1611 | // See %G_FILE_ATTRIBUTE_STANDARD_NAME. | |
| 1487 | 1612 | func (x *FileInfo) SetName(NameVar string) { | |
| 1613 | + | core.LazyRegister(&xFileInfoSetName, "GIO", "g_file_info_set_name", false) | |
| 1614 | + | ||
| 1488 | 1615 | xFileInfoSetName(x.GoPointer(), NameVar) | |
| 1489 | 1616 | } | |
| 1490 | 1617 | ||
| @@ -1493,6 +1620,8 @@ var xFileInfoSetSize func(uintptr, int64) | |||
| 1493 | 1620 | // Sets the %G_FILE_ATTRIBUTE_STANDARD_SIZE attribute in the file info | |
| 1494 | 1621 | // to the given size. | |
| 1495 | 1622 | func (x *FileInfo) SetSize(SizeVar int64) { | |
| 1623 | + | core.LazyRegister(&xFileInfoSetSize, "GIO", "g_file_info_set_size", false) | |
| 1624 | + | ||
| 1496 | 1625 | xFileInfoSetSize(x.GoPointer(), SizeVar) | |
| 1497 | 1626 | } | |
| 1498 | 1627 | ||
| @@ -1501,6 +1630,8 @@ var xFileInfoSetSortOrder func(uintptr, int32) | |||
| 1501 | 1630 | // Sets the sort order attribute in the file info structure. See | |
| 1502 | 1631 | // %G_FILE_ATTRIBUTE_STANDARD_SORT_ORDER. | |
| 1503 | 1632 | func (x *FileInfo) SetSortOrder(SortOrderVar int32) { | |
| 1633 | + | core.LazyRegister(&xFileInfoSetSortOrder, "GIO", "g_file_info_set_sort_order", false) | |
| 1634 | + | ||
| 1504 | 1635 | xFileInfoSetSortOrder(x.GoPointer(), SortOrderVar) | |
| 1505 | 1636 | } | |
| 1506 | 1637 | ||
| @@ -1509,6 +1640,8 @@ var xFileInfoSetSymbolicIcon func(uintptr, uintptr) | |||
| 1509 | 1640 | // Sets the symbolic icon for a given #GFileInfo. | |
| 1510 | 1641 | // See %G_FILE_ATTRIBUTE_STANDARD_SYMBOLIC_ICON. | |
| 1511 | 1642 | func (x *FileInfo) SetSymbolicIcon(IconVar Icon) { | |
| 1643 | + | core.LazyRegister(&xFileInfoSetSymbolicIcon, "GIO", "g_file_info_set_symbolic_icon", false) | |
| 1644 | + | ||
| 1512 | 1645 | xFileInfoSetSymbolicIcon(x.GoPointer(), IconVar.GoPointer()) | |
| 1513 | 1646 | } | |
| 1514 | 1647 | ||
| @@ -1517,6 +1650,8 @@ var xFileInfoSetSymlinkTarget func(uintptr, string) | |||
| 1517 | 1650 | // Sets the %G_FILE_ATTRIBUTE_STANDARD_SYMLINK_TARGET attribute in the file info | |
| 1518 | 1651 | // to the given symlink target. | |
| 1519 | 1652 | func (x *FileInfo) SetSymlinkTarget(SymlinkTargetVar string) { | |
| 1653 | + | core.LazyRegister(&xFileInfoSetSymlinkTarget, "GIO", "g_file_info_set_symlink_target", false) | |
| 1654 | + | ||
| 1520 | 1655 | xFileInfoSetSymlinkTarget(x.GoPointer(), SymlinkTargetVar) | |
| 1521 | 1656 | } | |
| 1522 | 1657 | ||
| @@ -1525,6 +1660,8 @@ var xFileInfoUnsetAttributeMask func(uintptr) | |||
| 1525 | 1660 | // Unsets a mask set by g_file_info_set_attribute_mask(), if one | |
| 1526 | 1661 | // is set. | |
| 1527 | 1662 | func (x *FileInfo) UnsetAttributeMask() { | |
| 1663 | + | core.LazyRegister(&xFileInfoUnsetAttributeMask, "GIO", "g_file_info_unset_attribute_mask", false) | |
| 1664 | + | ||
| 1528 | 1665 | xFileInfoUnsetAttributeMask(x.GoPointer()) | |
| 1529 | 1666 | } | |
| 1530 | 1667 | ||
| @@ -1542,87 +1679,4 @@ func (c *FileInfo) SetGoPointer(ptr uintptr) { | |||
| 1542 | 1679 | func init() { | |
| 1543 | 1680 | core.SetPackageName("GIO", "gio-2.0") | |
| 1544 | 1681 | core.SetSharedLibraries("GIO", []string{"libgio-2.0.so.0", "libgio-2.0.0.dylib"}) | |
| 1545 | - | var libs []uintptr | |
| 1546 | - | for _, libPath := range core.GetPaths("GIO") { | |
| 1547 | - | lib, err := purego.Dlopen(libPath, purego.RTLD_NOW|purego.RTLD_GLOBAL) | |
| 1548 | - | if err != nil { | |
| 1549 | - | panic(err) | |
| 1550 | - | } | |
| 1551 | - | libs = append(libs, lib) | |
| 1552 | - | } | |
| 1553 | - | ||
| 1554 | - | core.PuregoSafeRegister(&xFileInfoGLibType, libs, "g_file_info_get_type") | |
| 1555 | - | ||
| 1556 | - | core.PuregoSafeRegister(&xNewFileInfo, libs, "g_file_info_new") | |
| 1557 | - | ||
| 1558 | - | core.PuregoSafeRegister(&xFileInfoClearStatus, libs, "g_file_info_clear_status") | |
| 1559 | - | core.PuregoSafeRegister(&xFileInfoCopyInto, libs, "g_file_info_copy_into") | |
| 1560 | - | core.PuregoSafeRegister(&xFileInfoDup, libs, "g_file_info_dup") | |
| 1561 | - | core.PuregoSafeRegister(&xFileInfoGetAccessDateTime, libs, "g_file_info_get_access_date_time") | |
| 1562 | - | core.PuregoSafeRegister(&xFileInfoGetAttributeAsString, libs, "g_file_info_get_attribute_as_string") | |
| 1563 | - | core.PuregoSafeRegister(&xFileInfoGetAttributeBoolean, libs, "g_file_info_get_attribute_boolean") | |
| 1564 | - | core.PuregoSafeRegister(&xFileInfoGetAttributeByteString, libs, "g_file_info_get_attribute_byte_string") | |
| 1565 | - | core.PuregoSafeRegister(&xFileInfoGetAttributeData, libs, "g_file_info_get_attribute_data") | |
| 1566 | - | core.PuregoSafeRegister(&xFileInfoGetAttributeFilePath, libs, "g_file_info_get_attribute_file_path") | |
| 1567 | - | core.PuregoSafeRegister(&xFileInfoGetAttributeInt32, libs, "g_file_info_get_attribute_int32") | |
| 1568 | - | core.PuregoSafeRegister(&xFileInfoGetAttributeInt64, libs, "g_file_info_get_attribute_int64") | |
| 1569 | - | core.PuregoSafeRegister(&xFileInfoGetAttributeObject, libs, "g_file_info_get_attribute_object") | |
| 1570 | - | core.PuregoSafeRegister(&xFileInfoGetAttributeStatus, libs, "g_file_info_get_attribute_status") | |
| 1571 | - | core.PuregoSafeRegister(&xFileInfoGetAttributeString, libs, "g_file_info_get_attribute_string") | |
| 1572 | - | core.PuregoSafeRegister(&xFileInfoGetAttributeStringv, libs, "g_file_info_get_attribute_stringv") | |
| 1573 | - | core.PuregoSafeRegister(&xFileInfoGetAttributeType, libs, "g_file_info_get_attribute_type") | |
| 1574 | - | core.PuregoSafeRegister(&xFileInfoGetAttributeUint32, libs, "g_file_info_get_attribute_uint32") | |
| 1575 | - | core.PuregoSafeRegister(&xFileInfoGetAttributeUint64, libs, "g_file_info_get_attribute_uint64") | |
| 1576 | - | core.PuregoSafeRegister(&xFileInfoGetContentType, libs, "g_file_info_get_content_type") | |
| 1577 | - | core.PuregoSafeRegister(&xFileInfoGetCreationDateTime, libs, "g_file_info_get_creation_date_time") | |
| 1578 | - | core.PuregoSafeRegister(&xFileInfoGetDeletionDate, libs, "g_file_info_get_deletion_date") | |
| 1579 | - | core.PuregoSafeRegister(&xFileInfoGetDisplayName, libs, "g_file_info_get_display_name") | |
| 1580 | - | core.PuregoSafeRegister(&xFileInfoGetEditName, libs, "g_file_info_get_edit_name") | |
| 1581 | - | core.PuregoSafeRegister(&xFileInfoGetEtag, libs, "g_file_info_get_etag") | |
| 1582 | - | core.PuregoSafeRegister(&xFileInfoGetFileType, libs, "g_file_info_get_file_type") | |
| 1583 | - | core.PuregoSafeRegister(&xFileInfoGetIcon, libs, "g_file_info_get_icon") | |
| 1584 | - | core.PuregoSafeRegister(&xFileInfoGetIsBackup, libs, "g_file_info_get_is_backup") | |
| 1585 | - | core.PuregoSafeRegister(&xFileInfoGetIsHidden, libs, "g_file_info_get_is_hidden") | |
| 1586 | - | core.PuregoSafeRegister(&xFileInfoGetIsSymlink, libs, "g_file_info_get_is_symlink") | |
| 1587 | - | core.PuregoSafeRegister(&xFileInfoGetModificationDateTime, libs, "g_file_info_get_modification_date_time") | |
| 1588 | - | core.PuregoSafeRegister(&xFileInfoGetModificationTime, libs, "g_file_info_get_modification_time") | |
| 1589 | - | core.PuregoSafeRegister(&xFileInfoGetName, libs, "g_file_info_get_name") | |
| 1590 | - | core.PuregoSafeRegister(&xFileInfoGetSize, libs, "g_file_info_get_size") | |
| 1591 | - | core.PuregoSafeRegister(&xFileInfoGetSortOrder, libs, "g_file_info_get_sort_order") | |
| 1592 | - | core.PuregoSafeRegister(&xFileInfoGetSymbolicIcon, libs, "g_file_info_get_symbolic_icon") | |
| 1593 | - | core.PuregoSafeRegister(&xFileInfoGetSymlinkTarget, libs, "g_file_info_get_symlink_target") | |
| 1594 | - | core.PuregoSafeRegister(&xFileInfoHasAttribute, libs, "g_file_info_has_attribute") | |
| 1595 | - | core.PuregoSafeRegister(&xFileInfoHasNamespace, libs, "g_file_info_has_namespace") | |
| 1596 | - | core.PuregoSafeRegister(&xFileInfoListAttributes, libs, "g_file_info_list_attributes") | |
| 1597 | - | core.PuregoSafeRegister(&xFileInfoRemoveAttribute, libs, "g_file_info_remove_attribute") | |
| 1598 | - | core.PuregoSafeRegister(&xFileInfoSetAccessDateTime, libs, "g_file_info_set_access_date_time") | |
| 1599 | - | core.PuregoSafeRegister(&xFileInfoSetAttribute, libs, "g_file_info_set_attribute") | |
| 1600 | - | core.PuregoSafeRegister(&xFileInfoSetAttributeBoolean, libs, "g_file_info_set_attribute_boolean") | |
| 1601 | - | core.PuregoSafeRegister(&xFileInfoSetAttributeByteString, libs, "g_file_info_set_attribute_byte_string") | |
| 1602 | - | core.PuregoSafeRegister(&xFileInfoSetAttributeFilePath, libs, "g_file_info_set_attribute_file_path") | |
| 1603 | - | core.PuregoSafeRegister(&xFileInfoSetAttributeInt32, libs, "g_file_info_set_attribute_int32") | |
| 1604 | - | core.PuregoSafeRegister(&xFileInfoSetAttributeInt64, libs, "g_file_info_set_attribute_int64") | |
| 1605 | - | core.PuregoSafeRegister(&xFileInfoSetAttributeMask, libs, "g_file_info_set_attribute_mask") | |
| 1606 | - | core.PuregoSafeRegister(&xFileInfoSetAttributeObject, libs, "g_file_info_set_attribute_object") | |
| 1607 | - | core.PuregoSafeRegister(&xFileInfoSetAttributeStatus, libs, "g_file_info_set_attribute_status") | |
| 1608 | - | core.PuregoSafeRegister(&xFileInfoSetAttributeString, libs, "g_file_info_set_attribute_string") | |
| 1609 | - | core.PuregoSafeRegister(&xFileInfoSetAttributeStringv, libs, "g_file_info_set_attribute_stringv") | |
| 1610 | - | core.PuregoSafeRegister(&xFileInfoSetAttributeUint32, libs, "g_file_info_set_attribute_uint32") | |
| 1611 | - | core.PuregoSafeRegister(&xFileInfoSetAttributeUint64, libs, "g_file_info_set_attribute_uint64") | |
| 1612 | - | core.PuregoSafeRegister(&xFileInfoSetContentType, libs, "g_file_info_set_content_type") | |
| 1613 | - | core.PuregoSafeRegister(&xFileInfoSetCreationDateTime, libs, "g_file_info_set_creation_date_time") | |
| 1614 | - | core.PuregoSafeRegister(&xFileInfoSetDisplayName, libs, "g_file_info_set_display_name") | |
| 1615 | - | core.PuregoSafeRegister(&xFileInfoSetEditName, libs, "g_file_info_set_edit_name") | |
| 1616 | - | core.PuregoSafeRegister(&xFileInfoSetFileType, libs, "g_file_info_set_file_type") | |
| 1617 | - | core.PuregoSafeRegister(&xFileInfoSetIcon, libs, "g_file_info_set_icon") | |
| 1618 | - | core.PuregoSafeRegister(&xFileInfoSetIsHidden, libs, "g_file_info_set_is_hidden") | |
| 1619 | - | core.PuregoSafeRegister(&xFileInfoSetIsSymlink, libs, "g_file_info_set_is_symlink") | |
| 1620 | - | core.PuregoSafeRegister(&xFileInfoSetModificationDateTime, libs, "g_file_info_set_modification_date_time") | |
| 1621 | - | core.PuregoSafeRegister(&xFileInfoSetModificationTime, libs, "g_file_info_set_modification_time") | |
| 1622 | - | core.PuregoSafeRegister(&xFileInfoSetName, libs, "g_file_info_set_name") | |
| 1623 | - | core.PuregoSafeRegister(&xFileInfoSetSize, libs, "g_file_info_set_size") | |
| 1624 | - | core.PuregoSafeRegister(&xFileInfoSetSortOrder, libs, "g_file_info_set_sort_order") | |
| 1625 | - | core.PuregoSafeRegister(&xFileInfoSetSymbolicIcon, libs, "g_file_info_set_symbolic_icon") | |
| 1626 | - | core.PuregoSafeRegister(&xFileInfoSetSymlinkTarget, libs, "g_file_info_set_symlink_target") | |
| 1627 | - | core.PuregoSafeRegister(&xFileInfoUnsetAttributeMask, libs, "g_file_info_unset_attribute_mask") | |
| 1628 | 1682 | } | |
| @@ -5,7 +5,6 @@ import ( | |||||
| 5 | "structs" | 5 | "structs" | ||
| 6 | "unsafe" | 6 | "unsafe" | ||
| 7 | 7 | ||||
| 8 | - | "github.com/bnema/purego" | |||
| 9 | "github.com/bnema/puregotk/pkg/core" | 8 | "github.com/bnema/puregotk/pkg/core" | ||
| 10 | "github.com/bnema/puregotk/v4/glib" | 9 | "github.com/bnema/puregotk/v4/glib" | ||
| 11 | "github.com/bnema/puregotk/v4/gobject" | 10 | "github.com/bnema/puregotk/v4/gobject" | ||
| @@ -751,6 +750,7 @@ type FileInfo struct { | |||||
| 751 | var xFileInfoGLibType func() types.GType | 750 | var xFileInfoGLibType func() types.GType | ||
| 752 | 751 | ||||
| 753 | func FileInfoGLibType() types.GType { | 752 | func FileInfoGLibType() types.GType { | ||
| 753 | + | core.LazyRegister(&xFileInfoGLibType, "GIO", "g_file_info_get_type", false) | |||
| 754 | return xFileInfoGLibType() | 754 | return xFileInfoGLibType() | ||
| 755 | } | 755 | } | ||
| 756 | 756 | ||||
| @@ -764,6 +764,7 @@ var xNewFileInfo func() uintptr | |||||
| 764 | 764 | ||||
| 765 | // Creates a new file info structure. | 765 | // Creates a new file info structure. | ||
| 766 | func NewFileInfo() *FileInfo { | 766 | func NewFileInfo() *FileInfo { | ||
| 767 | + | core.LazyRegister(&xNewFileInfo, "GIO", "g_file_info_new", false) | |||
| 767 | var cls *FileInfo | 768 | var cls *FileInfo | ||
| 768 | 769 | ||||
| 769 | cret := xNewFileInfo() | 770 | cret := xNewFileInfo() | ||
| @@ -780,6 +781,8 @@ var xFileInfoClearStatus func(uintptr) | |||||
| 780 | 781 | ||||
| 781 | // Clears the status information from @info. | 782 | // Clears the status information from @info. | ||
| 782 | func (x *FileInfo) ClearStatus() { | 783 | func (x *FileInfo) ClearStatus() { | ||
| 784 | + | core.LazyRegister(&xFileInfoClearStatus, "GIO", "g_file_info_clear_status", false) | |||
| 785 | + | ||||
| 783 | xFileInfoClearStatus(x.GoPointer()) | 786 | xFileInfoClearStatus(x.GoPointer()) | ||
| 784 | } | 787 | } | ||
| 785 | 788 | ||||
| @@ -788,6 +791,8 @@ var xFileInfoCopyInto func(uintptr, uintptr) | |||||
| 788 | // First clears all of the [GFileAttribute](file-attributes.html#file-attributes) of | 791 | // First clears all of the [GFileAttribute](file-attributes.html#file-attributes) of | ||
| 789 | // @dest_info, and then copies all of the file attributes from @src_info to @dest_info. | 792 | // @dest_info, and then copies all of the file attributes from @src_info to @dest_info. | ||
| 790 | func (x *FileInfo) CopyInto(DestInfoVar *FileInfo) { | 793 | func (x *FileInfo) CopyInto(DestInfoVar *FileInfo) { | ||
| 794 | + | core.LazyRegister(&xFileInfoCopyInto, "GIO", "g_file_info_copy_into", false) | |||
| 795 | + | ||||
| 791 | xFileInfoCopyInto(x.GoPointer(), DestInfoVar.GoPointer()) | 796 | xFileInfoCopyInto(x.GoPointer(), DestInfoVar.GoPointer()) | ||
| 792 | } | 797 | } | ||
| 793 | 798 | ||||
| @@ -795,6 +800,7 @@ var xFileInfoDup func(uintptr) uintptr | |||||
| 795 | 800 | ||||
| 796 | // Duplicates a file info structure. | 801 | // Duplicates a file info structure. | ||
| 797 | func (x *FileInfo) Dup() *FileInfo { | 802 | func (x *FileInfo) Dup() *FileInfo { | ||
| 803 | + | core.LazyRegister(&xFileInfoDup, "GIO", "g_file_info_dup", false) | |||
| 798 | var cls *FileInfo | 804 | var cls *FileInfo | ||
| 799 | 805 | ||||
| 800 | cret := xFileInfoDup(x.GoPointer()) | 806 | cret := xFileInfoDup(x.GoPointer()) | ||
| @@ -820,6 +826,8 @@ var xFileInfoGetAccessDateTime func(uintptr) uintptr | |||||
| 820 | // If nanosecond precision is needed, %G_FILE_ATTRIBUTE_TIME_ACCESS_NSEC must | 826 | // If nanosecond precision is needed, %G_FILE_ATTRIBUTE_TIME_ACCESS_NSEC must | ||
| 821 | // be queried separately using g_file_info_get_attribute_uint32(). | 827 | // be queried separately using g_file_info_get_attribute_uint32(). | ||
| 822 | func (x *FileInfo) GetAccessDateTime() *glib.DateTime { | 828 | func (x *FileInfo) GetAccessDateTime() *glib.DateTime { | ||
| 829 | + | core.LazyRegister(&xFileInfoGetAccessDateTime, "GIO", "g_file_info_get_access_date_time", false) | |||
| 830 | + | ||||
| 823 | cret := xFileInfoGetAccessDateTime(x.GoPointer()) | 831 | cret := xFileInfoGetAccessDateTime(x.GoPointer()) | ||
| 824 | if cret == 0 { | 832 | if cret == 0 { | ||
| 825 | return nil | 833 | return nil | ||
| @@ -850,6 +858,8 @@ var xFileInfoGetAttributeAsString func(uintptr, string) string | |||||
| 850 | // | 858 | // | ||
| 851 | // ``` | 859 | // ``` | ||
| 852 | func (x *FileInfo) GetAttributeAsString(AttributeVar string) string { | 860 | func (x *FileInfo) GetAttributeAsString(AttributeVar string) string { | ||
| 861 | + | core.LazyRegister(&xFileInfoGetAttributeAsString, "GIO", "g_file_info_get_attribute_as_string", false) | |||
| 862 | + | ||||
| 853 | cret := xFileInfoGetAttributeAsString(x.GoPointer(), AttributeVar) | 863 | cret := xFileInfoGetAttributeAsString(x.GoPointer(), AttributeVar) | ||
| 854 | return cret | 864 | return cret | ||
| 855 | } | 865 | } | ||
| @@ -859,6 +869,8 @@ var xFileInfoGetAttributeBoolean func(uintptr, string) bool | |||||
| 859 | // Gets the value of a boolean attribute. If the attribute does not | 869 | // Gets the value of a boolean attribute. If the attribute does not | ||
| 860 | // contain a boolean value, %FALSE will be returned. | 870 | // contain a boolean value, %FALSE will be returned. | ||
| 861 | func (x *FileInfo) GetAttributeBoolean(AttributeVar string) bool { | 871 | func (x *FileInfo) GetAttributeBoolean(AttributeVar string) bool { | ||
| 872 | + | core.LazyRegister(&xFileInfoGetAttributeBoolean, "GIO", "g_file_info_get_attribute_boolean", false) | |||
| 873 | + | ||||
| 862 | cret := xFileInfoGetAttributeBoolean(x.GoPointer(), AttributeVar) | 874 | cret := xFileInfoGetAttributeBoolean(x.GoPointer(), AttributeVar) | ||
| 863 | return cret | 875 | return cret | ||
| 864 | } | 876 | } | ||
| @@ -868,6 +880,8 @@ var xFileInfoGetAttributeByteString func(uintptr, string) string | |||||
| 868 | // Gets the value of a byte string attribute. If the attribute does | 880 | // Gets the value of a byte string attribute. If the attribute does | ||
| 869 | // not contain a byte string, %NULL will be returned. | 881 | // not contain a byte string, %NULL will be returned. | ||
| 870 | func (x *FileInfo) GetAttributeByteString(AttributeVar string) string { | 882 | func (x *FileInfo) GetAttributeByteString(AttributeVar string) string { | ||
| 883 | + | core.LazyRegister(&xFileInfoGetAttributeByteString, "GIO", "g_file_info_get_attribute_byte_string", false) | |||
| 884 | + | ||||
| 871 | cret := xFileInfoGetAttributeByteString(x.GoPointer(), AttributeVar) | 885 | cret := xFileInfoGetAttributeByteString(x.GoPointer(), AttributeVar) | ||
| 872 | return cret | 886 | return cret | ||
| 873 | } | 887 | } | ||
| @@ -876,6 +890,8 @@ var xFileInfoGetAttributeData func(uintptr, string, *FileAttributeType, *uintptr | |||||
| 876 | 890 | ||||
| 877 | // Gets the attribute type, value and status for an attribute key. | 891 | // Gets the attribute type, value and status for an attribute key. | ||
| 878 | func (x *FileInfo) GetAttributeData(AttributeVar string, TypeVar *FileAttributeType, ValuePpVar *uintptr, StatusVar *FileAttributeStatus) bool { | 892 | func (x *FileInfo) GetAttributeData(AttributeVar string, TypeVar *FileAttributeType, ValuePpVar *uintptr, StatusVar *FileAttributeStatus) bool { | ||
| 893 | + | core.LazyRegister(&xFileInfoGetAttributeData, "GIO", "g_file_info_get_attribute_data", false) | |||
| 894 | + | ||||
| 879 | cret := xFileInfoGetAttributeData(x.GoPointer(), AttributeVar, TypeVar, ValuePpVar, StatusVar) | 895 | cret := xFileInfoGetAttributeData(x.GoPointer(), AttributeVar, TypeVar, ValuePpVar, StatusVar) | ||
| 880 | return cret | 896 | return cret | ||
| 881 | } | 897 | } | ||
| @@ -889,6 +905,8 @@ var xFileInfoGetAttributeFilePath func(uintptr, string) string | |||||
| 889 | // This function is meant to be used by language bindings that have specific | 905 | // This function is meant to be used by language bindings that have specific | ||
| 890 | // handling for Unix paths. | 906 | // handling for Unix paths. | ||
| 891 | func (x *FileInfo) GetAttributeFilePath(AttributeVar string) string { | 907 | func (x *FileInfo) GetAttributeFilePath(AttributeVar string) string { | ||
| 908 | + | core.LazyRegister(&xFileInfoGetAttributeFilePath, "GIO", "g_file_info_get_attribute_file_path", false) | |||
| 909 | + | ||||
| 892 | cret := xFileInfoGetAttributeFilePath(x.GoPointer(), AttributeVar) | 910 | cret := xFileInfoGetAttributeFilePath(x.GoPointer(), AttributeVar) | ||
| 893 | return cret | 911 | return cret | ||
| 894 | } | 912 | } | ||
| @@ -899,6 +917,8 @@ var xFileInfoGetAttributeInt32 func(uintptr, string) int32 | |||||
| 899 | // attribute does not contain a signed 32-bit integer, or is invalid, | 917 | // attribute does not contain a signed 32-bit integer, or is invalid, | ||
| 900 | // 0 will be returned. | 918 | // 0 will be returned. | ||
| 901 | func (x *FileInfo) GetAttributeInt32(AttributeVar string) int32 { | 919 | func (x *FileInfo) GetAttributeInt32(AttributeVar string) int32 { | ||
| 920 | + | core.LazyRegister(&xFileInfoGetAttributeInt32, "GIO", "g_file_info_get_attribute_int32", false) | |||
| 921 | + | ||||
| 902 | cret := xFileInfoGetAttributeInt32(x.GoPointer(), AttributeVar) | 922 | cret := xFileInfoGetAttributeInt32(x.GoPointer(), AttributeVar) | ||
| 903 | return cret | 923 | return cret | ||
| 904 | } | 924 | } | ||
| @@ -909,6 +929,8 @@ var xFileInfoGetAttributeInt64 func(uintptr, string) int64 | |||||
| 909 | // attribute does not contain a signed 64-bit integer, or is invalid, | 929 | // attribute does not contain a signed 64-bit integer, or is invalid, | ||
| 910 | // 0 will be returned. | 930 | // 0 will be returned. | ||
| 911 | func (x *FileInfo) GetAttributeInt64(AttributeVar string) int64 { | 931 | func (x *FileInfo) GetAttributeInt64(AttributeVar string) int64 { | ||
| 932 | + | core.LazyRegister(&xFileInfoGetAttributeInt64, "GIO", "g_file_info_get_attribute_int64", false) | |||
| 933 | + | ||||
| 912 | cret := xFileInfoGetAttributeInt64(x.GoPointer(), AttributeVar) | 934 | cret := xFileInfoGetAttributeInt64(x.GoPointer(), AttributeVar) | ||
| 913 | return cret | 935 | return cret | ||
| 914 | } | 936 | } | ||
| @@ -918,6 +940,7 @@ var xFileInfoGetAttributeObject func(uintptr, string) uintptr | |||||
| 918 | // Gets the value of a #GObject attribute. If the attribute does | 940 | // Gets the value of a #GObject attribute. If the attribute does | ||
| 919 | // not contain a #GObject, %NULL will be returned. | 941 | // not contain a #GObject, %NULL will be returned. | ||
| 920 | func (x *FileInfo) GetAttributeObject(AttributeVar string) *gobject.Object { | 942 | func (x *FileInfo) GetAttributeObject(AttributeVar string) *gobject.Object { | ||
| 943 | + | core.LazyRegister(&xFileInfoGetAttributeObject, "GIO", "g_file_info_get_attribute_object", false) | |||
| 921 | var cls *gobject.Object | 944 | var cls *gobject.Object | ||
| 922 | 945 | ||||
| 923 | cret := xFileInfoGetAttributeObject(x.GoPointer(), AttributeVar) | 946 | cret := xFileInfoGetAttributeObject(x.GoPointer(), AttributeVar) | ||
| @@ -935,6 +958,8 @@ var xFileInfoGetAttributeStatus func(uintptr, string) FileAttributeStatus | |||||
| 935 | 958 | ||||
| 936 | // Gets the attribute status for an attribute key. | 959 | // Gets the attribute status for an attribute key. | ||
| 937 | func (x *FileInfo) GetAttributeStatus(AttributeVar string) FileAttributeStatus { | 960 | func (x *FileInfo) GetAttributeStatus(AttributeVar string) FileAttributeStatus { | ||
| 961 | + | core.LazyRegister(&xFileInfoGetAttributeStatus, "GIO", "g_file_info_get_attribute_status", false) | |||
| 962 | + | ||||
| 938 | cret := xFileInfoGetAttributeStatus(x.GoPointer(), AttributeVar) | 963 | cret := xFileInfoGetAttributeStatus(x.GoPointer(), AttributeVar) | ||
| 939 | return cret | 964 | return cret | ||
| 940 | } | 965 | } | ||
| @@ -944,6 +969,8 @@ var xFileInfoGetAttributeString func(uintptr, string) string | |||||
| 944 | // Gets the value of a string attribute. If the attribute does | 969 | // Gets the value of a string attribute. If the attribute does | ||
| 945 | // not contain a string, %NULL will be returned. | 970 | // not contain a string, %NULL will be returned. | ||
| 946 | func (x *FileInfo) GetAttributeString(AttributeVar string) string { | 971 | func (x *FileInfo) GetAttributeString(AttributeVar string) string { | ||
| 972 | + | core.LazyRegister(&xFileInfoGetAttributeString, "GIO", "g_file_info_get_attribute_string", false) | |||
| 973 | + | ||||
| 947 | cret := xFileInfoGetAttributeString(x.GoPointer(), AttributeVar) | 974 | cret := xFileInfoGetAttributeString(x.GoPointer(), AttributeVar) | ||
| 948 | return cret | 975 | return cret | ||
| 949 | } | 976 | } | ||
| @@ -953,6 +980,8 @@ var xFileInfoGetAttributeStringv func(uintptr, string) []string | |||||
| 953 | // Gets the value of a stringv attribute. If the attribute does | 980 | // Gets the value of a stringv attribute. If the attribute does | ||
| 954 | // not contain a stringv, %NULL will be returned. | 981 | // not contain a stringv, %NULL will be returned. | ||
| 955 | func (x *FileInfo) GetAttributeStringv(AttributeVar string) []string { | 982 | func (x *FileInfo) GetAttributeStringv(AttributeVar string) []string { | ||
| 983 | + | core.LazyRegister(&xFileInfoGetAttributeStringv, "GIO", "g_file_info_get_attribute_stringv", false) | |||
| 984 | + | ||||
| 956 | cret := xFileInfoGetAttributeStringv(x.GoPointer(), AttributeVar) | 985 | cret := xFileInfoGetAttributeStringv(x.GoPointer(), AttributeVar) | ||
| 957 | return cret | 986 | return cret | ||
| 958 | } | 987 | } | ||
| @@ -961,6 +990,8 @@ var xFileInfoGetAttributeType func(uintptr, string) FileAttributeType | |||||
| 961 | 990 | ||||
| 962 | // Gets the attribute type for an attribute key. | 991 | // Gets the attribute type for an attribute key. | ||
| 963 | func (x *FileInfo) GetAttributeType(AttributeVar string) FileAttributeType { | 992 | func (x *FileInfo) GetAttributeType(AttributeVar string) FileAttributeType { | ||
| 993 | + | core.LazyRegister(&xFileInfoGetAttributeType, "GIO", "g_file_info_get_attribute_type", false) | |||
| 994 | + | ||||
| 964 | cret := xFileInfoGetAttributeType(x.GoPointer(), AttributeVar) | 995 | cret := xFileInfoGetAttributeType(x.GoPointer(), AttributeVar) | ||
| 965 | return cret | 996 | return cret | ||
| 966 | } | 997 | } | ||
| @@ -971,6 +1002,8 @@ var xFileInfoGetAttributeUint32 func(uintptr, string) uint32 | |||||
| 971 | // attribute does not contain an unsigned 32-bit integer, or is invalid, | 1002 | // attribute does not contain an unsigned 32-bit integer, or is invalid, | ||
| 972 | // 0 will be returned. | 1003 | // 0 will be returned. | ||
| 973 | func (x *FileInfo) GetAttributeUint32(AttributeVar string) uint32 { | 1004 | func (x *FileInfo) GetAttributeUint32(AttributeVar string) uint32 { | ||
| 1005 | + | core.LazyRegister(&xFileInfoGetAttributeUint32, "GIO", "g_file_info_get_attribute_uint32", false) | |||
| 1006 | + | ||||
| 974 | cret := xFileInfoGetAttributeUint32(x.GoPointer(), AttributeVar) | 1007 | cret := xFileInfoGetAttributeUint32(x.GoPointer(), AttributeVar) | ||
| 975 | return cret | 1008 | return cret | ||
| 976 | } | 1009 | } | ||
| @@ -981,6 +1014,8 @@ var xFileInfoGetAttributeUint64 func(uintptr, string) uint64 | |||||
| 981 | // attribute does not contain an unsigned 64-bit integer, or is invalid, | 1014 | // attribute does not contain an unsigned 64-bit integer, or is invalid, | ||
| 982 | // 0 will be returned. | 1015 | // 0 will be returned. | ||
| 983 | func (x *FileInfo) GetAttributeUint64(AttributeVar string) uint64 { | 1016 | func (x *FileInfo) GetAttributeUint64(AttributeVar string) uint64 { | ||
| 1017 | + | core.LazyRegister(&xFileInfoGetAttributeUint64, "GIO", "g_file_info_get_attribute_uint64", false) | |||
| 1018 | + | ||||
| 984 | cret := xFileInfoGetAttributeUint64(x.GoPointer(), AttributeVar) | 1019 | cret := xFileInfoGetAttributeUint64(x.GoPointer(), AttributeVar) | ||
| 985 | return cret | 1020 | return cret | ||
| 986 | } | 1021 | } | ||
| @@ -992,6 +1027,8 @@ var xFileInfoGetContentType func(uintptr) string | |||||
| 992 | // It is an error to call this if the #GFileInfo does not contain | 1027 | // It is an error to call this if the #GFileInfo does not contain | ||
| 993 | // %G_FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE. | 1028 | // %G_FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE. | ||
| 994 | func (x *FileInfo) GetContentType() string { | 1029 | func (x *FileInfo) GetContentType() string { | ||
| 1030 | + | core.LazyRegister(&xFileInfoGetContentType, "GIO", "g_file_info_get_content_type", false) | |||
| 1031 | + | ||||
| 995 | cret := xFileInfoGetContentType(x.GoPointer()) | 1032 | cret := xFileInfoGetContentType(x.GoPointer()) | ||
| 996 | return cret | 1033 | return cret | ||
| 997 | } | 1034 | } | ||
| @@ -1009,6 +1046,8 @@ var xFileInfoGetCreationDateTime func(uintptr) uintptr | |||||
| 1009 | // If nanosecond precision is needed, %G_FILE_ATTRIBUTE_TIME_CREATED_NSEC must | 1046 | // If nanosecond precision is needed, %G_FILE_ATTRIBUTE_TIME_CREATED_NSEC must | ||
| 1010 | // be queried separately using g_file_info_get_attribute_uint32(). | 1047 | // be queried separately using g_file_info_get_attribute_uint32(). | ||
| 1011 | func (x *FileInfo) GetCreationDateTime() *glib.DateTime { | 1048 | func (x *FileInfo) GetCreationDateTime() *glib.DateTime { | ||
| 1049 | + | core.LazyRegister(&xFileInfoGetCreationDateTime, "GIO", "g_file_info_get_creation_date_time", false) | |||
| 1050 | + | ||||
| 1012 | cret := xFileInfoGetCreationDateTime(x.GoPointer()) | 1051 | cret := xFileInfoGetCreationDateTime(x.GoPointer()) | ||
| 1013 | if cret == 0 { | 1052 | if cret == 0 { | ||
| 1014 | return nil | 1053 | return nil | ||
| @@ -1022,6 +1061,8 @@ var xFileInfoGetDeletionDate func(uintptr) uintptr | |||||
| 1022 | // available in %G_FILE_ATTRIBUTE_TRASH_DELETION_DATE. If the | 1061 | // available in %G_FILE_ATTRIBUTE_TRASH_DELETION_DATE. If the | ||
| 1023 | // %G_FILE_ATTRIBUTE_TRASH_DELETION_DATE attribute is unset, %NULL is returned. | 1062 | // %G_FILE_ATTRIBUTE_TRASH_DELETION_DATE attribute is unset, %NULL is returned. | ||
| 1024 | func (x *FileInfo) GetDeletionDate() *glib.DateTime { | 1063 | func (x *FileInfo) GetDeletionDate() *glib.DateTime { | ||
| 1064 | + | core.LazyRegister(&xFileInfoGetDeletionDate, "GIO", "g_file_info_get_deletion_date", false) | |||
| 1065 | + | ||||
| 1025 | cret := xFileInfoGetDeletionDate(x.GoPointer()) | 1066 | cret := xFileInfoGetDeletionDate(x.GoPointer()) | ||
| 1026 | if cret == 0 { | 1067 | if cret == 0 { | ||
| 1027 | return nil | 1068 | return nil | ||
| @@ -1036,6 +1077,8 @@ var xFileInfoGetDisplayName func(uintptr) string | |||||
| 1036 | // It is an error to call this if the #GFileInfo does not contain | 1077 | // It is an error to call this if the #GFileInfo does not contain | ||
| 1037 | // %G_FILE_ATTRIBUTE_STANDARD_DISPLAY_NAME. | 1078 | // %G_FILE_ATTRIBUTE_STANDARD_DISPLAY_NAME. | ||
| 1038 | func (x *FileInfo) GetDisplayName() string { | 1079 | func (x *FileInfo) GetDisplayName() string { | ||
| 1080 | + | core.LazyRegister(&xFileInfoGetDisplayName, "GIO", "g_file_info_get_display_name", false) | |||
| 1081 | + | ||||
| 1039 | cret := xFileInfoGetDisplayName(x.GoPointer()) | 1082 | cret := xFileInfoGetDisplayName(x.GoPointer()) | ||
| 1040 | return cret | 1083 | return cret | ||
| 1041 | } | 1084 | } | ||
| @@ -1047,6 +1090,8 @@ var xFileInfoGetEditName func(uintptr) string | |||||
| 1047 | // It is an error to call this if the #GFileInfo does not contain | 1090 | // It is an error to call this if the #GFileInfo does not contain | ||
| 1048 | // %G_FILE_ATTRIBUTE_STANDARD_EDIT_NAME. | 1091 | // %G_FILE_ATTRIBUTE_STANDARD_EDIT_NAME. | ||
| 1049 | func (x *FileInfo) GetEditName() string { | 1092 | func (x *FileInfo) GetEditName() string { | ||
| 1093 | + | core.LazyRegister(&xFileInfoGetEditName, "GIO", "g_file_info_get_edit_name", false) | |||
| 1094 | + | ||||
| 1050 | cret := xFileInfoGetEditName(x.GoPointer()) | 1095 | cret := xFileInfoGetEditName(x.GoPointer()) | ||
| 1051 | return cret | 1096 | return cret | ||
| 1052 | } | 1097 | } | ||
| @@ -1059,6 +1104,8 @@ var xFileInfoGetEtag func(uintptr) string | |||||
| 1059 | // It is an error to call this if the #GFileInfo does not contain | 1104 | // It is an error to call this if the #GFileInfo does not contain | ||
| 1060 | // %G_FILE_ATTRIBUTE_ETAG_VALUE. | 1105 | // %G_FILE_ATTRIBUTE_ETAG_VALUE. | ||
| 1061 | func (x *FileInfo) GetEtag() string { | 1106 | func (x *FileInfo) GetEtag() string { | ||
| 1107 | + | core.LazyRegister(&xFileInfoGetEtag, "GIO", "g_file_info_get_etag", false) | |||
| 1108 | + | ||||
| 1062 | cret := xFileInfoGetEtag(x.GoPointer()) | 1109 | cret := xFileInfoGetEtag(x.GoPointer()) | ||
| 1063 | return cret | 1110 | return cret | ||
| 1064 | } | 1111 | } | ||
| @@ -1071,6 +1118,8 @@ var xFileInfoGetFileType func(uintptr) FileType | |||||
| 1071 | // It is an error to call this if the #GFileInfo does not contain | 1118 | // It is an error to call this if the #GFileInfo does not contain | ||
| 1072 | // %G_FILE_ATTRIBUTE_STANDARD_TYPE. | 1119 | // %G_FILE_ATTRIBUTE_STANDARD_TYPE. | ||
| 1073 | func (x *FileInfo) GetFileType() FileType { | 1120 | func (x *FileInfo) GetFileType() FileType { | ||
| 1121 | + | core.LazyRegister(&xFileInfoGetFileType, "GIO", "g_file_info_get_file_type", false) | |||
| 1122 | + | ||||
| 1074 | cret := xFileInfoGetFileType(x.GoPointer()) | 1123 | cret := xFileInfoGetFileType(x.GoPointer()) | ||
| 1075 | return cret | 1124 | return cret | ||
| 1076 | } | 1125 | } | ||
| @@ -1082,6 +1131,7 @@ var xFileInfoGetIcon func(uintptr) uintptr | |||||
| 1082 | // It is an error to call this if the #GFileInfo does not contain | 1131 | // It is an error to call this if the #GFileInfo does not contain | ||
| 1083 | // %G_FILE_ATTRIBUTE_STANDARD_ICON. | 1132 | // %G_FILE_ATTRIBUTE_STANDARD_ICON. | ||
| 1084 | func (x *FileInfo) GetIcon() *IconBase { | 1133 | func (x *FileInfo) GetIcon() *IconBase { | ||
| 1134 | + | core.LazyRegister(&xFileInfoGetIcon, "GIO", "g_file_info_get_icon", false) | |||
| 1085 | var cls *IconBase | 1135 | var cls *IconBase | ||
| 1086 | 1136 | ||||
| 1087 | cret := xFileInfoGetIcon(x.GoPointer()) | 1137 | cret := xFileInfoGetIcon(x.GoPointer()) | ||
| @@ -1107,6 +1157,8 @@ var xFileInfoGetIsBackup func(uintptr) bool | |||||
| 1107 | // It is an error to call this if the #GFileInfo does not contain | 1157 | // It is an error to call this if the #GFileInfo does not contain | ||
| 1108 | // %G_FILE_ATTRIBUTE_STANDARD_IS_BACKUP. | 1158 | // %G_FILE_ATTRIBUTE_STANDARD_IS_BACKUP. | ||
| 1109 | func (x *FileInfo) GetIsBackup() bool { | 1159 | func (x *FileInfo) GetIsBackup() bool { | ||
| 1160 | + | core.LazyRegister(&xFileInfoGetIsBackup, "GIO", "g_file_info_get_is_backup", false) | |||
| 1161 | + | ||||
| 1110 | cret := xFileInfoGetIsBackup(x.GoPointer()) | 1162 | cret := xFileInfoGetIsBackup(x.GoPointer()) | ||
| 1111 | return cret | 1163 | return cret | ||
| 1112 | } | 1164 | } | ||
| @@ -1118,6 +1170,8 @@ var xFileInfoGetIsHidden func(uintptr) bool | |||||
| 1118 | // It is an error to call this if the #GFileInfo does not contain | 1170 | // It is an error to call this if the #GFileInfo does not contain | ||
| 1119 | // %G_FILE_ATTRIBUTE_STANDARD_IS_HIDDEN. | 1171 | // %G_FILE_ATTRIBUTE_STANDARD_IS_HIDDEN. | ||
| 1120 | func (x *FileInfo) GetIsHidden() bool { | 1172 | func (x *FileInfo) GetIsHidden() bool { | ||
| 1173 | + | core.LazyRegister(&xFileInfoGetIsHidden, "GIO", "g_file_info_get_is_hidden", false) | |||
| 1174 | + | ||||
| 1121 | cret := xFileInfoGetIsHidden(x.GoPointer()) | 1175 | cret := xFileInfoGetIsHidden(x.GoPointer()) | ||
| 1122 | return cret | 1176 | return cret | ||
| 1123 | } | 1177 | } | ||
| @@ -1129,6 +1183,8 @@ var xFileInfoGetIsSymlink func(uintptr) bool | |||||
| 1129 | // It is an error to call this if the #GFileInfo does not contain | 1183 | // It is an error to call this if the #GFileInfo does not contain | ||
| 1130 | // %G_FILE_ATTRIBUTE_STANDARD_IS_SYMLINK. | 1184 | // %G_FILE_ATTRIBUTE_STANDARD_IS_SYMLINK. | ||
| 1131 | func (x *FileInfo) GetIsSymlink() bool { | 1185 | func (x *FileInfo) GetIsSymlink() bool { | ||
| 1186 | + | core.LazyRegister(&xFileInfoGetIsSymlink, "GIO", "g_file_info_get_is_symlink", false) | |||
| 1187 | + | ||||
| 1132 | cret := xFileInfoGetIsSymlink(x.GoPointer()) | 1188 | cret := xFileInfoGetIsSymlink(x.GoPointer()) | ||
| 1133 | return cret | 1189 | return cret | ||
| 1134 | } | 1190 | } | ||
| @@ -1146,6 +1202,8 @@ var xFileInfoGetModificationDateTime func(uintptr) uintptr | |||||
| 1146 | // If nanosecond precision is needed, %G_FILE_ATTRIBUTE_TIME_MODIFIED_NSEC must | 1202 | // If nanosecond precision is needed, %G_FILE_ATTRIBUTE_TIME_MODIFIED_NSEC must | ||
| 1147 | // be queried separately using g_file_info_get_attribute_uint32(). | 1203 | // be queried separately using g_file_info_get_attribute_uint32(). | ||
| 1148 | func (x *FileInfo) GetModificationDateTime() *glib.DateTime { | 1204 | func (x *FileInfo) GetModificationDateTime() *glib.DateTime { | ||
| 1205 | + | core.LazyRegister(&xFileInfoGetModificationDateTime, "GIO", "g_file_info_get_modification_date_time", false) | |||
| 1206 | + | ||||
| 1149 | cret := xFileInfoGetModificationDateTime(x.GoPointer()) | 1207 | cret := xFileInfoGetModificationDateTime(x.GoPointer()) | ||
| 1150 | if cret == 0 { | 1208 | if cret == 0 { | ||
| 1151 | return nil | 1209 | return nil | ||
| @@ -1162,6 +1220,8 @@ var xFileInfoGetModificationTime func(uintptr, *glib.TimeVal) | |||||
| 1162 | // %G_FILE_ATTRIBUTE_TIME_MODIFIED. If %G_FILE_ATTRIBUTE_TIME_MODIFIED_USEC is | 1220 | // %G_FILE_ATTRIBUTE_TIME_MODIFIED. If %G_FILE_ATTRIBUTE_TIME_MODIFIED_USEC is | ||
| 1163 | // provided it will be used too. | 1221 | // provided it will be used too. | ||
| 1164 | func (x *FileInfo) GetModificationTime(ResultVar *glib.TimeVal) { | 1222 | func (x *FileInfo) GetModificationTime(ResultVar *glib.TimeVal) { | ||
| 1223 | + | core.LazyRegister(&xFileInfoGetModificationTime, "GIO", "g_file_info_get_modification_time", false) | |||
| 1224 | + | ||||
| 1165 | xFileInfoGetModificationTime(x.GoPointer(), ResultVar) | 1225 | xFileInfoGetModificationTime(x.GoPointer(), ResultVar) | ||
| 1166 | } | 1226 | } | ||
| 1167 | 1227 | ||||
| @@ -1172,6 +1232,8 @@ var xFileInfoGetName func(uintptr) string | |||||
| 1172 | // It is an error to call this if the #GFileInfo does not contain | 1232 | // It is an error to call this if the #GFileInfo does not contain | ||
| 1173 | // %G_FILE_ATTRIBUTE_STANDARD_NAME. | 1233 | // %G_FILE_ATTRIBUTE_STANDARD_NAME. | ||
| 1174 | func (x *FileInfo) GetName() string { | 1234 | func (x *FileInfo) GetName() string { | ||
| 1235 | + | core.LazyRegister(&xFileInfoGetName, "GIO", "g_file_info_get_name", false) | |||
| 1236 | + | ||||
| 1175 | cret := xFileInfoGetName(x.GoPointer()) | 1237 | cret := xFileInfoGetName(x.GoPointer()) | ||
| 1176 | return cret | 1238 | return cret | ||
| 1177 | } | 1239 | } | ||
| @@ -1185,6 +1247,8 @@ var xFileInfoGetSize func(uintptr) int64 | |||||
| 1185 | // It is an error to call this if the #GFileInfo does not contain | 1247 | // It is an error to call this if the #GFileInfo does not contain | ||
| 1186 | // %G_FILE_ATTRIBUTE_STANDARD_SIZE. | 1248 | // %G_FILE_ATTRIBUTE_STANDARD_SIZE. | ||
| 1187 | func (x *FileInfo) GetSize() int64 { | 1249 | func (x *FileInfo) GetSize() int64 { | ||
| 1250 | + | core.LazyRegister(&xFileInfoGetSize, "GIO", "g_file_info_get_size", false) | |||
| 1251 | + | ||||
| 1188 | cret := xFileInfoGetSize(x.GoPointer()) | 1252 | cret := xFileInfoGetSize(x.GoPointer()) | ||
| 1189 | return cret | 1253 | return cret | ||
| 1190 | } | 1254 | } | ||
| @@ -1197,6 +1261,8 @@ var xFileInfoGetSortOrder func(uintptr) int32 | |||||
| 1197 | // It is an error to call this if the #GFileInfo does not contain | 1261 | // It is an error to call this if the #GFileInfo does not contain | ||
| 1198 | // %G_FILE_ATTRIBUTE_STANDARD_SORT_ORDER. | 1262 | // %G_FILE_ATTRIBUTE_STANDARD_SORT_ORDER. | ||
| 1199 | func (x *FileInfo) GetSortOrder() int32 { | 1263 | func (x *FileInfo) GetSortOrder() int32 { | ||
| 1264 | + | core.LazyRegister(&xFileInfoGetSortOrder, "GIO", "g_file_info_get_sort_order", false) | |||
| 1265 | + | ||||
| 1200 | cret := xFileInfoGetSortOrder(x.GoPointer()) | 1266 | cret := xFileInfoGetSortOrder(x.GoPointer()) | ||
| 1201 | return cret | 1267 | return cret | ||
| 1202 | } | 1268 | } | ||
| @@ -1208,6 +1274,7 @@ var xFileInfoGetSymbolicIcon func(uintptr) uintptr | |||||
| 1208 | // It is an error to call this if the #GFileInfo does not contain | 1274 | // It is an error to call this if the #GFileInfo does not contain | ||
| 1209 | // %G_FILE_ATTRIBUTE_STANDARD_SYMBOLIC_ICON. | 1275 | // %G_FILE_ATTRIBUTE_STANDARD_SYMBOLIC_ICON. | ||
| 1210 | func (x *FileInfo) GetSymbolicIcon() *IconBase { | 1276 | func (x *FileInfo) GetSymbolicIcon() *IconBase { | ||
| 1277 | + | core.LazyRegister(&xFileInfoGetSymbolicIcon, "GIO", "g_file_info_get_symbolic_icon", false) | |||
| 1211 | var cls *IconBase | 1278 | var cls *IconBase | ||
| 1212 | 1279 | ||||
| 1213 | cret := xFileInfoGetSymbolicIcon(x.GoPointer()) | 1280 | cret := xFileInfoGetSymbolicIcon(x.GoPointer()) | ||
| @@ -1228,6 +1295,8 @@ var xFileInfoGetSymlinkTarget func(uintptr) string | |||||
| 1228 | // It is an error to call this if the #GFileInfo does not contain | 1295 | // It is an error to call this if the #GFileInfo does not contain | ||
| 1229 | // %G_FILE_ATTRIBUTE_STANDARD_SYMLINK_TARGET. | 1296 | // %G_FILE_ATTRIBUTE_STANDARD_SYMLINK_TARGET. | ||
| 1230 | func (x *FileInfo) GetSymlinkTarget() string { | 1297 | func (x *FileInfo) GetSymlinkTarget() string { | ||
| 1298 | + | core.LazyRegister(&xFileInfoGetSymlinkTarget, "GIO", "g_file_info_get_symlink_target", false) | |||
| 1299 | + | ||||
| 1231 | cret := xFileInfoGetSymlinkTarget(x.GoPointer()) | 1300 | cret := xFileInfoGetSymlinkTarget(x.GoPointer()) | ||
| 1232 | return cret | 1301 | return cret | ||
| 1233 | } | 1302 | } | ||
| @@ -1236,6 +1305,8 @@ var xFileInfoHasAttribute func(uintptr, string) bool | |||||
| 1236 | 1305 | ||||
| 1237 | // Checks if a file info structure has an attribute named @attribute. | 1306 | // Checks if a file info structure has an attribute named @attribute. | ||
| 1238 | func (x *FileInfo) HasAttribute(AttributeVar string) bool { | 1307 | func (x *FileInfo) HasAttribute(AttributeVar string) bool { | ||
| 1308 | + | core.LazyRegister(&xFileInfoHasAttribute, "GIO", "g_file_info_has_attribute", false) | |||
| 1309 | + | ||||
| 1239 | cret := xFileInfoHasAttribute(x.GoPointer(), AttributeVar) | 1310 | cret := xFileInfoHasAttribute(x.GoPointer(), AttributeVar) | ||
| 1240 | return cret | 1311 | return cret | ||
| 1241 | } | 1312 | } | ||
| @@ -1245,6 +1316,8 @@ var xFileInfoHasNamespace func(uintptr, string) bool | |||||
| 1245 | // Checks if a file info structure has an attribute in the | 1316 | // Checks if a file info structure has an attribute in the | ||
| 1246 | // specified @name_space. | 1317 | // specified @name_space. | ||
| 1247 | func (x *FileInfo) HasNamespace(NameSpaceVar string) bool { | 1318 | func (x *FileInfo) HasNamespace(NameSpaceVar string) bool { | ||
| 1319 | + | core.LazyRegister(&xFileInfoHasNamespace, "GIO", "g_file_info_has_namespace", false) | |||
| 1320 | + | ||||
| 1248 | cret := xFileInfoHasNamespace(x.GoPointer(), NameSpaceVar) | 1321 | cret := xFileInfoHasNamespace(x.GoPointer(), NameSpaceVar) | ||
| 1249 | return cret | 1322 | return cret | ||
| 1250 | } | 1323 | } | ||
| @@ -1253,6 +1326,8 @@ var xFileInfoListAttributes func(uintptr, uintptr) []string | |||||
| 1253 | 1326 | ||||
| 1254 | // Lists the file info structure's attributes. | 1327 | // Lists the file info structure's attributes. | ||
| 1255 | func (x *FileInfo) ListAttributes(NameSpaceVar *string) []string { | 1328 | func (x *FileInfo) ListAttributes(NameSpaceVar *string) []string { | ||
| 1329 | + | core.LazyRegister(&xFileInfoListAttributes, "GIO", "g_file_info_list_attributes", false) | |||
| 1330 | + | ||||
| 1256 | NameSpaceVarPtr := core.GStrdupNullable(NameSpaceVar) | 1331 | NameSpaceVarPtr := core.GStrdupNullable(NameSpaceVar) | ||
| 1257 | defer core.GFreeNullable(NameSpaceVarPtr) | 1332 | defer core.GFreeNullable(NameSpaceVarPtr) | ||
| 1258 | 1333 | ||||
| @@ -1264,6 +1339,8 @@ var xFileInfoRemoveAttribute func(uintptr, string) | |||||
| 1264 | 1339 | ||||
| 1265 | // Removes all cases of @attribute from @info if it exists. | 1340 | // Removes all cases of @attribute from @info if it exists. | ||
| 1266 | func (x *FileInfo) RemoveAttribute(AttributeVar string) { | 1341 | func (x *FileInfo) RemoveAttribute(AttributeVar string) { | ||
| 1342 | + | core.LazyRegister(&xFileInfoRemoveAttribute, "GIO", "g_file_info_remove_attribute", false) | |||
| 1343 | + | ||||
| 1267 | xFileInfoRemoveAttribute(x.GoPointer(), AttributeVar) | 1344 | xFileInfoRemoveAttribute(x.GoPointer(), AttributeVar) | ||
| 1268 | } | 1345 | } | ||
| 1269 | 1346 | ||||
| @@ -1275,6 +1352,8 @@ var xFileInfoSetAccessDateTime func(uintptr, *glib.DateTime) | |||||
| 1275 | // | 1352 | // | ||
| 1276 | // %G_FILE_ATTRIBUTE_TIME_ACCESS_NSEC will be cleared. | 1353 | // %G_FILE_ATTRIBUTE_TIME_ACCESS_NSEC will be cleared. | ||
| 1277 | func (x *FileInfo) SetAccessDateTime(AtimeVar *glib.DateTime) { | 1354 | func (x *FileInfo) SetAccessDateTime(AtimeVar *glib.DateTime) { | ||
| 1355 | + | core.LazyRegister(&xFileInfoSetAccessDateTime, "GIO", "g_file_info_set_access_date_time", false) | |||
| 1356 | + | ||||
| 1278 | xFileInfoSetAccessDateTime(x.GoPointer(), AtimeVar) | 1357 | xFileInfoSetAccessDateTime(x.GoPointer(), AtimeVar) | ||
| 1279 | } | 1358 | } | ||
| 1280 | 1359 | ||||
| @@ -1283,6 +1362,8 @@ var xFileInfoSetAttribute func(uintptr, string, FileAttributeType, uintptr) | |||||
| 1283 | // Sets the @attribute to contain the given value, if possible. To unset the | 1362 | // Sets the @attribute to contain the given value, if possible. To unset the | ||
| 1284 | // attribute, use %G_FILE_ATTRIBUTE_TYPE_INVALID for @type. | 1363 | // attribute, use %G_FILE_ATTRIBUTE_TYPE_INVALID for @type. | ||
| 1285 | func (x *FileInfo) SetAttribute(AttributeVar string, TypeVar FileAttributeType, ValuePVar uintptr) { | 1364 | func (x *FileInfo) SetAttribute(AttributeVar string, TypeVar FileAttributeType, ValuePVar uintptr) { | ||
| 1365 | + | core.LazyRegister(&xFileInfoSetAttribute, "GIO", "g_file_info_set_attribute", false) | |||
| 1366 | + | ||||
| 1286 | xFileInfoSetAttribute(x.GoPointer(), AttributeVar, TypeVar, ValuePVar) | 1367 | xFileInfoSetAttribute(x.GoPointer(), AttributeVar, TypeVar, ValuePVar) | ||
| 1287 | } | 1368 | } | ||
| 1288 | 1369 | ||||
| @@ -1291,6 +1372,8 @@ var xFileInfoSetAttributeBoolean func(uintptr, string, bool) | |||||
| 1291 | // Sets the @attribute to contain the given @attr_value, | 1372 | // Sets the @attribute to contain the given @attr_value, | ||
| 1292 | // if possible. | 1373 | // if possible. | ||
| 1293 | func (x *FileInfo) SetAttributeBoolean(AttributeVar string, AttrValueVar bool) { | 1374 | func (x *FileInfo) SetAttributeBoolean(AttributeVar string, AttrValueVar bool) { | ||
| 1375 | + | core.LazyRegister(&xFileInfoSetAttributeBoolean, "GIO", "g_file_info_set_attribute_boolean", false) | |||
| 1376 | + | ||||
| 1294 | xFileInfoSetAttributeBoolean(x.GoPointer(), AttributeVar, AttrValueVar) | 1377 | xFileInfoSetAttributeBoolean(x.GoPointer(), AttributeVar, AttrValueVar) | ||
| 1295 | } | 1378 | } | ||
| 1296 | 1379 | ||||
| @@ -1299,6 +1382,8 @@ var xFileInfoSetAttributeByteString func(uintptr, string, string) | |||||
| 1299 | // Sets the @attribute to contain the given @attr_value, | 1382 | // Sets the @attribute to contain the given @attr_value, | ||
| 1300 | // if possible. | 1383 | // if possible. | ||
| 1301 | func (x *FileInfo) SetAttributeByteString(AttributeVar string, AttrValueVar string) { | 1384 | func (x *FileInfo) SetAttributeByteString(AttributeVar string, AttrValueVar string) { | ||
| 1385 | + | core.LazyRegister(&xFileInfoSetAttributeByteString, "GIO", "g_file_info_set_attribute_byte_string", false) | |||
| 1386 | + | ||||
| 1302 | xFileInfoSetAttributeByteString(x.GoPointer(), AttributeVar, AttrValueVar) | 1387 | xFileInfoSetAttributeByteString(x.GoPointer(), AttributeVar, AttrValueVar) | ||
| 1303 | } | 1388 | } | ||
| 1304 | 1389 | ||||
| @@ -1310,6 +1395,8 @@ var xFileInfoSetAttributeFilePath func(uintptr, string, string) | |||||
| 1310 | // This function is meant to be used by language bindings that have specific | 1395 | // This function is meant to be used by language bindings that have specific | ||
| 1311 | // handling for Unix paths. | 1396 | // handling for Unix paths. | ||
| 1312 | func (x *FileInfo) SetAttributeFilePath(AttributeVar string, AttrValueVar string) { | 1397 | func (x *FileInfo) SetAttributeFilePath(AttributeVar string, AttrValueVar string) { | ||
| 1398 | + | core.LazyRegister(&xFileInfoSetAttributeFilePath, "GIO", "g_file_info_set_attribute_file_path", false) | |||
| 1399 | + | ||||
| 1313 | xFileInfoSetAttributeFilePath(x.GoPointer(), AttributeVar, AttrValueVar) | 1400 | xFileInfoSetAttributeFilePath(x.GoPointer(), AttributeVar, AttrValueVar) | ||
| 1314 | } | 1401 | } | ||
| 1315 | 1402 | ||||
| @@ -1318,6 +1405,8 @@ var xFileInfoSetAttributeInt32 func(uintptr, string, int32) | |||||
| 1318 | // Sets the @attribute to contain the given @attr_value, | 1405 | // Sets the @attribute to contain the given @attr_value, | ||
| 1319 | // if possible. | 1406 | // if possible. | ||
| 1320 | func (x *FileInfo) SetAttributeInt32(AttributeVar string, AttrValueVar int32) { | 1407 | func (x *FileInfo) SetAttributeInt32(AttributeVar string, AttrValueVar int32) { | ||
| 1408 | + | core.LazyRegister(&xFileInfoSetAttributeInt32, "GIO", "g_file_info_set_attribute_int32", false) | |||
| 1409 | + | ||||
| 1321 | xFileInfoSetAttributeInt32(x.GoPointer(), AttributeVar, AttrValueVar) | 1410 | xFileInfoSetAttributeInt32(x.GoPointer(), AttributeVar, AttrValueVar) | ||
| 1322 | } | 1411 | } | ||
| 1323 | 1412 | ||||
| @@ -1326,6 +1415,8 @@ var xFileInfoSetAttributeInt64 func(uintptr, string, int64) | |||||
| 1326 | // Sets the @attribute to contain the given @attr_value, | 1415 | // Sets the @attribute to contain the given @attr_value, | ||
| 1327 | // if possible. | 1416 | // if possible. | ||
| 1328 | func (x *FileInfo) SetAttributeInt64(AttributeVar string, AttrValueVar int64) { | 1417 | func (x *FileInfo) SetAttributeInt64(AttributeVar string, AttrValueVar int64) { | ||
| 1418 | + | core.LazyRegister(&xFileInfoSetAttributeInt64, "GIO", "g_file_info_set_attribute_int64", false) | |||
| 1419 | + | ||||
| 1329 | xFileInfoSetAttributeInt64(x.GoPointer(), AttributeVar, AttrValueVar) | 1420 | xFileInfoSetAttributeInt64(x.GoPointer(), AttributeVar, AttrValueVar) | ||
| 1330 | } | 1421 | } | ||
| 1331 | 1422 | ||||
| @@ -1333,6 +1424,8 @@ var xFileInfoSetAttributeMask func(uintptr, *FileAttributeMatcher) | |||||
| 1333 | 1424 | ||||
| 1334 | // Sets @mask on @info to match specific attribute types. | 1425 | // Sets @mask on @info to match specific attribute types. | ||
| 1335 | func (x *FileInfo) SetAttributeMask(MaskVar *FileAttributeMatcher) { | 1426 | func (x *FileInfo) SetAttributeMask(MaskVar *FileAttributeMatcher) { | ||
| 1427 | + | core.LazyRegister(&xFileInfoSetAttributeMask, "GIO", "g_file_info_set_attribute_mask", false) | |||
| 1428 | + | ||||
| 1336 | xFileInfoSetAttributeMask(x.GoPointer(), MaskVar) | 1429 | xFileInfoSetAttributeMask(x.GoPointer(), MaskVar) | ||
| 1337 | } | 1430 | } | ||
| 1338 | 1431 | ||||
| @@ -1341,6 +1434,8 @@ var xFileInfoSetAttributeObject func(uintptr, string, uintptr) | |||||
| 1341 | // Sets the @attribute to contain the given @attr_value, | 1434 | // Sets the @attribute to contain the given @attr_value, | ||
| 1342 | // if possible. | 1435 | // if possible. | ||
| 1343 | func (x *FileInfo) SetAttributeObject(AttributeVar string, AttrValueVar *gobject.Object) { | 1436 | func (x *FileInfo) SetAttributeObject(AttributeVar string, AttrValueVar *gobject.Object) { | ||
| 1437 | + | core.LazyRegister(&xFileInfoSetAttributeObject, "GIO", "g_file_info_set_attribute_object", false) | |||
| 1438 | + | ||||
| 1344 | xFileInfoSetAttributeObject(x.GoPointer(), AttributeVar, AttrValueVar.GoPointer()) | 1439 | xFileInfoSetAttributeObject(x.GoPointer(), AttributeVar, AttrValueVar.GoPointer()) | ||
| 1345 | } | 1440 | } | ||
| 1346 | 1441 | ||||
| @@ -1353,6 +1448,8 @@ var xFileInfoSetAttributeStatus func(uintptr, string, FileAttributeStatus) bool | |||||
| 1353 | // The attribute must exist in @info for this to work. Otherwise %FALSE | 1448 | // The attribute must exist in @info for this to work. Otherwise %FALSE | ||
| 1354 | // is returned and @info is unchanged. | 1449 | // is returned and @info is unchanged. | ||
| 1355 | func (x *FileInfo) SetAttributeStatus(AttributeVar string, StatusVar FileAttributeStatus) bool { | 1450 | func (x *FileInfo) SetAttributeStatus(AttributeVar string, StatusVar FileAttributeStatus) bool { | ||
| 1451 | + | core.LazyRegister(&xFileInfoSetAttributeStatus, "GIO", "g_file_info_set_attribute_status", false) | |||
| 1452 | + | ||||
| 1356 | cret := xFileInfoSetAttributeStatus(x.GoPointer(), AttributeVar, StatusVar) | 1453 | cret := xFileInfoSetAttributeStatus(x.GoPointer(), AttributeVar, StatusVar) | ||
| 1357 | return cret | 1454 | return cret | ||
| 1358 | } | 1455 | } | ||
| @@ -1362,6 +1459,8 @@ var xFileInfoSetAttributeString func(uintptr, string, string) | |||||
| 1362 | // Sets the @attribute to contain the given @attr_value, | 1459 | // Sets the @attribute to contain the given @attr_value, | ||
| 1363 | // if possible. | 1460 | // if possible. | ||
| 1364 | func (x *FileInfo) SetAttributeString(AttributeVar string, AttrValueVar string) { | 1461 | func (x *FileInfo) SetAttributeString(AttributeVar string, AttrValueVar string) { | ||
| 1462 | + | core.LazyRegister(&xFileInfoSetAttributeString, "GIO", "g_file_info_set_attribute_string", false) | |||
| 1463 | + | ||||
| 1365 | xFileInfoSetAttributeString(x.GoPointer(), AttributeVar, AttrValueVar) | 1464 | xFileInfoSetAttributeString(x.GoPointer(), AttributeVar, AttrValueVar) | ||
| 1366 | } | 1465 | } | ||
| 1367 | 1466 | ||||
| @@ -1372,6 +1471,8 @@ var xFileInfoSetAttributeStringv func(uintptr, string, []string) | |||||
| 1372 | // | 1471 | // | ||
| 1373 | // Sinze: 2.22 | 1472 | // Sinze: 2.22 | ||
| 1374 | func (x *FileInfo) SetAttributeStringv(AttributeVar string, AttrValueVar []string) { | 1473 | func (x *FileInfo) SetAttributeStringv(AttributeVar string, AttrValueVar []string) { | ||
| 1474 | + | core.LazyRegister(&xFileInfoSetAttributeStringv, "GIO", "g_file_info_set_attribute_stringv", false) | |||
| 1475 | + | ||||
| 1375 | xFileInfoSetAttributeStringv(x.GoPointer(), AttributeVar, AttrValueVar) | 1476 | xFileInfoSetAttributeStringv(x.GoPointer(), AttributeVar, AttrValueVar) | ||
| 1376 | } | 1477 | } | ||
| 1377 | 1478 | ||||
| @@ -1380,6 +1481,8 @@ var xFileInfoSetAttributeUint32 func(uintptr, string, uint32) | |||||
| 1380 | // Sets the @attribute to contain the given @attr_value, | 1481 | // Sets the @attribute to contain the given @attr_value, | ||
| 1381 | // if possible. | 1482 | // if possible. | ||
| 1382 | func (x *FileInfo) SetAttributeUint32(AttributeVar string, AttrValueVar uint32) { | 1483 | func (x *FileInfo) SetAttributeUint32(AttributeVar string, AttrValueVar uint32) { | ||
| 1484 | + | core.LazyRegister(&xFileInfoSetAttributeUint32, "GIO", "g_file_info_set_attribute_uint32", false) | |||
| 1485 | + | ||||
| 1383 | xFileInfoSetAttributeUint32(x.GoPointer(), AttributeVar, AttrValueVar) | 1486 | xFileInfoSetAttributeUint32(x.GoPointer(), AttributeVar, AttrValueVar) | ||
| 1384 | } | 1487 | } | ||
| 1385 | 1488 | ||||
| @@ -1388,6 +1491,8 @@ var xFileInfoSetAttributeUint64 func(uintptr, string, uint64) | |||||
| 1388 | // Sets the @attribute to contain the given @attr_value, | 1491 | // Sets the @attribute to contain the given @attr_value, | ||
| 1389 | // if possible. | 1492 | // if possible. | ||
| 1390 | func (x *FileInfo) SetAttributeUint64(AttributeVar string, AttrValueVar uint64) { | 1493 | func (x *FileInfo) SetAttributeUint64(AttributeVar string, AttrValueVar uint64) { | ||
| 1494 | + | core.LazyRegister(&xFileInfoSetAttributeUint64, "GIO", "g_file_info_set_attribute_uint64", false) | |||
| 1495 | + | ||||
| 1391 | xFileInfoSetAttributeUint64(x.GoPointer(), AttributeVar, AttrValueVar) | 1496 | xFileInfoSetAttributeUint64(x.GoPointer(), AttributeVar, AttrValueVar) | ||
| 1392 | } | 1497 | } | ||
| 1393 | 1498 | ||||
| @@ -1396,6 +1501,8 @@ var xFileInfoSetContentType func(uintptr, string) | |||||
| 1396 | // Sets the content type attribute for a given #GFileInfo. | 1501 | // Sets the content type attribute for a given #GFileInfo. | ||
| 1397 | // See %G_FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE. | 1502 | // See %G_FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE. | ||
| 1398 | func (x *FileInfo) SetContentType(ContentTypeVar string) { | 1503 | func (x *FileInfo) SetContentType(ContentTypeVar string) { | ||
| 1504 | + | core.LazyRegister(&xFileInfoSetContentType, "GIO", "g_file_info_set_content_type", false) | |||
| 1505 | + | ||||
| 1399 | xFileInfoSetContentType(x.GoPointer(), ContentTypeVar) | 1506 | xFileInfoSetContentType(x.GoPointer(), ContentTypeVar) | ||
| 1400 | } | 1507 | } | ||
| 1401 | 1508 | ||||
| @@ -1407,6 +1514,8 @@ var xFileInfoSetCreationDateTime func(uintptr, *glib.DateTime) | |||||
| 1407 | // | 1514 | // | ||
| 1408 | // %G_FILE_ATTRIBUTE_TIME_CREATED_NSEC will be cleared. | 1515 | // %G_FILE_ATTRIBUTE_TIME_CREATED_NSEC will be cleared. | ||
| 1409 | func (x *FileInfo) SetCreationDateTime(CreationTimeVar *glib.DateTime) { | 1516 | func (x *FileInfo) SetCreationDateTime(CreationTimeVar *glib.DateTime) { | ||
| 1517 | + | core.LazyRegister(&xFileInfoSetCreationDateTime, "GIO", "g_file_info_set_creation_date_time", false) | |||
| 1518 | + | ||||
| 1410 | xFileInfoSetCreationDateTime(x.GoPointer(), CreationTimeVar) | 1519 | xFileInfoSetCreationDateTime(x.GoPointer(), CreationTimeVar) | ||
| 1411 | } | 1520 | } | ||
| 1412 | 1521 | ||||
| @@ -1415,6 +1524,8 @@ var xFileInfoSetDisplayName func(uintptr, string) | |||||
| 1415 | // Sets the display name for the current #GFileInfo. | 1524 | // Sets the display name for the current #GFileInfo. | ||
| 1416 | // See %G_FILE_ATTRIBUTE_STANDARD_DISPLAY_NAME. | 1525 | // See %G_FILE_ATTRIBUTE_STANDARD_DISPLAY_NAME. | ||
| 1417 | func (x *FileInfo) SetDisplayName(DisplayNameVar string) { | 1526 | func (x *FileInfo) SetDisplayName(DisplayNameVar string) { | ||
| 1527 | + | core.LazyRegister(&xFileInfoSetDisplayName, "GIO", "g_file_info_set_display_name", false) | |||
| 1528 | + | ||||
| 1418 | xFileInfoSetDisplayName(x.GoPointer(), DisplayNameVar) | 1529 | xFileInfoSetDisplayName(x.GoPointer(), DisplayNameVar) | ||
| 1419 | } | 1530 | } | ||
| 1420 | 1531 | ||||
| @@ -1423,6 +1534,8 @@ var xFileInfoSetEditName func(uintptr, string) | |||||
| 1423 | // Sets the edit name for the current file. | 1534 | // Sets the edit name for the current file. | ||
| 1424 | // See %G_FILE_ATTRIBUTE_STANDARD_EDIT_NAME. | 1535 | // See %G_FILE_ATTRIBUTE_STANDARD_EDIT_NAME. | ||
| 1425 | func (x *FileInfo) SetEditName(EditNameVar string) { | 1536 | func (x *FileInfo) SetEditName(EditNameVar string) { | ||
| 1537 | + | core.LazyRegister(&xFileInfoSetEditName, "GIO", "g_file_info_set_edit_name", false) | |||
| 1538 | + | ||||
| 1426 | xFileInfoSetEditName(x.GoPointer(), EditNameVar) | 1539 | xFileInfoSetEditName(x.GoPointer(), EditNameVar) | ||
| 1427 | } | 1540 | } | ||
| 1428 | 1541 | ||||
| @@ -1431,6 +1544,8 @@ var xFileInfoSetFileType func(uintptr, FileType) | |||||
| 1431 | // Sets the file type in a #GFileInfo to @type. | 1544 | // Sets the file type in a #GFileInfo to @type. | ||
| 1432 | // See %G_FILE_ATTRIBUTE_STANDARD_TYPE. | 1545 | // See %G_FILE_ATTRIBUTE_STANDARD_TYPE. | ||
| 1433 | func (x *FileInfo) SetFileType(TypeVar FileType) { | 1546 | func (x *FileInfo) SetFileType(TypeVar FileType) { | ||
| 1547 | + | core.LazyRegister(&xFileInfoSetFileType, "GIO", "g_file_info_set_file_type", false) | |||
| 1548 | + | ||||
| 1434 | xFileInfoSetFileType(x.GoPointer(), TypeVar) | 1549 | xFileInfoSetFileType(x.GoPointer(), TypeVar) | ||
| 1435 | } | 1550 | } | ||
| 1436 | 1551 | ||||
| @@ -1439,6 +1554,8 @@ var xFileInfoSetIcon func(uintptr, uintptr) | |||||
| 1439 | // Sets the icon for a given #GFileInfo. | 1554 | // Sets the icon for a given #GFileInfo. | ||
| 1440 | // See %G_FILE_ATTRIBUTE_STANDARD_ICON. | 1555 | // See %G_FILE_ATTRIBUTE_STANDARD_ICON. | ||
| 1441 | func (x *FileInfo) SetIcon(IconVar Icon) { | 1556 | func (x *FileInfo) SetIcon(IconVar Icon) { | ||
| 1557 | + | core.LazyRegister(&xFileInfoSetIcon, "GIO", "g_file_info_set_icon", false) | |||
| 1558 | + | ||||
| 1442 | xFileInfoSetIcon(x.GoPointer(), IconVar.GoPointer()) | 1559 | xFileInfoSetIcon(x.GoPointer(), IconVar.GoPointer()) | ||
| 1443 | } | 1560 | } | ||
| 1444 | 1561 | ||||
| @@ -1447,6 +1564,8 @@ var xFileInfoSetIsHidden func(uintptr, bool) | |||||
| 1447 | // Sets the "is_hidden" attribute in a #GFileInfo according to @is_hidden. | 1564 | // Sets the "is_hidden" attribute in a #GFileInfo according to @is_hidden. | ||
| 1448 | // See %G_FILE_ATTRIBUTE_STANDARD_IS_HIDDEN. | 1565 | // See %G_FILE_ATTRIBUTE_STANDARD_IS_HIDDEN. | ||
| 1449 | func (x *FileInfo) SetIsHidden(IsHiddenVar bool) { | 1566 | func (x *FileInfo) SetIsHidden(IsHiddenVar bool) { | ||
| 1567 | + | core.LazyRegister(&xFileInfoSetIsHidden, "GIO", "g_file_info_set_is_hidden", false) | |||
| 1568 | + | ||||
| 1450 | xFileInfoSetIsHidden(x.GoPointer(), IsHiddenVar) | 1569 | xFileInfoSetIsHidden(x.GoPointer(), IsHiddenVar) | ||
| 1451 | } | 1570 | } | ||
| 1452 | 1571 | ||||
| @@ -1455,6 +1574,8 @@ var xFileInfoSetIsSymlink func(uintptr, bool) | |||||
| 1455 | // Sets the "is_symlink" attribute in a #GFileInfo according to @is_symlink. | 1574 | // Sets the "is_symlink" attribute in a #GFileInfo according to @is_symlink. | ||
| 1456 | // See %G_FILE_ATTRIBUTE_STANDARD_IS_SYMLINK. | 1575 | // See %G_FILE_ATTRIBUTE_STANDARD_IS_SYMLINK. | ||
| 1457 | func (x *FileInfo) SetIsSymlink(IsSymlinkVar bool) { | 1576 | func (x *FileInfo) SetIsSymlink(IsSymlinkVar bool) { | ||
| 1577 | + | core.LazyRegister(&xFileInfoSetIsSymlink, "GIO", "g_file_info_set_is_symlink", false) | |||
| 1578 | + | ||||
| 1458 | xFileInfoSetIsSymlink(x.GoPointer(), IsSymlinkVar) | 1579 | xFileInfoSetIsSymlink(x.GoPointer(), IsSymlinkVar) | ||
| 1459 | } | 1580 | } | ||
| 1460 | 1581 | ||||
| @@ -1466,6 +1587,8 @@ var xFileInfoSetModificationDateTime func(uintptr, *glib.DateTime) | |||||
| 1466 | // | 1587 | // | ||
| 1467 | // %G_FILE_ATTRIBUTE_TIME_MODIFIED_NSEC will be cleared. | 1588 | // %G_FILE_ATTRIBUTE_TIME_MODIFIED_NSEC will be cleared. | ||
| 1468 | func (x *FileInfo) SetModificationDateTime(MtimeVar *glib.DateTime) { | 1589 | func (x *FileInfo) SetModificationDateTime(MtimeVar *glib.DateTime) { | ||
| 1590 | + | core.LazyRegister(&xFileInfoSetModificationDateTime, "GIO", "g_file_info_set_modification_date_time", false) | |||
| 1591 | + | ||||
| 1469 | xFileInfoSetModificationDateTime(x.GoPointer(), MtimeVar) | 1592 | xFileInfoSetModificationDateTime(x.GoPointer(), MtimeVar) | ||
| 1470 | } | 1593 | } | ||
| 1471 | 1594 | ||||
| @@ -1477,6 +1600,8 @@ var xFileInfoSetModificationTime func(uintptr, *glib.TimeVal) | |||||
| 1477 | // | 1600 | // | ||
| 1478 | // %G_FILE_ATTRIBUTE_TIME_MODIFIED_NSEC will be cleared. | 1601 | // %G_FILE_ATTRIBUTE_TIME_MODIFIED_NSEC will be cleared. | ||
| 1479 | func (x *FileInfo) SetModificationTime(MtimeVar *glib.TimeVal) { | 1602 | func (x *FileInfo) SetModificationTime(MtimeVar *glib.TimeVal) { | ||
| 1603 | + | core.LazyRegister(&xFileInfoSetModificationTime, "GIO", "g_file_info_set_modification_time", false) | |||
| 1604 | + | ||||
| 1480 | xFileInfoSetModificationTime(x.GoPointer(), MtimeVar) | 1605 | xFileInfoSetModificationTime(x.GoPointer(), MtimeVar) | ||
| 1481 | } | 1606 | } | ||
| 1482 | 1607 | ||||
| @@ -1485,6 +1610,8 @@ var xFileInfoSetName func(uintptr, string) | |||||
| 1485 | // Sets the name attribute for the current #GFileInfo. | 1610 | // Sets the name attribute for the current #GFileInfo. | ||
| 1486 | // See %G_FILE_ATTRIBUTE_STANDARD_NAME. | 1611 | // See %G_FILE_ATTRIBUTE_STANDARD_NAME. | ||
| 1487 | func (x *FileInfo) SetName(NameVar string) { | 1612 | func (x *FileInfo) SetName(NameVar string) { | ||
| 1613 | + | core.LazyRegister(&xFileInfoSetName, "GIO", "g_file_info_set_name", false) | |||
| 1614 | + | ||||
| 1488 | xFileInfoSetName(x.GoPointer(), NameVar) | 1615 | xFileInfoSetName(x.GoPointer(), NameVar) | ||
| 1489 | } | 1616 | } | ||
| 1490 | 1617 | ||||
| @@ -1493,6 +1620,8 @@ var xFileInfoSetSize func(uintptr, int64) | |||||
| 1493 | // Sets the %G_FILE_ATTRIBUTE_STANDARD_SIZE attribute in the file info | 1620 | // Sets the %G_FILE_ATTRIBUTE_STANDARD_SIZE attribute in the file info | ||
| 1494 | // to the given size. | 1621 | // to the given size. | ||
| 1495 | func (x *FileInfo) SetSize(SizeVar int64) { | 1622 | func (x *FileInfo) SetSize(SizeVar int64) { | ||
| 1623 | + | core.LazyRegister(&xFileInfoSetSize, "GIO", "g_file_info_set_size", false) | |||
| 1624 | + | ||||
| 1496 | xFileInfoSetSize(x.GoPointer(), SizeVar) | 1625 | xFileInfoSetSize(x.GoPointer(), SizeVar) | ||
| 1497 | } | 1626 | } | ||
| 1498 | 1627 | ||||
| @@ -1501,6 +1630,8 @@ var xFileInfoSetSortOrder func(uintptr, int32) | |||||
| 1501 | // Sets the sort order attribute in the file info structure. See | 1630 | // Sets the sort order attribute in the file info structure. See | ||
| 1502 | // %G_FILE_ATTRIBUTE_STANDARD_SORT_ORDER. | 1631 | // %G_FILE_ATTRIBUTE_STANDARD_SORT_ORDER. | ||
| 1503 | func (x *FileInfo) SetSortOrder(SortOrderVar int32) { | 1632 | func (x *FileInfo) SetSortOrder(SortOrderVar int32) { | ||
| 1633 | + | core.LazyRegister(&xFileInfoSetSortOrder, "GIO", "g_file_info_set_sort_order", false) | |||
| 1634 | + | ||||
| 1504 | xFileInfoSetSortOrder(x.GoPointer(), SortOrderVar) | 1635 | xFileInfoSetSortOrder(x.GoPointer(), SortOrderVar) | ||
| 1505 | } | 1636 | } | ||
| 1506 | 1637 | ||||
| @@ -1509,6 +1640,8 @@ var xFileInfoSetSymbolicIcon func(uintptr, uintptr) | |||||
| 1509 | // Sets the symbolic icon for a given #GFileInfo. | 1640 | // Sets the symbolic icon for a given #GFileInfo. | ||
| 1510 | // See %G_FILE_ATTRIBUTE_STANDARD_SYMBOLIC_ICON. | 1641 | // See %G_FILE_ATTRIBUTE_STANDARD_SYMBOLIC_ICON. | ||
| 1511 | func (x *FileInfo) SetSymbolicIcon(IconVar Icon) { | 1642 | func (x *FileInfo) SetSymbolicIcon(IconVar Icon) { | ||
| 1643 | + | core.LazyRegister(&xFileInfoSetSymbolicIcon, "GIO", "g_file_info_set_symbolic_icon", false) | |||
| 1644 | + | ||||
| 1512 | xFileInfoSetSymbolicIcon(x.GoPointer(), IconVar.GoPointer()) | 1645 | xFileInfoSetSymbolicIcon(x.GoPointer(), IconVar.GoPointer()) | ||
| 1513 | } | 1646 | } | ||
| 1514 | 1647 | ||||
| @@ -1517,6 +1650,8 @@ var xFileInfoSetSymlinkTarget func(uintptr, string) | |||||
| 1517 | // Sets the %G_FILE_ATTRIBUTE_STANDARD_SYMLINK_TARGET attribute in the file info | 1650 | // Sets the %G_FILE_ATTRIBUTE_STANDARD_SYMLINK_TARGET attribute in the file info | ||
| 1518 | // to the given symlink target. | 1651 | // to the given symlink target. | ||
| 1519 | func (x *FileInfo) SetSymlinkTarget(SymlinkTargetVar string) { | 1652 | func (x *FileInfo) SetSymlinkTarget(SymlinkTargetVar string) { | ||
| 1653 | + | core.LazyRegister(&xFileInfoSetSymlinkTarget, "GIO", "g_file_info_set_symlink_target", false) | |||
| 1654 | + | ||||
| 1520 | xFileInfoSetSymlinkTarget(x.GoPointer(), SymlinkTargetVar) | 1655 | xFileInfoSetSymlinkTarget(x.GoPointer(), SymlinkTargetVar) | ||
| 1521 | } | 1656 | } | ||
| 1522 | 1657 | ||||
| @@ -1525,6 +1660,8 @@ var xFileInfoUnsetAttributeMask func(uintptr) | |||||
| 1525 | // Unsets a mask set by g_file_info_set_attribute_mask(), if one | 1660 | // Unsets a mask set by g_file_info_set_attribute_mask(), if one | ||
| 1526 | // is set. | 1661 | // is set. | ||
| 1527 | func (x *FileInfo) UnsetAttributeMask() { | 1662 | func (x *FileInfo) UnsetAttributeMask() { | ||
| 1663 | + | core.LazyRegister(&xFileInfoUnsetAttributeMask, "GIO", "g_file_info_unset_attribute_mask", false) | |||
| 1664 | + | ||||
| 1528 | xFileInfoUnsetAttributeMask(x.GoPointer()) | 1665 | xFileInfoUnsetAttributeMask(x.GoPointer()) | ||
| 1529 | } | 1666 | } | ||
| 1530 | 1667 | ||||
| @@ -1542,87 +1679,4 @@ func (c *FileInfo) SetGoPointer(ptr uintptr) { | |||||
| 1542 | func init() { | 1679 | func init() { | ||
| 1543 | core.SetPackageName("GIO", "gio-2.0") | 1680 | core.SetPackageName("GIO", "gio-2.0") | ||
| 1544 | core.SetSharedLibraries("GIO", []string{"libgio-2.0.so.0", "libgio-2.0.0.dylib"}) | 1681 | core.SetSharedLibraries("GIO", []string{"libgio-2.0.so.0", "libgio-2.0.0.dylib"}) | ||
| 1545 | - | var libs []uintptr | |||
| 1546 | - | for _, libPath := range core.GetPaths("GIO") { | |||
| 1547 | - | lib, err := purego.Dlopen(libPath, purego.RTLD_NOW|purego.RTLD_GLOBAL) | |||
| 1548 | - | if err != nil { | |||
| 1549 | - | panic(err) | |||
| 1550 | - | } | |||
| 1551 | - | libs = append(libs, lib) | |||
| 1552 | - | } | |||
| 1553 | - | ||||
| 1554 | - | core.PuregoSafeRegister(&xFileInfoGLibType, libs, "g_file_info_get_type") | |||
| 1555 | - | ||||
| 1556 | - | core.PuregoSafeRegister(&xNewFileInfo, libs, "g_file_info_new") | |||
| 1557 | - | ||||
| 1558 | - | core.PuregoSafeRegister(&xFileInfoClearStatus, libs, "g_file_info_clear_status") | |||
| 1559 | - | core.PuregoSafeRegister(&xFileInfoCopyInto, libs, "g_file_info_copy_into") | |||
| 1560 | - | core.PuregoSafeRegister(&xFileInfoDup, libs, "g_file_info_dup") | |||
| 1561 | - | core.PuregoSafeRegister(&xFileInfoGetAccessDateTime, libs, "g_file_info_get_access_date_time") | |||
| 1562 | - | core.PuregoSafeRegister(&xFileInfoGetAttributeAsString, libs, "g_file_info_get_attribute_as_string") | |||
| 1563 | - | core.PuregoSafeRegister(&xFileInfoGetAttributeBoolean, libs, "g_file_info_get_attribute_boolean") | |||
| 1564 | - | core.PuregoSafeRegister(&xFileInfoGetAttributeByteString, libs, "g_file_info_get_attribute_byte_string") | |||
| 1565 | - | core.PuregoSafeRegister(&xFileInfoGetAttributeData, libs, "g_file_info_get_attribute_data") | |||
| 1566 | - | core.PuregoSafeRegister(&xFileInfoGetAttributeFilePath, libs, "g_file_info_get_attribute_file_path") | |||
| 1567 | - | core.PuregoSafeRegister(&xFileInfoGetAttributeInt32, libs, "g_file_info_get_attribute_int32") | |||
| 1568 | - | core.PuregoSafeRegister(&xFileInfoGetAttributeInt64, libs, "g_file_info_get_attribute_int64") | |||
| 1569 | - | core.PuregoSafeRegister(&xFileInfoGetAttributeObject, libs, "g_file_info_get_attribute_object") | |||
| 1570 | - | core.PuregoSafeRegister(&xFileInfoGetAttributeStatus, libs, "g_file_info_get_attribute_status") | |||
| 1571 | - | core.PuregoSafeRegister(&xFileInfoGetAttributeString, libs, "g_file_info_get_attribute_string") | |||
| 1572 | - | core.PuregoSafeRegister(&xFileInfoGetAttributeStringv, libs, "g_file_info_get_attribute_stringv") | |||
| 1573 | - | core.PuregoSafeRegister(&xFileInfoGetAttributeType, libs, "g_file_info_get_attribute_type") | |||
| 1574 | - | core.PuregoSafeRegister(&xFileInfoGetAttributeUint32, libs, "g_file_info_get_attribute_uint32") | |||
| 1575 | - | core.PuregoSafeRegister(&xFileInfoGetAttributeUint64, libs, "g_file_info_get_attribute_uint64") | |||
| 1576 | - | core.PuregoSafeRegister(&xFileInfoGetContentType, libs, "g_file_info_get_content_type") | |||
| 1577 | - | core.PuregoSafeRegister(&xFileInfoGetCreationDateTime, libs, "g_file_info_get_creation_date_time") | |||
| 1578 | - | core.PuregoSafeRegister(&xFileInfoGetDeletionDate, libs, "g_file_info_get_deletion_date") | |||
| 1579 | - | core.PuregoSafeRegister(&xFileInfoGetDisplayName, libs, "g_file_info_get_display_name") | |||
| 1580 | - | core.PuregoSafeRegister(&xFileInfoGetEditName, libs, "g_file_info_get_edit_name") | |||
| 1581 | - | core.PuregoSafeRegister(&xFileInfoGetEtag, libs, "g_file_info_get_etag") | |||
| 1582 | - | core.PuregoSafeRegister(&xFileInfoGetFileType, libs, "g_file_info_get_file_type") | |||
| 1583 | - | core.PuregoSafeRegister(&xFileInfoGetIcon, libs, "g_file_info_get_icon") | |||
| 1584 | - | core.PuregoSafeRegister(&xFileInfoGetIsBackup, libs, "g_file_info_get_is_backup") | |||
| 1585 | - | core.PuregoSafeRegister(&xFileInfoGetIsHidden, libs, "g_file_info_get_is_hidden") | |||
| 1586 | - | core.PuregoSafeRegister(&xFileInfoGetIsSymlink, libs, "g_file_info_get_is_symlink") | |||
| 1587 | - | core.PuregoSafeRegister(&xFileInfoGetModificationDateTime, libs, "g_file_info_get_modification_date_time") | |||
| 1588 | - | core.PuregoSafeRegister(&xFileInfoGetModificationTime, libs, "g_file_info_get_modification_time") | |||
| 1589 | - | core.PuregoSafeRegister(&xFileInfoGetName, libs, "g_file_info_get_name") | |||
| 1590 | - | core.PuregoSafeRegister(&xFileInfoGetSize, libs, "g_file_info_get_size") | |||
| 1591 | - | core.PuregoSafeRegister(&xFileInfoGetSortOrder, libs, "g_file_info_get_sort_order") | |||
| 1592 | - | core.PuregoSafeRegister(&xFileInfoGetSymbolicIcon, libs, "g_file_info_get_symbolic_icon") | |||
| 1593 | - | core.PuregoSafeRegister(&xFileInfoGetSymlinkTarget, libs, "g_file_info_get_symlink_target") | |||
| 1594 | - | core.PuregoSafeRegister(&xFileInfoHasAttribute, libs, "g_file_info_has_attribute") | |||
| 1595 | - | core.PuregoSafeRegister(&xFileInfoHasNamespace, libs, "g_file_info_has_namespace") | |||
| 1596 | - | core.PuregoSafeRegister(&xFileInfoListAttributes, libs, "g_file_info_list_attributes") | |||
| 1597 | - | core.PuregoSafeRegister(&xFileInfoRemoveAttribute, libs, "g_file_info_remove_attribute") | |||
| 1598 | - | core.PuregoSafeRegister(&xFileInfoSetAccessDateTime, libs, "g_file_info_set_access_date_time") | |||
| 1599 | - | core.PuregoSafeRegister(&xFileInfoSetAttribute, libs, "g_file_info_set_attribute") | |||
| 1600 | - | core.PuregoSafeRegister(&xFileInfoSetAttributeBoolean, libs, "g_file_info_set_attribute_boolean") | |||
| 1601 | - | core.PuregoSafeRegister(&xFileInfoSetAttributeByteString, libs, "g_file_info_set_attribute_byte_string") | |||
| 1602 | - | core.PuregoSafeRegister(&xFileInfoSetAttributeFilePath, libs, "g_file_info_set_attribute_file_path") | |||
| 1603 | - | core.PuregoSafeRegister(&xFileInfoSetAttributeInt32, libs, "g_file_info_set_attribute_int32") | |||
| 1604 | - | core.PuregoSafeRegister(&xFileInfoSetAttributeInt64, libs, "g_file_info_set_attribute_int64") | |||
| 1605 | - | core.PuregoSafeRegister(&xFileInfoSetAttributeMask, libs, "g_file_info_set_attribute_mask") | |||
| 1606 | - | core.PuregoSafeRegister(&xFileInfoSetAttributeObject, libs, "g_file_info_set_attribute_object") | |||
| 1607 | - | core.PuregoSafeRegister(&xFileInfoSetAttributeStatus, libs, "g_file_info_set_attribute_status") | |||
| 1608 | - | core.PuregoSafeRegister(&xFileInfoSetAttributeString, libs, "g_file_info_set_attribute_string") | |||
| 1609 | - | core.PuregoSafeRegister(&xFileInfoSetAttributeStringv, libs, "g_file_info_set_attribute_stringv") | |||
| 1610 | - | core.PuregoSafeRegister(&xFileInfoSetAttributeUint32, libs, "g_file_info_set_attribute_uint32") | |||
| 1611 | - | core.PuregoSafeRegister(&xFileInfoSetAttributeUint64, libs, "g_file_info_set_attribute_uint64") | |||
| 1612 | - | core.PuregoSafeRegister(&xFileInfoSetContentType, libs, "g_file_info_set_content_type") | |||
| 1613 | - | core.PuregoSafeRegister(&xFileInfoSetCreationDateTime, libs, "g_file_info_set_creation_date_time") | |||
| 1614 | - | core.PuregoSafeRegister(&xFileInfoSetDisplayName, libs, "g_file_info_set_display_name") | |||
| 1615 | - | core.PuregoSafeRegister(&xFileInfoSetEditName, libs, "g_file_info_set_edit_name") | |||
| 1616 | - | core.PuregoSafeRegister(&xFileInfoSetFileType, libs, "g_file_info_set_file_type") | |||
| 1617 | - | core.PuregoSafeRegister(&xFileInfoSetIcon, libs, "g_file_info_set_icon") | |||
| 1618 | - | core.PuregoSafeRegister(&xFileInfoSetIsHidden, libs, "g_file_info_set_is_hidden") | |||
| 1619 | - | core.PuregoSafeRegister(&xFileInfoSetIsSymlink, libs, "g_file_info_set_is_symlink") | |||
| 1620 | - | core.PuregoSafeRegister(&xFileInfoSetModificationDateTime, libs, "g_file_info_set_modification_date_time") | |||
| 1621 | - | core.PuregoSafeRegister(&xFileInfoSetModificationTime, libs, "g_file_info_set_modification_time") | |||
| 1622 | - | core.PuregoSafeRegister(&xFileInfoSetName, libs, "g_file_info_set_name") | |||
| 1623 | - | core.PuregoSafeRegister(&xFileInfoSetSize, libs, "g_file_info_set_size") | |||
| 1624 | - | core.PuregoSafeRegister(&xFileInfoSetSortOrder, libs, "g_file_info_set_sort_order") | |||
| 1625 | - | core.PuregoSafeRegister(&xFileInfoSetSymbolicIcon, libs, "g_file_info_set_symbolic_icon") | |||
| 1626 | - | core.PuregoSafeRegister(&xFileInfoSetSymlinkTarget, libs, "g_file_info_set_symlink_target") | |||
| 1627 | - | core.PuregoSafeRegister(&xFileInfoUnsetAttributeMask, libs, "g_file_info_unset_attribute_mask") | |||
| 1628 | } | 1682 | } | ||