libreofficekit 0.5.0

LibreOfficeKit implementation in Rust
Documentation
#![allow(
    dead_code,
    non_snake_case,
    non_camel_case_types,
    non_upper_case_globals,
    clippy::all
)]

/// Bindings to LOK (LibreOfficeKit)
///
/// automatically generated by rust-bindgen 0.70.0, adjusted to meet needs

pub type LokHookFunction = fn(install_path: *const std::os::raw::c_char) -> *mut LibreOfficeKit;

pub type LokHookFunction2 = fn(
    install_path: *const std::os::raw::c_char,
    user_profile_url: *const std::os::raw::c_char,
) -> *mut LibreOfficeKit;

pub type LokHookPreInit = fn(
    install_path: *const std::os::raw::c_char,
    user_profile_url: *const std::os::raw::c_char,
) -> std::os::raw::c_int;

pub type LokHookPreInit2 = fn(
    install_path: *const std::os::raw::c_char,
    user_profile_url: *const std::os::raw::c_char,
    kit: *mut *mut LibreOfficeKit,
) -> std::os::raw::c_int;

pub type LibreOfficeKitCallback = ::std::option::Option<
    unsafe extern "C" fn(
        nType: ::std::os::raw::c_int,
        pPayload: *const ::std::os::raw::c_char,
        pData: *mut ::std::os::raw::c_void,
    ),
>;

pub type LibreOfficeKitPollCallback = ::std::option::Option<
    unsafe extern "C" fn(
        pData: *mut ::std::os::raw::c_void,
        timeoutUs: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int,
>;

pub type LibreOfficeKitWakeCallback =
    ::std::option::Option<unsafe extern "C" fn(pData: *mut ::std::os::raw::c_void)>;

#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct LibreOfficeKit {
    pub pClass: *mut LibreOfficeKitClass,
}

