// GENERATED — DO NOT EDIT
///|
/// [Upstream documentation](https://docs.gtk.org/gio/class.TlsCertificate.html).
pub type TlsCertificate
///|
pub(open) trait ITlsCertificate {
fn as_tls_certificate(Self) -> TlsCertificate
fn get_issuer(Self) -> TlsCertificate? = _
fn get_issuer_name(Self) -> String? = _
fn get_subject_name(Self) -> String? = _
fn is_same(Self, &ITlsCertificate) -> Bool = _
fn verify(Self, &ISocketConnectable?, &ITlsCertificate?) -> TlsCertificateFlags = _
}
///|
pub impl ITlsCertificate for TlsCertificate with fn as_tls_certificate(self) {
self
}
///|
#borrow(file, error)
extern "c" fn moonbit_g_tls_certificate_new_from_file(
file : Bytes,
error : Ref[@glib.Nullable[@glib.Error_]],
) -> TlsCertificate = "moonbit_g_tls_certificate_new_from_file"
///|
/// [Upstream documentation](https://docs.gtk.org/gio/ctor.TlsCertificate.new_from_file.html).
pub fn TlsCertificate::new_from_file(
file : String,
) -> TlsCertificate raise @glib.Error_ {
let error_ : Ref[@glib.Nullable[@glib.Error_]] = Ref(@glib.Nullable::null())
let result = moonbit_g_tls_certificate_new_from_file(
@encoding/utf8.encode(file),
error_,
)
match error_.val.to_option() {
Some(e) => raise e
None => result
}
}
///|
#borrow(file, password, error)
extern "c" fn moonbit_g_tls_certificate_new_from_file_with_password(
file : Bytes,
password : Bytes,
error : Ref[@glib.Nullable[@glib.Error_]],
) -> TlsCertificate = "moonbit_g_tls_certificate_new_from_file_with_password"
///|
/// [Upstream documentation](https://docs.gtk.org/gio/ctor.TlsCertificate.new_from_file_with_password.html).
pub fn TlsCertificate::new_from_file_with_password(
file : String,
password : String,
) -> TlsCertificate raise @glib.Error_ {
let error_ : Ref[@glib.Nullable[@glib.Error_]] = Ref(@glib.Nullable::null())
let result = moonbit_g_tls_certificate_new_from_file_with_password(
@encoding/utf8.encode(file),
@encoding/utf8.encode(password),
error_,
)
match error_.val.to_option() {
Some(e) => raise e
None => result
}
}
///|
#borrow(cert_file, key_file, error)
extern "c" fn moonbit_g_tls_certificate_new_from_files(
cert_file : Bytes,
key_file : Bytes,
error : Ref[@glib.Nullable[@glib.Error_]],
) -> TlsCertificate = "moonbit_g_tls_certificate_new_from_files"
///|
/// [Upstream documentation](https://docs.gtk.org/gio/ctor.TlsCertificate.new_from_files.html).
pub fn TlsCertificate::new_from_files(
cert_file : String,
key_file : String,
) -> TlsCertificate raise @glib.Error_ {
let error_ : Ref[@glib.Nullable[@glib.Error_]] = Ref(@glib.Nullable::null())
let result = moonbit_g_tls_certificate_new_from_files(
@encoding/utf8.encode(cert_file),
@encoding/utf8.encode(key_file),
error_,
)
match error_.val.to_option() {
Some(e) => raise e
None => result
}
}
///|
#borrow(data, error)
extern "c" fn moonbit_g_tls_certificate_new_from_pem(
data : Bytes,
length : Int64,
error : Ref[@glib.Nullable[@glib.Error_]],
) -> TlsCertificate = "moonbit_g_tls_certificate_new_from_pem"
///|
/// [Upstream documentation](https://docs.gtk.org/gio/ctor.TlsCertificate.new_from_pem.html).
pub fn TlsCertificate::new_from_pem(
data : String,
length : Int64,
) -> TlsCertificate raise @glib.Error_ {
let error_ : Ref[@glib.Nullable[@glib.Error_]] = Ref(@glib.Nullable::null())
let result = moonbit_g_tls_certificate_new_from_pem(
@encoding/utf8.encode(data),
length,
error_,
)
match error_.val.to_option() {
Some(e) => raise e
None => result
}
}
///|
#borrow(pkcs11_uri, private_key_pkcs11_uri, error)
extern "c" fn moonbit_g_tls_certificate_new_from_pkcs11_uris(
pkcs11_uri : Bytes,
private_key_pkcs11_uri : @glib.Nullable[Bytes],
error : Ref[@glib.Nullable[@glib.Error_]],
) -> TlsCertificate = "moonbit_g_tls_certificate_new_from_pkcs11_uris"
///|
/// [Upstream documentation](https://docs.gtk.org/gio/ctor.TlsCertificate.new_from_pkcs11_uris.html).
pub fn TlsCertificate::new_from_pkcs11_uris(
pkcs11_uri : String,
private_key_pkcs11_uri : String?,
) -> TlsCertificate raise @glib.Error_ {
let error_ : Ref[@glib.Nullable[@glib.Error_]] = Ref(@glib.Nullable::null())
let result = moonbit_g_tls_certificate_new_from_pkcs11_uris(
@encoding/utf8.encode(pkcs11_uri),
match private_key_pkcs11_uri {
Some(s) => @glib.Nullable::some(@encoding/utf8.encode(s))
None => @glib.Nullable::null()
},
error_,
)
match error_.val.to_option() {
Some(e) => raise e
None => result
}
}
///|
#borrow(file, error, result)
extern "c" fn moonbit_g_tls_certificate_list_new_from_file(
file : Bytes,
error : Ref[@glib.Nullable[@glib.Error_]],
result : Ref[FixedArray[TlsCertificate]],
) = "moonbit_g_tls_certificate_list_new_from_file"
///|
/// [Upstream documentation](https://docs.gtk.org/gio/type_func.TlsCertificate.list_new_from_file.html).
pub fn TlsCertificate::list_new_from_file(
file : String,
) -> Array[TlsCertificate] raise @glib.Error_ {
let error_ : Ref[@glib.Nullable[@glib.Error_]] = Ref(@glib.Nullable::null())
let result_ref : Ref[FixedArray[TlsCertificate]] = Ref([])
moonbit_g_tls_certificate_list_new_from_file(
@encoding/utf8.encode(file),
error_,
result_ref,
)
match error_.val.to_option() {
Some(e) => raise e
None => ()
}
let values : Array[TlsCertificate] = Array::new(
capacity=result_ref.val.length(),
)
for value in result_ref.val {
values.push(value)
}
values
}
///|
#borrow(self_)
extern "c" fn moonbit_g_tls_certificate_get_issuer(
self_ : TlsCertificate,
) -> @glib.Nullable[TlsCertificate] = "moonbit_g_tls_certificate_get_issuer"
///|
/// [Upstream documentation](https://docs.gtk.org/gio/method.TlsCertificate.get_issuer.html).
pub fn TlsCertificate::get_issuer(self : TlsCertificate) -> TlsCertificate? {
let raw_result = moonbit_g_tls_certificate_get_issuer(self)
raw_result.to_option()
}
///|
#borrow(self_)
extern "c" fn moonbit_g_tls_certificate_get_issuer_name(
self_ : TlsCertificate,
) -> @glib.Nullable[Bytes] = "moonbit_g_tls_certificate_get_issuer_name"
///|
/// [Upstream documentation](https://docs.gtk.org/gio/method.TlsCertificate.get_issuer_name.html).
pub fn TlsCertificate::get_issuer_name(self : TlsCertificate) -> String? {
let result = moonbit_g_tls_certificate_get_issuer_name(self)
match result.to_option() {
Some(bytes) => Some(@encoding/utf8.decode_lossy(bytes))
None => None
}
}
///|
#borrow(self_)
extern "c" fn moonbit_g_tls_certificate_get_subject_name(
self_ : TlsCertificate,
) -> @glib.Nullable[Bytes] = "moonbit_g_tls_certificate_get_subject_name"
///|
/// [Upstream documentation](https://docs.gtk.org/gio/method.TlsCertificate.get_subject_name.html).
pub fn TlsCertificate::get_subject_name(self : TlsCertificate) -> String? {
let result = moonbit_g_tls_certificate_get_subject_name(self)
match result.to_option() {
Some(bytes) => Some(@encoding/utf8.decode_lossy(bytes))
None => None
}
}
///|
#borrow(self_, cert_two)
extern "c" fn moonbit_g_tls_certificate_is_same(
self_ : TlsCertificate,
cert_two : TlsCertificate,
) -> Bool = "moonbit_g_tls_certificate_is_same"
///|
/// [Upstream documentation](https://docs.gtk.org/gio/method.TlsCertificate.is_same.html).
pub fn TlsCertificate::is_same(
self : TlsCertificate,
cert_two : &ITlsCertificate,
) -> Bool {
moonbit_g_tls_certificate_is_same(self, cert_two.as_tls_certificate())
}
///|
#borrow(self_, identity, trusted_ca)
extern "c" fn moonbit_g_tls_certificate_verify(
self_ : TlsCertificate,
identity : @glib.Nullable[SocketConnectable],
trusted_ca : @glib.Nullable[TlsCertificate],
) -> Int = "moonbit_g_tls_certificate_verify"
///|
/// [Upstream documentation](https://docs.gtk.org/gio/method.TlsCertificate.verify.html).
pub fn TlsCertificate::verify(
self : TlsCertificate,
identity : &ISocketConnectable?,
trusted_ca : &ITlsCertificate?,
) -> TlsCertificateFlags {
TlsCertificateFlags::from_int(
moonbit_g_tls_certificate_verify(
self,
match identity {
Some(v) => @glib.Nullable::some(v.as_socket_connectable())
None => @glib.Nullable::null()
},
match trusted_ca {
Some(v) => @glib.Nullable::some(v.as_tls_certificate())
None => @glib.Nullable::null()
},
),
)
}
///|
#borrow(self_)
extern "c" fn moonbit_g_tls_certificate_get_certificate_pem(
self_ : TlsCertificate,
) -> Bytes = "moonbit_g_tls_certificate_get_certificate_pem"
///|
/// [Upstream documentation](https://docs.gtk.org/gio/property.TlsCertificate.certificate-pem.html).
pub fn TlsCertificate::get_certificate_pem(self : TlsCertificate) -> String {
@encoding/utf8.decode_lossy(
moonbit_g_tls_certificate_get_certificate_pem(self),
)
}
///|
#borrow(self_)
extern "c" fn moonbit_g_tls_certificate_get_pkcs11_uri(
self_ : TlsCertificate,
) -> Bytes = "moonbit_g_tls_certificate_get_pkcs11_uri"
///|
/// [Upstream documentation](https://docs.gtk.org/gio/property.TlsCertificate.pkcs11-uri.html).
pub fn TlsCertificate::get_pkcs11_uri(self : TlsCertificate) -> String {
@encoding/utf8.decode_lossy(moonbit_g_tls_certificate_get_pkcs11_uri(self))
}
///|
#borrow(self_)
extern "c" fn moonbit_g_tls_certificate_get_private_key_pem(
self_ : TlsCertificate,
) -> Bytes = "moonbit_g_tls_certificate_get_private_key_pem"
///|
/// [Upstream documentation](https://docs.gtk.org/gio/property.TlsCertificate.private-key-pem.html).
pub fn TlsCertificate::get_private_key_pem(self : TlsCertificate) -> String {
@encoding/utf8.decode_lossy(
moonbit_g_tls_certificate_get_private_key_pem(self),
)
}
///|
#borrow(self_)
extern "c" fn moonbit_g_tls_certificate_get_private_key_pkcs11_uri(
self_ : TlsCertificate,
) -> Bytes = "moonbit_g_tls_certificate_get_private_key_pkcs11_uri"
///|
/// [Upstream documentation](https://docs.gtk.org/gio/property.TlsCertificate.private-key-pkcs11-uri.html).
pub fn TlsCertificate::get_private_key_pkcs11_uri(
self : TlsCertificate,
) -> String {
@encoding/utf8.decode_lossy(
moonbit_g_tls_certificate_get_private_key_pkcs11_uri(self),
)
}
///|
impl ITlsCertificate with fn get_issuer(self) -> TlsCertificate? {
self.as_tls_certificate().get_issuer()
}
///|
impl ITlsCertificate with fn get_issuer_name(self) -> String? {
self.as_tls_certificate().get_issuer_name()
}
///|
impl ITlsCertificate with fn get_subject_name(self) -> String? {
self.as_tls_certificate().get_subject_name()
}
///|
impl ITlsCertificate with fn is_same(self, cert_two) -> Bool {
self.as_tls_certificate().is_same(cert_two)
}
///|
impl ITlsCertificate with fn verify(self, identity, trusted_ca) -> TlsCertificateFlags {
self.as_tls_certificate().verify(identity, trusted_ca)
}
///|
pub fn TlsCertificate::as_gobject_object(
self : TlsCertificate,
) -> @gobject.Object = "%identity"
///|
pub impl @gobject.IObject for TlsCertificate with fn as_object(self) {
self.as_gobject_object()
}