gtk4-session-lock-sys 0.4.0

Unsafe gir-generated FFI bindings for gtk4-session-lock
Documentation
// This file was generated by gir (https://github.com/gtk-rs/gir)
// from ..
// from ../gir-files
// DO NOT EDIT

#![allow(non_camel_case_types, non_upper_case_globals, non_snake_case)]
#![allow(clippy::approx_constant, clippy::type_complexity, clippy::unreadable_literal, clippy::upper_case_acronyms)]
#![cfg_attr(docsrs, feature(doc_cfg))]

use glib_sys as glib;
use gobject_sys as gobject;
use gdk4_sys as gdk;
use gtk4_sys as gtk;

#[allow(unused_imports)]
use std::ffi::{c_int, c_char, c_uchar, c_float, c_uint, c_double,
    c_short, c_ushort, c_long, c_ulong, c_void};
#[allow(unused_imports)]
use libc::{size_t, ssize_t, time_t, off_t, intptr_t, uintptr_t, FILE};
#[cfg(unix)]
#[allow(unused_imports)]
use libc::{dev_t, gid_t, pid_t, socklen_t, uid_t};

#[allow(unused_imports)]
use glib::{gboolean, gconstpointer, gpointer, GType};

// Records
#[derive(Copy, Clone)]
#[repr(C)]
pub struct GtkSessionLockInstanceClass {
    pub parent_class: gobject::GObjectClass,
}

impl ::std::fmt::Debug for GtkSessionLockInstanceClass {
    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
        f.debug_struct(&format!("GtkSessionLockInstanceClass @ {self:p}"))
         .field("parent_class", &self.parent_class)
         .finish()
    }
}

// Classes
#[repr(C)]
#[allow(dead_code)]
pub struct GtkSessionLockInstance {
    _data: [u8; 0],
    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
}

impl ::std::fmt::Debug for GtkSessionLockInstance {
    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
        f.debug_struct(&format!("GtkSessionLockInstance @ {self:p}"))
         .finish()
    }
}

unsafe extern "C" {

    //=========================================================================
    // GtkSessionLockInstance
    //=========================================================================
    #[cfg(feature = "v1_1")]
    #[cfg_attr(docsrs, doc(cfg(feature = "v1_1")))]
    pub fn gtk_session_lock_instance_get_type() -> GType;
    #[cfg(feature = "v1_1")]
    #[cfg_attr(docsrs, doc(cfg(feature = "v1_1")))]
    pub fn gtk_session_lock_instance_new() -> *mut GtkSessionLockInstance;
    #[cfg(feature = "v1_1")]
    #[cfg_attr(docsrs, doc(cfg(feature = "v1_1")))]
    pub fn gtk_session_lock_instance_assign_window_to_monitor(self_: *mut GtkSessionLockInstance, window: *mut gtk::GtkWindow, monitor: *mut gdk::GdkMonitor);
    #[cfg(feature = "v1_1")]
    #[cfg_attr(docsrs, doc(cfg(feature = "v1_1")))]
    pub fn gtk_session_lock_instance_is_locked(self_: *mut GtkSessionLockInstance) -> gboolean;
    #[cfg(feature = "v1_1")]
    #[cfg_attr(docsrs, doc(cfg(feature = "v1_1")))]
    pub fn gtk_session_lock_instance_lock(self_: *mut GtkSessionLockInstance) -> gboolean;
    #[cfg(feature = "v1_1")]
    #[cfg_attr(docsrs, doc(cfg(feature = "v1_1")))]
    pub fn gtk_session_lock_instance_unlock(self_: *mut GtkSessionLockInstance);

    //=========================================================================
    // Other functions
    //=========================================================================
    pub fn gtk_session_lock_is_supported() -> gboolean;

}