#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct LibreOfficeKitClass {
    pub nSize: usize,
    pub destroy: ::std::option::Option<unsafe extern "C" fn(pThis: *mut LibreOfficeKit)>,
    pub documentLoad: ::std::option::Option<
        unsafe extern "C" fn(
            pThis: *mut LibreOfficeKit,
            pURL: *const ::std::os::raw::c_char,
        ) -> *mut LibreOfficeKitDocument,
    >,
    pub getError: ::std::option::Option<
        unsafe extern "C" fn(pThis: *mut LibreOfficeKit) -> *mut ::std::os::raw::c_char,
    >,
    pub documentLoadWithOptions: ::std::option::Option<
        unsafe extern "C" fn(
            pThis: *mut LibreOfficeKit,
            pURL: *const ::std::os::raw::c_char,
            pOptions: *const ::std::os::raw::c_char,
        ) -> *mut LibreOfficeKitDocument,
    >,
    pub freeError: ::std::option::Option<unsafe extern "C" fn(pFree: *mut ::std::os::raw::c_char)>,
    pub registerCallback: ::std::option::Option<
        unsafe extern "C" fn(
            pThis: *mut LibreOfficeKit,
            pCallback: LibreOfficeKitCallback,
            pData: *mut ::std::os::raw::c_void,
        ),
    >,
    pub getFilterTypes: ::std::option::Option<
        unsafe extern "C" fn(pThis: *mut LibreOfficeKit) -> *mut ::std::os::raw::c_char,
    >,
    pub setOptionalFeatures: ::std::option::Option<
        unsafe extern "C" fn(pThis: *mut LibreOfficeKit, features: ::std::os::raw::c_ulonglong),
    >,
    pub setDocumentPassword: ::std::option::Option<
        unsafe extern "C" fn(
            pThis: *mut LibreOfficeKit,
            pURL: *const ::std::os::raw::c_char,
            pPassword: *const ::std::os::raw::c_char,
        ),
    >,
    pub getVersionInfo: ::std::option::Option<
        unsafe extern "C" fn(pThis: *mut LibreOfficeKit) -> *mut ::std::os::raw::c_char,
    >,
    pub runMacro: ::std::option::Option<
        unsafe extern "C" fn(
            pThis: *mut LibreOfficeKit,
            pURL: *const ::std::os::raw::c_char,
        ) -> ::std::os::raw::c_int,
    >,
    pub signDocument: ::std::option::Option<
        unsafe extern "C" fn(
            pThis: *mut LibreOfficeKit,
            pUrl: *const ::std::os::raw::c_char,
            pCertificateBinary: *const ::std::os::raw::c_uchar,
            nCertificateBinarySize: ::std::os::raw::c_int,
            pPrivateKeyBinary: *const ::std::os::raw::c_uchar,
            nPrivateKeyBinarySize: ::std::os::raw::c_int,
        ) -> bool,
    >,
    pub runLoop: ::std::option::Option<
        unsafe extern "C" fn(
            pThis: *mut LibreOfficeKit,
            pPollCallback: LibreOfficeKitPollCallback,
            pWakeCallback: LibreOfficeKitWakeCallback,
            pData: *mut ::std::os::raw::c_void,
        ),
    >,
    pub sendDialogEvent: ::std::option::Option<
        unsafe extern "C" fn(
            pThis: *mut LibreOfficeKit,
            nLOKWindowId: ::std::os::raw::c_ulonglong,
            pArguments: *const ::std::os::raw::c_char,
        ),
    >,
    pub setOption: ::std::option::Option<
        unsafe extern "C" fn(
            pThis: *mut LibreOfficeKit,
            pOption: *const ::std::os::raw::c_char,
            pValue: *const ::std::os::raw::c_char,
        ),
    >,
    pub dumpState: ::std::option::Option<
        unsafe extern "C" fn(
            pThis: *mut LibreOfficeKit,
            pOptions: *const ::std::os::raw::c_char,
            pState: *mut *mut ::std::os::raw::c_char,
        ),
    >,
    pub extractRequest: ::std::option::Option<
        unsafe extern "C" fn(
            pThis: *mut LibreOfficeKit,
            pFilePath: *const ::std::os::raw::c_char,
        ) -> *mut ::std::os::raw::c_char,
    >,
    pub trimMemory: ::std::option::Option<
        unsafe extern "C" fn(pThis: *mut LibreOfficeKit, nTarget: ::std::os::raw::c_int),
    >,
    pub startURP: ::std::option::Option<
        unsafe extern "C" fn(
            pThis: *mut LibreOfficeKit,
            pReceiveURPFromLOContext: *mut ::std::os::raw::c_void,
            pSendURPToLOContext: *mut ::std::os::raw::c_void,
            fnReceiveURPFromLO: ::std::option::Option<
                unsafe extern "C" fn(
                    pContext: *mut ::std::os::raw::c_void,
                    pBuffer: *const ::std::os::raw::c_schar,
                    nLen: ::std::os::raw::c_int,
                ) -> ::std::os::raw::c_int,
            >,
            fnSendURPToLO: ::std::option::Option<
                unsafe extern "C" fn(
                    pContext: *mut ::std::os::raw::c_void,
                    pBuffer: *mut ::std::os::raw::c_schar,
                    nLen: ::std::os::raw::c_int,
                ) -> ::std::os::raw::c_int,
            >,
        ) -> *mut ::std::os::raw::c_void,
    >,
    pub stopURP: ::std::option::Option<
        unsafe extern "C" fn(
            pThis: *mut LibreOfficeKit,
            pSendURPToLOContext: *mut ::std::os::raw::c_void,
        ),
    >,
}

#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct LibreOfficeKitDocument {
    pub pClass: *mut LibreOfficeKitDocumentClass,
}

#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct LibreOfficeKitDocumentClass {
    pub nSize: usize,
    pub destroy: ::std::option::Option<unsafe extern "C" fn(pThis: *mut LibreOfficeKitDocument)>,
    pub saveAs: ::std::option::Option<
        unsafe extern "C" fn(
            pThis: *mut LibreOfficeKitDocument,
            pUrl: *const ::std::os::raw::c_char,
            pFormat: *const ::std::os::raw::c_char,
            pFilterOptions: *const ::std::os::raw::c_char,
        ) -> ::std::os::raw::c_int,
    >,
    pub getDocumentType: ::std::option::Option<
        unsafe extern "C" fn(pThis: *mut LibreOfficeKitDocument) -> ::std::os::raw::c_int,
    >,
}