v0.2.1 c0399be

gtlsdatabase.go RawHistoryFolder

1// Package gio was automatically generated by github.com/bnema/puregotk DO NOT EDIT
2package gio
3
4import (
5	"structs"
6	"unsafe"
7
8	"github.com/ebitengine/purego"
9
10	"github.com/bnema/puregotk/pkg/core"
11	"github.com/bnema/puregotk/v4/glib"
12	"github.com/bnema/puregotk/v4/gobject"
13	"github.com/bnema/puregotk/v4/gobject/types"
14)
15
16// The class for #GTlsDatabase. Derived classes should implement the various
17// virtual methods. _async and _finish methods have a default
18// implementation that runs the corresponding sync method in a thread.
19type TlsDatabaseClass struct {
20	_ structs.HostLayout
21
22	ParentClass gobject.ObjectClass
23
24	xVerifyChain uintptr
25
26	xVerifyChainAsync uintptr
27
28	xVerifyChainFinish uintptr
29
30	xCreateCertificateHandle uintptr
31
32	xLookupCertificateForHandle uintptr
33
34	xLookupCertificateForHandleAsync uintptr
35
36	xLookupCertificateForHandleFinish uintptr
37
38	xLookupCertificateIssuer uintptr
39
40	xLookupCertificateIssuerAsync uintptr
41
42	xLookupCertificateIssuerFinish uintptr
43
44	xLookupCertificatesIssuedBy uintptr
45
46	xLookupCertificatesIssuedByAsync uintptr
47
48	xLookupCertificatesIssuedByFinish uintptr
49
50	Padding [16]uintptr
51}
52
53func (x *TlsDatabaseClass) GoPointer() uintptr {
54	return uintptr(unsafe.Pointer(x))
55}
56
57// OverrideVerifyChain sets the "verify_chain" callback function.
58// Virtual method implementing
59//
60//	g_tls_database_verify_chain().
61func (x *TlsDatabaseClass) OverrideVerifyChain(cb func(*TlsDatabase, *TlsCertificate, string, SocketConnectable, *TlsInteraction, TlsDatabaseVerifyFlags, *Cancellable) TlsCertificateFlags) {
62	if cb == nil {
63		x.xVerifyChain = 0
64	} else {
65		x.xVerifyChain = purego.NewCallback(func(SelfVarp uintptr, ChainVarp uintptr, PurposeVarp string, IdentityVarp uintptr, InteractionVarp uintptr, FlagsVarp TlsDatabaseVerifyFlags, CancellableVarp uintptr) TlsCertificateFlags {
66			return cb(TlsDatabaseNewFromInternalPtr(SelfVarp), TlsCertificateNewFromInternalPtr(ChainVarp), PurposeVarp, &SocketConnectableBase{Ptr: IdentityVarp}, TlsInteractionNewFromInternalPtr(InteractionVarp), FlagsVarp, CancellableNewFromInternalPtr(CancellableVarp))
67		})
68	}
69}
70
71// GetVerifyChain gets the "verify_chain" callback function.
72// Virtual method implementing
73//
74//	g_tls_database_verify_chain().
75func (x *TlsDatabaseClass) GetVerifyChain() func(*TlsDatabase, *TlsCertificate, string, SocketConnectable, *TlsInteraction, TlsDatabaseVerifyFlags, *Cancellable) TlsCertificateFlags {
76	if x.xVerifyChain == 0 {
77		return nil
78	}
79	var rawCallback func(SelfVarp uintptr, ChainVarp uintptr, PurposeVarp string, IdentityVarp uintptr, InteractionVarp uintptr, FlagsVarp TlsDatabaseVerifyFlags, CancellableVarp uintptr) TlsCertificateFlags
80	purego.RegisterFunc(&rawCallback, x.xVerifyChain)
81	return func(SelfVar *TlsDatabase, ChainVar *TlsCertificate, PurposeVar string, IdentityVar SocketConnectable, InteractionVar *TlsInteraction, FlagsVar TlsDatabaseVerifyFlags, CancellableVar *Cancellable) TlsCertificateFlags {
82		return rawCallback(SelfVar.GoPointer(), ChainVar.GoPointer(), PurposeVar, IdentityVar.GoPointer(), InteractionVar.GoPointer(), FlagsVar, CancellableVar.GoPointer())
83	}
84}
85
86// OverrideVerifyChainAsync sets the "verify_chain_async" callback function.
87// Virtual method implementing
88//
89//	g_tls_database_verify_chain_async().
90func (x *TlsDatabaseClass) OverrideVerifyChainAsync(cb func(*TlsDatabase, *TlsCertificate, string, SocketConnectable, *TlsInteraction, TlsDatabaseVerifyFlags, *Cancellable, *AsyncReadyCallback, uintptr)) {
91	if cb == nil {
92		x.xVerifyChainAsync = 0
93	} else {
94		x.xVerifyChainAsync = purego.NewCallback(func(SelfVarp uintptr, ChainVarp uintptr, PurposeVarp string, IdentityVarp uintptr, InteractionVarp uintptr, FlagsVarp TlsDatabaseVerifyFlags, CancellableVarp uintptr, CallbackVarp uintptr, UserDataVarp uintptr) {
95			cb(TlsDatabaseNewFromInternalPtr(SelfVarp), TlsCertificateNewFromInternalPtr(ChainVarp), PurposeVarp, &SocketConnectableBase{Ptr: IdentityVarp}, TlsInteractionNewFromInternalPtr(InteractionVarp), FlagsVarp, CancellableNewFromInternalPtr(CancellableVarp), (*AsyncReadyCallback)(unsafe.Pointer(CallbackVarp)), UserDataVarp)
96		})
97	}
98}
99
100// GetVerifyChainAsync gets the "verify_chain_async" callback function.
101// Virtual method implementing
102//
103//	g_tls_database_verify_chain_async().
104func (x *TlsDatabaseClass) GetVerifyChainAsync() func(*TlsDatabase, *TlsCertificate, string, SocketConnectable, *TlsInteraction, TlsDatabaseVerifyFlags, *Cancellable, *AsyncReadyCallback, uintptr) {
105	if x.xVerifyChainAsync == 0 {
106		return nil
107	}
108	var rawCallback func(SelfVarp uintptr, ChainVarp uintptr, PurposeVarp string, IdentityVarp uintptr, InteractionVarp uintptr, FlagsVarp TlsDatabaseVerifyFlags, CancellableVarp uintptr, CallbackVarp uintptr, UserDataVarp uintptr)
109	purego.RegisterFunc(&rawCallback, x.xVerifyChainAsync)
110	return func(SelfVar *TlsDatabase, ChainVar *TlsCertificate, PurposeVar string, IdentityVar SocketConnectable, InteractionVar *TlsInteraction, FlagsVar TlsDatabaseVerifyFlags, CancellableVar *Cancellable, CallbackVar *AsyncReadyCallback, UserDataVar uintptr) {
111		rawCallback(SelfVar.GoPointer(), ChainVar.GoPointer(), PurposeVar, IdentityVar.GoPointer(), InteractionVar.GoPointer(), FlagsVar, CancellableVar.GoPointer(), glib.NewCallbackNullable(CallbackVar), UserDataVar)
112	}
113}
114
115// OverrideVerifyChainFinish sets the "verify_chain_finish" callback function.
116// Virtual method implementing
117//
118//	g_tls_database_verify_chain_finish().
119func (x *TlsDatabaseClass) OverrideVerifyChainFinish(cb func(*TlsDatabase, AsyncResult) TlsCertificateFlags) {
120	if cb == nil {
121		x.xVerifyChainFinish = 0
122	} else {
123		x.xVerifyChainFinish = purego.NewCallback(func(SelfVarp uintptr, ResultVarp uintptr) TlsCertificateFlags {
124			return cb(TlsDatabaseNewFromInternalPtr(SelfVarp), &AsyncResultBase{Ptr: ResultVarp})
125		})
126	}
127}
128
129// GetVerifyChainFinish gets the "verify_chain_finish" callback function.
130// Virtual method implementing
131//
132//	g_tls_database_verify_chain_finish().
133func (x *TlsDatabaseClass) GetVerifyChainFinish() func(*TlsDatabase, AsyncResult) TlsCertificateFlags {
134	if x.xVerifyChainFinish == 0 {
135		return nil
136	}
137	var rawCallback func(SelfVarp uintptr, ResultVarp uintptr) TlsCertificateFlags
138	purego.RegisterFunc(&rawCallback, x.xVerifyChainFinish)
139	return func(SelfVar *TlsDatabase, ResultVar AsyncResult) TlsCertificateFlags {
140		return rawCallback(SelfVar.GoPointer(), ResultVar.GoPointer())
141	}
142}
143
144// OverrideCreateCertificateHandle sets the "create_certificate_handle" callback function.
145// Virtual method implementing
146//
147//	g_tls_database_create_certificate_handle().
148func (x *TlsDatabaseClass) OverrideCreateCertificateHandle(cb func(*TlsDatabase, *TlsCertificate) string) {
149	if cb == nil {
150		x.xCreateCertificateHandle = 0
151	} else {
152		x.xCreateCertificateHandle = purego.NewCallback(func(SelfVarp uintptr, CertificateVarp uintptr) string {
153			return cb(TlsDatabaseNewFromInternalPtr(SelfVarp), TlsCertificateNewFromInternalPtr(CertificateVarp))
154		})
155	}
156}
157
158// GetCreateCertificateHandle gets the "create_certificate_handle" callback function.
159// Virtual method implementing
160//
161//	g_tls_database_create_certificate_handle().
162func (x *TlsDatabaseClass) GetCreateCertificateHandle() func(*TlsDatabase, *TlsCertificate) string {
163	if x.xCreateCertificateHandle == 0 {
164		return nil
165	}
166	var rawCallback func(SelfVarp uintptr, CertificateVarp uintptr) string
167	purego.RegisterFunc(&rawCallback, x.xCreateCertificateHandle)
168	return func(SelfVar *TlsDatabase, CertificateVar *TlsCertificate) string {
169		return rawCallback(SelfVar.GoPointer(), CertificateVar.GoPointer())
170	}
171}
172
173// OverrideLookupCertificateForHandle sets the "lookup_certificate_for_handle" callback function.
174// Virtual method implementing
175//
176//	g_tls_database_lookup_certificate_for_handle().
177func (x *TlsDatabaseClass) OverrideLookupCertificateForHandle(cb func(*TlsDatabase, string, *TlsInteraction, TlsDatabaseLookupFlags, *Cancellable) *TlsCertificate) {
178	if cb == nil {
179		x.xLookupCertificateForHandle = 0
180	} else {
181		x.xLookupCertificateForHandle = purego.NewCallback(func(SelfVarp uintptr, HandleVarp string, InteractionVarp uintptr, FlagsVarp TlsDatabaseLookupFlags, CancellableVarp uintptr) uintptr {
182			ret := cb(TlsDatabaseNewFromInternalPtr(SelfVarp), HandleVarp, TlsInteractionNewFromInternalPtr(InteractionVarp), FlagsVarp, CancellableNewFromInternalPtr(CancellableVarp))
183			if ret == nil {
184				return 0
185			}
186			return ret.GoPointer()
187		})
188	}
189}
190
191// GetLookupCertificateForHandle gets the "lookup_certificate_for_handle" callback function.
192// Virtual method implementing
193//
194//	g_tls_database_lookup_certificate_for_handle().
195func (x *TlsDatabaseClass) GetLookupCertificateForHandle() func(*TlsDatabase, string, *TlsInteraction, TlsDatabaseLookupFlags, *Cancellable) *TlsCertificate {
196	if x.xLookupCertificateForHandle == 0 {
197		return nil
198	}
199	var rawCallback func(SelfVarp uintptr, HandleVarp string, InteractionVarp uintptr, FlagsVarp TlsDatabaseLookupFlags, CancellableVarp uintptr) uintptr
200	purego.RegisterFunc(&rawCallback, x.xLookupCertificateForHandle)
201	return func(SelfVar *TlsDatabase, HandleVar string, InteractionVar *TlsInteraction, FlagsVar TlsDatabaseLookupFlags, CancellableVar *Cancellable) *TlsCertificate {
202		rawRet := rawCallback(SelfVar.GoPointer(), HandleVar, InteractionVar.GoPointer(), FlagsVar, CancellableVar.GoPointer())
203		if rawRet == 0 {
204			return nil
205		}
206		ret := &TlsCertificate{}
207		ret.Ptr = rawRet
208		return ret
209	}
210}
211
212// OverrideLookupCertificateForHandleAsync sets the "lookup_certificate_for_handle_async" callback function.
213// Virtual method implementing
214//
215//	g_tls_database_lookup_certificate_for_handle_async().
216func (x *TlsDatabaseClass) OverrideLookupCertificateForHandleAsync(cb func(*TlsDatabase, string, *TlsInteraction, TlsDatabaseLookupFlags, *Cancellable, *AsyncReadyCallback, uintptr)) {
217	if cb == nil {
218		x.xLookupCertificateForHandleAsync = 0
219	} else {
220		x.xLookupCertificateForHandleAsync = purego.NewCallback(func(SelfVarp uintptr, HandleVarp string, InteractionVarp uintptr, FlagsVarp TlsDatabaseLookupFlags, CancellableVarp uintptr, CallbackVarp uintptr, UserDataVarp uintptr) {
221			cb(TlsDatabaseNewFromInternalPtr(SelfVarp), HandleVarp, TlsInteractionNewFromInternalPtr(InteractionVarp), FlagsVarp, CancellableNewFromInternalPtr(CancellableVarp), (*AsyncReadyCallback)(unsafe.Pointer(CallbackVarp)), UserDataVarp)
222		})
223	}
224}
225
226// GetLookupCertificateForHandleAsync gets the "lookup_certificate_for_handle_async" callback function.
227// Virtual method implementing
228//
229//	g_tls_database_lookup_certificate_for_handle_async().
230func (x *TlsDatabaseClass) GetLookupCertificateForHandleAsync() func(*TlsDatabase, string, *TlsInteraction, TlsDatabaseLookupFlags, *Cancellable, *AsyncReadyCallback, uintptr) {
231	if x.xLookupCertificateForHandleAsync == 0 {
232		return nil
233	}
234	var rawCallback func(SelfVarp uintptr, HandleVarp string, InteractionVarp uintptr, FlagsVarp TlsDatabaseLookupFlags, CancellableVarp uintptr, CallbackVarp uintptr, UserDataVarp uintptr)
235	purego.RegisterFunc(&rawCallback, x.xLookupCertificateForHandleAsync)
236	return func(SelfVar *TlsDatabase, HandleVar string, InteractionVar *TlsInteraction, FlagsVar TlsDatabaseLookupFlags, CancellableVar *Cancellable, CallbackVar *AsyncReadyCallback, UserDataVar uintptr) {
237		rawCallback(SelfVar.GoPointer(), HandleVar, InteractionVar.GoPointer(), FlagsVar, CancellableVar.GoPointer(), glib.NewCallbackNullable(CallbackVar), UserDataVar)
238	}
239}
240
241// OverrideLookupCertificateForHandleFinish sets the "lookup_certificate_for_handle_finish" callback function.
242// Virtual method implementing
243//
244//	g_tls_database_lookup_certificate_for_handle_finish().
245func (x *TlsDatabaseClass) OverrideLookupCertificateForHandleFinish(cb func(*TlsDatabase, AsyncResult) *TlsCertificate) {
246	if cb == nil {
247		x.xLookupCertificateForHandleFinish = 0
248	} else {
249		x.xLookupCertificateForHandleFinish = purego.NewCallback(func(SelfVarp uintptr, ResultVarp uintptr) uintptr {
250			ret := cb(TlsDatabaseNewFromInternalPtr(SelfVarp), &AsyncResultBase{Ptr: ResultVarp})
251			if ret == nil {
252				return 0
253			}
254			return ret.GoPointer()
255		})
256	}
257}
258
259// GetLookupCertificateForHandleFinish gets the "lookup_certificate_for_handle_finish" callback function.
260// Virtual method implementing
261//
262//	g_tls_database_lookup_certificate_for_handle_finish().
263func (x *TlsDatabaseClass) GetLookupCertificateForHandleFinish() func(*TlsDatabase, AsyncResult) *TlsCertificate {
264	if x.xLookupCertificateForHandleFinish == 0 {
265		return nil
266	}
267	var rawCallback func(SelfVarp uintptr, ResultVarp uintptr) uintptr
268	purego.RegisterFunc(&rawCallback, x.xLookupCertificateForHandleFinish)
269	return func(SelfVar *TlsDatabase, ResultVar AsyncResult) *TlsCertificate {
270		rawRet := rawCallback(SelfVar.GoPointer(), ResultVar.GoPointer())
271		if rawRet == 0 {
272			return nil
273		}
274		ret := &TlsCertificate{}
275		ret.Ptr = rawRet
276		return ret
277	}
278}
279
280// OverrideLookupCertificateIssuer sets the "lookup_certificate_issuer" callback function.
281// Virtual method implementing
282//
283//	g_tls_database_lookup_certificate_issuer().
284func (x *TlsDatabaseClass) OverrideLookupCertificateIssuer(cb func(*TlsDatabase, *TlsCertificate, *TlsInteraction, TlsDatabaseLookupFlags, *Cancellable) *TlsCertificate) {
285	if cb == nil {
286		x.xLookupCertificateIssuer = 0
287	} else {
288		x.xLookupCertificateIssuer = purego.NewCallback(func(SelfVarp uintptr, CertificateVarp uintptr, InteractionVarp uintptr, FlagsVarp TlsDatabaseLookupFlags, CancellableVarp uintptr) uintptr {
289			ret := cb(TlsDatabaseNewFromInternalPtr(SelfVarp), TlsCertificateNewFromInternalPtr(CertificateVarp), TlsInteractionNewFromInternalPtr(InteractionVarp), FlagsVarp, CancellableNewFromInternalPtr(CancellableVarp))
290			if ret == nil {
291				return 0
292			}
293			return ret.GoPointer()
294		})
295	}
296}
297
298// GetLookupCertificateIssuer gets the "lookup_certificate_issuer" callback function.
299// Virtual method implementing
300//
301//	g_tls_database_lookup_certificate_issuer().
302func (x *TlsDatabaseClass) GetLookupCertificateIssuer() func(*TlsDatabase, *TlsCertificate, *TlsInteraction, TlsDatabaseLookupFlags, *Cancellable) *TlsCertificate {
303	if x.xLookupCertificateIssuer == 0 {
304		return nil
305	}
306	var rawCallback func(SelfVarp uintptr, CertificateVarp uintptr, InteractionVarp uintptr, FlagsVarp TlsDatabaseLookupFlags, CancellableVarp uintptr) uintptr
307	purego.RegisterFunc(&rawCallback, x.xLookupCertificateIssuer)
308	return func(SelfVar *TlsDatabase, CertificateVar *TlsCertificate, InteractionVar *TlsInteraction, FlagsVar TlsDatabaseLookupFlags, CancellableVar *Cancellable) *TlsCertificate {
309		rawRet := rawCallback(SelfVar.GoPointer(), CertificateVar.GoPointer(), InteractionVar.GoPointer(), FlagsVar, CancellableVar.GoPointer())
310		if rawRet == 0 {
311			return nil
312		}
313		ret := &TlsCertificate{}
314		ret.Ptr = rawRet
315		return ret
316	}
317}
318
319// OverrideLookupCertificateIssuerAsync sets the "lookup_certificate_issuer_async" callback function.
320// Virtual method implementing
321//
322//	g_tls_database_lookup_certificate_issuer_async().
323func (x *TlsDatabaseClass) OverrideLookupCertificateIssuerAsync(cb func(*TlsDatabase, *TlsCertificate, *TlsInteraction, TlsDatabaseLookupFlags, *Cancellable, *AsyncReadyCallback, uintptr)) {
324	if cb == nil {
325		x.xLookupCertificateIssuerAsync = 0
326	} else {
327		x.xLookupCertificateIssuerAsync = purego.NewCallback(func(SelfVarp uintptr, CertificateVarp uintptr, InteractionVarp uintptr, FlagsVarp TlsDatabaseLookupFlags, CancellableVarp uintptr, CallbackVarp uintptr, UserDataVarp uintptr) {
328			cb(TlsDatabaseNewFromInternalPtr(SelfVarp), TlsCertificateNewFromInternalPtr(CertificateVarp), TlsInteractionNewFromInternalPtr(InteractionVarp), FlagsVarp, CancellableNewFromInternalPtr(CancellableVarp), (*AsyncReadyCallback)(unsafe.Pointer(CallbackVarp)), UserDataVarp)
329		})
330	}
331}
332
333// GetLookupCertificateIssuerAsync gets the "lookup_certificate_issuer_async" callback function.
334// Virtual method implementing
335//
336//	g_tls_database_lookup_certificate_issuer_async().
337func (x *TlsDatabaseClass) GetLookupCertificateIssuerAsync() func(*TlsDatabase, *TlsCertificate, *TlsInteraction, TlsDatabaseLookupFlags, *Cancellable, *AsyncReadyCallback, uintptr) {
338	if x.xLookupCertificateIssuerAsync == 0 {
339		return nil
340	}
341	var rawCallback func(SelfVarp uintptr, CertificateVarp uintptr, InteractionVarp uintptr, FlagsVarp TlsDatabaseLookupFlags, CancellableVarp uintptr, CallbackVarp uintptr, UserDataVarp uintptr)
342	purego.RegisterFunc(&rawCallback, x.xLookupCertificateIssuerAsync)
343	return func(SelfVar *TlsDatabase, CertificateVar *TlsCertificate, InteractionVar *TlsInteraction, FlagsVar TlsDatabaseLookupFlags, CancellableVar *Cancellable, CallbackVar *AsyncReadyCallback, UserDataVar uintptr) {
344		rawCallback(SelfVar.GoPointer(), CertificateVar.GoPointer(), InteractionVar.GoPointer(), FlagsVar, CancellableVar.GoPointer(), glib.NewCallbackNullable(CallbackVar), UserDataVar)
345	}
346}
347
348// OverrideLookupCertificateIssuerFinish sets the "lookup_certificate_issuer_finish" callback function.
349// Virtual method implementing
350//
351//	g_tls_database_lookup_certificate_issuer_finish().
352func (x *TlsDatabaseClass) OverrideLookupCertificateIssuerFinish(cb func(*TlsDatabase, AsyncResult) *TlsCertificate) {
353	if cb == nil {
354		x.xLookupCertificateIssuerFinish = 0
355	} else {
356		x.xLookupCertificateIssuerFinish = purego.NewCallback(func(SelfVarp uintptr, ResultVarp uintptr) uintptr {
357			ret := cb(TlsDatabaseNewFromInternalPtr(SelfVarp), &AsyncResultBase{Ptr: ResultVarp})
358			if ret == nil {
359				return 0
360			}
361			return ret.GoPointer()
362		})
363	}
364}
365
366// GetLookupCertificateIssuerFinish gets the "lookup_certificate_issuer_finish" callback function.
367// Virtual method implementing
368//
369//	g_tls_database_lookup_certificate_issuer_finish().
370func (x *TlsDatabaseClass) GetLookupCertificateIssuerFinish() func(*TlsDatabase, AsyncResult) *TlsCertificate {
371	if x.xLookupCertificateIssuerFinish == 0 {
372		return nil
373	}
374	var rawCallback func(SelfVarp uintptr, ResultVarp uintptr) uintptr
375	purego.RegisterFunc(&rawCallback, x.xLookupCertificateIssuerFinish)
376	return func(SelfVar *TlsDatabase, ResultVar AsyncResult) *TlsCertificate {
377		rawRet := rawCallback(SelfVar.GoPointer(), ResultVar.GoPointer())
378		if rawRet == 0 {
379			return nil
380		}
381		ret := &TlsCertificate{}
382		ret.Ptr = rawRet
383		return ret
384	}
385}
386
387// OverrideLookupCertificatesIssuedBy sets the "lookup_certificates_issued_by" callback function.
388// Virtual method implementing
389//
390//	g_tls_database_lookup_certificates_issued_by().
391func (x *TlsDatabaseClass) OverrideLookupCertificatesIssuedBy(cb func(*TlsDatabase, []byte, *TlsInteraction, TlsDatabaseLookupFlags, *Cancellable) *glib.List) {
392	if cb == nil {
393		x.xLookupCertificatesIssuedBy = 0
394	} else {
395		x.xLookupCertificatesIssuedBy = purego.NewCallback(func(SelfVarp uintptr, IssuerRawDnVarp []byte, InteractionVarp uintptr, FlagsVarp TlsDatabaseLookupFlags, CancellableVarp uintptr) *glib.List {
396			return cb(TlsDatabaseNewFromInternalPtr(SelfVarp), IssuerRawDnVarp, TlsInteractionNewFromInternalPtr(InteractionVarp), FlagsVarp, CancellableNewFromInternalPtr(CancellableVarp))
397		})
398	}
399}
400
401// GetLookupCertificatesIssuedBy gets the "lookup_certificates_issued_by" callback function.
402// Virtual method implementing
403//
404//	g_tls_database_lookup_certificates_issued_by().
405func (x *TlsDatabaseClass) GetLookupCertificatesIssuedBy() func(*TlsDatabase, []byte, *TlsInteraction, TlsDatabaseLookupFlags, *Cancellable) *glib.List {
406	if x.xLookupCertificatesIssuedBy == 0 {
407		return nil
408	}
409	var rawCallback func(SelfVarp uintptr, IssuerRawDnVarp []byte, InteractionVarp uintptr, FlagsVarp TlsDatabaseLookupFlags, CancellableVarp uintptr) *glib.List
410	purego.RegisterFunc(&rawCallback, x.xLookupCertificatesIssuedBy)
411	return func(SelfVar *TlsDatabase, IssuerRawDnVar []byte, InteractionVar *TlsInteraction, FlagsVar TlsDatabaseLookupFlags, CancellableVar *Cancellable) *glib.List {
412		return rawCallback(SelfVar.GoPointer(), IssuerRawDnVar, InteractionVar.GoPointer(), FlagsVar, CancellableVar.GoPointer())
413	}
414}
415
416// OverrideLookupCertificatesIssuedByAsync sets the "lookup_certificates_issued_by_async" callback function.
417// Virtual method implementing
418//
419//	g_tls_database_lookup_certificates_issued_by_async().
420func (x *TlsDatabaseClass) OverrideLookupCertificatesIssuedByAsync(cb func(*TlsDatabase, []byte, *TlsInteraction, TlsDatabaseLookupFlags, *Cancellable, *AsyncReadyCallback, uintptr)) {
421	if cb == nil {
422		x.xLookupCertificatesIssuedByAsync = 0
423	} else {
424		x.xLookupCertificatesIssuedByAsync = purego.NewCallback(func(SelfVarp uintptr, IssuerRawDnVarp []byte, InteractionVarp uintptr, FlagsVarp TlsDatabaseLookupFlags, CancellableVarp uintptr, CallbackVarp uintptr, UserDataVarp uintptr) {
425			cb(TlsDatabaseNewFromInternalPtr(SelfVarp), IssuerRawDnVarp, TlsInteractionNewFromInternalPtr(InteractionVarp), FlagsVarp, CancellableNewFromInternalPtr(CancellableVarp), (*AsyncReadyCallback)(unsafe.Pointer(CallbackVarp)), UserDataVarp)
426		})
427	}
428}
429
430// GetLookupCertificatesIssuedByAsync gets the "lookup_certificates_issued_by_async" callback function.
431// Virtual method implementing
432//
433//	g_tls_database_lookup_certificates_issued_by_async().
434func (x *TlsDatabaseClass) GetLookupCertificatesIssuedByAsync() func(*TlsDatabase, []byte, *TlsInteraction, TlsDatabaseLookupFlags, *Cancellable, *AsyncReadyCallback, uintptr) {
435	if x.xLookupCertificatesIssuedByAsync == 0 {
436		return nil
437	}
438	var rawCallback func(SelfVarp uintptr, IssuerRawDnVarp []byte, InteractionVarp uintptr, FlagsVarp TlsDatabaseLookupFlags, CancellableVarp uintptr, CallbackVarp uintptr, UserDataVarp uintptr)
439	purego.RegisterFunc(&rawCallback, x.xLookupCertificatesIssuedByAsync)
440	return func(SelfVar *TlsDatabase, IssuerRawDnVar []byte, InteractionVar *TlsInteraction, FlagsVar TlsDatabaseLookupFlags, CancellableVar *Cancellable, CallbackVar *AsyncReadyCallback, UserDataVar uintptr) {
441		rawCallback(SelfVar.GoPointer(), IssuerRawDnVar, InteractionVar.GoPointer(), FlagsVar, CancellableVar.GoPointer(), glib.NewCallbackNullable(CallbackVar), UserDataVar)
442	}
443}
444
445// OverrideLookupCertificatesIssuedByFinish sets the "lookup_certificates_issued_by_finish" callback function.
446// Virtual method implementing
447//
448//	g_tls_database_lookup_certificates_issued_by_finish().
449func (x *TlsDatabaseClass) OverrideLookupCertificatesIssuedByFinish(cb func(*TlsDatabase, AsyncResult) *glib.List) {
450	if cb == nil {
451		x.xLookupCertificatesIssuedByFinish = 0
452	} else {
453		x.xLookupCertificatesIssuedByFinish = purego.NewCallback(func(SelfVarp uintptr, ResultVarp uintptr) *glib.List {
454			return cb(TlsDatabaseNewFromInternalPtr(SelfVarp), &AsyncResultBase{Ptr: ResultVarp})
455		})
456	}
457}
458
459// GetLookupCertificatesIssuedByFinish gets the "lookup_certificates_issued_by_finish" callback function.
460// Virtual method implementing
461//
462//	g_tls_database_lookup_certificates_issued_by_finish().
463func (x *TlsDatabaseClass) GetLookupCertificatesIssuedByFinish() func(*TlsDatabase, AsyncResult) *glib.List {
464	if x.xLookupCertificatesIssuedByFinish == 0 {
465		return nil
466	}
467	var rawCallback func(SelfVarp uintptr, ResultVarp uintptr) *glib.List
468	purego.RegisterFunc(&rawCallback, x.xLookupCertificatesIssuedByFinish)
469	return func(SelfVar *TlsDatabase, ResultVar AsyncResult) *glib.List {
470		return rawCallback(SelfVar.GoPointer(), ResultVar.GoPointer())
471	}
472}
473
474type TlsDatabasePrivate struct {
475	_ structs.HostLayout
476}
477
478func (x *TlsDatabasePrivate) GoPointer() uintptr {
479	return uintptr(unsafe.Pointer(x))
480}
481
482const (
483	// The purpose used to verify the client certificate in a TLS connection.
484	// Used by TLS servers.
485	TLS_DATABASE_PURPOSE_AUTHENTICATE_CLIENT string = "1.3.6.1.5.5.7.3.2"
486	// The purpose used to verify the server certificate in a TLS connection. This
487	// is the most common purpose in use. Used by TLS clients.
488	TLS_DATABASE_PURPOSE_AUTHENTICATE_SERVER string = "1.3.6.1.5.5.7.3.1"
489)
490
491// `GTlsDatabase` is used to look up certificates and other information
492// from a certificate or key store. It is an abstract base class which
493// TLS library specific subtypes override.
494//
495// A `GTlsDatabase` may be accessed from multiple threads by the TLS backend.
496// All implementations are required to be fully thread-safe.
497//
498// Most common client applications will not directly interact with
499// `GTlsDatabase`. It is used internally by [class@Gio.TlsConnection].
500type TlsDatabase struct {
501	gobject.Object
502}
503
504var xTlsDatabaseGLibType func() types.GType
505
506func TlsDatabaseGLibType() types.GType {
507	return xTlsDatabaseGLibType()
508}
509
510func TlsDatabaseNewFromInternalPtr(ptr uintptr) *TlsDatabase {
511	cls := &TlsDatabase{}
512	cls.Ptr = ptr
513	return cls
514}
515
516var xTlsDatabaseCreateCertificateHandle func(uintptr, uintptr) string
517
518// Create a handle string for the certificate. The database will only be able
519// to create a handle for certificates that originate from the database. In
520// cases where the database cannot create a handle for a certificate, %NULL
521// will be returned.
522//
523// This handle should be stable across various instances of the application,
524// and between applications. If a certificate is modified in the database,
525// then it is not guaranteed that this handle will continue to point to it.
526func (x *TlsDatabase) CreateCertificateHandle(CertificateVar *TlsCertificate) string {
527
528	cret := xTlsDatabaseCreateCertificateHandle(x.GoPointer(), CertificateVar.GoPointer())
529	return cret
530}
531
532var xTlsDatabaseLookupCertificateForHandle func(uintptr, string, uintptr, TlsDatabaseLookupFlags, uintptr, **glib.Error) uintptr
533
534// Look up a certificate by its handle.
535//
536// The handle should have been created by calling
537// g_tls_database_create_certificate_handle() on a #GTlsDatabase object of
538// the same TLS backend. The handle is designed to remain valid across
539// instantiations of the database.
540//
541// If the handle is no longer valid, or does not point to a certificate in
542// this database, then %NULL will be returned.
543//
544// This function can block, use g_tls_database_lookup_certificate_for_handle_async() to perform
545// the lookup operation asynchronously.
546func (x *TlsDatabase) LookupCertificateForHandle(HandleVar string, InteractionVar *TlsInteraction, FlagsVar TlsDatabaseLookupFlags, CancellableVar *Cancellable) (*TlsCertificate, error) {
547	var cls *TlsCertificate
548	var cerr *glib.Error
549
550	cret := xTlsDatabaseLookupCertificateForHandle(x.GoPointer(), HandleVar, InteractionVar.GoPointer(), FlagsVar, CancellableVar.GoPointer(), &cerr)
551
552	if cret == 0 {
553		return nil, cerr
554	}
555	cls = &TlsCertificate{}
556	cls.Ptr = cret
557	if cerr == nil {
558		return cls, nil
559	}
560	return cls, cerr
561
562}
563
564var xTlsDatabaseLookupCertificateForHandleAsync func(uintptr, string, uintptr, TlsDatabaseLookupFlags, uintptr, uintptr, uintptr)
565
566// Asynchronously look up a certificate by its handle in the database. See
567// g_tls_database_lookup_certificate_for_handle() for more information.
568func (x *TlsDatabase) LookupCertificateForHandleAsync(HandleVar string, InteractionVar *TlsInteraction, FlagsVar TlsDatabaseLookupFlags, CancellableVar *Cancellable, CallbackVar *AsyncReadyCallback, UserDataVar uintptr) {
569
570	var CallbackVarRef uintptr
571	if CallbackVar != nil {
572		CallbackVarPtr := uintptr(unsafe.Pointer(CallbackVar))
573		if cbRefPtr, ok := glib.GetCallback(CallbackVarPtr); ok {
574			CallbackVarRef = cbRefPtr
575		} else {
576			fcb := func(arg0 uintptr, arg1 uintptr, arg2 uintptr) {
577				cbFn := *CallbackVar
578				cbFn(arg0, arg1, arg2)
579			}
580			CallbackVarRef = purego.NewCallback(fcb)
581			glib.SaveCallbackWithClosure(CallbackVarPtr, CallbackVarRef, CallbackVar)
582		}
583	}
584
585	xTlsDatabaseLookupCertificateForHandleAsync(x.GoPointer(), HandleVar, InteractionVar.GoPointer(), FlagsVar, CancellableVar.GoPointer(), CallbackVarRef, UserDataVar)
586
587}
588
589var xTlsDatabaseLookupCertificateForHandleFinish func(uintptr, uintptr, **glib.Error) uintptr
590
591// Finish an asynchronous lookup of a certificate by its handle. See
592// g_tls_database_lookup_certificate_for_handle() for more information.
593//
594// If the handle is no longer valid, or does not point to a certificate in
595// this database, then %NULL will be returned.
596func (x *TlsDatabase) LookupCertificateForHandleFinish(ResultVar AsyncResult) (*TlsCertificate, error) {
597	var cls *TlsCertificate
598	var cerr *glib.Error
599
600	cret := xTlsDatabaseLookupCertificateForHandleFinish(x.GoPointer(), ResultVar.GoPointer(), &cerr)
601
602	if cret == 0 {
603		return nil, cerr
604	}
605	cls = &TlsCertificate{}
606	cls.Ptr = cret
607	if cerr == nil {
608		return cls, nil
609	}
610	return cls, cerr
611
612}
613
614var xTlsDatabaseLookupCertificateIssuer func(uintptr, uintptr, uintptr, TlsDatabaseLookupFlags, uintptr, **glib.Error) uintptr
615
616// Look up the issuer of @certificate in the database. The
617// #GTlsCertificate:issuer property of @certificate is not modified, and
618// the two certificates are not hooked into a chain.
619//
620// This function can block. Use g_tls_database_lookup_certificate_issuer_async()
621// to perform the lookup operation asynchronously.
622//
623// Beware this function cannot be used to build certification paths. The
624// issuer certificate returned by this function may not be the same as
625// the certificate that would actually be used to construct a valid
626// certification path during certificate verification.
627// [RFC 4158](https://datatracker.ietf.org/doc/html/rfc4158) explains
628// why an issuer certificate cannot be naively assumed to be part of the
629// the certification path (though GLib's TLS backends may not follow the
630// path building strategies outlined in this RFC). Due to the complexity
631// of certification path building, GLib does not provide any way to know
632// which certification path will actually be used when verifying a TLS
633// certificate. Accordingly, this function cannot be used to make
634// security-related decisions. Only GLib itself should make security
635// decisions about TLS certificates.
636func (x *TlsDatabase) LookupCertificateIssuer(CertificateVar *TlsCertificate, InteractionVar *TlsInteraction, FlagsVar TlsDatabaseLookupFlags, CancellableVar *Cancellable) (*TlsCertificate, error) {
637	var cls *TlsCertificate
638	var cerr *glib.Error
639
640	cret := xTlsDatabaseLookupCertificateIssuer(x.GoPointer(), CertificateVar.GoPointer(), InteractionVar.GoPointer(), FlagsVar, CancellableVar.GoPointer(), &cerr)
641
642	if cret == 0 {
643		return nil, cerr
644	}
645	cls = &TlsCertificate{}
646	cls.Ptr = cret
647	if cerr == nil {
648		return cls, nil
649	}
650	return cls, cerr
651
652}
653
654var xTlsDatabaseLookupCertificateIssuerAsync func(uintptr, uintptr, uintptr, TlsDatabaseLookupFlags, uintptr, uintptr, uintptr)
655
656// Asynchronously look up the issuer of @certificate in the database. See
657// g_tls_database_lookup_certificate_issuer() for more information.
658func (x *TlsDatabase) LookupCertificateIssuerAsync(CertificateVar *TlsCertificate, InteractionVar *TlsInteraction, FlagsVar TlsDatabaseLookupFlags, CancellableVar *Cancellable, CallbackVar *AsyncReadyCallback, UserDataVar uintptr) {
659
660	var CallbackVarRef uintptr
661	if CallbackVar != nil {
662		CallbackVarPtr := uintptr(unsafe.Pointer(CallbackVar))
663		if cbRefPtr, ok := glib.GetCallback(CallbackVarPtr); ok {
664			CallbackVarRef = cbRefPtr
665		} else {
666			fcb := func(arg0 uintptr, arg1 uintptr, arg2 uintptr) {
667				cbFn := *CallbackVar
668				cbFn(arg0, arg1, arg2)
669			}
670			CallbackVarRef = purego.NewCallback(fcb)
671			glib.SaveCallbackWithClosure(CallbackVarPtr, CallbackVarRef, CallbackVar)
672		}
673	}
674
675	xTlsDatabaseLookupCertificateIssuerAsync(x.GoPointer(), CertificateVar.GoPointer(), InteractionVar.GoPointer(), FlagsVar, CancellableVar.GoPointer(), CallbackVarRef, UserDataVar)
676
677}
678
679var xTlsDatabaseLookupCertificateIssuerFinish func(uintptr, uintptr, **glib.Error) uintptr
680
681// Finish an asynchronous lookup issuer operation. See
682// g_tls_database_lookup_certificate_issuer() for more information.
683func (x *TlsDatabase) LookupCertificateIssuerFinish(ResultVar AsyncResult) (*TlsCertificate, error) {
684	var cls *TlsCertificate
685	var cerr *glib.Error
686
687	cret := xTlsDatabaseLookupCertificateIssuerFinish(x.GoPointer(), ResultVar.GoPointer(), &cerr)
688
689	if cret == 0 {
690		return nil, cerr
691	}
692	cls = &TlsCertificate{}
693	cls.Ptr = cret
694	if cerr == nil {
695		return cls, nil
696	}
697	return cls, cerr
698
699}
700
701var xTlsDatabaseLookupCertificatesIssuedBy func(uintptr, []byte, uintptr, TlsDatabaseLookupFlags, uintptr, **glib.Error) *glib.List
702
703// Look up certificates issued by this issuer in the database.
704//
705// This function can block, use g_tls_database_lookup_certificates_issued_by_async() to perform
706// the lookup operation asynchronously.
707func (x *TlsDatabase) LookupCertificatesIssuedBy(IssuerRawDnVar []byte, InteractionVar *TlsInteraction, FlagsVar TlsDatabaseLookupFlags, CancellableVar *Cancellable) (*glib.List, error) {
708	var cerr *glib.Error
709
710	cret := xTlsDatabaseLookupCertificatesIssuedBy(x.GoPointer(), IssuerRawDnVar, InteractionVar.GoPointer(), FlagsVar, CancellableVar.GoPointer(), &cerr)
711	if cerr == nil {
712		return cret, nil
713	}
714	return cret, cerr
715
716}
717
718var xTlsDatabaseLookupCertificatesIssuedByAsync func(uintptr, []byte, uintptr, TlsDatabaseLookupFlags, uintptr, uintptr, uintptr)
719
720// Asynchronously look up certificates issued by this issuer in the database. See
721// g_tls_database_lookup_certificates_issued_by() for more information.
722//
723// The database may choose to hold a reference to the issuer byte array for the duration
724// of this asynchronous operation. The byte array should not be modified during
725// this time.
726func (x *TlsDatabase) LookupCertificatesIssuedByAsync(IssuerRawDnVar []byte, InteractionVar *TlsInteraction, FlagsVar TlsDatabaseLookupFlags, CancellableVar *Cancellable, CallbackVar *AsyncReadyCallback, UserDataVar uintptr) {
727
728	var CallbackVarRef uintptr
729	if CallbackVar != nil {
730		CallbackVarPtr := uintptr(unsafe.Pointer(CallbackVar))
731		if cbRefPtr, ok := glib.GetCallback(CallbackVarPtr); ok {
732			CallbackVarRef = cbRefPtr
733		} else {
734			fcb := func(arg0 uintptr, arg1 uintptr, arg2 uintptr) {
735				cbFn := *CallbackVar
736				cbFn(arg0, arg1, arg2)
737			}
738			CallbackVarRef = purego.NewCallback(fcb)
739			glib.SaveCallbackWithClosure(CallbackVarPtr, CallbackVarRef, CallbackVar)
740		}
741	}
742
743	xTlsDatabaseLookupCertificatesIssuedByAsync(x.GoPointer(), IssuerRawDnVar, InteractionVar.GoPointer(), FlagsVar, CancellableVar.GoPointer(), CallbackVarRef, UserDataVar)
744
745}
746
747var xTlsDatabaseLookupCertificatesIssuedByFinish func(uintptr, uintptr, **glib.Error) *glib.List
748
749// Finish an asynchronous lookup of certificates. See
750// g_tls_database_lookup_certificates_issued_by() for more information.
751func (x *TlsDatabase) LookupCertificatesIssuedByFinish(ResultVar AsyncResult) (*glib.List, error) {
752	var cerr *glib.Error
753
754	cret := xTlsDatabaseLookupCertificatesIssuedByFinish(x.GoPointer(), ResultVar.GoPointer(), &cerr)
755	if cerr == nil {
756		return cret, nil
757	}
758	return cret, cerr
759
760}
761
762var xTlsDatabaseVerifyChain func(uintptr, uintptr, string, uintptr, uintptr, TlsDatabaseVerifyFlags, uintptr, **glib.Error) TlsCertificateFlags
763
764// Determines the validity of a certificate chain, outside the context
765// of a TLS session.
766//
767// @chain is a chain of #GTlsCertificate objects each pointing to the next
768// certificate in the chain by its #GTlsCertificate:issuer property.
769//
770// @purpose describes the purpose (or usage) for which the certificate
771// is being used. Typically @purpose will be set to %G_TLS_DATABASE_PURPOSE_AUTHENTICATE_SERVER
772// which means that the certificate is being used to authenticate a server
773// (and we are acting as the client).
774//
775// The @identity is used to ensure the server certificate is valid for
776// the expected peer identity. If the identity does not match the
777// certificate, %G_TLS_CERTIFICATE_BAD_IDENTITY will be set in the
778// return value. If @identity is %NULL, that bit will never be set in
779// the return value. The peer identity may also be used to check for
780// pinned certificates (trust exceptions) in the database. These may
781// override the normal verification process on a host-by-host basis.
782//
783// Currently there are no @flags, and %G_TLS_DATABASE_VERIFY_NONE should be
784// used.
785//
786// If @chain is found to be valid, then the return value will be 0. If
787// @chain is found to be invalid, then the return value will indicate at
788// least one problem found. If the function is unable to determine
789// whether @chain is valid (for example, because @cancellable is
790// triggered before it completes) then the return value will be
791// %G_TLS_CERTIFICATE_GENERIC_ERROR and @error will be set accordingly.
792// @error is not set when @chain is successfully analyzed but found to
793// be invalid.
794//
795// GLib guarantees that if certificate verification fails, at least one
796// error will be set in the return value, but it does not guarantee
797// that all possible errors will be set. Accordingly, you may not safely
798// decide to ignore any particular type of error. For example, it would
799// be incorrect to mask %G_TLS_CERTIFICATE_EXPIRED if you want to allow
800// expired certificates, because this could potentially be the only
801// error flag set even if other problems exist with the certificate.
802//
803// Prior to GLib 2.48, GLib's default TLS backend modified @chain to
804// represent the certification path built by #GTlsDatabase during
805// certificate verification by adjusting the #GTlsCertificate:issuer
806// property of each certificate in @chain. Since GLib 2.48, this no
807// longer occurs, so you cannot rely on #GTlsCertificate:issuer to
808// represent the actual certification path used during certificate
809// verification.
810//
811// Because TLS session context is not used, #GTlsDatabase may not
812// perform as many checks on the certificates as #GTlsConnection would.
813// For example, certificate constraints may not be honored, and
814// revocation checks may not be performed. The best way to verify TLS
815// certificates used by a TLS connection is to let #GTlsConnection
816// handle the verification.
817//
818// The TLS backend may attempt to look up and add missing certificates
819// to the chain. This may involve HTTP requests to download missing
820// certificates.
821//
822// This function can block. Use g_tls_database_verify_chain_async() to
823// perform the verification operation asynchronously.
824func (x *TlsDatabase) VerifyChain(ChainVar *TlsCertificate, PurposeVar string, IdentityVar SocketConnectable, InteractionVar *TlsInteraction, FlagsVar TlsDatabaseVerifyFlags, CancellableVar *Cancellable) (TlsCertificateFlags, error) {
825	var cerr *glib.Error
826
827	cret := xTlsDatabaseVerifyChain(x.GoPointer(), ChainVar.GoPointer(), PurposeVar, IdentityVar.GoPointer(), InteractionVar.GoPointer(), FlagsVar, CancellableVar.GoPointer(), &cerr)
828	if cerr == nil {
829		return cret, nil
830	}
831	return cret, cerr
832
833}
834
835var xTlsDatabaseVerifyChainAsync func(uintptr, uintptr, string, uintptr, uintptr, TlsDatabaseVerifyFlags, uintptr, uintptr, uintptr)
836
837// Asynchronously determines the validity of a certificate chain after
838// looking up and adding any missing certificates to the chain. See
839// g_tls_database_verify_chain() for more information.
840func (x *TlsDatabase) VerifyChainAsync(ChainVar *TlsCertificate, PurposeVar string, IdentityVar SocketConnectable, InteractionVar *TlsInteraction, FlagsVar TlsDatabaseVerifyFlags, CancellableVar *Cancellable, CallbackVar *AsyncReadyCallback, UserDataVar uintptr) {
841
842	var CallbackVarRef uintptr
843	if CallbackVar != nil {
844		CallbackVarPtr := uintptr(unsafe.Pointer(CallbackVar))
845		if cbRefPtr, ok := glib.GetCallback(CallbackVarPtr); ok {
846			CallbackVarRef = cbRefPtr
847		} else {
848			fcb := func(arg0 uintptr, arg1 uintptr, arg2 uintptr) {
849				cbFn := *CallbackVar
850				cbFn(arg0, arg1, arg2)
851			}
852			CallbackVarRef = purego.NewCallback(fcb)
853			glib.SaveCallbackWithClosure(CallbackVarPtr, CallbackVarRef, CallbackVar)
854		}
855	}
856
857	xTlsDatabaseVerifyChainAsync(x.GoPointer(), ChainVar.GoPointer(), PurposeVar, IdentityVar.GoPointer(), InteractionVar.GoPointer(), FlagsVar, CancellableVar.GoPointer(), CallbackVarRef, UserDataVar)
858
859}
860
861var xTlsDatabaseVerifyChainFinish func(uintptr, uintptr, **glib.Error) TlsCertificateFlags
862
863// Finish an asynchronous verify chain operation. See
864// g_tls_database_verify_chain() for more information.
865//
866// If @chain is found to be valid, then the return value will be 0. If
867// @chain is found to be invalid, then the return value will indicate
868// the problems found. If the function is unable to determine whether
869// @chain is valid or not (eg, because @cancellable is triggered
870// before it completes) then the return value will be
871// %G_TLS_CERTIFICATE_GENERIC_ERROR and @error will be set
872// accordingly. @error is not set when @chain is successfully analyzed
873// but found to be invalid.
874func (x *TlsDatabase) VerifyChainFinish(ResultVar AsyncResult) (TlsCertificateFlags, error) {
875	var cerr *glib.Error
876
877	cret := xTlsDatabaseVerifyChainFinish(x.GoPointer(), ResultVar.GoPointer(), &cerr)
878	if cerr == nil {
879		return cret, nil
880	}
881	return cret, cerr
882
883}
884
885func (c *TlsDatabase) GoPointer() uintptr {
886	if c == nil {
887		return 0
888	}
889	return c.Ptr
890}
891
892func (c *TlsDatabase) SetGoPointer(ptr uintptr) {
893	c.Ptr = ptr
894}
895
896func init() {
897	core.SetPackageName("GIO", "gio-2.0")
898	core.SetSharedLibraries("GIO", []string{"libgio-2.0.so.0"})
899	var libs []uintptr
900	for _, libPath := range core.GetPaths("GIO") {
901		lib, err := purego.Dlopen(libPath, purego.RTLD_NOW|purego.RTLD_GLOBAL)
902		if err != nil {
903			panic(err)
904		}
905		libs = append(libs, lib)
906	}
907
908	core.PuregoSafeRegister(&xTlsDatabaseGLibType, libs, "g_tls_database_get_type")
909
910	core.PuregoSafeRegister(&xTlsDatabaseCreateCertificateHandle, libs, "g_tls_database_create_certificate_handle")
911	core.PuregoSafeRegister(&xTlsDatabaseLookupCertificateForHandle, libs, "g_tls_database_lookup_certificate_for_handle")
912	core.PuregoSafeRegister(&xTlsDatabaseLookupCertificateForHandleAsync, libs, "g_tls_database_lookup_certificate_for_handle_async")
913	core.PuregoSafeRegister(&xTlsDatabaseLookupCertificateForHandleFinish, libs, "g_tls_database_lookup_certificate_for_handle_finish")
914	core.PuregoSafeRegister(&xTlsDatabaseLookupCertificateIssuer, libs, "g_tls_database_lookup_certificate_issuer")
915	core.PuregoSafeRegister(&xTlsDatabaseLookupCertificateIssuerAsync, libs, "g_tls_database_lookup_certificate_issuer_async")
916	core.PuregoSafeRegister(&xTlsDatabaseLookupCertificateIssuerFinish, libs, "g_tls_database_lookup_certificate_issuer_finish")
917	core.PuregoSafeRegister(&xTlsDatabaseLookupCertificatesIssuedBy, libs, "g_tls_database_lookup_certificates_issued_by")
918	core.PuregoSafeRegister(&xTlsDatabaseLookupCertificatesIssuedByAsync, libs, "g_tls_database_lookup_certificates_issued_by_async")
919	core.PuregoSafeRegister(&xTlsDatabaseLookupCertificatesIssuedByFinish, libs, "g_tls_database_lookup_certificates_issued_by_finish")
920	core.PuregoSafeRegister(&xTlsDatabaseVerifyChain, libs, "g_tls_database_verify_chain")
921	core.PuregoSafeRegister(&xTlsDatabaseVerifyChainAsync, libs, "g_tls_database_verify_chain_async")
922	core.PuregoSafeRegister(&xTlsDatabaseVerifyChainFinish, libs, "g_tls_database_verify_chain_finish")
923
924}

Keyboard shortcuts

Single-key shortcuts are on. ctrl k and esc work whatever this says.

ctrl k :
go to a section, branch, tag, file or repository
?
this list
j k
move the row cursor down / up
enter
open the row under the cursor; on Files, a directory opens or closes in place
↑ ↓ ← → home end
in the file tree (focus on a row): previous / next row, close / open a directory or go to its parent / first entry, first / last row. They never open a file
l h
on Files: open a directory or a file / close a directory or go up to its parent, then to the parent page. Elsewhere: into the side panel (on a merge request, its files) / back to the content; there j k move between its controls
g g G
first / last row
/
filter the list; on Files, find a file anywhere in the repository (esc clears, enter opens the best match)
b
switch branch or tag
g s g f g c g b g m g i g r g a
tabs: summary, files, commits, branches & tags, merge requests, issues, releases, actions (when available)
g h
home
w
wide mode: use the whole width of the screen, or not (remembered)
y
copy a permalink pinned to the commit
d u x
diff: split / unified / collapse or expand all
e E
diff: the whole file in view / every file, with the lines the hunks hide
n
merge request: next note in the diff
esc
close a dialog, leave a field

Branches 1

Tags 102

↑↓ moveenter openesc close