/* automatically generated by rust-bindgen 0.72.1 */
unsafe impl Send for MaaFramework {}
unsafe impl Sync for MaaFramework {}
pub const MaaNullSize: i32 = -1;
pub const MaaAdbScreencapMethod_EncodeToFileAndPull: u32 = 1;
pub const MaaAdbScreencapMethod_Encode: u32 = 2;
pub const MaaAdbScreencapMethod_RawWithGzip: u32 = 4;
pub const MaaAdbScreencapMethod_RawByNetcat: u32 = 8;
pub const MaaAdbScreencapMethod_MinicapDirect: u32 = 16;
pub const MaaAdbScreencapMethod_MinicapStream: u32 = 32;
pub const MaaAdbScreencapMethod_EmulatorExtras: u32 = 64;
pub const MaaAdbScreencapMethod_None: u32 = 0;
pub const MaaAdbScreencapMethod_All: i32 = -1;
pub const MaaAdbScreencapMethod_Default: i32 = -57;
pub const MaaAdbInputMethod_AdbShell: u32 = 1;
pub const MaaAdbInputMethod_MinitouchAndAdbKey: u32 = 2;
pub const MaaAdbInputMethod_Maatouch: u32 = 4;
pub const MaaAdbInputMethod_EmulatorExtras: u32 = 8;
pub const MaaAdbInputMethod_None: u32 = 0;
pub const MaaAdbInputMethod_All: i32 = -1;
pub const MaaAdbInputMethod_Default: i32 = -9;
pub const MaaWin32ScreencapMethod_None: u32 = 0;
pub const MaaWin32ScreencapMethod_GDI: u32 = 1;
pub const MaaWin32ScreencapMethod_FramePool: u32 = 2;
pub const MaaWin32ScreencapMethod_DXGI_DesktopDup: u32 = 4;
pub const MaaWin32ScreencapMethod_DXGI_DesktopDup_Window: u32 = 8;
pub const MaaWin32ScreencapMethod_PrintWindow: u32 = 16;
pub const MaaWin32ScreencapMethod_ScreenDC: u32 = 32;
pub const MaaWin32ScreencapMethod_All: i32 = -1;
pub const MaaWin32ScreencapMethod_Foreground: u32 = 40;
pub const MaaWin32ScreencapMethod_Background: u32 = 18;
pub const MaaWin32InputMethod_None: u32 = 0;
pub const MaaWin32InputMethod_Seize: u32 = 1;
pub const MaaWin32InputMethod_SendMessage: u32 = 2;
pub const MaaWin32InputMethod_PostMessage: u32 = 4;
pub const MaaWin32InputMethod_LegacyEvent: u32 = 8;
pub const MaaWin32InputMethod_PostThreadMessage: u32 = 16;
pub const MaaWin32InputMethod_SendMessageWithCursorPos: u32 = 32;
pub const MaaWin32InputMethod_PostMessageWithCursorPos: u32 = 64;
pub const MaaWin32InputMethod_SendMessageWithWindowPos: u32 = 128;
pub const MaaWin32InputMethod_PostMessageWithWindowPos: u32 = 256;
pub const MaaMacOSScreencapMethod_None: u32 = 0;
pub const MaaMacOSScreencapMethod_ScreenCaptureKit: u32 = 1;
pub const MaaMacOSInputMethod_None: u32 = 0;
pub const MaaMacOSInputMethod_GlobalEvent: u32 = 1;
pub const MaaMacOSInputMethod_PostToPid: u32 = 2;
pub const MaaGamepadType_Xbox360: u32 = 0;
pub const MaaGamepadType_DualShock4: u32 = 1;
pub const MaaGamepadButton_A: u32 = 4096;
pub const MaaGamepadButton_B: u32 = 8192;
pub const MaaGamepadButton_X: u32 = 16384;
pub const MaaGamepadButton_Y: u32 = 32768;
pub const MaaGamepadButton_LB: u32 = 256;
pub const MaaGamepadButton_RB: u32 = 512;
pub const MaaGamepadButton_LEFT_THUMB: u32 = 64;
pub const MaaGamepadButton_RIGHT_THUMB: u32 = 128;
pub const MaaGamepadButton_START: u32 = 16;
pub const MaaGamepadButton_BACK: u32 = 32;
pub const MaaGamepadButton_GUIDE: u32 = 1024;
pub const MaaGamepadButton_DPAD_UP: u32 = 1;
pub const MaaGamepadButton_DPAD_DOWN: u32 = 2;
pub const MaaGamepadButton_DPAD_LEFT: u32 = 4;
pub const MaaGamepadButton_DPAD_RIGHT: u32 = 8;
pub const MaaGamepadButton_CROSS: u32 = 4096;
pub const MaaGamepadButton_CIRCLE: u32 = 8192;
pub const MaaGamepadButton_SQUARE: u32 = 16384;
pub const MaaGamepadButton_TRIANGLE: u32 = 32768;
pub const MaaGamepadButton_L1: u32 = 256;
pub const MaaGamepadButton_R1: u32 = 512;
pub const MaaGamepadButton_L3: u32 = 64;
pub const MaaGamepadButton_R3: u32 = 128;
pub const MaaGamepadButton_OPTIONS: u32 = 16;
pub const MaaGamepadButton_SHARE: u32 = 32;
pub const MaaGamepadButton_PS: u32 = 65536;
pub const MaaGamepadButton_TOUCHPAD: u32 = 131072;
pub const MaaGamepadTouch_LeftStick: u32 = 0;
pub const MaaGamepadTouch_RightStick: u32 = 1;
pub const MaaGamepadTouch_LeftTrigger: u32 = 2;
pub const MaaGamepadTouch_RightTrigger: u32 = 3;
pub const MaaControllerFeature_None: u32 = 0;
pub const MaaControllerFeature_UseMouseDownAndUpInsteadOfClick: u32 = 1;
pub const MaaControllerFeature_UseKeyboardDownAndUpInsteadOfClick: u32 = 2;
pub const MaaControllerFeature_NoScalingTouchPoints: u32 = 4;
pub type MaaBool = u8;
pub type MaaSize = u64;
pub type MaaId = i64;
pub type MaaCtrlId = MaaId;
pub type MaaResId = MaaId;
pub type MaaTaskId = MaaId;
pub type MaaRecoId = MaaId;
pub type MaaActId = MaaId;
pub type MaaNodeId = MaaId;
pub type MaaWfId = MaaId;
pub type MaaSinkId = MaaId;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct MaaStringBuffer {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct MaaImageBuffer {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct MaaStringListBuffer {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct MaaImageListBuffer {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct MaaResource {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct MaaController {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct MaaTasker {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct MaaContext {
_unused: [u8; 0],
}
pub type MaaStatus = i32;
pub const MaaStatusEnum_MaaStatus_Invalid: MaaStatusEnum = 0;
pub const MaaStatusEnum_MaaStatus_Pending: MaaStatusEnum = 1000;
pub const MaaStatusEnum_MaaStatus_Running: MaaStatusEnum = 2000;
pub const MaaStatusEnum_MaaStatus_Succeeded: MaaStatusEnum = 3000;
pub const MaaStatusEnum_MaaStatus_Failed: MaaStatusEnum = 4000;
pub type MaaStatusEnum = ::std::os::raw::c_uint;
pub type MaaLoggingLevel = i32;
pub const MaaLoggingLevelEnum_MaaLoggingLevel_Off: MaaLoggingLevelEnum = 0;
pub const MaaLoggingLevelEnum_MaaLoggingLevel_Fatal: MaaLoggingLevelEnum = 1;
pub const MaaLoggingLevelEnum_MaaLoggingLevel_Error: MaaLoggingLevelEnum = 2;
pub const MaaLoggingLevelEnum_MaaLoggingLevel_Warn: MaaLoggingLevelEnum = 3;
pub const MaaLoggingLevelEnum_MaaLoggingLevel_Info: MaaLoggingLevelEnum = 4;
pub const MaaLoggingLevelEnum_MaaLoggingLevel_Debug: MaaLoggingLevelEnum = 5;
pub const MaaLoggingLevelEnum_MaaLoggingLevel_Trace: MaaLoggingLevelEnum = 6;
pub const MaaLoggingLevelEnum_MaaLoggingLevel_All: MaaLoggingLevelEnum = 7;
pub type MaaLoggingLevelEnum = ::std::os::raw::c_uint;
pub type MaaOption = i32;
pub type MaaOptionValue = *mut ::std::os::raw::c_void;
pub type MaaOptionValueSize = u64;
pub type MaaGlobalOption = MaaOption;
pub const MaaGlobalOptionEnum_MaaGlobalOption_Invalid: MaaGlobalOptionEnum = 0;
#[doc = " Log dir\n\n value: string, eg: \"C:\\\\Users\\\\Administrator\\\\Desktop\\\\log\"; val_size: string length"]
pub const MaaGlobalOptionEnum_MaaGlobalOption_LogDir: MaaGlobalOptionEnum = 1;
#[doc = " Whether to save draw\n\n value: bool, eg: true; val_size: sizeof(bool)"]
pub const MaaGlobalOptionEnum_MaaGlobalOption_SaveDraw: MaaGlobalOptionEnum = 2;
#[doc = " The level of log output to stdout\n\n value: MaaLoggingLevel, val_size: sizeof(MaaLoggingLevel)\n default value is MaaLoggingLevel_Error"]
pub const MaaGlobalOptionEnum_MaaGlobalOption_StdoutLevel: MaaGlobalOptionEnum = 4;
#[doc = " Whether to debug\n\n value: bool, eg: true; val_size: sizeof(bool)"]
pub const MaaGlobalOptionEnum_MaaGlobalOption_DebugMode: MaaGlobalOptionEnum = 6;
#[doc = " Whether to save screenshot on error\n\n value: bool, eg: true; val_size: sizeof(bool)"]
pub const MaaGlobalOptionEnum_MaaGlobalOption_SaveOnError: MaaGlobalOptionEnum = 7;
#[doc = " Image quality for draw images\n\n value: int, eg: 85; val_size: sizeof(int)\n default value is 85, range: [0, 100]"]
pub const MaaGlobalOptionEnum_MaaGlobalOption_DrawQuality: MaaGlobalOptionEnum = 8;
#[doc = " Recognition image cache limit\n\n value: size_t, eg: 4096; val_size: sizeof(size_t)\n default value is 4096"]
pub const MaaGlobalOptionEnum_MaaGlobalOption_RecoImageCacheLimit: MaaGlobalOptionEnum = 9;
pub type MaaGlobalOptionEnum = ::std::os::raw::c_uint;
pub type MaaResOption = MaaOption;
pub type MaaInferenceDevice = i32;
pub type MaaInferenceExecutionProvider = i32;
pub const MaaInferenceDeviceEnum_MaaInferenceDevice_CPU: MaaInferenceDeviceEnum = -2;
pub const MaaInferenceDeviceEnum_MaaInferenceDevice_Auto: MaaInferenceDeviceEnum = -1;
pub const MaaInferenceDeviceEnum_MaaInferenceDevice_0: MaaInferenceDeviceEnum = 0;
pub const MaaInferenceDeviceEnum_MaaInferenceDevice_1: MaaInferenceDeviceEnum = 1;
pub type MaaInferenceDeviceEnum = ::std::os::raw::c_int;
pub const MaaInferenceExecutionProviderEnum_MaaInferenceExecutionProvider_Auto:
MaaInferenceExecutionProviderEnum = 0;
pub const MaaInferenceExecutionProviderEnum_MaaInferenceExecutionProvider_CPU:
MaaInferenceExecutionProviderEnum = 1;
pub const MaaInferenceExecutionProviderEnum_MaaInferenceExecutionProvider_DirectML:
MaaInferenceExecutionProviderEnum = 2;
pub const MaaInferenceExecutionProviderEnum_MaaInferenceExecutionProvider_CoreML:
MaaInferenceExecutionProviderEnum = 3;
pub const MaaInferenceExecutionProviderEnum_MaaInferenceExecutionProvider_CUDA:
MaaInferenceExecutionProviderEnum = 4;
pub type MaaInferenceExecutionProviderEnum = ::std::os::raw::c_uint;
pub const MaaResOptionEnum_MaaResOption_Invalid: MaaResOptionEnum = 0;
#[doc = " Use the specified inference device.\n Please set this option before loading the model.\n\n value: MaaInferenceDevice, eg: 0; val_size: sizeof(MaaInferenceDevice)\n default value is MaaInferenceDevice_Auto"]
pub const MaaResOptionEnum_MaaResOption_InferenceDevice: MaaResOptionEnum = 1;
#[doc = " Use the specified inference execution provider\n Please set this option before loading the model.\n\n value: MaaInferenceExecutionProvider, eg: 0; val_size: sizeof(MaaInferenceExecutionProvider)\n default value is MaaInferenceExecutionProvider_Auto"]
pub const MaaResOptionEnum_MaaResOption_InferenceExecutionProvider: MaaResOptionEnum = 2;
pub type MaaResOptionEnum = ::std::os::raw::c_uint;
pub type MaaCtrlOption = MaaOption;
pub const MaaCtrlOptionEnum_MaaCtrlOption_Invalid: MaaCtrlOptionEnum = 0;
#[doc = " Only one of long and short side can be set, and the other is automatically scaled according to the aspect ratio.\n\n value: int, eg: 1280; val_size: sizeof(int)"]
pub const MaaCtrlOptionEnum_MaaCtrlOption_ScreenshotTargetLongSide: MaaCtrlOptionEnum = 1;
#[doc = " Only one of long and short side can be set, and the other is automatically scaled according to the aspect ratio.\n\n value: int, eg: 720; val_size: sizeof(int)"]
pub const MaaCtrlOptionEnum_MaaCtrlOption_ScreenshotTargetShortSide: MaaCtrlOptionEnum = 2;
#[doc = " Screenshot use raw size without scaling.\n Please note that this option may cause incorrect coordinates on user devices with different resolutions if scaling is not performed.\n\n value: bool, eg: true; val_size: sizeof(bool)"]
pub const MaaCtrlOptionEnum_MaaCtrlOption_ScreenshotUseRawSize: MaaCtrlOptionEnum = 3;
#[doc = " Enable or disable mouse-lock-follow mode for Win32 controllers.\n This is designed for TPS/FPS games that lock the mouse to their window in the background.\n Only valid for Win32 controllers using message-based input methods.\n\n value: bool, eg: true; val_size: sizeof(bool)"]
pub const MaaCtrlOptionEnum_MaaCtrlOption_MouseLockFollow: MaaCtrlOptionEnum = 4;
#[doc = " Set the interpolation method used when resizing screenshots.\n Value corresponds to cv::InterpolationFlags:\n INTER_NEAREST=0, INTER_LINEAR=1, INTER_CUBIC=2, INTER_AREA=3, INTER_LANCZOS4=4\n Default is INTER_AREA (3).\n\n value: int, eg: 3; val_size: sizeof(int)"]
pub const MaaCtrlOptionEnum_MaaCtrlOption_ScreenshotResizeMethod: MaaCtrlOptionEnum = 6;
#[doc = " @brief Option keys for controller instance options. See MaaControllerSetOption().\n"]
pub type MaaCtrlOptionEnum = ::std::os::raw::c_uint;
pub type MaaTaskerOption = MaaOption;
pub const MaaTaskerOptionEnum_MaaTaskerOption_Invalid: MaaTaskerOptionEnum = 0;
pub type MaaTaskerOptionEnum = ::std::os::raw::c_uint;
#[doc = " @brief Adb screencap method flags\n\n Use bitwise OR to set the methods you need.\n MaaFramework will test all provided methods and use the fastest available one.\n\n Default: All methods except RawByNetcat, MinicapDirect, MinicapStream\n\n Note: MinicapDirect and MinicapStream use lossy JPEG encoding, which may\n significantly reduce template matching accuracy. Not recommended.\n\n | Method | Speed | Compatibility | Encoding | Notes |\n |-----------------------|------------|---------------|----------|-----------------------------------|\n | EncodeToFileAndPull | Slow | High | Lossless | |\n | Encode | Slow | High | Lossless | |\n | RawWithGzip | Medium | High | Lossless | |\n | RawByNetcat | Fast | Low | Lossless | |\n | MinicapDirect | Fast | Low | Lossy | |\n | MinicapStream | Very Fast | Low | Lossy | |\n | EmulatorExtras | Very Fast | Low | Lossless | Emulators only: MuMu 12, LDPlayer 9 |"]
pub type MaaAdbScreencapMethod = u64;
#[doc = " @brief Adb input method flags\n\n Use bitwise OR to set the methods you need.\n MaaFramework will select the first available method according to priority.\n\n Priority (high to low): EmulatorExtras > Maatouch > MinitouchAndAdbKey > AdbShell\n\n Default: All methods except EmulatorExtras\n\n | Method | Speed | Compatibility | Notes |\n |----------------------|-------|---------------|---------------------------------------|\n | AdbShell | Slow | High | |\n | MinitouchAndAdbKey | Fast | Medium | Key press still uses AdbShell |\n | Maatouch | Fast | Medium | |\n | EmulatorExtras | Fast | Low | Emulators only: MuMu 12 |"]
pub type MaaAdbInputMethod = u64;
#[doc = " @brief Win32 screencap method flags\n\n Use bitwise OR to set the methods you need.\n MaaFramework will test all provided methods and use the fastest available one.\n\n No default value. Client should choose one as default.\n\n Predefined combinations:\n - Foreground: DXGI_DesktopDup_Window | ScreenDC\n - Background: FramePool | PrintWindow\n\n Different applications use different rendering methods, there is no universal solution.\n\n | Method | Speed | Compatibility | Require Admin | Background Support | Notes |\n |-------------------------|-----------|---------------|---------------|--------------------|----------------------------------|\n | GDI | Fast | Medium | No | No | |\n | FramePool | Very Fast | Medium | No | Yes | Requires Windows 10 1903+ |\n | DXGI_DesktopDup | Very Fast | Low | No | No | Desktop duplication (full screen)|\n | DXGI_DesktopDup_Window | Very Fast | Low | No | No | Desktop duplication then crop |\n | PrintWindow | Medium | Medium | No | Yes | |\n | ScreenDC | Fast | High | No | No | |\n\n Note: FramePool and PrintWindow support pseudo-minimize — when the target window\n is minimized, they make it transparent and click-through, then restore it without\n activation, allowing screencap to continue without disturbing the user.\n Other screencap methods will fail when the target window is minimized."]
pub type MaaWin32ScreencapMethod = u64;
#[doc = " @brief Win32 input method\n\n No bitwise OR, select ONE method only.\n\n No default value. Client should choose one as default.\n\n Different applications process input differently, there is no universal solution.\n\n | Method | Compatibility | Require Admin | Seize Mouse | Background Support | Notes |\n |------------------------------|---------------|---------------|--------------|--------------------|-------------------------------------------------------------\n | | Seize | High | No | Yes | No | | | SendMessage |\n Medium | Maybe | No | Yes | | |\n PostMessage | Medium | Maybe | No | Yes | | | LegacyEvent | Low\n | No | Yes | No | | | PostThreadMessage\n | Low | Maybe | No | Yes | | |\n SendMessageWithCursorPos | Medium | Maybe | Briefly | Yes | Moves cursor to target position, then\n restores | | PostMessageWithCursorPos | Medium | Maybe | Briefly | Yes | Moves cursor\n to target position, then restores | | SendMessageWithWindowPos | Medium | Maybe | No | Yes |\n Moves window to align target with cursor, then restores | | PostMessageWithWindowPos | Medium | Maybe | No | Yes |\n Moves window to align target with cursor, then restores |\n\n Note:\n - Admin rights mainly depend on the target application's privilege level.\n If the target runs as admin, MaaFramework should also run as admin for compatibility.\n - \"WithCursorPos\" methods briefly move the cursor to target position, send message,\n then restore cursor position. This \"briefly\" seizes the mouse but won't block user operations.\n - \"WithWindowPos\" methods briefly move the window so the target aligns with the current cursor\n position, send message, then restore the window position. The cursor is not moved."]
pub type MaaWin32InputMethod = u64;
#[doc = " @brief macOS screencap method\n\n Select ONE method only.\n\n | Method | Description |\n |-----------------|------------------------------------------------|\n | ScreenCaptureKit| Modern macOS screencap using ScreenCaptureKit |"]
pub type MaaMacOSScreencapMethod = u64;
#[doc = " @brief macOS input method\n\n Select ONE method only.\n\n | Method | Description |\n |-----------------|------------------------------------------------|\n | GlobalEvent | Injects into the global HID event stream via CGEventPost(kCGHIDEventTap), dispatched by the OS to the front window |\n | PostToPid | Directly send to target process using CGEventPostToPid |"]
pub type MaaMacOSInputMethod = u64;
#[doc = " @brief Virtual gamepad type\n\n Select ONE type only.\n\n | Type | Description |\n |---------------|------------------------------------------------|\n | Xbox360 | Microsoft Xbox 360 Controller (wired) |\n | DualShock4 | Sony DualShock 4 Controller (wired) |"]
pub type MaaGamepadType = u64;
#[doc = " @brief Virtual gamepad button codes for click_key/key_down/key_up\n\n Use these values with MaaControllerPostClickKey, MaaControllerPostKeyDown, MaaControllerPostKeyUp.\n Values are based on XUSB (Xbox 360) button flags. DS4 face buttons are mapped to Xbox equivalents.\n\n Xbox 360 buttons:\n\n | Value | Button | Description |\n |---------|---------------------|------------------------|\n | 0x1000 | A | A button |\n | 0x2000 | B | B button |\n | 0x4000 | X | X button |\n | 0x8000 | Y | Y button |\n | 0x0100 | LB (Left Shoulder) | Left bumper |\n | 0x0200 | RB (Right Shoulder) | Right bumper |\n | 0x0040 | L_THUMB | Left stick click |\n | 0x0080 | R_THUMB | Right stick click |\n | 0x0010 | START | Start button |\n | 0x0020 | BACK | Back button |\n | 0x0400 | GUIDE | Guide/Home button |\n | 0x0001 | DPAD_UP | D-pad up |\n | 0x0002 | DPAD_DOWN | D-pad down |\n | 0x0004 | DPAD_LEFT | D-pad left |\n | 0x0008 | DPAD_RIGHT | D-pad right |\n\n DualShock 4 buttons (aliases to Xbox buttons):\n\n | Value | Button | Xbox Equivalent | Description |\n |---------|-----------|-----------------|---------------------------|\n | 0x1000 | CROSS | A | Cross (X) button |\n | 0x2000 | CIRCLE | B | Circle button |\n | 0x4000 | SQUARE | X | Square button |\n | 0x8000 | TRIANGLE | Y | Triangle button |\n | 0x0100 | L1 | LB | L1 button |\n | 0x0200 | R1 | RB | R1 button |\n | 0x0040 | L3 | L_THUMB | Left stick click |\n | 0x0080 | R3 | R_THUMB | Right stick click |\n | 0x0010 | OPTIONS | START | Options button |\n | 0x0020 | SHARE | BACK | Share button |\n | 0x10000 | PS | - | PS button (DS4 special) |\n | 0x20000 | TOUCHPAD | - | Touchpad click (DS4 only) |"]
pub type MaaGamepadButton = u64;
#[doc = " @brief Virtual gamepad touch contact definitions for touch_down/touch_move/touch_up\n\n For gamepad controller, the touch functions are repurposed for analog inputs:\n - x, y: Analog stick position\n - pressure: Trigger value (0~255)\n\n Contact mapping:\n\n | Contact | Input | x range | y range | pressure | Description |\n |---------|-----------------|-------------|-------------|------------|--------------------------------|\n | 0 | Left Stick | -32768~32767| -32768~32767| ignored | Left analog stick X/Y position |\n | 1 | Right Stick | -32768~32767| -32768~32767| ignored | Right analog stick X/Y position|\n | 2 | Left Trigger | ignored | ignored | 0~255 | Left trigger (LT/L2) value |\n | 3 | Right Trigger | ignored | ignored | 0~255 | Right trigger (RT/R2) value |\n\n Usage:\n - touch_down(contact, x, y, pressure): Start analog input\n - touch_move(contact, x, y, pressure): Update analog input position/value\n - touch_up(contact): Release/reset analog input to center/zero"]
pub type MaaGamepadTouch = u64;
#[doc = " Controller feature flags returned by get_features().\n These flags indicate which input methods the controller supports/prefers."]
pub type MaaControllerFeature = u64;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct MaaRect {
pub x: i32,
pub y: i32,
pub width: i32,
pub height: i32,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
["Size of MaaRect"][::std::mem::size_of::<MaaRect>() - 16usize];
["Alignment of MaaRect"][::std::mem::align_of::<MaaRect>() - 4usize];
["Offset of field: MaaRect::x"][::std::mem::offset_of!(MaaRect, x) - 0usize];
["Offset of field: MaaRect::y"][::std::mem::offset_of!(MaaRect, y) - 4usize];
["Offset of field: MaaRect::width"][::std::mem::offset_of!(MaaRect, width) - 8usize];
["Offset of field: MaaRect::height"][::std::mem::offset_of!(MaaRect, height) - 12usize];
};
pub type MaaNotificationCallback = ::std::option::Option<
unsafe extern "C" fn(
message: *const ::std::os::raw::c_char,
details_json: *const ::std::os::raw::c_char,
notify_trans_arg: *mut ::std::os::raw::c_void,
),
>;
#[doc = " void* handle:\n - MaaTasker* for MaaTasker event\n - MaaResource* for MaaResource event\n - MaaController* for MaaController event\n - MaaContext* for MaaContext event"]
pub type MaaEventCallback = ::std::option::Option<
unsafe extern "C" fn(
handle: *mut ::std::os::raw::c_void,
message: *const ::std::os::raw::c_char,
details_json: *const ::std::os::raw::c_char,
trans_arg: *mut ::std::os::raw::c_void,
),
>;
pub type MaaCustomRecognitionCallback = ::std::option::Option<
unsafe extern "C" fn(
context: *mut MaaContext,
task_id: MaaTaskId,
node_name: *const ::std::os::raw::c_char,
custom_recognition_name: *const ::std::os::raw::c_char,
custom_recognition_param: *const ::std::os::raw::c_char,
image: *const MaaImageBuffer,
roi: *const MaaRect,
trans_arg: *mut ::std::os::raw::c_void,
out_box: *mut MaaRect,
out_detail: *mut MaaStringBuffer,
) -> MaaBool,
>;
pub type MaaCustomActionCallback = ::std::option::Option<
unsafe extern "C" fn(
context: *mut MaaContext,
task_id: MaaTaskId,
node_name: *const ::std::os::raw::c_char,
custom_action_name: *const ::std::os::raw::c_char,
custom_action_param: *const ::std::os::raw::c_char,
reco_id: MaaRecoId,
box_: *const MaaRect,
trans_arg: *mut ::std::os::raw::c_void,
) -> MaaBool,
>;
pub type MaaImageRawData = *mut ::std::os::raw::c_void;
pub type MaaImageEncodedData = *mut u8;
#[doc = " @brief The custom controller API.\n\n To create a custom controller, you need to implement this API.\n\n You do not have to implement all the functions in this API. Instead, just implement the\n functions you need. Do note that if an unimplemented function is called, the framework will\n likely crash."]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct MaaCustomControllerCallbacks {
pub connect: ::std::option::Option<
unsafe extern "C" fn(trans_arg: *mut ::std::os::raw::c_void) -> MaaBool,
>,
pub connected: ::std::option::Option<
unsafe extern "C" fn(trans_arg: *mut ::std::os::raw::c_void) -> MaaBool,
>,
#[doc = " Write result to buffer."]
pub request_uuid: ::std::option::Option<
unsafe extern "C" fn(
trans_arg: *mut ::std::os::raw::c_void,
buffer: *mut MaaStringBuffer,
) -> MaaBool,
>,
pub get_features: ::std::option::Option<
unsafe extern "C" fn(trans_arg: *mut ::std::os::raw::c_void) -> MaaControllerFeature,
>,
pub start_app: ::std::option::Option<
unsafe extern "C" fn(
intent: *const ::std::os::raw::c_char,
trans_arg: *mut ::std::os::raw::c_void,
) -> MaaBool,
>,
pub stop_app: ::std::option::Option<
unsafe extern "C" fn(
intent: *const ::std::os::raw::c_char,
trans_arg: *mut ::std::os::raw::c_void,
) -> MaaBool,
>,
#[doc = " Write result to buffer."]
pub screencap: ::std::option::Option<
unsafe extern "C" fn(
trans_arg: *mut ::std::os::raw::c_void,
buffer: *mut MaaImageBuffer,
) -> MaaBool,
>,
pub click: ::std::option::Option<
unsafe extern "C" fn(x: i32, y: i32, trans_arg: *mut ::std::os::raw::c_void) -> MaaBool,
>,
pub swipe: ::std::option::Option<
unsafe extern "C" fn(
x1: i32,
y1: i32,
x2: i32,
y2: i32,
duration: i32,
trans_arg: *mut ::std::os::raw::c_void,
) -> MaaBool,
>,
pub touch_down: ::std::option::Option<
unsafe extern "C" fn(
contact: i32,
x: i32,
y: i32,
pressure: i32,
trans_arg: *mut ::std::os::raw::c_void,
) -> MaaBool,
>,
pub touch_move: ::std::option::Option<
unsafe extern "C" fn(
contact: i32,
x: i32,
y: i32,
pressure: i32,
trans_arg: *mut ::std::os::raw::c_void,
) -> MaaBool,
>,
pub touch_up: ::std::option::Option<
unsafe extern "C" fn(contact: i32, trans_arg: *mut ::std::os::raw::c_void) -> MaaBool,
>,
pub click_key: ::std::option::Option<
unsafe extern "C" fn(keycode: i32, trans_arg: *mut ::std::os::raw::c_void) -> MaaBool,
>,
pub input_text: ::std::option::Option<
unsafe extern "C" fn(
text: *const ::std::os::raw::c_char,
trans_arg: *mut ::std::os::raw::c_void,
) -> MaaBool,
>,
pub key_down: ::std::option::Option<
unsafe extern "C" fn(keycode: i32, trans_arg: *mut ::std::os::raw::c_void) -> MaaBool,
>,
pub key_up: ::std::option::Option<
unsafe extern "C" fn(keycode: i32, trans_arg: *mut ::std::os::raw::c_void) -> MaaBool,
>,
pub scroll: ::std::option::Option<
unsafe extern "C" fn(dx: i32, dy: i32, trans_arg: *mut ::std::os::raw::c_void) -> MaaBool,
>,
pub relative_move: ::std::option::Option<
unsafe extern "C" fn(dx: i32, dy: i32, trans_arg: *mut ::std::os::raw::c_void) -> MaaBool,
>,
#[doc = " Write result to buffer."]
pub shell: ::std::option::Option<
unsafe extern "C" fn(
cmd: *const ::std::os::raw::c_char,
timeout: i64,
trans_arg: *mut ::std::os::raw::c_void,
buffer: *mut MaaStringBuffer,
) -> MaaBool,
>,
pub inactive: ::std::option::Option<
unsafe extern "C" fn(trans_arg: *mut ::std::os::raw::c_void) -> MaaBool,
>,
#[doc = " Write result (JSON string) to buffer. Optional, can be NULL."]
pub get_info: ::std::option::Option<
unsafe extern "C" fn(
trans_arg: *mut ::std::os::raw::c_void,
buffer: *mut MaaStringBuffer,
) -> MaaBool,
>,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
["Size of MaaCustomControllerCallbacks"]
[::std::mem::size_of::<MaaCustomControllerCallbacks>() - 168usize];
["Alignment of MaaCustomControllerCallbacks"]
[::std::mem::align_of::<MaaCustomControllerCallbacks>() - 8usize];
["Offset of field: MaaCustomControllerCallbacks::connect"]
[::std::mem::offset_of!(MaaCustomControllerCallbacks, connect) - 0usize];
["Offset of field: MaaCustomControllerCallbacks::connected"]
[::std::mem::offset_of!(MaaCustomControllerCallbacks, connected) - 8usize];
["Offset of field: MaaCustomControllerCallbacks::request_uuid"]
[::std::mem::offset_of!(MaaCustomControllerCallbacks, request_uuid) - 16usize];
["Offset of field: MaaCustomControllerCallbacks::get_features"]
[::std::mem::offset_of!(MaaCustomControllerCallbacks, get_features) - 24usize];
["Offset of field: MaaCustomControllerCallbacks::start_app"]
[::std::mem::offset_of!(MaaCustomControllerCallbacks, start_app) - 32usize];
["Offset of field: MaaCustomControllerCallbacks::stop_app"]
[::std::mem::offset_of!(MaaCustomControllerCallbacks, stop_app) - 40usize];
["Offset of field: MaaCustomControllerCallbacks::screencap"]
[::std::mem::offset_of!(MaaCustomControllerCallbacks, screencap) - 48usize];
["Offset of field: MaaCustomControllerCallbacks::click"]
[::std::mem::offset_of!(MaaCustomControllerCallbacks, click) - 56usize];
["Offset of field: MaaCustomControllerCallbacks::swipe"]
[::std::mem::offset_of!(MaaCustomControllerCallbacks, swipe) - 64usize];
["Offset of field: MaaCustomControllerCallbacks::touch_down"]
[::std::mem::offset_of!(MaaCustomControllerCallbacks, touch_down) - 72usize];
["Offset of field: MaaCustomControllerCallbacks::touch_move"]
[::std::mem::offset_of!(MaaCustomControllerCallbacks, touch_move) - 80usize];
["Offset of field: MaaCustomControllerCallbacks::touch_up"]
[::std::mem::offset_of!(MaaCustomControllerCallbacks, touch_up) - 88usize];
["Offset of field: MaaCustomControllerCallbacks::click_key"]
[::std::mem::offset_of!(MaaCustomControllerCallbacks, click_key) - 96usize];
["Offset of field: MaaCustomControllerCallbacks::input_text"]
[::std::mem::offset_of!(MaaCustomControllerCallbacks, input_text) - 104usize];
["Offset of field: MaaCustomControllerCallbacks::key_down"]
[::std::mem::offset_of!(MaaCustomControllerCallbacks, key_down) - 112usize];
["Offset of field: MaaCustomControllerCallbacks::key_up"]
[::std::mem::offset_of!(MaaCustomControllerCallbacks, key_up) - 120usize];
["Offset of field: MaaCustomControllerCallbacks::scroll"]
[::std::mem::offset_of!(MaaCustomControllerCallbacks, scroll) - 128usize];
["Offset of field: MaaCustomControllerCallbacks::relative_move"]
[::std::mem::offset_of!(MaaCustomControllerCallbacks, relative_move) - 136usize];
["Offset of field: MaaCustomControllerCallbacks::shell"]
[::std::mem::offset_of!(MaaCustomControllerCallbacks, shell) - 144usize];
["Offset of field: MaaCustomControllerCallbacks::inactive"]
[::std::mem::offset_of!(MaaCustomControllerCallbacks, inactive) - 152usize];
["Offset of field: MaaCustomControllerCallbacks::get_info"]
[::std::mem::offset_of!(MaaCustomControllerCallbacks, get_info) - 160usize];
};
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct MaaAgentClient {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct MaaToolkitAdbDevice {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct MaaToolkitAdbDeviceList {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct MaaToolkitDesktopWindow {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct MaaToolkitDesktopWindowList {
_unused: [u8; 0],
}
pub const MaaMacOSPermissionEnum_MaaMacOSPermissionScreenCapture: MaaMacOSPermissionEnum = 1;
pub const MaaMacOSPermissionEnum_MaaMacOSPermissionAccessibility: MaaMacOSPermissionEnum = 2;
pub type MaaMacOSPermissionEnum = ::std::os::raw::c_uint;
pub type MaaMacOSPermission = i32;
pub struct MaaFramework {
__library: CompositeLibrary,
pub MaaTaskerCreate: Result<unsafe extern "C" fn() -> *mut MaaTasker, ::libloading::Error>,
pub MaaTaskerDestroy: Result<unsafe extern "C" fn(tasker: *mut MaaTasker), ::libloading::Error>,
pub MaaTaskerAddSink: Result<
unsafe extern "C" fn(
tasker: *mut MaaTasker,
sink: MaaEventCallback,
trans_arg: *mut ::std::os::raw::c_void,
) -> MaaSinkId,
::libloading::Error,
>,
pub MaaTaskerRemoveSink: Result<
unsafe extern "C" fn(tasker: *mut MaaTasker, sink_id: MaaSinkId),
::libloading::Error,
>,
pub MaaTaskerClearSinks:
Result<unsafe extern "C" fn(tasker: *mut MaaTasker), ::libloading::Error>,
pub MaaTaskerAddContextSink: Result<
unsafe extern "C" fn(
tasker: *mut MaaTasker,
sink: MaaEventCallback,
trans_arg: *mut ::std::os::raw::c_void,
) -> MaaSinkId,
::libloading::Error,
>,
pub MaaTaskerRemoveContextSink: Result<
unsafe extern "C" fn(tasker: *mut MaaTasker, sink_id: MaaSinkId),
::libloading::Error,
>,
pub MaaTaskerClearContextSinks:
Result<unsafe extern "C" fn(tasker: *mut MaaTasker), ::libloading::Error>,
pub MaaTaskerSetOption: Result<
unsafe extern "C" fn(
tasker: *mut MaaTasker,
key: MaaTaskerOption,
value: MaaOptionValue,
val_size: MaaOptionValueSize,
) -> MaaBool,
::libloading::Error,
>,
pub MaaTaskerBindResource: Result<
unsafe extern "C" fn(tasker: *mut MaaTasker, res: *mut MaaResource) -> MaaBool,
::libloading::Error,
>,
pub MaaTaskerBindController: Result<
unsafe extern "C" fn(tasker: *mut MaaTasker, ctrl: *mut MaaController) -> MaaBool,
::libloading::Error,
>,
pub MaaTaskerInited:
Result<unsafe extern "C" fn(tasker: *const MaaTasker) -> MaaBool, ::libloading::Error>,
pub MaaTaskerPostTask: Result<
unsafe extern "C" fn(
tasker: *mut MaaTasker,
entry: *const ::std::os::raw::c_char,
pipeline_override: *const ::std::os::raw::c_char,
) -> MaaTaskId,
::libloading::Error,
>,
pub MaaTaskerPostRecognition: Result<
unsafe extern "C" fn(
tasker: *mut MaaTasker,
reco_type: *const ::std::os::raw::c_char,
reco_param: *const ::std::os::raw::c_char,
image: *const MaaImageBuffer,
) -> MaaTaskId,
::libloading::Error,
>,
pub MaaTaskerPostAction: Result<
unsafe extern "C" fn(
tasker: *mut MaaTasker,
action_type: *const ::std::os::raw::c_char,
action_param: *const ::std::os::raw::c_char,
box_: *const MaaRect,
reco_detail: *const ::std::os::raw::c_char,
) -> MaaTaskId,
::libloading::Error,
>,
pub MaaTaskerStatus: Result<
unsafe extern "C" fn(tasker: *const MaaTasker, id: MaaTaskId) -> MaaStatus,
::libloading::Error,
>,
pub MaaTaskerWait: Result<
unsafe extern "C" fn(tasker: *const MaaTasker, id: MaaTaskId) -> MaaStatus,
::libloading::Error,
>,
pub MaaTaskerRunning:
Result<unsafe extern "C" fn(tasker: *const MaaTasker) -> MaaBool, ::libloading::Error>,
pub MaaTaskerPostStop:
Result<unsafe extern "C" fn(tasker: *mut MaaTasker) -> MaaTaskId, ::libloading::Error>,
pub MaaTaskerStopping:
Result<unsafe extern "C" fn(tasker: *const MaaTasker) -> MaaBool, ::libloading::Error>,
pub MaaTaskerGetResource: Result<
unsafe extern "C" fn(tasker: *const MaaTasker) -> *mut MaaResource,
::libloading::Error,
>,
pub MaaTaskerGetController: Result<
unsafe extern "C" fn(tasker: *const MaaTasker) -> *mut MaaController,
::libloading::Error,
>,
pub MaaTaskerClearCache:
Result<unsafe extern "C" fn(tasker: *mut MaaTasker) -> MaaBool, ::libloading::Error>,
pub MaaTaskerOverridePipeline: Result<
unsafe extern "C" fn(
tasker: *mut MaaTasker,
task_id: MaaTaskId,
pipeline_override: *const ::std::os::raw::c_char,
) -> MaaBool,
::libloading::Error,
>,
pub MaaTaskerGetRecognitionDetail: Result<
unsafe extern "C" fn(
tasker: *const MaaTasker,
reco_id: MaaRecoId,
node_name: *mut MaaStringBuffer,
algorithm: *mut MaaStringBuffer,
hit: *mut MaaBool,
box_: *mut MaaRect,
detail_json: *mut MaaStringBuffer,
raw: *mut MaaImageBuffer,
draws: *mut MaaImageListBuffer,
) -> MaaBool,
::libloading::Error,
>,
pub MaaTaskerGetActionDetail: Result<
unsafe extern "C" fn(
tasker: *const MaaTasker,
action_id: MaaActId,
node_name: *mut MaaStringBuffer,
action: *mut MaaStringBuffer,
box_: *mut MaaRect,
success: *mut MaaBool,
detail_json: *mut MaaStringBuffer,
) -> MaaBool,
::libloading::Error,
>,
pub MaaTaskerGetWaitFreezesDetail: Result<
unsafe extern "C" fn(
tasker: *const MaaTasker,
wf_id: MaaWfId,
node_name: *mut MaaStringBuffer,
phase: *mut MaaStringBuffer,
success: *mut MaaBool,
elapsed_ms: *mut MaaSize,
reco_id_list: *mut MaaRecoId,
reco_id_list_size: *mut MaaSize,
roi: *mut MaaRect,
) -> MaaBool,
::libloading::Error,
>,
pub MaaTaskerGetNodeDetail: Result<
unsafe extern "C" fn(
tasker: *const MaaTasker,
node_id: MaaNodeId,
node_name: *mut MaaStringBuffer,
reco_id: *mut MaaRecoId,
action_id: *mut MaaActId,
completed: *mut MaaBool,
) -> MaaBool,
::libloading::Error,
>,
pub MaaTaskerGetTaskDetail: Result<
unsafe extern "C" fn(
tasker: *const MaaTasker,
task_id: MaaTaskId,
entry: *mut MaaStringBuffer,
node_id_list: *mut MaaNodeId,
node_id_list_size: *mut MaaSize,
status: *mut MaaStatus,
) -> MaaBool,
::libloading::Error,
>,
pub MaaTaskerGetLatestNode: Result<
unsafe extern "C" fn(
tasker: *const MaaTasker,
node_name: *const ::std::os::raw::c_char,
latest_id: *mut MaaNodeId,
) -> MaaBool,
::libloading::Error,
>,
pub MaaResourceCreate: Result<unsafe extern "C" fn() -> *mut MaaResource, ::libloading::Error>,
pub MaaResourceDestroy:
Result<unsafe extern "C" fn(res: *mut MaaResource), ::libloading::Error>,
pub MaaResourceAddSink: Result<
unsafe extern "C" fn(
res: *mut MaaResource,
sink: MaaEventCallback,
trans_arg: *mut ::std::os::raw::c_void,
) -> MaaSinkId,
::libloading::Error,
>,
pub MaaResourceRemoveSink: Result<
unsafe extern "C" fn(res: *mut MaaResource, sink_id: MaaSinkId),
::libloading::Error,
>,
pub MaaResourceClearSinks:
Result<unsafe extern "C" fn(res: *mut MaaResource), ::libloading::Error>,
pub MaaResourceRegisterCustomRecognition: Result<
unsafe extern "C" fn(
res: *mut MaaResource,
name: *const ::std::os::raw::c_char,
recognition: MaaCustomRecognitionCallback,
trans_arg: *mut ::std::os::raw::c_void,
) -> MaaBool,
::libloading::Error,
>,
pub MaaResourceUnregisterCustomRecognition: Result<
unsafe extern "C" fn(res: *mut MaaResource, name: *const ::std::os::raw::c_char) -> MaaBool,
::libloading::Error,
>,
pub MaaResourceClearCustomRecognition:
Result<unsafe extern "C" fn(res: *mut MaaResource) -> MaaBool, ::libloading::Error>,
pub MaaResourceRegisterCustomAction: Result<
unsafe extern "C" fn(
res: *mut MaaResource,
name: *const ::std::os::raw::c_char,
action: MaaCustomActionCallback,
trans_arg: *mut ::std::os::raw::c_void,
) -> MaaBool,
::libloading::Error,
>,
pub MaaResourceUnregisterCustomAction: Result<
unsafe extern "C" fn(res: *mut MaaResource, name: *const ::std::os::raw::c_char) -> MaaBool,
::libloading::Error,
>,
pub MaaResourceClearCustomAction:
Result<unsafe extern "C" fn(res: *mut MaaResource) -> MaaBool, ::libloading::Error>,
pub MaaResourcePostBundle: Result<
unsafe extern "C" fn(
res: *mut MaaResource,
path: *const ::std::os::raw::c_char,
) -> MaaResId,
::libloading::Error,
>,
pub MaaResourcePostOcrModel: Result<
unsafe extern "C" fn(
res: *mut MaaResource,
path: *const ::std::os::raw::c_char,
) -> MaaResId,
::libloading::Error,
>,
pub MaaResourcePostPipeline: Result<
unsafe extern "C" fn(
res: *mut MaaResource,
path: *const ::std::os::raw::c_char,
) -> MaaResId,
::libloading::Error,
>,
pub MaaResourcePostImage: Result<
unsafe extern "C" fn(
res: *mut MaaResource,
path: *const ::std::os::raw::c_char,
) -> MaaResId,
::libloading::Error,
>,
pub MaaResourceOverridePipeline: Result<
unsafe extern "C" fn(
res: *mut MaaResource,
pipeline_override: *const ::std::os::raw::c_char,
) -> MaaBool,
::libloading::Error,
>,
pub MaaResourceOverrideNext: Result<
unsafe extern "C" fn(
res: *mut MaaResource,
node_name: *const ::std::os::raw::c_char,
next_list: *const MaaStringListBuffer,
) -> MaaBool,
::libloading::Error,
>,
pub MaaResourceOverrideImage: Result<
unsafe extern "C" fn(
res: *mut MaaResource,
image_name: *const ::std::os::raw::c_char,
image: *const MaaImageBuffer,
) -> MaaBool,
::libloading::Error,
>,
pub MaaResourceGetNodeData: Result<
unsafe extern "C" fn(
res: *mut MaaResource,
node_name: *const ::std::os::raw::c_char,
buffer: *mut MaaStringBuffer,
) -> MaaBool,
::libloading::Error,
>,
pub MaaResourceClear:
Result<unsafe extern "C" fn(res: *mut MaaResource) -> MaaBool, ::libloading::Error>,
pub MaaResourceStatus: Result<
unsafe extern "C" fn(res: *const MaaResource, id: MaaResId) -> MaaStatus,
::libloading::Error,
>,
pub MaaResourceWait: Result<
unsafe extern "C" fn(res: *const MaaResource, id: MaaResId) -> MaaStatus,
::libloading::Error,
>,
pub MaaResourceLoaded:
Result<unsafe extern "C" fn(res: *const MaaResource) -> MaaBool, ::libloading::Error>,
pub MaaResourceSetOption: Result<
unsafe extern "C" fn(
res: *mut MaaResource,
key: MaaResOption,
value: MaaOptionValue,
val_size: MaaOptionValueSize,
) -> MaaBool,
::libloading::Error,
>,
pub MaaResourceGetHash: Result<
unsafe extern "C" fn(res: *const MaaResource, buffer: *mut MaaStringBuffer) -> MaaBool,
::libloading::Error,
>,
pub MaaResourceGetNodeList: Result<
unsafe extern "C" fn(res: *const MaaResource, buffer: *mut MaaStringListBuffer) -> MaaBool,
::libloading::Error,
>,
pub MaaResourceGetCustomRecognitionList: Result<
unsafe extern "C" fn(res: *const MaaResource, buffer: *mut MaaStringListBuffer) -> MaaBool,
::libloading::Error,
>,
pub MaaResourceGetCustomActionList: Result<
unsafe extern "C" fn(res: *const MaaResource, buffer: *mut MaaStringListBuffer) -> MaaBool,
::libloading::Error,
>,
pub MaaResourceGetDefaultRecognitionParam: Result<
unsafe extern "C" fn(
res: *const MaaResource,
reco_type: *const ::std::os::raw::c_char,
buffer: *mut MaaStringBuffer,
) -> MaaBool,
::libloading::Error,
>,
pub MaaResourceGetDefaultActionParam: Result<
unsafe extern "C" fn(
res: *const MaaResource,
action_type: *const ::std::os::raw::c_char,
buffer: *mut MaaStringBuffer,
) -> MaaBool,
::libloading::Error,
>,
pub MaaAdbControllerCreate: Result<
unsafe extern "C" fn(
adb_path: *const ::std::os::raw::c_char,
address: *const ::std::os::raw::c_char,
screencap_methods: MaaAdbScreencapMethod,
input_methods: MaaAdbInputMethod,
config: *const ::std::os::raw::c_char,
agent_path: *const ::std::os::raw::c_char,
) -> *mut MaaController,
::libloading::Error,
>,
pub MaaWin32ControllerCreate: Result<
unsafe extern "C" fn(
hWnd: *mut ::std::os::raw::c_void,
screencap_method: MaaWin32ScreencapMethod,
mouse_method: MaaWin32InputMethod,
keyboard_method: MaaWin32InputMethod,
) -> *mut MaaController,
::libloading::Error,
>,
pub MaaMacOSControllerCreate: Result<
unsafe extern "C" fn(
window_id: u32,
screencap_method: MaaMacOSScreencapMethod,
input_method: MaaMacOSInputMethod,
) -> *mut MaaController,
::libloading::Error,
>,
pub MaaAndroidNativeControllerCreate: Result<
unsafe extern "C" fn(config_json: *const ::std::os::raw::c_char) -> *mut MaaController,
::libloading::Error,
>,
pub MaaCustomControllerCreate: Result<
unsafe extern "C" fn(
controller: *mut MaaCustomControllerCallbacks,
controller_arg: *mut ::std::os::raw::c_void,
) -> *mut MaaController,
::libloading::Error,
>,
pub MaaDbgControllerCreate: Result<
unsafe extern "C" fn(read_path: *const ::std::os::raw::c_char) -> *mut MaaController,
::libloading::Error,
>,
pub MaaReplayControllerCreate: Result<
unsafe extern "C" fn(recording_path: *const ::std::os::raw::c_char) -> *mut MaaController,
::libloading::Error,
>,
pub MaaRecordControllerCreate: Result<
unsafe extern "C" fn(
inner: *mut MaaController,
recording_path: *const ::std::os::raw::c_char,
) -> *mut MaaController,
::libloading::Error,
>,
pub MaaPlayCoverControllerCreate: Result<
unsafe extern "C" fn(
address: *const ::std::os::raw::c_char,
uuid: *const ::std::os::raw::c_char,
) -> *mut MaaController,
::libloading::Error,
>,
pub MaaWlRootsControllerCreate: Result<
unsafe extern "C" fn(wlr_socket_path: *const ::std::os::raw::c_char) -> *mut MaaController,
::libloading::Error,
>,
pub MaaGamepadControllerCreate: Result<
unsafe extern "C" fn(
hWnd: *mut ::std::os::raw::c_void,
gamepad_type: MaaGamepadType,
screencap_method: MaaWin32ScreencapMethod,
) -> *mut MaaController,
::libloading::Error,
>,
pub MaaControllerDestroy:
Result<unsafe extern "C" fn(ctrl: *mut MaaController), ::libloading::Error>,
pub MaaControllerAddSink: Result<
unsafe extern "C" fn(
ctrl: *mut MaaController,
sink: MaaEventCallback,
trans_arg: *mut ::std::os::raw::c_void,
) -> MaaSinkId,
::libloading::Error,
>,
pub MaaControllerRemoveSink: Result<
unsafe extern "C" fn(ctrl: *mut MaaController, sink_id: MaaSinkId),
::libloading::Error,
>,
pub MaaControllerClearSinks:
Result<unsafe extern "C" fn(ctrl: *mut MaaController), ::libloading::Error>,
pub MaaControllerSetOption: Result<
unsafe extern "C" fn(
ctrl: *mut MaaController,
key: MaaCtrlOption,
value: MaaOptionValue,
val_size: MaaOptionValueSize,
) -> MaaBool,
::libloading::Error,
>,
pub MaaControllerPostConnection:
Result<unsafe extern "C" fn(ctrl: *mut MaaController) -> MaaCtrlId, ::libloading::Error>,
pub MaaControllerPostClick: Result<
unsafe extern "C" fn(ctrl: *mut MaaController, x: i32, y: i32) -> MaaCtrlId,
::libloading::Error,
>,
pub MaaControllerPostClickV2: Result<
unsafe extern "C" fn(
ctrl: *mut MaaController,
x: i32,
y: i32,
contact: i32,
pressure: i32,
) -> MaaCtrlId,
::libloading::Error,
>,
pub MaaControllerPostSwipe: Result<
unsafe extern "C" fn(
ctrl: *mut MaaController,
x1: i32,
y1: i32,
x2: i32,
y2: i32,
duration: i32,
) -> MaaCtrlId,
::libloading::Error,
>,
pub MaaControllerPostSwipeV2: Result<
unsafe extern "C" fn(
ctrl: *mut MaaController,
x1: i32,
y1: i32,
x2: i32,
y2: i32,
duration: i32,
contact: i32,
pressure: i32,
) -> MaaCtrlId,
::libloading::Error,
>,
pub MaaControllerPostClickKey: Result<
unsafe extern "C" fn(ctrl: *mut MaaController, keycode: i32) -> MaaCtrlId,
::libloading::Error,
>,
pub MaaControllerPostInputText: Result<
unsafe extern "C" fn(
ctrl: *mut MaaController,
text: *const ::std::os::raw::c_char,
) -> MaaCtrlId,
::libloading::Error,
>,
pub MaaControllerPostStartApp: Result<
unsafe extern "C" fn(
ctrl: *mut MaaController,
intent: *const ::std::os::raw::c_char,
) -> MaaCtrlId,
::libloading::Error,
>,
pub MaaControllerPostStopApp: Result<
unsafe extern "C" fn(
ctrl: *mut MaaController,
intent: *const ::std::os::raw::c_char,
) -> MaaCtrlId,
::libloading::Error,
>,
pub MaaControllerPostTouchDown: Result<
unsafe extern "C" fn(
ctrl: *mut MaaController,
contact: i32,
x: i32,
y: i32,
pressure: i32,
) -> MaaCtrlId,
::libloading::Error,
>,
pub MaaControllerPostTouchMove: Result<
unsafe extern "C" fn(
ctrl: *mut MaaController,
contact: i32,
x: i32,
y: i32,
pressure: i32,
) -> MaaCtrlId,
::libloading::Error,
>,
pub MaaControllerPostTouchUp: Result<
unsafe extern "C" fn(ctrl: *mut MaaController, contact: i32) -> MaaCtrlId,
::libloading::Error,
>,
pub MaaControllerPostRelativeMove: Result<
unsafe extern "C" fn(ctrl: *mut MaaController, dx: i32, dy: i32) -> MaaCtrlId,
::libloading::Error,
>,
pub MaaControllerPostKeyDown: Result<
unsafe extern "C" fn(ctrl: *mut MaaController, keycode: i32) -> MaaCtrlId,
::libloading::Error,
>,
pub MaaControllerPostKeyUp: Result<
unsafe extern "C" fn(ctrl: *mut MaaController, keycode: i32) -> MaaCtrlId,
::libloading::Error,
>,
pub MaaControllerPostScreencap:
Result<unsafe extern "C" fn(ctrl: *mut MaaController) -> MaaCtrlId, ::libloading::Error>,
pub MaaControllerPostScroll: Result<
unsafe extern "C" fn(ctrl: *mut MaaController, dx: i32, dy: i32) -> MaaCtrlId,
::libloading::Error,
>,
pub MaaControllerPostInactive:
Result<unsafe extern "C" fn(ctrl: *mut MaaController) -> MaaCtrlId, ::libloading::Error>,
pub MaaControllerPostShell: Result<
unsafe extern "C" fn(
ctrl: *mut MaaController,
cmd: *const ::std::os::raw::c_char,
timeout: i64,
) -> MaaCtrlId,
::libloading::Error,
>,
pub MaaControllerGetShellOutput: Result<
unsafe extern "C" fn(ctrl: *const MaaController, buffer: *mut MaaStringBuffer) -> MaaBool,
::libloading::Error,
>,
pub MaaControllerStatus: Result<
unsafe extern "C" fn(ctrl: *const MaaController, id: MaaCtrlId) -> MaaStatus,
::libloading::Error,
>,
pub MaaControllerWait: Result<
unsafe extern "C" fn(ctrl: *const MaaController, id: MaaCtrlId) -> MaaStatus,
::libloading::Error,
>,
pub MaaControllerConnected:
Result<unsafe extern "C" fn(ctrl: *const MaaController) -> MaaBool, ::libloading::Error>,
pub MaaControllerCachedImage: Result<
unsafe extern "C" fn(ctrl: *const MaaController, buffer: *mut MaaImageBuffer) -> MaaBool,
::libloading::Error,
>,
pub MaaControllerGetUuid: Result<
unsafe extern "C" fn(ctrl: *mut MaaController, buffer: *mut MaaStringBuffer) -> MaaBool,
::libloading::Error,
>,
pub MaaControllerGetResolution: Result<
unsafe extern "C" fn(
ctrl: *const MaaController,
width: *mut i32,
height: *mut i32,
) -> MaaBool,
::libloading::Error,
>,
pub MaaControllerGetInfo: Result<
unsafe extern "C" fn(ctrl: *const MaaController, buffer: *mut MaaStringBuffer) -> MaaBool,
::libloading::Error,
>,
pub MaaControllerPostPressKey: Result<
unsafe extern "C" fn(ctrl: *mut MaaController, keycode: i32) -> MaaCtrlId,
::libloading::Error,
>,
pub MaaContextRunTask: Result<
unsafe extern "C" fn(
context: *mut MaaContext,
entry: *const ::std::os::raw::c_char,
pipeline_override: *const ::std::os::raw::c_char,
) -> MaaTaskId,
::libloading::Error,
>,
pub MaaContextRunRecognition: Result<
unsafe extern "C" fn(
context: *mut MaaContext,
entry: *const ::std::os::raw::c_char,
pipeline_override: *const ::std::os::raw::c_char,
image: *const MaaImageBuffer,
) -> MaaRecoId,
::libloading::Error,
>,
pub MaaContextRunAction: Result<
unsafe extern "C" fn(
context: *mut MaaContext,
entry: *const ::std::os::raw::c_char,
pipeline_override: *const ::std::os::raw::c_char,
box_: *const MaaRect,
reco_detail: *const ::std::os::raw::c_char,
) -> MaaActId,
::libloading::Error,
>,
pub MaaContextRunRecognitionDirect: Result<
unsafe extern "C" fn(
context: *mut MaaContext,
reco_type: *const ::std::os::raw::c_char,
reco_param: *const ::std::os::raw::c_char,
image: *const MaaImageBuffer,
) -> MaaRecoId,
::libloading::Error,
>,
pub MaaContextRunActionDirect: Result<
unsafe extern "C" fn(
context: *mut MaaContext,
action_type: *const ::std::os::raw::c_char,
action_param: *const ::std::os::raw::c_char,
box_: *const MaaRect,
reco_detail: *const ::std::os::raw::c_char,
) -> MaaActId,
::libloading::Error,
>,
pub MaaContextWaitFreezes: Result<
unsafe extern "C" fn(
context: *mut MaaContext,
time: MaaSize,
box_: *const MaaRect,
wait_freezes_param: *const ::std::os::raw::c_char,
) -> MaaBool,
::libloading::Error,
>,
pub MaaContextOverridePipeline: Result<
unsafe extern "C" fn(
context: *mut MaaContext,
pipeline_override: *const ::std::os::raw::c_char,
) -> MaaBool,
::libloading::Error,
>,
pub MaaContextOverrideNext: Result<
unsafe extern "C" fn(
context: *mut MaaContext,
node_name: *const ::std::os::raw::c_char,
next_list: *const MaaStringListBuffer,
) -> MaaBool,
::libloading::Error,
>,
pub MaaContextOverrideImage: Result<
unsafe extern "C" fn(
context: *mut MaaContext,
image_name: *const ::std::os::raw::c_char,
image: *const MaaImageBuffer,
) -> MaaBool,
::libloading::Error,
>,
pub MaaContextGetNodeData: Result<
unsafe extern "C" fn(
context: *mut MaaContext,
node_name: *const ::std::os::raw::c_char,
buffer: *mut MaaStringBuffer,
) -> MaaBool,
::libloading::Error,
>,
pub MaaContextGetTaskId:
Result<unsafe extern "C" fn(context: *const MaaContext) -> MaaTaskId, ::libloading::Error>,
pub MaaContextGetTasker: Result<
unsafe extern "C" fn(context: *const MaaContext) -> *mut MaaTasker,
::libloading::Error,
>,
pub MaaContextClone: Result<
unsafe extern "C" fn(context: *const MaaContext) -> *mut MaaContext,
::libloading::Error,
>,
pub MaaContextSetAnchor: Result<
unsafe extern "C" fn(
context: *mut MaaContext,
anchor_name: *const ::std::os::raw::c_char,
node_name: *const ::std::os::raw::c_char,
) -> MaaBool,
::libloading::Error,
>,
pub MaaContextGetAnchor: Result<
unsafe extern "C" fn(
context: *mut MaaContext,
anchor_name: *const ::std::os::raw::c_char,
buffer: *mut MaaStringBuffer,
) -> MaaBool,
::libloading::Error,
>,
pub MaaContextGetHitCount: Result<
unsafe extern "C" fn(
context: *mut MaaContext,
node_name: *const ::std::os::raw::c_char,
count: *mut MaaSize,
) -> MaaBool,
::libloading::Error,
>,
pub MaaContextClearHitCount: Result<
unsafe extern "C" fn(
context: *mut MaaContext,
node_name: *const ::std::os::raw::c_char,
) -> MaaBool,
::libloading::Error,
>,
pub MaaGlobalSetOption: Result<
unsafe extern "C" fn(
key: MaaGlobalOption,
value: MaaOptionValue,
val_size: MaaOptionValueSize,
) -> MaaBool,
::libloading::Error,
>,
pub MaaGlobalLoadPlugin: Result<
unsafe extern "C" fn(library_path: *const ::std::os::raw::c_char) -> MaaBool,
::libloading::Error,
>,
pub MaaSetGlobalOption: Result<
unsafe extern "C" fn(
key: MaaGlobalOption,
value: MaaOptionValue,
val_size: MaaOptionValueSize,
) -> MaaBool,
::libloading::Error,
>,
pub MaaStringBufferCreate:
Result<unsafe extern "C" fn() -> *mut MaaStringBuffer, ::libloading::Error>,
pub MaaStringBufferDestroy:
Result<unsafe extern "C" fn(handle: *mut MaaStringBuffer), ::libloading::Error>,
pub MaaStringBufferIsEmpty: Result<
unsafe extern "C" fn(handle: *const MaaStringBuffer) -> MaaBool,
::libloading::Error,
>,
pub MaaStringBufferClear:
Result<unsafe extern "C" fn(handle: *mut MaaStringBuffer) -> MaaBool, ::libloading::Error>,
pub MaaStringBufferGet: Result<
unsafe extern "C" fn(handle: *const MaaStringBuffer) -> *const ::std::os::raw::c_char,
::libloading::Error,
>,
pub MaaStringBufferSize: Result<
unsafe extern "C" fn(handle: *const MaaStringBuffer) -> MaaSize,
::libloading::Error,
>,
pub MaaStringBufferSet: Result<
unsafe extern "C" fn(
handle: *mut MaaStringBuffer,
str_: *const ::std::os::raw::c_char,
) -> MaaBool,
::libloading::Error,
>,
pub MaaStringBufferSetEx: Result<
unsafe extern "C" fn(
handle: *mut MaaStringBuffer,
str_: *const ::std::os::raw::c_char,
size: MaaSize,
) -> MaaBool,
::libloading::Error,
>,
pub MaaStringListBufferCreate:
Result<unsafe extern "C" fn() -> *mut MaaStringListBuffer, ::libloading::Error>,
pub MaaStringListBufferDestroy:
Result<unsafe extern "C" fn(handle: *mut MaaStringListBuffer), ::libloading::Error>,
pub MaaStringListBufferIsEmpty: Result<
unsafe extern "C" fn(handle: *const MaaStringListBuffer) -> MaaBool,
::libloading::Error,
>,
pub MaaStringListBufferSize: Result<
unsafe extern "C" fn(handle: *const MaaStringListBuffer) -> MaaSize,
::libloading::Error,
>,
pub MaaStringListBufferAt: Result<
unsafe extern "C" fn(
handle: *const MaaStringListBuffer,
index: MaaSize,
) -> *const MaaStringBuffer,
::libloading::Error,
>,
pub MaaStringListBufferAppend: Result<
unsafe extern "C" fn(
handle: *mut MaaStringListBuffer,
value: *const MaaStringBuffer,
) -> MaaBool,
::libloading::Error,
>,
pub MaaStringListBufferRemove: Result<
unsafe extern "C" fn(handle: *mut MaaStringListBuffer, index: MaaSize) -> MaaBool,
::libloading::Error,
>,
pub MaaStringListBufferClear: Result<
unsafe extern "C" fn(handle: *mut MaaStringListBuffer) -> MaaBool,
::libloading::Error,
>,
pub MaaImageBufferCreate:
Result<unsafe extern "C" fn() -> *mut MaaImageBuffer, ::libloading::Error>,
pub MaaImageBufferDestroy:
Result<unsafe extern "C" fn(handle: *mut MaaImageBuffer), ::libloading::Error>,
pub MaaImageBufferIsEmpty:
Result<unsafe extern "C" fn(handle: *const MaaImageBuffer) -> MaaBool, ::libloading::Error>,
pub MaaImageBufferClear:
Result<unsafe extern "C" fn(handle: *mut MaaImageBuffer) -> MaaBool, ::libloading::Error>,
pub MaaImageBufferGetRawData: Result<
unsafe extern "C" fn(handle: *const MaaImageBuffer) -> MaaImageRawData,
::libloading::Error,
>,
pub MaaImageBufferWidth:
Result<unsafe extern "C" fn(handle: *const MaaImageBuffer) -> i32, ::libloading::Error>,
pub MaaImageBufferHeight:
Result<unsafe extern "C" fn(handle: *const MaaImageBuffer) -> i32, ::libloading::Error>,
pub MaaImageBufferChannels:
Result<unsafe extern "C" fn(handle: *const MaaImageBuffer) -> i32, ::libloading::Error>,
pub MaaImageBufferType:
Result<unsafe extern "C" fn(handle: *const MaaImageBuffer) -> i32, ::libloading::Error>,
pub MaaImageBufferSetRawData: Result<
unsafe extern "C" fn(
handle: *mut MaaImageBuffer,
data: MaaImageRawData,
width: i32,
height: i32,
type_: i32,
) -> MaaBool,
::libloading::Error,
>,
pub MaaImageBufferResize: Result<
unsafe extern "C" fn(handle: *mut MaaImageBuffer, width: i32, height: i32) -> MaaBool,
::libloading::Error,
>,
pub MaaImageBufferGetEncoded: Result<
unsafe extern "C" fn(handle: *const MaaImageBuffer) -> MaaImageEncodedData,
::libloading::Error,
>,
pub MaaImageBufferGetEncodedSize:
Result<unsafe extern "C" fn(handle: *const MaaImageBuffer) -> MaaSize, ::libloading::Error>,
pub MaaImageBufferSetEncoded: Result<
unsafe extern "C" fn(
handle: *mut MaaImageBuffer,
data: MaaImageEncodedData,
size: MaaSize,
) -> MaaBool,
::libloading::Error,
>,
pub MaaImageListBufferCreate:
Result<unsafe extern "C" fn() -> *mut MaaImageListBuffer, ::libloading::Error>,
pub MaaImageListBufferDestroy:
Result<unsafe extern "C" fn(handle: *mut MaaImageListBuffer), ::libloading::Error>,
pub MaaImageListBufferIsEmpty: Result<
unsafe extern "C" fn(handle: *const MaaImageListBuffer) -> MaaBool,
::libloading::Error,
>,
pub MaaImageListBufferSize: Result<
unsafe extern "C" fn(handle: *const MaaImageListBuffer) -> MaaSize,
::libloading::Error,
>,
pub MaaImageListBufferAt: Result<
unsafe extern "C" fn(
handle: *const MaaImageListBuffer,
index: MaaSize,
) -> *const MaaImageBuffer,
::libloading::Error,
>,
pub MaaImageListBufferAppend: Result<
unsafe extern "C" fn(
handle: *mut MaaImageListBuffer,
value: *const MaaImageBuffer,
) -> MaaBool,
::libloading::Error,
>,
pub MaaImageListBufferRemove: Result<
unsafe extern "C" fn(handle: *mut MaaImageListBuffer, index: MaaSize) -> MaaBool,
::libloading::Error,
>,
pub MaaImageListBufferClear: Result<
unsafe extern "C" fn(handle: *mut MaaImageListBuffer) -> MaaBool,
::libloading::Error,
>,
pub MaaRectCreate: Result<unsafe extern "C" fn() -> *mut MaaRect, ::libloading::Error>,
pub MaaRectDestroy: Result<unsafe extern "C" fn(handle: *mut MaaRect), ::libloading::Error>,
pub MaaRectGetX:
Result<unsafe extern "C" fn(handle: *const MaaRect) -> i32, ::libloading::Error>,
pub MaaRectGetY:
Result<unsafe extern "C" fn(handle: *const MaaRect) -> i32, ::libloading::Error>,
pub MaaRectGetW:
Result<unsafe extern "C" fn(handle: *const MaaRect) -> i32, ::libloading::Error>,
pub MaaRectGetH:
Result<unsafe extern "C" fn(handle: *const MaaRect) -> i32, ::libloading::Error>,
pub MaaRectSet: Result<
unsafe extern "C" fn(handle: *mut MaaRect, x: i32, y: i32, w: i32, h: i32) -> MaaBool,
::libloading::Error,
>,
pub MaaVersion:
Result<unsafe extern "C" fn() -> *const ::std::os::raw::c_char, ::libloading::Error>,
pub MaaAgentClientCreateV2: Result<
unsafe extern "C" fn(identifier: *const MaaStringBuffer) -> *mut MaaAgentClient,
::libloading::Error,
>,
pub MaaAgentClientCreateTcp:
Result<unsafe extern "C" fn(port: u16) -> *mut MaaAgentClient, ::libloading::Error>,
pub MaaAgentClientDestroy:
Result<unsafe extern "C" fn(client: *mut MaaAgentClient), ::libloading::Error>,
pub MaaAgentClientIdentifier: Result<
unsafe extern "C" fn(
client: *mut MaaAgentClient,
identifier: *mut MaaStringBuffer,
) -> MaaBool,
::libloading::Error,
>,
pub MaaAgentClientBindResource: Result<
unsafe extern "C" fn(client: *mut MaaAgentClient, res: *mut MaaResource) -> MaaBool,
::libloading::Error,
>,
pub MaaAgentClientRegisterResourceSink: Result<
unsafe extern "C" fn(client: *mut MaaAgentClient, res: *mut MaaResource) -> MaaBool,
::libloading::Error,
>,
pub MaaAgentClientRegisterControllerSink: Result<
unsafe extern "C" fn(client: *mut MaaAgentClient, ctrl: *mut MaaController) -> MaaBool,
::libloading::Error,
>,
pub MaaAgentClientRegisterTaskerSink: Result<
unsafe extern "C" fn(client: *mut MaaAgentClient, tasker: *mut MaaTasker) -> MaaBool,
::libloading::Error,
>,
pub MaaAgentClientConnect:
Result<unsafe extern "C" fn(client: *mut MaaAgentClient) -> MaaBool, ::libloading::Error>,
pub MaaAgentClientDisconnect:
Result<unsafe extern "C" fn(client: *mut MaaAgentClient) -> MaaBool, ::libloading::Error>,
pub MaaAgentClientConnected:
Result<unsafe extern "C" fn(client: *mut MaaAgentClient) -> MaaBool, ::libloading::Error>,
pub MaaAgentClientAlive:
Result<unsafe extern "C" fn(client: *mut MaaAgentClient) -> MaaBool, ::libloading::Error>,
pub MaaAgentClientSetTimeout: Result<
unsafe extern "C" fn(client: *mut MaaAgentClient, milliseconds: i64) -> MaaBool,
::libloading::Error,
>,
pub MaaAgentClientGetCustomRecognitionList: Result<
unsafe extern "C" fn(
client: *mut MaaAgentClient,
buffer: *mut MaaStringListBuffer,
) -> MaaBool,
::libloading::Error,
>,
pub MaaAgentClientGetCustomActionList: Result<
unsafe extern "C" fn(
client: *mut MaaAgentClient,
buffer: *mut MaaStringListBuffer,
) -> MaaBool,
::libloading::Error,
>,
pub MaaAgentClientCreate:
Result<unsafe extern "C" fn() -> *mut MaaAgentClient, ::libloading::Error>,
pub MaaAgentClientCreateSocket: Result<
unsafe extern "C" fn(
client: *mut MaaAgentClient,
identifier: *mut MaaStringBuffer,
) -> MaaBool,
::libloading::Error,
>,
pub MaaAgentServerRegisterCustomRecognition: Result<
unsafe extern "C" fn(
name: *const ::std::os::raw::c_char,
recognition: MaaCustomRecognitionCallback,
trans_arg: *mut ::std::os::raw::c_void,
) -> MaaBool,
::libloading::Error,
>,
pub MaaAgentServerRegisterCustomAction: Result<
unsafe extern "C" fn(
name: *const ::std::os::raw::c_char,
action: MaaCustomActionCallback,
trans_arg: *mut ::std::os::raw::c_void,
) -> MaaBool,
::libloading::Error,
>,
pub MaaAgentServerAddResourceSink: Result<
unsafe extern "C" fn(
sink: MaaEventCallback,
trans_arg: *mut ::std::os::raw::c_void,
) -> MaaSinkId,
::libloading::Error,
>,
pub MaaAgentServerAddControllerSink: Result<
unsafe extern "C" fn(
sink: MaaEventCallback,
trans_arg: *mut ::std::os::raw::c_void,
) -> MaaSinkId,
::libloading::Error,
>,
pub MaaAgentServerAddTaskerSink: Result<
unsafe extern "C" fn(
sink: MaaEventCallback,
trans_arg: *mut ::std::os::raw::c_void,
) -> MaaSinkId,
::libloading::Error,
>,
pub MaaAgentServerAddContextSink: Result<
unsafe extern "C" fn(
sink: MaaEventCallback,
trans_arg: *mut ::std::os::raw::c_void,
) -> MaaSinkId,
::libloading::Error,
>,
pub MaaAgentServerStartUp: Result<
unsafe extern "C" fn(identifier: *const ::std::os::raw::c_char) -> MaaBool,
::libloading::Error,
>,
pub MaaAgentServerShutDown: Result<unsafe extern "C" fn(), ::libloading::Error>,
pub MaaAgentServerJoin: Result<unsafe extern "C" fn(), ::libloading::Error>,
pub MaaAgentServerDetach: Result<unsafe extern "C" fn(), ::libloading::Error>,
pub MaaToolkitAdbDeviceListCreate:
Result<unsafe extern "C" fn() -> *mut MaaToolkitAdbDeviceList, ::libloading::Error>,
pub MaaToolkitAdbDeviceListDestroy:
Result<unsafe extern "C" fn(handle: *mut MaaToolkitAdbDeviceList), ::libloading::Error>,
pub MaaToolkitAdbDeviceFind: Result<
unsafe extern "C" fn(buffer: *mut MaaToolkitAdbDeviceList) -> MaaBool,
::libloading::Error,
>,
pub MaaToolkitAdbDeviceFindSpecified: Result<
unsafe extern "C" fn(
adb_path: *const ::std::os::raw::c_char,
buffer: *mut MaaToolkitAdbDeviceList,
) -> MaaBool,
::libloading::Error,
>,
pub MaaToolkitAdbDeviceListSize: Result<
unsafe extern "C" fn(list: *const MaaToolkitAdbDeviceList) -> MaaSize,
::libloading::Error,
>,
pub MaaToolkitAdbDeviceListAt: Result<
unsafe extern "C" fn(
list: *const MaaToolkitAdbDeviceList,
index: MaaSize,
) -> *const MaaToolkitAdbDevice,
::libloading::Error,
>,
pub MaaToolkitAdbDeviceGetName: Result<
unsafe extern "C" fn(device: *const MaaToolkitAdbDevice) -> *const ::std::os::raw::c_char,
::libloading::Error,
>,
pub MaaToolkitAdbDeviceGetAdbPath: Result<
unsafe extern "C" fn(device: *const MaaToolkitAdbDevice) -> *const ::std::os::raw::c_char,
::libloading::Error,
>,
pub MaaToolkitAdbDeviceGetAddress: Result<
unsafe extern "C" fn(device: *const MaaToolkitAdbDevice) -> *const ::std::os::raw::c_char,
::libloading::Error,
>,
pub MaaToolkitAdbDeviceGetScreencapMethods: Result<
unsafe extern "C" fn(device: *const MaaToolkitAdbDevice) -> MaaAdbScreencapMethod,
::libloading::Error,
>,
pub MaaToolkitAdbDeviceGetInputMethods: Result<
unsafe extern "C" fn(device: *const MaaToolkitAdbDevice) -> MaaAdbInputMethod,
::libloading::Error,
>,
pub MaaToolkitAdbDeviceGetConfig: Result<
unsafe extern "C" fn(device: *const MaaToolkitAdbDevice) -> *const ::std::os::raw::c_char,
::libloading::Error,
>,
pub MaaToolkitDesktopWindowListCreate:
Result<unsafe extern "C" fn() -> *mut MaaToolkitDesktopWindowList, ::libloading::Error>,
pub MaaToolkitDesktopWindowListDestroy:
Result<unsafe extern "C" fn(handle: *mut MaaToolkitDesktopWindowList), ::libloading::Error>,
pub MaaToolkitDesktopWindowFindAll: Result<
unsafe extern "C" fn(buffer: *mut MaaToolkitDesktopWindowList) -> MaaBool,
::libloading::Error,
>,
pub MaaToolkitDesktopWindowListSize: Result<
unsafe extern "C" fn(list: *const MaaToolkitDesktopWindowList) -> MaaSize,
::libloading::Error,
>,
pub MaaToolkitDesktopWindowListAt: Result<
unsafe extern "C" fn(
list: *const MaaToolkitDesktopWindowList,
index: MaaSize,
) -> *const MaaToolkitDesktopWindow,
::libloading::Error,
>,
pub MaaToolkitDesktopWindowGetHandle: Result<
unsafe extern "C" fn(window: *const MaaToolkitDesktopWindow) -> *mut ::std::os::raw::c_void,
::libloading::Error,
>,
pub MaaToolkitDesktopWindowGetClassName: Result<
unsafe extern "C" fn(
window: *const MaaToolkitDesktopWindow,
) -> *const ::std::os::raw::c_char,
::libloading::Error,
>,
pub MaaToolkitDesktopWindowGetWindowName: Result<
unsafe extern "C" fn(
window: *const MaaToolkitDesktopWindow,
) -> *const ::std::os::raw::c_char,
::libloading::Error,
>,
pub MaaToolkitConfigInitOption: Result<
unsafe extern "C" fn(
user_path: *const ::std::os::raw::c_char,
default_json: *const ::std::os::raw::c_char,
) -> MaaBool,
::libloading::Error,
>,
pub MaaToolkitMacOSCheckPermission:
Result<unsafe extern "C" fn(perm: MaaMacOSPermission) -> MaaBool, ::libloading::Error>,
pub MaaToolkitMacOSRequestPermission:
Result<unsafe extern "C" fn(perm: MaaMacOSPermission) -> MaaBool, ::libloading::Error>,
pub MaaToolkitMacOSRevealPermissionSettings:
Result<unsafe extern "C" fn(perm: MaaMacOSPermission) -> MaaBool, ::libloading::Error>,
}
impl MaaFramework {
pub unsafe fn new<P>(path: P) -> Result<Self, ::libloading::Error>
where
P: AsRef<::std::ffi::OsStr>,
{
let library = unsafe { CompositeLibrary::new(path) }?;
unsafe { Self::from_library(library) }
}
pub unsafe fn from_library<L>(library: L) -> Result<Self, ::libloading::Error>
where
L: Into<CompositeLibrary>,
{
let __library = library.into();
let MaaTaskerCreate = unsafe { __library.get(b"MaaTaskerCreate\0") }.map(|sym| *sym);
let MaaTaskerDestroy = unsafe { __library.get(b"MaaTaskerDestroy\0") }.map(|sym| *sym);
let MaaTaskerAddSink = unsafe { __library.get(b"MaaTaskerAddSink\0") }.map(|sym| *sym);
let MaaTaskerRemoveSink =
unsafe { __library.get(b"MaaTaskerRemoveSink\0") }.map(|sym| *sym);
let MaaTaskerClearSinks =
unsafe { __library.get(b"MaaTaskerClearSinks\0") }.map(|sym| *sym);
let MaaTaskerAddContextSink =
unsafe { __library.get(b"MaaTaskerAddContextSink\0") }.map(|sym| *sym);
let MaaTaskerRemoveContextSink =
unsafe { __library.get(b"MaaTaskerRemoveContextSink\0") }.map(|sym| *sym);
let MaaTaskerClearContextSinks =
unsafe { __library.get(b"MaaTaskerClearContextSinks\0") }.map(|sym| *sym);
let MaaTaskerSetOption = unsafe { __library.get(b"MaaTaskerSetOption\0") }.map(|sym| *sym);
let MaaTaskerBindResource =
unsafe { __library.get(b"MaaTaskerBindResource\0") }.map(|sym| *sym);
let MaaTaskerBindController =
unsafe { __library.get(b"MaaTaskerBindController\0") }.map(|sym| *sym);
let MaaTaskerInited = unsafe { __library.get(b"MaaTaskerInited\0") }.map(|sym| *sym);
let MaaTaskerPostTask = unsafe { __library.get(b"MaaTaskerPostTask\0") }.map(|sym| *sym);
let MaaTaskerPostRecognition =
unsafe { __library.get(b"MaaTaskerPostRecognition\0") }.map(|sym| *sym);
let MaaTaskerPostAction =
unsafe { __library.get(b"MaaTaskerPostAction\0") }.map(|sym| *sym);
let MaaTaskerStatus = unsafe { __library.get(b"MaaTaskerStatus\0") }.map(|sym| *sym);
let MaaTaskerWait = unsafe { __library.get(b"MaaTaskerWait\0") }.map(|sym| *sym);
let MaaTaskerRunning = unsafe { __library.get(b"MaaTaskerRunning\0") }.map(|sym| *sym);
let MaaTaskerPostStop = unsafe { __library.get(b"MaaTaskerPostStop\0") }.map(|sym| *sym);
let MaaTaskerStopping = unsafe { __library.get(b"MaaTaskerStopping\0") }.map(|sym| *sym);
let MaaTaskerGetResource =
unsafe { __library.get(b"MaaTaskerGetResource\0") }.map(|sym| *sym);
let MaaTaskerGetController =
unsafe { __library.get(b"MaaTaskerGetController\0") }.map(|sym| *sym);
let MaaTaskerClearCache =
unsafe { __library.get(b"MaaTaskerClearCache\0") }.map(|sym| *sym);
let MaaTaskerOverridePipeline =
unsafe { __library.get(b"MaaTaskerOverridePipeline\0") }.map(|sym| *sym);
let MaaTaskerGetRecognitionDetail =
unsafe { __library.get(b"MaaTaskerGetRecognitionDetail\0") }.map(|sym| *sym);
let MaaTaskerGetActionDetail =
unsafe { __library.get(b"MaaTaskerGetActionDetail\0") }.map(|sym| *sym);
let MaaTaskerGetWaitFreezesDetail =
unsafe { __library.get(b"MaaTaskerGetWaitFreezesDetail\0") }.map(|sym| *sym);
let MaaTaskerGetNodeDetail =
unsafe { __library.get(b"MaaTaskerGetNodeDetail\0") }.map(|sym| *sym);
let MaaTaskerGetTaskDetail =
unsafe { __library.get(b"MaaTaskerGetTaskDetail\0") }.map(|sym| *sym);
let MaaTaskerGetLatestNode =
unsafe { __library.get(b"MaaTaskerGetLatestNode\0") }.map(|sym| *sym);
let MaaResourceCreate = unsafe { __library.get(b"MaaResourceCreate\0") }.map(|sym| *sym);
let MaaResourceDestroy = unsafe { __library.get(b"MaaResourceDestroy\0") }.map(|sym| *sym);
let MaaResourceAddSink = unsafe { __library.get(b"MaaResourceAddSink\0") }.map(|sym| *sym);
let MaaResourceRemoveSink =
unsafe { __library.get(b"MaaResourceRemoveSink\0") }.map(|sym| *sym);
let MaaResourceClearSinks =
unsafe { __library.get(b"MaaResourceClearSinks\0") }.map(|sym| *sym);
let MaaResourceRegisterCustomRecognition =
unsafe { __library.get(b"MaaResourceRegisterCustomRecognition\0") }.map(|sym| *sym);
let MaaResourceUnregisterCustomRecognition =
unsafe { __library.get(b"MaaResourceUnregisterCustomRecognition\0") }.map(|sym| *sym);
let MaaResourceClearCustomRecognition =
unsafe { __library.get(b"MaaResourceClearCustomRecognition\0") }.map(|sym| *sym);
let MaaResourceRegisterCustomAction =
unsafe { __library.get(b"MaaResourceRegisterCustomAction\0") }.map(|sym| *sym);
let MaaResourceUnregisterCustomAction =
unsafe { __library.get(b"MaaResourceUnregisterCustomAction\0") }.map(|sym| *sym);
let MaaResourceClearCustomAction =
unsafe { __library.get(b"MaaResourceClearCustomAction\0") }.map(|sym| *sym);
let MaaResourcePostBundle =
unsafe { __library.get(b"MaaResourcePostBundle\0") }.map(|sym| *sym);
let MaaResourcePostOcrModel =
unsafe { __library.get(b"MaaResourcePostOcrModel\0") }.map(|sym| *sym);
let MaaResourcePostPipeline =
unsafe { __library.get(b"MaaResourcePostPipeline\0") }.map(|sym| *sym);
let MaaResourcePostImage =
unsafe { __library.get(b"MaaResourcePostImage\0") }.map(|sym| *sym);
let MaaResourceOverridePipeline =
unsafe { __library.get(b"MaaResourceOverridePipeline\0") }.map(|sym| *sym);
let MaaResourceOverrideNext =
unsafe { __library.get(b"MaaResourceOverrideNext\0") }.map(|sym| *sym);
let MaaResourceOverrideImage =
unsafe { __library.get(b"MaaResourceOverrideImage\0") }.map(|sym| *sym);
let MaaResourceGetNodeData =
unsafe { __library.get(b"MaaResourceGetNodeData\0") }.map(|sym| *sym);
let MaaResourceClear = unsafe { __library.get(b"MaaResourceClear\0") }.map(|sym| *sym);
let MaaResourceStatus = unsafe { __library.get(b"MaaResourceStatus\0") }.map(|sym| *sym);
let MaaResourceWait = unsafe { __library.get(b"MaaResourceWait\0") }.map(|sym| *sym);
let MaaResourceLoaded = unsafe { __library.get(b"MaaResourceLoaded\0") }.map(|sym| *sym);
let MaaResourceSetOption =
unsafe { __library.get(b"MaaResourceSetOption\0") }.map(|sym| *sym);
let MaaResourceGetHash = unsafe { __library.get(b"MaaResourceGetHash\0") }.map(|sym| *sym);
let MaaResourceGetNodeList =
unsafe { __library.get(b"MaaResourceGetNodeList\0") }.map(|sym| *sym);
let MaaResourceGetCustomRecognitionList =
unsafe { __library.get(b"MaaResourceGetCustomRecognitionList\0") }.map(|sym| *sym);
let MaaResourceGetCustomActionList =
unsafe { __library.get(b"MaaResourceGetCustomActionList\0") }.map(|sym| *sym);
let MaaResourceGetDefaultRecognitionParam =
unsafe { __library.get(b"MaaResourceGetDefaultRecognitionParam\0") }.map(|sym| *sym);
let MaaResourceGetDefaultActionParam =
unsafe { __library.get(b"MaaResourceGetDefaultActionParam\0") }.map(|sym| *sym);
let MaaAdbControllerCreate =
unsafe { __library.get(b"MaaAdbControllerCreate\0") }.map(|sym| *sym);
let MaaWin32ControllerCreate =
unsafe { __library.get(b"MaaWin32ControllerCreate\0") }.map(|sym| *sym);
let MaaMacOSControllerCreate =
unsafe { __library.get(b"MaaMacOSControllerCreate\0") }.map(|sym| *sym);
let MaaAndroidNativeControllerCreate =
unsafe { __library.get(b"MaaAndroidNativeControllerCreate\0") }.map(|sym| *sym);
let MaaCustomControllerCreate =
unsafe { __library.get(b"MaaCustomControllerCreate\0") }.map(|sym| *sym);
let MaaDbgControllerCreate =
unsafe { __library.get(b"MaaDbgControllerCreate\0") }.map(|sym| *sym);
let MaaReplayControllerCreate =
unsafe { __library.get(b"MaaReplayControllerCreate\0") }.map(|sym| *sym);
let MaaRecordControllerCreate =
unsafe { __library.get(b"MaaRecordControllerCreate\0") }.map(|sym| *sym);
let MaaPlayCoverControllerCreate =
unsafe { __library.get(b"MaaPlayCoverControllerCreate\0") }.map(|sym| *sym);
let MaaWlRootsControllerCreate =
unsafe { __library.get(b"MaaWlRootsControllerCreate\0") }.map(|sym| *sym);
let MaaGamepadControllerCreate =
unsafe { __library.get(b"MaaGamepadControllerCreate\0") }.map(|sym| *sym);
let MaaControllerDestroy =
unsafe { __library.get(b"MaaControllerDestroy\0") }.map(|sym| *sym);
let MaaControllerAddSink =
unsafe { __library.get(b"MaaControllerAddSink\0") }.map(|sym| *sym);
let MaaControllerRemoveSink =
unsafe { __library.get(b"MaaControllerRemoveSink\0") }.map(|sym| *sym);
let MaaControllerClearSinks =
unsafe { __library.get(b"MaaControllerClearSinks\0") }.map(|sym| *sym);
let MaaControllerSetOption =
unsafe { __library.get(b"MaaControllerSetOption\0") }.map(|sym| *sym);
let MaaControllerPostConnection =
unsafe { __library.get(b"MaaControllerPostConnection\0") }.map(|sym| *sym);
let MaaControllerPostClick =
unsafe { __library.get(b"MaaControllerPostClick\0") }.map(|sym| *sym);
let MaaControllerPostClickV2 =
unsafe { __library.get(b"MaaControllerPostClickV2\0") }.map(|sym| *sym);
let MaaControllerPostSwipe =
unsafe { __library.get(b"MaaControllerPostSwipe\0") }.map(|sym| *sym);
let MaaControllerPostSwipeV2 =
unsafe { __library.get(b"MaaControllerPostSwipeV2\0") }.map(|sym| *sym);
let MaaControllerPostClickKey =
unsafe { __library.get(b"MaaControllerPostClickKey\0") }.map(|sym| *sym);
let MaaControllerPostInputText =
unsafe { __library.get(b"MaaControllerPostInputText\0") }.map(|sym| *sym);
let MaaControllerPostStartApp =
unsafe { __library.get(b"MaaControllerPostStartApp\0") }.map(|sym| *sym);
let MaaControllerPostStopApp =
unsafe { __library.get(b"MaaControllerPostStopApp\0") }.map(|sym| *sym);
let MaaControllerPostTouchDown =
unsafe { __library.get(b"MaaControllerPostTouchDown\0") }.map(|sym| *sym);
let MaaControllerPostTouchMove =
unsafe { __library.get(b"MaaControllerPostTouchMove\0") }.map(|sym| *sym);
let MaaControllerPostTouchUp =
unsafe { __library.get(b"MaaControllerPostTouchUp\0") }.map(|sym| *sym);
let MaaControllerPostRelativeMove =
unsafe { __library.get(b"MaaControllerPostRelativeMove\0") }.map(|sym| *sym);
let MaaControllerPostKeyDown =
unsafe { __library.get(b"MaaControllerPostKeyDown\0") }.map(|sym| *sym);
let MaaControllerPostKeyUp =
unsafe { __library.get(b"MaaControllerPostKeyUp\0") }.map(|sym| *sym);
let MaaControllerPostScreencap =
unsafe { __library.get(b"MaaControllerPostScreencap\0") }.map(|sym| *sym);
let MaaControllerPostScroll =
unsafe { __library.get(b"MaaControllerPostScroll\0") }.map(|sym| *sym);
let MaaControllerPostInactive =
unsafe { __library.get(b"MaaControllerPostInactive\0") }.map(|sym| *sym);
let MaaControllerPostShell =
unsafe { __library.get(b"MaaControllerPostShell\0") }.map(|sym| *sym);
let MaaControllerGetShellOutput =
unsafe { __library.get(b"MaaControllerGetShellOutput\0") }.map(|sym| *sym);
let MaaControllerStatus =
unsafe { __library.get(b"MaaControllerStatus\0") }.map(|sym| *sym);
let MaaControllerWait = unsafe { __library.get(b"MaaControllerWait\0") }.map(|sym| *sym);
let MaaControllerConnected =
unsafe { __library.get(b"MaaControllerConnected\0") }.map(|sym| *sym);
let MaaControllerCachedImage =
unsafe { __library.get(b"MaaControllerCachedImage\0") }.map(|sym| *sym);
let MaaControllerGetUuid =
unsafe { __library.get(b"MaaControllerGetUuid\0") }.map(|sym| *sym);
let MaaControllerGetResolution =
unsafe { __library.get(b"MaaControllerGetResolution\0") }.map(|sym| *sym);
let MaaControllerGetInfo =
unsafe { __library.get(b"MaaControllerGetInfo\0") }.map(|sym| *sym);
let MaaControllerPostPressKey =
unsafe { __library.get(b"MaaControllerPostPressKey\0") }.map(|sym| *sym);
let MaaContextRunTask = unsafe { __library.get(b"MaaContextRunTask\0") }.map(|sym| *sym);
let MaaContextRunRecognition =
unsafe { __library.get(b"MaaContextRunRecognition\0") }.map(|sym| *sym);
let MaaContextRunAction =
unsafe { __library.get(b"MaaContextRunAction\0") }.map(|sym| *sym);
let MaaContextRunRecognitionDirect =
unsafe { __library.get(b"MaaContextRunRecognitionDirect\0") }.map(|sym| *sym);
let MaaContextRunActionDirect =
unsafe { __library.get(b"MaaContextRunActionDirect\0") }.map(|sym| *sym);
let MaaContextWaitFreezes =
unsafe { __library.get(b"MaaContextWaitFreezes\0") }.map(|sym| *sym);
let MaaContextOverridePipeline =
unsafe { __library.get(b"MaaContextOverridePipeline\0") }.map(|sym| *sym);
let MaaContextOverrideNext =
unsafe { __library.get(b"MaaContextOverrideNext\0") }.map(|sym| *sym);
let MaaContextOverrideImage =
unsafe { __library.get(b"MaaContextOverrideImage\0") }.map(|sym| *sym);
let MaaContextGetNodeData =
unsafe { __library.get(b"MaaContextGetNodeData\0") }.map(|sym| *sym);
let MaaContextGetTaskId =
unsafe { __library.get(b"MaaContextGetTaskId\0") }.map(|sym| *sym);
let MaaContextGetTasker =
unsafe { __library.get(b"MaaContextGetTasker\0") }.map(|sym| *sym);
let MaaContextClone = unsafe { __library.get(b"MaaContextClone\0") }.map(|sym| *sym);
let MaaContextSetAnchor =
unsafe { __library.get(b"MaaContextSetAnchor\0") }.map(|sym| *sym);
let MaaContextGetAnchor =
unsafe { __library.get(b"MaaContextGetAnchor\0") }.map(|sym| *sym);
let MaaContextGetHitCount =
unsafe { __library.get(b"MaaContextGetHitCount\0") }.map(|sym| *sym);
let MaaContextClearHitCount =
unsafe { __library.get(b"MaaContextClearHitCount\0") }.map(|sym| *sym);
let MaaGlobalSetOption = unsafe { __library.get(b"MaaGlobalSetOption\0") }.map(|sym| *sym);
let MaaGlobalLoadPlugin =
unsafe { __library.get(b"MaaGlobalLoadPlugin\0") }.map(|sym| *sym);
let MaaSetGlobalOption = unsafe { __library.get(b"MaaSetGlobalOption\0") }.map(|sym| *sym);
let MaaStringBufferCreate =
unsafe { __library.get(b"MaaStringBufferCreate\0") }.map(|sym| *sym);
let MaaStringBufferDestroy =
unsafe { __library.get(b"MaaStringBufferDestroy\0") }.map(|sym| *sym);
let MaaStringBufferIsEmpty =
unsafe { __library.get(b"MaaStringBufferIsEmpty\0") }.map(|sym| *sym);
let MaaStringBufferClear =
unsafe { __library.get(b"MaaStringBufferClear\0") }.map(|sym| *sym);
let MaaStringBufferGet = unsafe { __library.get(b"MaaStringBufferGet\0") }.map(|sym| *sym);
let MaaStringBufferSize =
unsafe { __library.get(b"MaaStringBufferSize\0") }.map(|sym| *sym);
let MaaStringBufferSet = unsafe { __library.get(b"MaaStringBufferSet\0") }.map(|sym| *sym);
let MaaStringBufferSetEx =
unsafe { __library.get(b"MaaStringBufferSetEx\0") }.map(|sym| *sym);
let MaaStringListBufferCreate =
unsafe { __library.get(b"MaaStringListBufferCreate\0") }.map(|sym| *sym);
let MaaStringListBufferDestroy =
unsafe { __library.get(b"MaaStringListBufferDestroy\0") }.map(|sym| *sym);
let MaaStringListBufferIsEmpty =
unsafe { __library.get(b"MaaStringListBufferIsEmpty\0") }.map(|sym| *sym);
let MaaStringListBufferSize =
unsafe { __library.get(b"MaaStringListBufferSize\0") }.map(|sym| *sym);
let MaaStringListBufferAt =
unsafe { __library.get(b"MaaStringListBufferAt\0") }.map(|sym| *sym);
let MaaStringListBufferAppend =
unsafe { __library.get(b"MaaStringListBufferAppend\0") }.map(|sym| *sym);
let MaaStringListBufferRemove =
unsafe { __library.get(b"MaaStringListBufferRemove\0") }.map(|sym| *sym);
let MaaStringListBufferClear =
unsafe { __library.get(b"MaaStringListBufferClear\0") }.map(|sym| *sym);
let MaaImageBufferCreate =
unsafe { __library.get(b"MaaImageBufferCreate\0") }.map(|sym| *sym);
let MaaImageBufferDestroy =
unsafe { __library.get(b"MaaImageBufferDestroy\0") }.map(|sym| *sym);
let MaaImageBufferIsEmpty =
unsafe { __library.get(b"MaaImageBufferIsEmpty\0") }.map(|sym| *sym);
let MaaImageBufferClear =
unsafe { __library.get(b"MaaImageBufferClear\0") }.map(|sym| *sym);
let MaaImageBufferGetRawData =
unsafe { __library.get(b"MaaImageBufferGetRawData\0") }.map(|sym| *sym);
let MaaImageBufferWidth =
unsafe { __library.get(b"MaaImageBufferWidth\0") }.map(|sym| *sym);
let MaaImageBufferHeight =
unsafe { __library.get(b"MaaImageBufferHeight\0") }.map(|sym| *sym);
let MaaImageBufferChannels =
unsafe { __library.get(b"MaaImageBufferChannels\0") }.map(|sym| *sym);
let MaaImageBufferType = unsafe { __library.get(b"MaaImageBufferType\0") }.map(|sym| *sym);
let MaaImageBufferSetRawData =
unsafe { __library.get(b"MaaImageBufferSetRawData\0") }.map(|sym| *sym);
let MaaImageBufferResize =
unsafe { __library.get(b"MaaImageBufferResize\0") }.map(|sym| *sym);
let MaaImageBufferGetEncoded =
unsafe { __library.get(b"MaaImageBufferGetEncoded\0") }.map(|sym| *sym);
let MaaImageBufferGetEncodedSize =
unsafe { __library.get(b"MaaImageBufferGetEncodedSize\0") }.map(|sym| *sym);
let MaaImageBufferSetEncoded =
unsafe { __library.get(b"MaaImageBufferSetEncoded\0") }.map(|sym| *sym);
let MaaImageListBufferCreate =
unsafe { __library.get(b"MaaImageListBufferCreate\0") }.map(|sym| *sym);
let MaaImageListBufferDestroy =
unsafe { __library.get(b"MaaImageListBufferDestroy\0") }.map(|sym| *sym);
let MaaImageListBufferIsEmpty =
unsafe { __library.get(b"MaaImageListBufferIsEmpty\0") }.map(|sym| *sym);
let MaaImageListBufferSize =
unsafe { __library.get(b"MaaImageListBufferSize\0") }.map(|sym| *sym);
let MaaImageListBufferAt =
unsafe { __library.get(b"MaaImageListBufferAt\0") }.map(|sym| *sym);
let MaaImageListBufferAppend =
unsafe { __library.get(b"MaaImageListBufferAppend\0") }.map(|sym| *sym);
let MaaImageListBufferRemove =
unsafe { __library.get(b"MaaImageListBufferRemove\0") }.map(|sym| *sym);
let MaaImageListBufferClear =
unsafe { __library.get(b"MaaImageListBufferClear\0") }.map(|sym| *sym);
let MaaRectCreate = unsafe { __library.get(b"MaaRectCreate\0") }.map(|sym| *sym);
let MaaRectDestroy = unsafe { __library.get(b"MaaRectDestroy\0") }.map(|sym| *sym);
let MaaRectGetX = unsafe { __library.get(b"MaaRectGetX\0") }.map(|sym| *sym);
let MaaRectGetY = unsafe { __library.get(b"MaaRectGetY\0") }.map(|sym| *sym);
let MaaRectGetW = unsafe { __library.get(b"MaaRectGetW\0") }.map(|sym| *sym);
let MaaRectGetH = unsafe { __library.get(b"MaaRectGetH\0") }.map(|sym| *sym);
let MaaRectSet = unsafe { __library.get(b"MaaRectSet\0") }.map(|sym| *sym);
let MaaVersion = unsafe { __library.get(b"MaaVersion\0") }.map(|sym| *sym);
let MaaAgentClientCreateV2 =
unsafe { __library.get(b"MaaAgentClientCreateV2\0") }.map(|sym| *sym);
let MaaAgentClientCreateTcp =
unsafe { __library.get(b"MaaAgentClientCreateTcp\0") }.map(|sym| *sym);
let MaaAgentClientDestroy =
unsafe { __library.get(b"MaaAgentClientDestroy\0") }.map(|sym| *sym);
let MaaAgentClientIdentifier =
unsafe { __library.get(b"MaaAgentClientIdentifier\0") }.map(|sym| *sym);
let MaaAgentClientBindResource =
unsafe { __library.get(b"MaaAgentClientBindResource\0") }.map(|sym| *sym);
let MaaAgentClientRegisterResourceSink =
unsafe { __library.get(b"MaaAgentClientRegisterResourceSink\0") }.map(|sym| *sym);
let MaaAgentClientRegisterControllerSink =
unsafe { __library.get(b"MaaAgentClientRegisterControllerSink\0") }.map(|sym| *sym);
let MaaAgentClientRegisterTaskerSink =
unsafe { __library.get(b"MaaAgentClientRegisterTaskerSink\0") }.map(|sym| *sym);
let MaaAgentClientConnect =
unsafe { __library.get(b"MaaAgentClientConnect\0") }.map(|sym| *sym);
let MaaAgentClientDisconnect =
unsafe { __library.get(b"MaaAgentClientDisconnect\0") }.map(|sym| *sym);
let MaaAgentClientConnected =
unsafe { __library.get(b"MaaAgentClientConnected\0") }.map(|sym| *sym);
let MaaAgentClientAlive =
unsafe { __library.get(b"MaaAgentClientAlive\0") }.map(|sym| *sym);
let MaaAgentClientSetTimeout =
unsafe { __library.get(b"MaaAgentClientSetTimeout\0") }.map(|sym| *sym);
let MaaAgentClientGetCustomRecognitionList =
unsafe { __library.get(b"MaaAgentClientGetCustomRecognitionList\0") }.map(|sym| *sym);
let MaaAgentClientGetCustomActionList =
unsafe { __library.get(b"MaaAgentClientGetCustomActionList\0") }.map(|sym| *sym);
let MaaAgentClientCreate =
unsafe { __library.get(b"MaaAgentClientCreate\0") }.map(|sym| *sym);
let MaaAgentClientCreateSocket =
unsafe { __library.get(b"MaaAgentClientCreateSocket\0") }.map(|sym| *sym);
let MaaAgentServerRegisterCustomRecognition =
unsafe { __library.get(b"MaaAgentServerRegisterCustomRecognition\0") }.map(|sym| *sym);
let MaaAgentServerRegisterCustomAction =
unsafe { __library.get(b"MaaAgentServerRegisterCustomAction\0") }.map(|sym| *sym);
let MaaAgentServerAddResourceSink =
unsafe { __library.get(b"MaaAgentServerAddResourceSink\0") }.map(|sym| *sym);
let MaaAgentServerAddControllerSink =
unsafe { __library.get(b"MaaAgentServerAddControllerSink\0") }.map(|sym| *sym);
let MaaAgentServerAddTaskerSink =
unsafe { __library.get(b"MaaAgentServerAddTaskerSink\0") }.map(|sym| *sym);
let MaaAgentServerAddContextSink =
unsafe { __library.get(b"MaaAgentServerAddContextSink\0") }.map(|sym| *sym);
let MaaAgentServerStartUp =
unsafe { __library.get(b"MaaAgentServerStartUp\0") }.map(|sym| *sym);
let MaaAgentServerShutDown =
unsafe { __library.get(b"MaaAgentServerShutDown\0") }.map(|sym| *sym);
let MaaAgentServerJoin = unsafe { __library.get(b"MaaAgentServerJoin\0") }.map(|sym| *sym);
let MaaAgentServerDetach =
unsafe { __library.get(b"MaaAgentServerDetach\0") }.map(|sym| *sym);
let MaaToolkitAdbDeviceListCreate =
unsafe { __library.get(b"MaaToolkitAdbDeviceListCreate\0") }.map(|sym| *sym);
let MaaToolkitAdbDeviceListDestroy =
unsafe { __library.get(b"MaaToolkitAdbDeviceListDestroy\0") }.map(|sym| *sym);
let MaaToolkitAdbDeviceFind =
unsafe { __library.get(b"MaaToolkitAdbDeviceFind\0") }.map(|sym| *sym);
let MaaToolkitAdbDeviceFindSpecified =
unsafe { __library.get(b"MaaToolkitAdbDeviceFindSpecified\0") }.map(|sym| *sym);
let MaaToolkitAdbDeviceListSize =
unsafe { __library.get(b"MaaToolkitAdbDeviceListSize\0") }.map(|sym| *sym);
let MaaToolkitAdbDeviceListAt =
unsafe { __library.get(b"MaaToolkitAdbDeviceListAt\0") }.map(|sym| *sym);
let MaaToolkitAdbDeviceGetName =
unsafe { __library.get(b"MaaToolkitAdbDeviceGetName\0") }.map(|sym| *sym);
let MaaToolkitAdbDeviceGetAdbPath =
unsafe { __library.get(b"MaaToolkitAdbDeviceGetAdbPath\0") }.map(|sym| *sym);
let MaaToolkitAdbDeviceGetAddress =
unsafe { __library.get(b"MaaToolkitAdbDeviceGetAddress\0") }.map(|sym| *sym);
let MaaToolkitAdbDeviceGetScreencapMethods =
unsafe { __library.get(b"MaaToolkitAdbDeviceGetScreencapMethods\0") }.map(|sym| *sym);
let MaaToolkitAdbDeviceGetInputMethods =
unsafe { __library.get(b"MaaToolkitAdbDeviceGetInputMethods\0") }.map(|sym| *sym);
let MaaToolkitAdbDeviceGetConfig =
unsafe { __library.get(b"MaaToolkitAdbDeviceGetConfig\0") }.map(|sym| *sym);
let MaaToolkitDesktopWindowListCreate =
unsafe { __library.get(b"MaaToolkitDesktopWindowListCreate\0") }.map(|sym| *sym);
let MaaToolkitDesktopWindowListDestroy =
unsafe { __library.get(b"MaaToolkitDesktopWindowListDestroy\0") }.map(|sym| *sym);
let MaaToolkitDesktopWindowFindAll =
unsafe { __library.get(b"MaaToolkitDesktopWindowFindAll\0") }.map(|sym| *sym);
let MaaToolkitDesktopWindowListSize =
unsafe { __library.get(b"MaaToolkitDesktopWindowListSize\0") }.map(|sym| *sym);
let MaaToolkitDesktopWindowListAt =
unsafe { __library.get(b"MaaToolkitDesktopWindowListAt\0") }.map(|sym| *sym);
let MaaToolkitDesktopWindowGetHandle =
unsafe { __library.get(b"MaaToolkitDesktopWindowGetHandle\0") }.map(|sym| *sym);
let MaaToolkitDesktopWindowGetClassName =
unsafe { __library.get(b"MaaToolkitDesktopWindowGetClassName\0") }.map(|sym| *sym);
let MaaToolkitDesktopWindowGetWindowName =
unsafe { __library.get(b"MaaToolkitDesktopWindowGetWindowName\0") }.map(|sym| *sym);
let MaaToolkitConfigInitOption =
unsafe { __library.get(b"MaaToolkitConfigInitOption\0") }.map(|sym| *sym);
let MaaToolkitMacOSCheckPermission =
unsafe { __library.get(b"MaaToolkitMacOSCheckPermission\0") }.map(|sym| *sym);
let MaaToolkitMacOSRequestPermission =
unsafe { __library.get(b"MaaToolkitMacOSRequestPermission\0") }.map(|sym| *sym);
let MaaToolkitMacOSRevealPermissionSettings =
unsafe { __library.get(b"MaaToolkitMacOSRevealPermissionSettings\0") }.map(|sym| *sym);
Ok(MaaFramework {
__library,
MaaTaskerCreate,
MaaTaskerDestroy,
MaaTaskerAddSink,
MaaTaskerRemoveSink,
MaaTaskerClearSinks,
MaaTaskerAddContextSink,
MaaTaskerRemoveContextSink,
MaaTaskerClearContextSinks,
MaaTaskerSetOption,
MaaTaskerBindResource,
MaaTaskerBindController,
MaaTaskerInited,
MaaTaskerPostTask,
MaaTaskerPostRecognition,
MaaTaskerPostAction,
MaaTaskerStatus,
MaaTaskerWait,
MaaTaskerRunning,
MaaTaskerPostStop,
MaaTaskerStopping,
MaaTaskerGetResource,
MaaTaskerGetController,
MaaTaskerClearCache,
MaaTaskerOverridePipeline,
MaaTaskerGetRecognitionDetail,
MaaTaskerGetActionDetail,
MaaTaskerGetWaitFreezesDetail,
MaaTaskerGetNodeDetail,
MaaTaskerGetTaskDetail,
MaaTaskerGetLatestNode,
MaaResourceCreate,
MaaResourceDestroy,
MaaResourceAddSink,
MaaResourceRemoveSink,
MaaResourceClearSinks,
MaaResourceRegisterCustomRecognition,
MaaResourceUnregisterCustomRecognition,
MaaResourceClearCustomRecognition,
MaaResourceRegisterCustomAction,
MaaResourceUnregisterCustomAction,
MaaResourceClearCustomAction,
MaaResourcePostBundle,
MaaResourcePostOcrModel,
MaaResourcePostPipeline,
MaaResourcePostImage,
MaaResourceOverridePipeline,
MaaResourceOverrideNext,
MaaResourceOverrideImage,
MaaResourceGetNodeData,
MaaResourceClear,
MaaResourceStatus,
MaaResourceWait,
MaaResourceLoaded,
MaaResourceSetOption,
MaaResourceGetHash,
MaaResourceGetNodeList,
MaaResourceGetCustomRecognitionList,
MaaResourceGetCustomActionList,
MaaResourceGetDefaultRecognitionParam,
MaaResourceGetDefaultActionParam,
MaaAdbControllerCreate,
MaaWin32ControllerCreate,
MaaMacOSControllerCreate,
MaaAndroidNativeControllerCreate,
MaaCustomControllerCreate,
MaaDbgControllerCreate,
MaaReplayControllerCreate,
MaaRecordControllerCreate,
MaaPlayCoverControllerCreate,
MaaWlRootsControllerCreate,
MaaGamepadControllerCreate,
MaaControllerDestroy,
MaaControllerAddSink,
MaaControllerRemoveSink,
MaaControllerClearSinks,
MaaControllerSetOption,
MaaControllerPostConnection,
MaaControllerPostClick,
MaaControllerPostClickV2,
MaaControllerPostSwipe,
MaaControllerPostSwipeV2,
MaaControllerPostClickKey,
MaaControllerPostInputText,
MaaControllerPostStartApp,
MaaControllerPostStopApp,
MaaControllerPostTouchDown,
MaaControllerPostTouchMove,
MaaControllerPostTouchUp,
MaaControllerPostRelativeMove,
MaaControllerPostKeyDown,
MaaControllerPostKeyUp,
MaaControllerPostScreencap,
MaaControllerPostScroll,
MaaControllerPostInactive,
MaaControllerPostShell,
MaaControllerGetShellOutput,
MaaControllerStatus,
MaaControllerWait,
MaaControllerConnected,
MaaControllerCachedImage,
MaaControllerGetUuid,
MaaControllerGetResolution,
MaaControllerGetInfo,
MaaControllerPostPressKey,
MaaContextRunTask,
MaaContextRunRecognition,
MaaContextRunAction,
MaaContextRunRecognitionDirect,
MaaContextRunActionDirect,
MaaContextWaitFreezes,
MaaContextOverridePipeline,
MaaContextOverrideNext,
MaaContextOverrideImage,
MaaContextGetNodeData,
MaaContextGetTaskId,
MaaContextGetTasker,
MaaContextClone,
MaaContextSetAnchor,
MaaContextGetAnchor,
MaaContextGetHitCount,
MaaContextClearHitCount,
MaaGlobalSetOption,
MaaGlobalLoadPlugin,
MaaSetGlobalOption,
MaaStringBufferCreate,
MaaStringBufferDestroy,
MaaStringBufferIsEmpty,
MaaStringBufferClear,
MaaStringBufferGet,
MaaStringBufferSize,
MaaStringBufferSet,
MaaStringBufferSetEx,
MaaStringListBufferCreate,
MaaStringListBufferDestroy,
MaaStringListBufferIsEmpty,
MaaStringListBufferSize,
MaaStringListBufferAt,
MaaStringListBufferAppend,
MaaStringListBufferRemove,
MaaStringListBufferClear,
MaaImageBufferCreate,
MaaImageBufferDestroy,
MaaImageBufferIsEmpty,
MaaImageBufferClear,
MaaImageBufferGetRawData,
MaaImageBufferWidth,
MaaImageBufferHeight,
MaaImageBufferChannels,
MaaImageBufferType,
MaaImageBufferSetRawData,
MaaImageBufferResize,
MaaImageBufferGetEncoded,
MaaImageBufferGetEncodedSize,
MaaImageBufferSetEncoded,
MaaImageListBufferCreate,
MaaImageListBufferDestroy,
MaaImageListBufferIsEmpty,
MaaImageListBufferSize,
MaaImageListBufferAt,
MaaImageListBufferAppend,
MaaImageListBufferRemove,
MaaImageListBufferClear,
MaaRectCreate,
MaaRectDestroy,
MaaRectGetX,
MaaRectGetY,
MaaRectGetW,
MaaRectGetH,
MaaRectSet,
MaaVersion,
MaaAgentClientCreateV2,
MaaAgentClientCreateTcp,
MaaAgentClientDestroy,
MaaAgentClientIdentifier,
MaaAgentClientBindResource,
MaaAgentClientRegisterResourceSink,
MaaAgentClientRegisterControllerSink,
MaaAgentClientRegisterTaskerSink,
MaaAgentClientConnect,
MaaAgentClientDisconnect,
MaaAgentClientConnected,
MaaAgentClientAlive,
MaaAgentClientSetTimeout,
MaaAgentClientGetCustomRecognitionList,
MaaAgentClientGetCustomActionList,
MaaAgentClientCreate,
MaaAgentClientCreateSocket,
MaaAgentServerRegisterCustomRecognition,
MaaAgentServerRegisterCustomAction,
MaaAgentServerAddResourceSink,
MaaAgentServerAddControllerSink,
MaaAgentServerAddTaskerSink,
MaaAgentServerAddContextSink,
MaaAgentServerStartUp,
MaaAgentServerShutDown,
MaaAgentServerJoin,
MaaAgentServerDetach,
MaaToolkitAdbDeviceListCreate,
MaaToolkitAdbDeviceListDestroy,
MaaToolkitAdbDeviceFind,
MaaToolkitAdbDeviceFindSpecified,
MaaToolkitAdbDeviceListSize,
MaaToolkitAdbDeviceListAt,
MaaToolkitAdbDeviceGetName,
MaaToolkitAdbDeviceGetAdbPath,
MaaToolkitAdbDeviceGetAddress,
MaaToolkitAdbDeviceGetScreencapMethods,
MaaToolkitAdbDeviceGetInputMethods,
MaaToolkitAdbDeviceGetConfig,
MaaToolkitDesktopWindowListCreate,
MaaToolkitDesktopWindowListDestroy,
MaaToolkitDesktopWindowFindAll,
MaaToolkitDesktopWindowListSize,
MaaToolkitDesktopWindowListAt,
MaaToolkitDesktopWindowGetHandle,
MaaToolkitDesktopWindowGetClassName,
MaaToolkitDesktopWindowGetWindowName,
MaaToolkitConfigInitOption,
MaaToolkitMacOSCheckPermission,
MaaToolkitMacOSRequestPermission,
MaaToolkitMacOSRevealPermissionSettings,
})
}
pub unsafe fn MaaTaskerCreate(&self) -> *mut MaaTasker {
unsafe {
(self
.MaaTaskerCreate
.as_ref()
.expect("Expected function, got error."))()
}
}
pub unsafe fn MaaTaskerDestroy(&self, tasker: *mut MaaTasker) {
unsafe {
(self
.MaaTaskerDestroy
.as_ref()
.expect("Expected function, got error."))(tasker)
}
}
pub unsafe fn MaaTaskerAddSink(
&self,
tasker: *mut MaaTasker,
sink: MaaEventCallback,
trans_arg: *mut ::std::os::raw::c_void,
) -> MaaSinkId {
unsafe {
(self
.MaaTaskerAddSink
.as_ref()
.expect("Expected function, got error."))(tasker, sink, trans_arg)
}
}
pub unsafe fn MaaTaskerRemoveSink(&self, tasker: *mut MaaTasker, sink_id: MaaSinkId) {
unsafe {
(self
.MaaTaskerRemoveSink
.as_ref()
.expect("Expected function, got error."))(tasker, sink_id)
}
}
pub unsafe fn MaaTaskerClearSinks(&self, tasker: *mut MaaTasker) {
unsafe {
(self
.MaaTaskerClearSinks
.as_ref()
.expect("Expected function, got error."))(tasker)
}
}
pub unsafe fn MaaTaskerAddContextSink(
&self,
tasker: *mut MaaTasker,
sink: MaaEventCallback,
trans_arg: *mut ::std::os::raw::c_void,
) -> MaaSinkId {
unsafe {
(self
.MaaTaskerAddContextSink
.as_ref()
.expect("Expected function, got error."))(tasker, sink, trans_arg)
}
}
pub unsafe fn MaaTaskerRemoveContextSink(&self, tasker: *mut MaaTasker, sink_id: MaaSinkId) {
unsafe {
(self
.MaaTaskerRemoveContextSink
.as_ref()
.expect("Expected function, got error."))(tasker, sink_id)
}
}
pub unsafe fn MaaTaskerClearContextSinks(&self, tasker: *mut MaaTasker) {
unsafe {
(self
.MaaTaskerClearContextSinks
.as_ref()
.expect("Expected function, got error."))(tasker)
}
}
#[doc = " @param[in] value"]
pub unsafe fn MaaTaskerSetOption(
&self,
tasker: *mut MaaTasker,
key: MaaTaskerOption,
value: MaaOptionValue,
val_size: MaaOptionValueSize,
) -> MaaBool {
unsafe {
(self
.MaaTaskerSetOption
.as_ref()
.expect("Expected function, got error."))(tasker, key, value, val_size)
}
}
pub unsafe fn MaaTaskerBindResource(
&self,
tasker: *mut MaaTasker,
res: *mut MaaResource,
) -> MaaBool {
unsafe {
(self
.MaaTaskerBindResource
.as_ref()
.expect("Expected function, got error."))(tasker, res)
}
}
pub unsafe fn MaaTaskerBindController(
&self,
tasker: *mut MaaTasker,
ctrl: *mut MaaController,
) -> MaaBool {
unsafe {
(self
.MaaTaskerBindController
.as_ref()
.expect("Expected function, got error."))(tasker, ctrl)
}
}
pub unsafe fn MaaTaskerInited(&self, tasker: *const MaaTasker) -> MaaBool {
unsafe {
(self
.MaaTaskerInited
.as_ref()
.expect("Expected function, got error."))(tasker)
}
}
pub unsafe fn MaaTaskerPostTask(
&self,
tasker: *mut MaaTasker,
entry: *const ::std::os::raw::c_char,
pipeline_override: *const ::std::os::raw::c_char,
) -> MaaTaskId {
unsafe {
(self
.MaaTaskerPostTask
.as_ref()
.expect("Expected function, got error."))(
tasker, entry, pipeline_override
)
}
}
#[doc = " @param reco_type Recognition type string\n @param reco_param Recognition parameters json\n @param image Previous screenshot"]
pub unsafe fn MaaTaskerPostRecognition(
&self,
tasker: *mut MaaTasker,
reco_type: *const ::std::os::raw::c_char,
reco_param: *const ::std::os::raw::c_char,
image: *const MaaImageBuffer,
) -> MaaTaskId {
unsafe {
(self
.MaaTaskerPostRecognition
.as_ref()
.expect("Expected function, got error."))(
tasker, reco_type, reco_param, image
)
}
}
#[doc = " @param action_type Action type string\n @param action_param Action parameters json\n @param box Previous recognition position\n @param reco_detail Previous recognition details"]
pub unsafe fn MaaTaskerPostAction(
&self,
tasker: *mut MaaTasker,
action_type: *const ::std::os::raw::c_char,
action_param: *const ::std::os::raw::c_char,
box_: *const MaaRect,
reco_detail: *const ::std::os::raw::c_char,
) -> MaaTaskId {
unsafe {
(self
.MaaTaskerPostAction
.as_ref()
.expect("Expected function, got error."))(
tasker,
action_type,
action_param,
box_,
reco_detail,
)
}
}
pub unsafe fn MaaTaskerStatus(&self, tasker: *const MaaTasker, id: MaaTaskId) -> MaaStatus {
unsafe {
(self
.MaaTaskerStatus
.as_ref()
.expect("Expected function, got error."))(tasker, id)
}
}
pub unsafe fn MaaTaskerWait(&self, tasker: *const MaaTasker, id: MaaTaskId) -> MaaStatus {
unsafe {
(self
.MaaTaskerWait
.as_ref()
.expect("Expected function, got error."))(tasker, id)
}
}
pub unsafe fn MaaTaskerRunning(&self, tasker: *const MaaTasker) -> MaaBool {
unsafe {
(self
.MaaTaskerRunning
.as_ref()
.expect("Expected function, got error."))(tasker)
}
}
pub unsafe fn MaaTaskerPostStop(&self, tasker: *mut MaaTasker) -> MaaTaskId {
unsafe {
(self
.MaaTaskerPostStop
.as_ref()
.expect("Expected function, got error."))(tasker)
}
}
pub unsafe fn MaaTaskerStopping(&self, tasker: *const MaaTasker) -> MaaBool {
unsafe {
(self
.MaaTaskerStopping
.as_ref()
.expect("Expected function, got error."))(tasker)
}
}
pub unsafe fn MaaTaskerGetResource(&self, tasker: *const MaaTasker) -> *mut MaaResource {
unsafe {
(self
.MaaTaskerGetResource
.as_ref()
.expect("Expected function, got error."))(tasker)
}
}
pub unsafe fn MaaTaskerGetController(&self, tasker: *const MaaTasker) -> *mut MaaController {
unsafe {
(self
.MaaTaskerGetController
.as_ref()
.expect("Expected function, got error."))(tasker)
}
}
pub unsafe fn MaaTaskerClearCache(&self, tasker: *mut MaaTasker) -> MaaBool {
unsafe {
(self
.MaaTaskerClearCache
.as_ref()
.expect("Expected function, got error."))(tasker)
}
}
pub unsafe fn MaaTaskerOverridePipeline(
&self,
tasker: *mut MaaTasker,
task_id: MaaTaskId,
pipeline_override: *const ::std::os::raw::c_char,
) -> MaaBool {
unsafe {
(self
.MaaTaskerOverridePipeline
.as_ref()
.expect("Expected function, got error."))(
tasker, task_id, pipeline_override
)
}
}
#[doc = " @param[out] hit"]
pub unsafe fn MaaTaskerGetRecognitionDetail(
&self,
tasker: *const MaaTasker,
reco_id: MaaRecoId,
node_name: *mut MaaStringBuffer,
algorithm: *mut MaaStringBuffer,
hit: *mut MaaBool,
box_: *mut MaaRect,
detail_json: *mut MaaStringBuffer,
raw: *mut MaaImageBuffer,
draws: *mut MaaImageListBuffer,
) -> MaaBool {
unsafe {
(self
.MaaTaskerGetRecognitionDetail
.as_ref()
.expect("Expected function, got error."))(
tasker,
reco_id,
node_name,
algorithm,
hit,
box_,
detail_json,
raw,
draws,
)
}
}
#[doc = " @param[out] action\n @param[out] box\n @param[out] success\n @param[out] detail_json"]
pub unsafe fn MaaTaskerGetActionDetail(
&self,
tasker: *const MaaTasker,
action_id: MaaActId,
node_name: *mut MaaStringBuffer,
action: *mut MaaStringBuffer,
box_: *mut MaaRect,
success: *mut MaaBool,
detail_json: *mut MaaStringBuffer,
) -> MaaBool {
unsafe {
(self
.MaaTaskerGetActionDetail
.as_ref()
.expect("Expected function, got error."))(
tasker,
action_id,
node_name,
action,
box_,
success,
detail_json,
)
}
}
#[doc = " @param[out] node_name\n @param[out] phase\n @param[out] success\n @param[out] elapsed_ms\n @param[out] reco_id_list\n @param[in, out] reco_id_list_size\n @param[out] roi"]
pub unsafe fn MaaTaskerGetWaitFreezesDetail(
&self,
tasker: *const MaaTasker,
wf_id: MaaWfId,
node_name: *mut MaaStringBuffer,
phase: *mut MaaStringBuffer,
success: *mut MaaBool,
elapsed_ms: *mut MaaSize,
reco_id_list: *mut MaaRecoId,
reco_id_list_size: *mut MaaSize,
roi: *mut MaaRect,
) -> MaaBool {
unsafe {
(self
.MaaTaskerGetWaitFreezesDetail
.as_ref()
.expect("Expected function, got error."))(
tasker,
wf_id,
node_name,
phase,
success,
elapsed_ms,
reco_id_list,
reco_id_list_size,
roi,
)
}
}
#[doc = " @param[out] reco_id\n @param[out] action_id\n @param[out] completed"]
pub unsafe fn MaaTaskerGetNodeDetail(
&self,
tasker: *const MaaTasker,
node_id: MaaNodeId,
node_name: *mut MaaStringBuffer,
reco_id: *mut MaaRecoId,
action_id: *mut MaaActId,
completed: *mut MaaBool,
) -> MaaBool {
unsafe {
(self
.MaaTaskerGetNodeDetail
.as_ref()
.expect("Expected function, got error."))(
tasker, node_id, node_name, reco_id, action_id, completed,
)
}
}
#[doc = " @param[out] node_id_list\n @param[in, out] node_id_list_size\n @param[out] status"]
pub unsafe fn MaaTaskerGetTaskDetail(
&self,
tasker: *const MaaTasker,
task_id: MaaTaskId,
entry: *mut MaaStringBuffer,
node_id_list: *mut MaaNodeId,
node_id_list_size: *mut MaaSize,
status: *mut MaaStatus,
) -> MaaBool {
unsafe {
(self
.MaaTaskerGetTaskDetail
.as_ref()
.expect("Expected function, got error."))(
tasker,
task_id,
entry,
node_id_list,
node_id_list_size,
status,
)
}
}
#[doc = " @param[out] latest_id"]
pub unsafe fn MaaTaskerGetLatestNode(
&self,
tasker: *const MaaTasker,
node_name: *const ::std::os::raw::c_char,
latest_id: *mut MaaNodeId,
) -> MaaBool {
unsafe {
(self
.MaaTaskerGetLatestNode
.as_ref()
.expect("Expected function, got error."))(tasker, node_name, latest_id)
}
}
pub unsafe fn MaaResourceCreate(&self) -> *mut MaaResource {
unsafe {
(self
.MaaResourceCreate
.as_ref()
.expect("Expected function, got error."))()
}
}
pub unsafe fn MaaResourceDestroy(&self, res: *mut MaaResource) {
unsafe {
(self
.MaaResourceDestroy
.as_ref()
.expect("Expected function, got error."))(res)
}
}
pub unsafe fn MaaResourceAddSink(
&self,
res: *mut MaaResource,
sink: MaaEventCallback,
trans_arg: *mut ::std::os::raw::c_void,
) -> MaaSinkId {
unsafe {
(self
.MaaResourceAddSink
.as_ref()
.expect("Expected function, got error."))(res, sink, trans_arg)
}
}
pub unsafe fn MaaResourceRemoveSink(&self, res: *mut MaaResource, sink_id: MaaSinkId) {
unsafe {
(self
.MaaResourceRemoveSink
.as_ref()
.expect("Expected function, got error."))(res, sink_id)
}
}
pub unsafe fn MaaResourceClearSinks(&self, res: *mut MaaResource) {
unsafe {
(self
.MaaResourceClearSinks
.as_ref()
.expect("Expected function, got error."))(res)
}
}
pub unsafe fn MaaResourceRegisterCustomRecognition(
&self,
res: *mut MaaResource,
name: *const ::std::os::raw::c_char,
recognition: MaaCustomRecognitionCallback,
trans_arg: *mut ::std::os::raw::c_void,
) -> MaaBool {
unsafe {
(self
.MaaResourceRegisterCustomRecognition
.as_ref()
.expect("Expected function, got error."))(
res, name, recognition, trans_arg
)
}
}
pub unsafe fn MaaResourceUnregisterCustomRecognition(
&self,
res: *mut MaaResource,
name: *const ::std::os::raw::c_char,
) -> MaaBool {
unsafe {
(self
.MaaResourceUnregisterCustomRecognition
.as_ref()
.expect("Expected function, got error."))(res, name)
}
}
pub unsafe fn MaaResourceClearCustomRecognition(&self, res: *mut MaaResource) -> MaaBool {
unsafe {
(self
.MaaResourceClearCustomRecognition
.as_ref()
.expect("Expected function, got error."))(res)
}
}
pub unsafe fn MaaResourceRegisterCustomAction(
&self,
res: *mut MaaResource,
name: *const ::std::os::raw::c_char,
action: MaaCustomActionCallback,
trans_arg: *mut ::std::os::raw::c_void,
) -> MaaBool {
unsafe {
(self
.MaaResourceRegisterCustomAction
.as_ref()
.expect("Expected function, got error."))(res, name, action, trans_arg)
}
}
pub unsafe fn MaaResourceUnregisterCustomAction(
&self,
res: *mut MaaResource,
name: *const ::std::os::raw::c_char,
) -> MaaBool {
unsafe {
(self
.MaaResourceUnregisterCustomAction
.as_ref()
.expect("Expected function, got error."))(res, name)
}
}
pub unsafe fn MaaResourceClearCustomAction(&self, res: *mut MaaResource) -> MaaBool {
unsafe {
(self
.MaaResourceClearCustomAction
.as_ref()
.expect("Expected function, got error."))(res)
}
}
pub unsafe fn MaaResourcePostBundle(
&self,
res: *mut MaaResource,
path: *const ::std::os::raw::c_char,
) -> MaaResId {
unsafe {
(self
.MaaResourcePostBundle
.as_ref()
.expect("Expected function, got error."))(res, path)
}
}
pub unsafe fn MaaResourcePostOcrModel(
&self,
res: *mut MaaResource,
path: *const ::std::os::raw::c_char,
) -> MaaResId {
unsafe {
(self
.MaaResourcePostOcrModel
.as_ref()
.expect("Expected function, got error."))(res, path)
}
}
pub unsafe fn MaaResourcePostPipeline(
&self,
res: *mut MaaResource,
path: *const ::std::os::raw::c_char,
) -> MaaResId {
unsafe {
(self
.MaaResourcePostPipeline
.as_ref()
.expect("Expected function, got error."))(res, path)
}
}
pub unsafe fn MaaResourcePostImage(
&self,
res: *mut MaaResource,
path: *const ::std::os::raw::c_char,
) -> MaaResId {
unsafe {
(self
.MaaResourcePostImage
.as_ref()
.expect("Expected function, got error."))(res, path)
}
}
pub unsafe fn MaaResourceOverridePipeline(
&self,
res: *mut MaaResource,
pipeline_override: *const ::std::os::raw::c_char,
) -> MaaBool {
unsafe {
(self
.MaaResourceOverridePipeline
.as_ref()
.expect("Expected function, got error."))(res, pipeline_override)
}
}
pub unsafe fn MaaResourceOverrideNext(
&self,
res: *mut MaaResource,
node_name: *const ::std::os::raw::c_char,
next_list: *const MaaStringListBuffer,
) -> MaaBool {
unsafe {
(self
.MaaResourceOverrideNext
.as_ref()
.expect("Expected function, got error."))(res, node_name, next_list)
}
}
pub unsafe fn MaaResourceOverrideImage(
&self,
res: *mut MaaResource,
image_name: *const ::std::os::raw::c_char,
image: *const MaaImageBuffer,
) -> MaaBool {
unsafe {
(self
.MaaResourceOverrideImage
.as_ref()
.expect("Expected function, got error."))(res, image_name, image)
}
}
pub unsafe fn MaaResourceGetNodeData(
&self,
res: *mut MaaResource,
node_name: *const ::std::os::raw::c_char,
buffer: *mut MaaStringBuffer,
) -> MaaBool {
unsafe {
(self
.MaaResourceGetNodeData
.as_ref()
.expect("Expected function, got error."))(res, node_name, buffer)
}
}
pub unsafe fn MaaResourceClear(&self, res: *mut MaaResource) -> MaaBool {
unsafe {
(self
.MaaResourceClear
.as_ref()
.expect("Expected function, got error."))(res)
}
}
pub unsafe fn MaaResourceStatus(&self, res: *const MaaResource, id: MaaResId) -> MaaStatus {
unsafe {
(self
.MaaResourceStatus
.as_ref()
.expect("Expected function, got error."))(res, id)
}
}
pub unsafe fn MaaResourceWait(&self, res: *const MaaResource, id: MaaResId) -> MaaStatus {
unsafe {
(self
.MaaResourceWait
.as_ref()
.expect("Expected function, got error."))(res, id)
}
}
pub unsafe fn MaaResourceLoaded(&self, res: *const MaaResource) -> MaaBool {
unsafe {
(self
.MaaResourceLoaded
.as_ref()
.expect("Expected function, got error."))(res)
}
}
pub unsafe fn MaaResourceSetOption(
&self,
res: *mut MaaResource,
key: MaaResOption,
value: MaaOptionValue,
val_size: MaaOptionValueSize,
) -> MaaBool {
unsafe {
(self
.MaaResourceSetOption
.as_ref()
.expect("Expected function, got error."))(res, key, value, val_size)
}
}
pub unsafe fn MaaResourceGetHash(
&self,
res: *const MaaResource,
buffer: *mut MaaStringBuffer,
) -> MaaBool {
unsafe {
(self
.MaaResourceGetHash
.as_ref()
.expect("Expected function, got error."))(res, buffer)
}
}
pub unsafe fn MaaResourceGetNodeList(
&self,
res: *const MaaResource,
buffer: *mut MaaStringListBuffer,
) -> MaaBool {
unsafe {
(self
.MaaResourceGetNodeList
.as_ref()
.expect("Expected function, got error."))(res, buffer)
}
}
pub unsafe fn MaaResourceGetCustomRecognitionList(
&self,
res: *const MaaResource,
buffer: *mut MaaStringListBuffer,
) -> MaaBool {
unsafe {
(self
.MaaResourceGetCustomRecognitionList
.as_ref()
.expect("Expected function, got error."))(res, buffer)
}
}
pub unsafe fn MaaResourceGetCustomActionList(
&self,
res: *const MaaResource,
buffer: *mut MaaStringListBuffer,
) -> MaaBool {
unsafe {
(self
.MaaResourceGetCustomActionList
.as_ref()
.expect("Expected function, got error."))(res, buffer)
}
}
#[doc = " @brief Get default recognition parameters for the specified type from DefaultPipelineMgr.\n\n @param reco_type Recognition type string (e.g., \"OCR\", \"TemplateMatch\")\n @param buffer [out] Output buffer for the JSON string of recognition parameters"]
pub unsafe fn MaaResourceGetDefaultRecognitionParam(
&self,
res: *const MaaResource,
reco_type: *const ::std::os::raw::c_char,
buffer: *mut MaaStringBuffer,
) -> MaaBool {
unsafe {
(self
.MaaResourceGetDefaultRecognitionParam
.as_ref()
.expect("Expected function, got error."))(res, reco_type, buffer)
}
}
#[doc = " @brief Get default action parameters for the specified type from DefaultPipelineMgr.\n\n @param action_type Action type string (e.g., \"Click\", \"Swipe\")\n @param buffer [out] Output buffer for the JSON string of action parameters"]
pub unsafe fn MaaResourceGetDefaultActionParam(
&self,
res: *const MaaResource,
action_type: *const ::std::os::raw::c_char,
buffer: *mut MaaStringBuffer,
) -> MaaBool {
unsafe {
(self
.MaaResourceGetDefaultActionParam
.as_ref()
.expect("Expected function, got error."))(res, action_type, buffer)
}
}
pub unsafe fn MaaAdbControllerCreate(
&self,
adb_path: *const ::std::os::raw::c_char,
address: *const ::std::os::raw::c_char,
screencap_methods: MaaAdbScreencapMethod,
input_methods: MaaAdbInputMethod,
config: *const ::std::os::raw::c_char,
agent_path: *const ::std::os::raw::c_char,
) -> *mut MaaController {
unsafe {
(self
.MaaAdbControllerCreate
.as_ref()
.expect("Expected function, got error."))(
adb_path,
address,
screencap_methods,
input_methods,
config,
agent_path,
)
}
}
pub unsafe fn MaaWin32ControllerCreate(
&self,
hWnd: *mut ::std::os::raw::c_void,
screencap_method: MaaWin32ScreencapMethod,
mouse_method: MaaWin32InputMethod,
keyboard_method: MaaWin32InputMethod,
) -> *mut MaaController {
unsafe {
(self
.MaaWin32ControllerCreate
.as_ref()
.expect("Expected function, got error."))(
hWnd,
screencap_method,
mouse_method,
keyboard_method,
)
}
}
#[doc = " @brief Create a macOS controller for native macOS applications.\n\n @param window_id The CGWindowID of the target window (0 for desktop).\n @param screencap_method macOS screencap method to use.\n @param input_method macOS input method to use.\n @return The controller handle, or nullptr on failure.\n\n @note This controller is designed for native macOS applications.\n @note Requires Screen Recording permission for screencap.\n @note Input simulation requires Accessibility permission.\n @note Some features are not supported: start_app, stop_app, scroll.\n @note Only single touch is supported (contact must be 0)."]
pub unsafe fn MaaMacOSControllerCreate(
&self,
window_id: u32,
screencap_method: MaaMacOSScreencapMethod,
input_method: MaaMacOSInputMethod,
) -> *mut MaaController {
unsafe {
(self
.MaaMacOSControllerCreate
.as_ref()
.expect("Expected function, got error."))(
window_id, screencap_method, input_method
)
}
}
#[doc = " @brief Create an Android native controller backed by MaaAndroidNativeControlUnit.\n\n @param config_json JSON config for the control unit. Required fields:\n - library_path: path to the Android native control unit library\n - screen_resolution.width / screen_resolution.height: raw screenshot and touch resolution\n Optional fields:\n - display_id: target display id, defaults to 0\n - force_stop: whether to force stop before start_app, defaults to false\n @return The controller handle, or nullptr on failure.\n\n @note This controller is only available on Android.\n @note The configured screen_resolution must match the control unit's raw screenshot/touch coordinate space."]
pub unsafe fn MaaAndroidNativeControllerCreate(
&self,
config_json: *const ::std::os::raw::c_char,
) -> *mut MaaController {
unsafe {
(self
.MaaAndroidNativeControllerCreate
.as_ref()
.expect("Expected function, got error."))(config_json)
}
}
pub unsafe fn MaaCustomControllerCreate(
&self,
controller: *mut MaaCustomControllerCallbacks,
controller_arg: *mut ::std::os::raw::c_void,
) -> *mut MaaController {
unsafe {
(self
.MaaCustomControllerCreate
.as_ref()
.expect("Expected function, got error."))(controller, controller_arg)
}
}
#[doc = " @brief Create a debug controller that serves images from a directory.\n\n @param read_path Path to a directory of images (or a single image file).\n Images are loaded on connect and cycled through on each screencap request.\n All input operations (click, swipe, etc.) are no-ops that return success.\n @return The controller handle, or nullptr on failure."]
pub unsafe fn MaaDbgControllerCreate(
&self,
read_path: *const ::std::os::raw::c_char,
) -> *mut MaaController {
unsafe {
(self
.MaaDbgControllerCreate
.as_ref()
.expect("Expected function, got error."))(read_path)
}
}
#[doc = " @brief Create a replay controller that replays recorded operations.\n\n @param recording_path Path to the recording JSONL file written by MaaRecordControllerCreate.\n Screenshot image paths in the file are resolved relative to this file's parent directory.\n @return The controller handle, or nullptr on failure."]
pub unsafe fn MaaReplayControllerCreate(
&self,
recording_path: *const ::std::os::raw::c_char,
) -> *mut MaaController {
unsafe {
(self
.MaaReplayControllerCreate
.as_ref()
.expect("Expected function, got error."))(recording_path)
}
}
#[doc = " @brief Create a record controller that wraps an existing controller and records all operations.\n\n @param inner The inner controller to forward all operations to. Must not be null.\n The record controller does NOT take ownership of the inner controller.\n @param recording_path Path to the recording JSONL file to write.\n Screenshot images will be saved to a \"{stem}-Screenshot\" folder\n in the same directory as this file.\n The recorded file can be replayed using MaaReplayControllerCreate.\n @return The record controller handle, or nullptr on failure."]
pub unsafe fn MaaRecordControllerCreate(
&self,
inner: *mut MaaController,
recording_path: *const ::std::os::raw::c_char,
) -> *mut MaaController {
unsafe {
(self
.MaaRecordControllerCreate
.as_ref()
.expect("Expected function, got error."))(inner, recording_path)
}
}
#[doc = " @brief Create a PlayCover controller for macOS.\n\n @param address The PlayTools service address in \"host:port\" format.\n @param uuid The application bundle identifier (e.g., \"com.hypergryph.arknights\").\n @return The controller handle, or nullptr on failure.\n\n @note This controller is designed for PlayCover on macOS.\n @note Some features are not supported: start_app, input_text, click_key, key_down, key_up, scroll.\n @note Only single touch is supported (contact must be 0)."]
pub unsafe fn MaaPlayCoverControllerCreate(
&self,
address: *const ::std::os::raw::c_char,
uuid: *const ::std::os::raw::c_char,
) -> *mut MaaController {
unsafe {
(self
.MaaPlayCoverControllerCreate
.as_ref()
.expect("Expected function, got error."))(address, uuid)
}
}
#[doc = " @brief Create a wlroots controller for Linux.\n\n @param wlr_socket_path The wayland socket path (e.g., \"/run/user/1000/wayland-0\").\n @return The controller handle, or nullptr on failure.\n\n @note This controller is designed for wlroots on Linux."]
pub unsafe fn MaaWlRootsControllerCreate(
&self,
wlr_socket_path: *const ::std::os::raw::c_char,
) -> *mut MaaController {
unsafe {
(self
.MaaWlRootsControllerCreate
.as_ref()
.expect("Expected function, got error."))(wlr_socket_path)
}
}
#[doc = " @brief Create a virtual gamepad controller for Windows.\n\n @param hWnd Window handle for screencap (optional, can be nullptr if screencap not needed).\n @param gamepad_type Type of virtual gamepad (MaaGamepadType_Xbox360 or MaaGamepadType_DualShock4).\n @param screencap_method Win32 screencap method to use. Ignored if hWnd is nullptr.\n @return The controller handle, or nullptr on failure.\n\n @note Requires ViGEm Bus Driver to be installed on the system.\n @note For gamepad control, use:\n - click_key/key_down/key_up: For digital buttons (A, B, X, Y, LB, RB, etc.)\n See MaaGamepadButton_* constants for available buttons.\n - touch_down/touch_move/touch_up: For analog inputs (sticks and triggers)\n - contact 0 (MaaGamepadTouch_LeftStick): Left stick (x: -32768~32767, y: -32768~32767)\n - contact 1 (MaaGamepadTouch_RightStick): Right stick (x: -32768~32767, y: -32768~32767)\n - contact 2 (MaaGamepadTouch_LeftTrigger): Left trigger (pressure: 0~255, x/y ignored)\n - contact 3 (MaaGamepadTouch_RightTrigger): Right trigger (pressure: 0~255, x/y ignored)\n @note click and swipe are not directly supported for gamepad.\n @note input_text, start_app, stop_app, scroll are not supported.\n @see MaaGamepadButton, MaaGamepadTouch, MaaGamepadType"]
pub unsafe fn MaaGamepadControllerCreate(
&self,
hWnd: *mut ::std::os::raw::c_void,
gamepad_type: MaaGamepadType,
screencap_method: MaaWin32ScreencapMethod,
) -> *mut MaaController {
unsafe {
(self
.MaaGamepadControllerCreate
.as_ref()
.expect("Expected function, got error."))(
hWnd, gamepad_type, screencap_method
)
}
}
pub unsafe fn MaaControllerDestroy(&self, ctrl: *mut MaaController) {
unsafe {
(self
.MaaControllerDestroy
.as_ref()
.expect("Expected function, got error."))(ctrl)
}
}
pub unsafe fn MaaControllerAddSink(
&self,
ctrl: *mut MaaController,
sink: MaaEventCallback,
trans_arg: *mut ::std::os::raw::c_void,
) -> MaaSinkId {
unsafe {
(self
.MaaControllerAddSink
.as_ref()
.expect("Expected function, got error."))(ctrl, sink, trans_arg)
}
}
pub unsafe fn MaaControllerRemoveSink(&self, ctrl: *mut MaaController, sink_id: MaaSinkId) {
unsafe {
(self
.MaaControllerRemoveSink
.as_ref()
.expect("Expected function, got error."))(ctrl, sink_id)
}
}
pub unsafe fn MaaControllerClearSinks(&self, ctrl: *mut MaaController) {
unsafe {
(self
.MaaControllerClearSinks
.as_ref()
.expect("Expected function, got error."))(ctrl)
}
}
#[doc = " @param[in] value"]
pub unsafe fn MaaControllerSetOption(
&self,
ctrl: *mut MaaController,
key: MaaCtrlOption,
value: MaaOptionValue,
val_size: MaaOptionValueSize,
) -> MaaBool {
unsafe {
(self
.MaaControllerSetOption
.as_ref()
.expect("Expected function, got error."))(ctrl, key, value, val_size)
}
}
pub unsafe fn MaaControllerPostConnection(&self, ctrl: *mut MaaController) -> MaaCtrlId {
unsafe {
(self
.MaaControllerPostConnection
.as_ref()
.expect("Expected function, got error."))(ctrl)
}
}
pub unsafe fn MaaControllerPostClick(
&self,
ctrl: *mut MaaController,
x: i32,
y: i32,
) -> MaaCtrlId {
unsafe {
(self
.MaaControllerPostClick
.as_ref()
.expect("Expected function, got error."))(ctrl, x, y)
}
}
pub unsafe fn MaaControllerPostClickV2(
&self,
ctrl: *mut MaaController,
x: i32,
y: i32,
contact: i32,
pressure: i32,
) -> MaaCtrlId {
unsafe {
(self
.MaaControllerPostClickV2
.as_ref()
.expect("Expected function, got error."))(ctrl, x, y, contact, pressure)
}
}
pub unsafe fn MaaControllerPostSwipe(
&self,
ctrl: *mut MaaController,
x1: i32,
y1: i32,
x2: i32,
y2: i32,
duration: i32,
) -> MaaCtrlId {
unsafe {
(self
.MaaControllerPostSwipe
.as_ref()
.expect("Expected function, got error."))(ctrl, x1, y1, x2, y2, duration)
}
}
pub unsafe fn MaaControllerPostSwipeV2(
&self,
ctrl: *mut MaaController,
x1: i32,
y1: i32,
x2: i32,
y2: i32,
duration: i32,
contact: i32,
pressure: i32,
) -> MaaCtrlId {
unsafe {
(self
.MaaControllerPostSwipeV2
.as_ref()
.expect("Expected function, got error."))(
ctrl, x1, y1, x2, y2, duration, contact, pressure,
)
}
}
pub unsafe fn MaaControllerPostClickKey(
&self,
ctrl: *mut MaaController,
keycode: i32,
) -> MaaCtrlId {
unsafe {
(self
.MaaControllerPostClickKey
.as_ref()
.expect("Expected function, got error."))(ctrl, keycode)
}
}
pub unsafe fn MaaControllerPostInputText(
&self,
ctrl: *mut MaaController,
text: *const ::std::os::raw::c_char,
) -> MaaCtrlId {
unsafe {
(self
.MaaControllerPostInputText
.as_ref()
.expect("Expected function, got error."))(ctrl, text)
}
}
pub unsafe fn MaaControllerPostStartApp(
&self,
ctrl: *mut MaaController,
intent: *const ::std::os::raw::c_char,
) -> MaaCtrlId {
unsafe {
(self
.MaaControllerPostStartApp
.as_ref()
.expect("Expected function, got error."))(ctrl, intent)
}
}
pub unsafe fn MaaControllerPostStopApp(
&self,
ctrl: *mut MaaController,
intent: *const ::std::os::raw::c_char,
) -> MaaCtrlId {
unsafe {
(self
.MaaControllerPostStopApp
.as_ref()
.expect("Expected function, got error."))(ctrl, intent)
}
}
pub unsafe fn MaaControllerPostTouchDown(
&self,
ctrl: *mut MaaController,
contact: i32,
x: i32,
y: i32,
pressure: i32,
) -> MaaCtrlId {
unsafe {
(self
.MaaControllerPostTouchDown
.as_ref()
.expect("Expected function, got error."))(ctrl, contact, x, y, pressure)
}
}
pub unsafe fn MaaControllerPostTouchMove(
&self,
ctrl: *mut MaaController,
contact: i32,
x: i32,
y: i32,
pressure: i32,
) -> MaaCtrlId {
unsafe {
(self
.MaaControllerPostTouchMove
.as_ref()
.expect("Expected function, got error."))(ctrl, contact, x, y, pressure)
}
}
pub unsafe fn MaaControllerPostTouchUp(
&self,
ctrl: *mut MaaController,
contact: i32,
) -> MaaCtrlId {
unsafe {
(self
.MaaControllerPostTouchUp
.as_ref()
.expect("Expected function, got error."))(ctrl, contact)
}
}
pub unsafe fn MaaControllerPostRelativeMove(
&self,
ctrl: *mut MaaController,
dx: i32,
dy: i32,
) -> MaaCtrlId {
unsafe {
(self
.MaaControllerPostRelativeMove
.as_ref()
.expect("Expected function, got error."))(ctrl, dx, dy)
}
}
pub unsafe fn MaaControllerPostKeyDown(
&self,
ctrl: *mut MaaController,
keycode: i32,
) -> MaaCtrlId {
unsafe {
(self
.MaaControllerPostKeyDown
.as_ref()
.expect("Expected function, got error."))(ctrl, keycode)
}
}
pub unsafe fn MaaControllerPostKeyUp(
&self,
ctrl: *mut MaaController,
keycode: i32,
) -> MaaCtrlId {
unsafe {
(self
.MaaControllerPostKeyUp
.as_ref()
.expect("Expected function, got error."))(ctrl, keycode)
}
}
#[doc = " @brief Post a screenshot request to the controller.\n\n @param ctrl The controller handle.\n @return The control id of the screenshot action.\n\n @note The screenshot image is scaled according to the screenshot target size settings (long side / short side).\n Use MaaControllerGetResolution to get the raw (unscaled) device resolution.\n @see MaaControllerCachedImage, MaaControllerSetOption, MaaControllerGetResolution"]
pub unsafe fn MaaControllerPostScreencap(&self, ctrl: *mut MaaController) -> MaaCtrlId {
unsafe {
(self
.MaaControllerPostScreencap
.as_ref()
.expect("Expected function, got error."))(ctrl)
}
}
#[doc = " @brief Post a scroll action to the controller.\n\n @param ctrl The controller handle.\n @param dx The horizontal scroll delta. Positive values scroll right, negative values scroll left.\n @param dy The vertical scroll delta. Positive values scroll up, negative values scroll down.\n @return The control id of the scroll action.\n\n @note Scroll is supported by Win32 controllers and custom controllers that implement scroll.\n @note If the controller does not support scroll, the action will fail. Use MaaControllerStatus or\n MaaControllerWait to check the result.\n @note The dx/dy values are sent directly as scroll increments. Using multiples of 120 (WHEEL_DELTA) is\n recommended for best compatibility."]
pub unsafe fn MaaControllerPostScroll(
&self,
ctrl: *mut MaaController,
dx: i32,
dy: i32,
) -> MaaCtrlId {
unsafe {
(self
.MaaControllerPostScroll
.as_ref()
.expect("Expected function, got error."))(ctrl, dx, dy)
}
}
#[doc = " @brief Post an inactive request to the controller.\n\n @param ctrl The controller handle.\n @return The control id of the inactive action.\n\n @note For Win32 controllers, this restores window position (removes topmost) and unblocks user input.\n @note For other controllers, this is a no-op that always succeeds."]
pub unsafe fn MaaControllerPostInactive(&self, ctrl: *mut MaaController) -> MaaCtrlId {
unsafe {
(self
.MaaControllerPostInactive
.as_ref()
.expect("Expected function, got error."))(ctrl)
}
}
#[doc = " @brief Post a shell command to the controller.\n\n @param ctrl The controller handle.\n @param cmd The shell command to execute.\n @param timeout Timeout in milliseconds. Default is 20000 (20 seconds).\n @return The control id of the shell action.\n\n @note Supported by ADB controllers and custom controllers that implement the shell callback.\n @see MaaControllerGetShellOutput"]
pub unsafe fn MaaControllerPostShell(
&self,
ctrl: *mut MaaController,
cmd: *const ::std::os::raw::c_char,
timeout: i64,
) -> MaaCtrlId {
unsafe {
(self
.MaaControllerPostShell
.as_ref()
.expect("Expected function, got error."))(ctrl, cmd, timeout)
}
}
#[doc = " @brief Get the cached shell command output.\n\n @param ctrl The controller handle.\n @param buffer The output buffer to store the command result.\n @return true if the output is available, false otherwise.\n\n @note This returns the output from the most recent shell command execution."]
pub unsafe fn MaaControllerGetShellOutput(
&self,
ctrl: *const MaaController,
buffer: *mut MaaStringBuffer,
) -> MaaBool {
unsafe {
(self
.MaaControllerGetShellOutput
.as_ref()
.expect("Expected function, got error."))(ctrl, buffer)
}
}
pub unsafe fn MaaControllerStatus(
&self,
ctrl: *const MaaController,
id: MaaCtrlId,
) -> MaaStatus {
unsafe {
(self
.MaaControllerStatus
.as_ref()
.expect("Expected function, got error."))(ctrl, id)
}
}
pub unsafe fn MaaControllerWait(&self, ctrl: *const MaaController, id: MaaCtrlId) -> MaaStatus {
unsafe {
(self
.MaaControllerWait
.as_ref()
.expect("Expected function, got error."))(ctrl, id)
}
}
pub unsafe fn MaaControllerConnected(&self, ctrl: *const MaaController) -> MaaBool {
unsafe {
(self
.MaaControllerConnected
.as_ref()
.expect("Expected function, got error."))(ctrl)
}
}
#[doc = " @brief Get the cached screenshot image.\n\n @param ctrl The controller handle.\n @param buffer The output buffer to store the screenshot image.\n @return true if the screenshot is available, false otherwise.\n\n @note The returned image is scaled according to the screenshot target size settings (long side / short side).\n The image dimensions may differ from the raw device resolution.\n Use MaaControllerGetResolution to get the raw (unscaled) device resolution.\n @see MaaControllerPostScreencap, MaaControllerSetOption, MaaControllerGetResolution"]
pub unsafe fn MaaControllerCachedImage(
&self,
ctrl: *const MaaController,
buffer: *mut MaaImageBuffer,
) -> MaaBool {
unsafe {
(self
.MaaControllerCachedImage
.as_ref()
.expect("Expected function, got error."))(ctrl, buffer)
}
}
pub unsafe fn MaaControllerGetUuid(
&self,
ctrl: *mut MaaController,
buffer: *mut MaaStringBuffer,
) -> MaaBool {
unsafe {
(self
.MaaControllerGetUuid
.as_ref()
.expect("Expected function, got error."))(ctrl, buffer)
}
}
#[doc = " @brief Get the raw (unscaled) device resolution.\n\n @param ctrl The controller handle.\n @param[out] width Output parameter for the raw width.\n @param[out] height Output parameter for the raw height.\n @return true if the resolution is available, false otherwise (e.g., not connected or no screenshot taken yet).\n\n @note This returns the actual device screen resolution before any scaling.\n The screenshot obtained via MaaControllerCachedImage is scaled according to the screenshot target size settings,\n so its dimensions may differ from this raw resolution.\n @see MaaControllerCachedImage, MaaControllerPostScreencap"]
pub unsafe fn MaaControllerGetResolution(
&self,
ctrl: *const MaaController,
width: *mut i32,
height: *mut i32,
) -> MaaBool {
unsafe {
(self
.MaaControllerGetResolution
.as_ref()
.expect("Expected function, got error."))(ctrl, width, height)
}
}
#[doc = " @brief Get controller information as a JSON string.\n\n @param ctrl The controller handle.\n @param buffer The output buffer to store the JSON string.\n @return true if the info is available, false otherwise.\n\n @note Returns controller-specific information including type, constructor parameters and current state.\n The returned JSON always contains a \"type\" field indicating the controller type."]
pub unsafe fn MaaControllerGetInfo(
&self,
ctrl: *const MaaController,
buffer: *mut MaaStringBuffer,
) -> MaaBool {
unsafe {
(self
.MaaControllerGetInfo
.as_ref()
.expect("Expected function, got error."))(ctrl, buffer)
}
}
pub unsafe fn MaaControllerPostPressKey(
&self,
ctrl: *mut MaaController,
keycode: i32,
) -> MaaCtrlId {
unsafe {
(self
.MaaControllerPostPressKey
.as_ref()
.expect("Expected function, got error."))(ctrl, keycode)
}
}
pub unsafe fn MaaContextRunTask(
&self,
context: *mut MaaContext,
entry: *const ::std::os::raw::c_char,
pipeline_override: *const ::std::os::raw::c_char,
) -> MaaTaskId {
unsafe {
(self
.MaaContextRunTask
.as_ref()
.expect("Expected function, got error."))(
context, entry, pipeline_override
)
}
}
pub unsafe fn MaaContextRunRecognition(
&self,
context: *mut MaaContext,
entry: *const ::std::os::raw::c_char,
pipeline_override: *const ::std::os::raw::c_char,
image: *const MaaImageBuffer,
) -> MaaRecoId {
unsafe {
(self
.MaaContextRunRecognition
.as_ref()
.expect("Expected function, got error."))(
context, entry, pipeline_override, image
)
}
}
pub unsafe fn MaaContextRunAction(
&self,
context: *mut MaaContext,
entry: *const ::std::os::raw::c_char,
pipeline_override: *const ::std::os::raw::c_char,
box_: *const MaaRect,
reco_detail: *const ::std::os::raw::c_char,
) -> MaaActId {
unsafe {
(self
.MaaContextRunAction
.as_ref()
.expect("Expected function, got error."))(
context,
entry,
pipeline_override,
box_,
reco_detail,
)
}
}
#[doc = " @brief Run recognition directly with type and parameters, without requiring a pipeline entry.\n\n @param reco_type Recognition type string (e.g., \"OCR\", \"TemplateMatch\")\n @param reco_param Recognition parameters json\n @param image Image to recognize"]
pub unsafe fn MaaContextRunRecognitionDirect(
&self,
context: *mut MaaContext,
reco_type: *const ::std::os::raw::c_char,
reco_param: *const ::std::os::raw::c_char,
image: *const MaaImageBuffer,
) -> MaaRecoId {
unsafe {
(self
.MaaContextRunRecognitionDirect
.as_ref()
.expect("Expected function, got error."))(
context, reco_type, reco_param, image
)
}
}
#[doc = " @brief Run action directly with type and parameters, without requiring a pipeline entry.\n\n @param action_type Action type string (e.g., \"Click\", \"Swipe\")\n @param action_param Action parameters json\n @param box Previous recognition position\n @param reco_detail Previous recognition details"]
pub unsafe fn MaaContextRunActionDirect(
&self,
context: *mut MaaContext,
action_type: *const ::std::os::raw::c_char,
action_param: *const ::std::os::raw::c_char,
box_: *const MaaRect,
reco_detail: *const ::std::os::raw::c_char,
) -> MaaActId {
unsafe {
(self
.MaaContextRunActionDirect
.as_ref()
.expect("Expected function, got error."))(
context,
action_type,
action_param,
box_,
reco_detail,
)
}
}
pub unsafe fn MaaContextWaitFreezes(
&self,
context: *mut MaaContext,
time: MaaSize,
box_: *const MaaRect,
wait_freezes_param: *const ::std::os::raw::c_char,
) -> MaaBool {
unsafe {
(self
.MaaContextWaitFreezes
.as_ref()
.expect("Expected function, got error."))(
context, time, box_, wait_freezes_param
)
}
}
pub unsafe fn MaaContextOverridePipeline(
&self,
context: *mut MaaContext,
pipeline_override: *const ::std::os::raw::c_char,
) -> MaaBool {
unsafe {
(self
.MaaContextOverridePipeline
.as_ref()
.expect("Expected function, got error."))(context, pipeline_override)
}
}
pub unsafe fn MaaContextOverrideNext(
&self,
context: *mut MaaContext,
node_name: *const ::std::os::raw::c_char,
next_list: *const MaaStringListBuffer,
) -> MaaBool {
unsafe {
(self
.MaaContextOverrideNext
.as_ref()
.expect("Expected function, got error."))(context, node_name, next_list)
}
}
pub unsafe fn MaaContextOverrideImage(
&self,
context: *mut MaaContext,
image_name: *const ::std::os::raw::c_char,
image: *const MaaImageBuffer,
) -> MaaBool {
unsafe {
(self
.MaaContextOverrideImage
.as_ref()
.expect("Expected function, got error."))(context, image_name, image)
}
}
pub unsafe fn MaaContextGetNodeData(
&self,
context: *mut MaaContext,
node_name: *const ::std::os::raw::c_char,
buffer: *mut MaaStringBuffer,
) -> MaaBool {
unsafe {
(self
.MaaContextGetNodeData
.as_ref()
.expect("Expected function, got error."))(context, node_name, buffer)
}
}
pub unsafe fn MaaContextGetTaskId(&self, context: *const MaaContext) -> MaaTaskId {
unsafe {
(self
.MaaContextGetTaskId
.as_ref()
.expect("Expected function, got error."))(context)
}
}
pub unsafe fn MaaContextGetTasker(&self, context: *const MaaContext) -> *mut MaaTasker {
unsafe {
(self
.MaaContextGetTasker
.as_ref()
.expect("Expected function, got error."))(context)
}
}
pub unsafe fn MaaContextClone(&self, context: *const MaaContext) -> *mut MaaContext {
unsafe {
(self
.MaaContextClone
.as_ref()
.expect("Expected function, got error."))(context)
}
}
pub unsafe fn MaaContextSetAnchor(
&self,
context: *mut MaaContext,
anchor_name: *const ::std::os::raw::c_char,
node_name: *const ::std::os::raw::c_char,
) -> MaaBool {
unsafe {
(self
.MaaContextSetAnchor
.as_ref()
.expect("Expected function, got error."))(
context, anchor_name, node_name
)
}
}
pub unsafe fn MaaContextGetAnchor(
&self,
context: *mut MaaContext,
anchor_name: *const ::std::os::raw::c_char,
buffer: *mut MaaStringBuffer,
) -> MaaBool {
unsafe {
(self
.MaaContextGetAnchor
.as_ref()
.expect("Expected function, got error."))(context, anchor_name, buffer)
}
}
pub unsafe fn MaaContextGetHitCount(
&self,
context: *mut MaaContext,
node_name: *const ::std::os::raw::c_char,
count: *mut MaaSize,
) -> MaaBool {
unsafe {
(self
.MaaContextGetHitCount
.as_ref()
.expect("Expected function, got error."))(context, node_name, count)
}
}
pub unsafe fn MaaContextClearHitCount(
&self,
context: *mut MaaContext,
node_name: *const ::std::os::raw::c_char,
) -> MaaBool {
unsafe {
(self
.MaaContextClearHitCount
.as_ref()
.expect("Expected function, got error."))(context, node_name)
}
}
#[doc = " @param[in] value"]
pub unsafe fn MaaGlobalSetOption(
&self,
key: MaaGlobalOption,
value: MaaOptionValue,
val_size: MaaOptionValueSize,
) -> MaaBool {
unsafe {
(self
.MaaGlobalSetOption
.as_ref()
.expect("Expected function, got error."))(key, value, val_size)
}
}
#[doc = " load a plugin with full path or name only, name only will search in system directory and current directory\n or\n load plugins with recursive search in the directory"]
pub unsafe fn MaaGlobalLoadPlugin(
&self,
library_path: *const ::std::os::raw::c_char,
) -> MaaBool {
unsafe {
(self
.MaaGlobalLoadPlugin
.as_ref()
.expect("Expected function, got error."))(library_path)
}
}
pub unsafe fn MaaSetGlobalOption(
&self,
key: MaaGlobalOption,
value: MaaOptionValue,
val_size: MaaOptionValueSize,
) -> MaaBool {
unsafe {
(self
.MaaSetGlobalOption
.as_ref()
.expect("Expected function, got error."))(key, value, val_size)
}
}
pub unsafe fn MaaStringBufferCreate(&self) -> *mut MaaStringBuffer {
unsafe {
(self
.MaaStringBufferCreate
.as_ref()
.expect("Expected function, got error."))()
}
}
pub unsafe fn MaaStringBufferDestroy(&self, handle: *mut MaaStringBuffer) {
unsafe {
(self
.MaaStringBufferDestroy
.as_ref()
.expect("Expected function, got error."))(handle)
}
}
pub unsafe fn MaaStringBufferIsEmpty(&self, handle: *const MaaStringBuffer) -> MaaBool {
unsafe {
(self
.MaaStringBufferIsEmpty
.as_ref()
.expect("Expected function, got error."))(handle)
}
}
pub unsafe fn MaaStringBufferClear(&self, handle: *mut MaaStringBuffer) -> MaaBool {
unsafe {
(self
.MaaStringBufferClear
.as_ref()
.expect("Expected function, got error."))(handle)
}
}
pub unsafe fn MaaStringBufferGet(
&self,
handle: *const MaaStringBuffer,
) -> *const ::std::os::raw::c_char {
unsafe {
(self
.MaaStringBufferGet
.as_ref()
.expect("Expected function, got error."))(handle)
}
}
pub unsafe fn MaaStringBufferSize(&self, handle: *const MaaStringBuffer) -> MaaSize {
unsafe {
(self
.MaaStringBufferSize
.as_ref()
.expect("Expected function, got error."))(handle)
}
}
pub unsafe fn MaaStringBufferSet(
&self,
handle: *mut MaaStringBuffer,
str_: *const ::std::os::raw::c_char,
) -> MaaBool {
unsafe {
(self
.MaaStringBufferSet
.as_ref()
.expect("Expected function, got error."))(handle, str_)
}
}
pub unsafe fn MaaStringBufferSetEx(
&self,
handle: *mut MaaStringBuffer,
str_: *const ::std::os::raw::c_char,
size: MaaSize,
) -> MaaBool {
unsafe {
(self
.MaaStringBufferSetEx
.as_ref()
.expect("Expected function, got error."))(handle, str_, size)
}
}
pub unsafe fn MaaStringListBufferCreate(&self) -> *mut MaaStringListBuffer {
unsafe {
(self
.MaaStringListBufferCreate
.as_ref()
.expect("Expected function, got error."))()
}
}
pub unsafe fn MaaStringListBufferDestroy(&self, handle: *mut MaaStringListBuffer) {
unsafe {
(self
.MaaStringListBufferDestroy
.as_ref()
.expect("Expected function, got error."))(handle)
}
}
pub unsafe fn MaaStringListBufferIsEmpty(&self, handle: *const MaaStringListBuffer) -> MaaBool {
unsafe {
(self
.MaaStringListBufferIsEmpty
.as_ref()
.expect("Expected function, got error."))(handle)
}
}
pub unsafe fn MaaStringListBufferSize(&self, handle: *const MaaStringListBuffer) -> MaaSize {
unsafe {
(self
.MaaStringListBufferSize
.as_ref()
.expect("Expected function, got error."))(handle)
}
}
pub unsafe fn MaaStringListBufferAt(
&self,
handle: *const MaaStringListBuffer,
index: MaaSize,
) -> *const MaaStringBuffer {
unsafe {
(self
.MaaStringListBufferAt
.as_ref()
.expect("Expected function, got error."))(handle, index)
}
}
pub unsafe fn MaaStringListBufferAppend(
&self,
handle: *mut MaaStringListBuffer,
value: *const MaaStringBuffer,
) -> MaaBool {
unsafe {
(self
.MaaStringListBufferAppend
.as_ref()
.expect("Expected function, got error."))(handle, value)
}
}
pub unsafe fn MaaStringListBufferRemove(
&self,
handle: *mut MaaStringListBuffer,
index: MaaSize,
) -> MaaBool {
unsafe {
(self
.MaaStringListBufferRemove
.as_ref()
.expect("Expected function, got error."))(handle, index)
}
}
pub unsafe fn MaaStringListBufferClear(&self, handle: *mut MaaStringListBuffer) -> MaaBool {
unsafe {
(self
.MaaStringListBufferClear
.as_ref()
.expect("Expected function, got error."))(handle)
}
}
pub unsafe fn MaaImageBufferCreate(&self) -> *mut MaaImageBuffer {
unsafe {
(self
.MaaImageBufferCreate
.as_ref()
.expect("Expected function, got error."))()
}
}
pub unsafe fn MaaImageBufferDestroy(&self, handle: *mut MaaImageBuffer) {
unsafe {
(self
.MaaImageBufferDestroy
.as_ref()
.expect("Expected function, got error."))(handle)
}
}
pub unsafe fn MaaImageBufferIsEmpty(&self, handle: *const MaaImageBuffer) -> MaaBool {
unsafe {
(self
.MaaImageBufferIsEmpty
.as_ref()
.expect("Expected function, got error."))(handle)
}
}
pub unsafe fn MaaImageBufferClear(&self, handle: *mut MaaImageBuffer) -> MaaBool {
unsafe {
(self
.MaaImageBufferClear
.as_ref()
.expect("Expected function, got error."))(handle)
}
}
pub unsafe fn MaaImageBufferGetRawData(
&self,
handle: *const MaaImageBuffer,
) -> MaaImageRawData {
unsafe {
(self
.MaaImageBufferGetRawData
.as_ref()
.expect("Expected function, got error."))(handle)
}
}
pub unsafe fn MaaImageBufferWidth(&self, handle: *const MaaImageBuffer) -> i32 {
unsafe {
(self
.MaaImageBufferWidth
.as_ref()
.expect("Expected function, got error."))(handle)
}
}
pub unsafe fn MaaImageBufferHeight(&self, handle: *const MaaImageBuffer) -> i32 {
unsafe {
(self
.MaaImageBufferHeight
.as_ref()
.expect("Expected function, got error."))(handle)
}
}
pub unsafe fn MaaImageBufferChannels(&self, handle: *const MaaImageBuffer) -> i32 {
unsafe {
(self
.MaaImageBufferChannels
.as_ref()
.expect("Expected function, got error."))(handle)
}
}
pub unsafe fn MaaImageBufferType(&self, handle: *const MaaImageBuffer) -> i32 {
unsafe {
(self
.MaaImageBufferType
.as_ref()
.expect("Expected function, got error."))(handle)
}
}
pub unsafe fn MaaImageBufferSetRawData(
&self,
handle: *mut MaaImageBuffer,
data: MaaImageRawData,
width: i32,
height: i32,
type_: i32,
) -> MaaBool {
unsafe {
(self
.MaaImageBufferSetRawData
.as_ref()
.expect("Expected function, got error."))(
handle, data, width, height, type_
)
}
}
pub unsafe fn MaaImageBufferResize(
&self,
handle: *mut MaaImageBuffer,
width: i32,
height: i32,
) -> MaaBool {
unsafe {
(self
.MaaImageBufferResize
.as_ref()
.expect("Expected function, got error."))(handle, width, height)
}
}
pub unsafe fn MaaImageBufferGetEncoded(
&self,
handle: *const MaaImageBuffer,
) -> MaaImageEncodedData {
unsafe {
(self
.MaaImageBufferGetEncoded
.as_ref()
.expect("Expected function, got error."))(handle)
}
}
pub unsafe fn MaaImageBufferGetEncodedSize(&self, handle: *const MaaImageBuffer) -> MaaSize {
unsafe {
(self
.MaaImageBufferGetEncodedSize
.as_ref()
.expect("Expected function, got error."))(handle)
}
}
pub unsafe fn MaaImageBufferSetEncoded(
&self,
handle: *mut MaaImageBuffer,
data: MaaImageEncodedData,
size: MaaSize,
) -> MaaBool {
unsafe {
(self
.MaaImageBufferSetEncoded
.as_ref()
.expect("Expected function, got error."))(handle, data, size)
}
}
pub unsafe fn MaaImageListBufferCreate(&self) -> *mut MaaImageListBuffer {
unsafe {
(self
.MaaImageListBufferCreate
.as_ref()
.expect("Expected function, got error."))()
}
}
pub unsafe fn MaaImageListBufferDestroy(&self, handle: *mut MaaImageListBuffer) {
unsafe {
(self
.MaaImageListBufferDestroy
.as_ref()
.expect("Expected function, got error."))(handle)
}
}
pub unsafe fn MaaImageListBufferIsEmpty(&self, handle: *const MaaImageListBuffer) -> MaaBool {
unsafe {
(self
.MaaImageListBufferIsEmpty
.as_ref()
.expect("Expected function, got error."))(handle)
}
}
pub unsafe fn MaaImageListBufferSize(&self, handle: *const MaaImageListBuffer) -> MaaSize {
unsafe {
(self
.MaaImageListBufferSize
.as_ref()
.expect("Expected function, got error."))(handle)
}
}
pub unsafe fn MaaImageListBufferAt(
&self,
handle: *const MaaImageListBuffer,
index: MaaSize,
) -> *const MaaImageBuffer {
unsafe {
(self
.MaaImageListBufferAt
.as_ref()
.expect("Expected function, got error."))(handle, index)
}
}
pub unsafe fn MaaImageListBufferAppend(
&self,
handle: *mut MaaImageListBuffer,
value: *const MaaImageBuffer,
) -> MaaBool {
unsafe {
(self
.MaaImageListBufferAppend
.as_ref()
.expect("Expected function, got error."))(handle, value)
}
}
pub unsafe fn MaaImageListBufferRemove(
&self,
handle: *mut MaaImageListBuffer,
index: MaaSize,
) -> MaaBool {
unsafe {
(self
.MaaImageListBufferRemove
.as_ref()
.expect("Expected function, got error."))(handle, index)
}
}
pub unsafe fn MaaImageListBufferClear(&self, handle: *mut MaaImageListBuffer) -> MaaBool {
unsafe {
(self
.MaaImageListBufferClear
.as_ref()
.expect("Expected function, got error."))(handle)
}
}
pub unsafe fn MaaRectCreate(&self) -> *mut MaaRect {
unsafe {
(self
.MaaRectCreate
.as_ref()
.expect("Expected function, got error."))()
}
}
pub unsafe fn MaaRectDestroy(&self, handle: *mut MaaRect) {
unsafe {
(self
.MaaRectDestroy
.as_ref()
.expect("Expected function, got error."))(handle)
}
}
pub unsafe fn MaaRectGetX(&self, handle: *const MaaRect) -> i32 {
unsafe {
(self
.MaaRectGetX
.as_ref()
.expect("Expected function, got error."))(handle)
}
}
pub unsafe fn MaaRectGetY(&self, handle: *const MaaRect) -> i32 {
unsafe {
(self
.MaaRectGetY
.as_ref()
.expect("Expected function, got error."))(handle)
}
}
pub unsafe fn MaaRectGetW(&self, handle: *const MaaRect) -> i32 {
unsafe {
(self
.MaaRectGetW
.as_ref()
.expect("Expected function, got error."))(handle)
}
}
pub unsafe fn MaaRectGetH(&self, handle: *const MaaRect) -> i32 {
unsafe {
(self
.MaaRectGetH
.as_ref()
.expect("Expected function, got error."))(handle)
}
}
pub unsafe fn MaaRectSet(
&self,
handle: *mut MaaRect,
x: i32,
y: i32,
w: i32,
h: i32,
) -> MaaBool {
unsafe {
(self
.MaaRectSet
.as_ref()
.expect("Expected function, got error."))(handle, x, y, w, h)
}
}
pub unsafe fn MaaVersion(&self) -> *const ::std::os::raw::c_char {
unsafe {
(self
.MaaVersion
.as_ref()
.expect("Expected function, got error."))()
}
}
pub unsafe fn MaaAgentClientCreateV2(
&self,
identifier: *const MaaStringBuffer,
) -> *mut MaaAgentClient {
unsafe {
(self
.MaaAgentClientCreateV2
.as_ref()
.expect("Expected function, got error."))(identifier)
}
}
pub unsafe fn MaaAgentClientCreateTcp(&self, port: u16) -> *mut MaaAgentClient {
unsafe {
(self
.MaaAgentClientCreateTcp
.as_ref()
.expect("Expected function, got error."))(port)
}
}
pub unsafe fn MaaAgentClientDestroy(&self, client: *mut MaaAgentClient) {
unsafe {
(self
.MaaAgentClientDestroy
.as_ref()
.expect("Expected function, got error."))(client)
}
}
pub unsafe fn MaaAgentClientIdentifier(
&self,
client: *mut MaaAgentClient,
identifier: *mut MaaStringBuffer,
) -> MaaBool {
unsafe {
(self
.MaaAgentClientIdentifier
.as_ref()
.expect("Expected function, got error."))(client, identifier)
}
}
pub unsafe fn MaaAgentClientBindResource(
&self,
client: *mut MaaAgentClient,
res: *mut MaaResource,
) -> MaaBool {
unsafe {
(self
.MaaAgentClientBindResource
.as_ref()
.expect("Expected function, got error."))(client, res)
}
}
pub unsafe fn MaaAgentClientRegisterResourceSink(
&self,
client: *mut MaaAgentClient,
res: *mut MaaResource,
) -> MaaBool {
unsafe {
(self
.MaaAgentClientRegisterResourceSink
.as_ref()
.expect("Expected function, got error."))(client, res)
}
}
pub unsafe fn MaaAgentClientRegisterControllerSink(
&self,
client: *mut MaaAgentClient,
ctrl: *mut MaaController,
) -> MaaBool {
unsafe {
(self
.MaaAgentClientRegisterControllerSink
.as_ref()
.expect("Expected function, got error."))(client, ctrl)
}
}
pub unsafe fn MaaAgentClientRegisterTaskerSink(
&self,
client: *mut MaaAgentClient,
tasker: *mut MaaTasker,
) -> MaaBool {
unsafe {
(self
.MaaAgentClientRegisterTaskerSink
.as_ref()
.expect("Expected function, got error."))(client, tasker)
}
}
pub unsafe fn MaaAgentClientConnect(&self, client: *mut MaaAgentClient) -> MaaBool {
unsafe {
(self
.MaaAgentClientConnect
.as_ref()
.expect("Expected function, got error."))(client)
}
}
pub unsafe fn MaaAgentClientDisconnect(&self, client: *mut MaaAgentClient) -> MaaBool {
unsafe {
(self
.MaaAgentClientDisconnect
.as_ref()
.expect("Expected function, got error."))(client)
}
}
pub unsafe fn MaaAgentClientConnected(&self, client: *mut MaaAgentClient) -> MaaBool {
unsafe {
(self
.MaaAgentClientConnected
.as_ref()
.expect("Expected function, got error."))(client)
}
}
pub unsafe fn MaaAgentClientAlive(&self, client: *mut MaaAgentClient) -> MaaBool {
unsafe {
(self
.MaaAgentClientAlive
.as_ref()
.expect("Expected function, got error."))(client)
}
}
pub unsafe fn MaaAgentClientSetTimeout(
&self,
client: *mut MaaAgentClient,
milliseconds: i64,
) -> MaaBool {
unsafe {
(self
.MaaAgentClientSetTimeout
.as_ref()
.expect("Expected function, got error."))(client, milliseconds)
}
}
pub unsafe fn MaaAgentClientGetCustomRecognitionList(
&self,
client: *mut MaaAgentClient,
buffer: *mut MaaStringListBuffer,
) -> MaaBool {
unsafe {
(self
.MaaAgentClientGetCustomRecognitionList
.as_ref()
.expect("Expected function, got error."))(client, buffer)
}
}
pub unsafe fn MaaAgentClientGetCustomActionList(
&self,
client: *mut MaaAgentClient,
buffer: *mut MaaStringListBuffer,
) -> MaaBool {
unsafe {
(self
.MaaAgentClientGetCustomActionList
.as_ref()
.expect("Expected function, got error."))(client, buffer)
}
}
pub unsafe fn MaaAgentClientCreate(&self) -> *mut MaaAgentClient {
unsafe {
(self
.MaaAgentClientCreate
.as_ref()
.expect("Expected function, got error."))()
}
}
pub unsafe fn MaaAgentClientCreateSocket(
&self,
client: *mut MaaAgentClient,
identifier: *mut MaaStringBuffer,
) -> MaaBool {
unsafe {
(self
.MaaAgentClientCreateSocket
.as_ref()
.expect("Expected function, got error."))(client, identifier)
}
}
pub unsafe fn MaaAgentServerRegisterCustomRecognition(
&self,
name: *const ::std::os::raw::c_char,
recognition: MaaCustomRecognitionCallback,
trans_arg: *mut ::std::os::raw::c_void,
) -> MaaBool {
unsafe {
(self
.MaaAgentServerRegisterCustomRecognition
.as_ref()
.expect("Expected function, got error."))(name, recognition, trans_arg)
}
}
pub unsafe fn MaaAgentServerRegisterCustomAction(
&self,
name: *const ::std::os::raw::c_char,
action: MaaCustomActionCallback,
trans_arg: *mut ::std::os::raw::c_void,
) -> MaaBool {
unsafe {
(self
.MaaAgentServerRegisterCustomAction
.as_ref()
.expect("Expected function, got error."))(name, action, trans_arg)
}
}
pub unsafe fn MaaAgentServerAddResourceSink(
&self,
sink: MaaEventCallback,
trans_arg: *mut ::std::os::raw::c_void,
) -> MaaSinkId {
unsafe {
(self
.MaaAgentServerAddResourceSink
.as_ref()
.expect("Expected function, got error."))(sink, trans_arg)
}
}
pub unsafe fn MaaAgentServerAddControllerSink(
&self,
sink: MaaEventCallback,
trans_arg: *mut ::std::os::raw::c_void,
) -> MaaSinkId {
unsafe {
(self
.MaaAgentServerAddControllerSink
.as_ref()
.expect("Expected function, got error."))(sink, trans_arg)
}
}
pub unsafe fn MaaAgentServerAddTaskerSink(
&self,
sink: MaaEventCallback,
trans_arg: *mut ::std::os::raw::c_void,
) -> MaaSinkId {
unsafe {
(self
.MaaAgentServerAddTaskerSink
.as_ref()
.expect("Expected function, got error."))(sink, trans_arg)
}
}
pub unsafe fn MaaAgentServerAddContextSink(
&self,
sink: MaaEventCallback,
trans_arg: *mut ::std::os::raw::c_void,
) -> MaaSinkId {
unsafe {
(self
.MaaAgentServerAddContextSink
.as_ref()
.expect("Expected function, got error."))(sink, trans_arg)
}
}
pub unsafe fn MaaAgentServerStartUp(
&self,
identifier: *const ::std::os::raw::c_char,
) -> MaaBool {
unsafe {
(self
.MaaAgentServerStartUp
.as_ref()
.expect("Expected function, got error."))(identifier)
}
}
pub unsafe fn MaaAgentServerShutDown(&self) {
unsafe {
(self
.MaaAgentServerShutDown
.as_ref()
.expect("Expected function, got error."))()
}
}
pub unsafe fn MaaAgentServerJoin(&self) {
unsafe {
(self
.MaaAgentServerJoin
.as_ref()
.expect("Expected function, got error."))()
}
}
pub unsafe fn MaaAgentServerDetach(&self) {
unsafe {
(self
.MaaAgentServerDetach
.as_ref()
.expect("Expected function, got error."))()
}
}
pub unsafe fn MaaToolkitAdbDeviceListCreate(&self) -> *mut MaaToolkitAdbDeviceList {
unsafe {
(self
.MaaToolkitAdbDeviceListCreate
.as_ref()
.expect("Expected function, got error."))()
}
}
pub unsafe fn MaaToolkitAdbDeviceListDestroy(&self, handle: *mut MaaToolkitAdbDeviceList) {
unsafe {
(self
.MaaToolkitAdbDeviceListDestroy
.as_ref()
.expect("Expected function, got error."))(handle)
}
}
pub unsafe fn MaaToolkitAdbDeviceFind(&self, buffer: *mut MaaToolkitAdbDeviceList) -> MaaBool {
unsafe {
(self
.MaaToolkitAdbDeviceFind
.as_ref()
.expect("Expected function, got error."))(buffer)
}
}
pub unsafe fn MaaToolkitAdbDeviceFindSpecified(
&self,
adb_path: *const ::std::os::raw::c_char,
buffer: *mut MaaToolkitAdbDeviceList,
) -> MaaBool {
unsafe {
(self
.MaaToolkitAdbDeviceFindSpecified
.as_ref()
.expect("Expected function, got error."))(adb_path, buffer)
}
}
pub unsafe fn MaaToolkitAdbDeviceListSize(
&self,
list: *const MaaToolkitAdbDeviceList,
) -> MaaSize {
unsafe {
(self
.MaaToolkitAdbDeviceListSize
.as_ref()
.expect("Expected function, got error."))(list)
}
}
pub unsafe fn MaaToolkitAdbDeviceListAt(
&self,
list: *const MaaToolkitAdbDeviceList,
index: MaaSize,
) -> *const MaaToolkitAdbDevice {
unsafe {
(self
.MaaToolkitAdbDeviceListAt
.as_ref()
.expect("Expected function, got error."))(list, index)
}
}
pub unsafe fn MaaToolkitAdbDeviceGetName(
&self,
device: *const MaaToolkitAdbDevice,
) -> *const ::std::os::raw::c_char {
unsafe {
(self
.MaaToolkitAdbDeviceGetName
.as_ref()
.expect("Expected function, got error."))(device)
}
}
pub unsafe fn MaaToolkitAdbDeviceGetAdbPath(
&self,
device: *const MaaToolkitAdbDevice,
) -> *const ::std::os::raw::c_char {
unsafe {
(self
.MaaToolkitAdbDeviceGetAdbPath
.as_ref()
.expect("Expected function, got error."))(device)
}
}
pub unsafe fn MaaToolkitAdbDeviceGetAddress(
&self,
device: *const MaaToolkitAdbDevice,
) -> *const ::std::os::raw::c_char {
unsafe {
(self
.MaaToolkitAdbDeviceGetAddress
.as_ref()
.expect("Expected function, got error."))(device)
}
}
pub unsafe fn MaaToolkitAdbDeviceGetScreencapMethods(
&self,
device: *const MaaToolkitAdbDevice,
) -> MaaAdbScreencapMethod {
unsafe {
(self
.MaaToolkitAdbDeviceGetScreencapMethods
.as_ref()
.expect("Expected function, got error."))(device)
}
}
pub unsafe fn MaaToolkitAdbDeviceGetInputMethods(
&self,
device: *const MaaToolkitAdbDevice,
) -> MaaAdbInputMethod {
unsafe {
(self
.MaaToolkitAdbDeviceGetInputMethods
.as_ref()
.expect("Expected function, got error."))(device)
}
}
pub unsafe fn MaaToolkitAdbDeviceGetConfig(
&self,
device: *const MaaToolkitAdbDevice,
) -> *const ::std::os::raw::c_char {
unsafe {
(self
.MaaToolkitAdbDeviceGetConfig
.as_ref()
.expect("Expected function, got error."))(device)
}
}
pub unsafe fn MaaToolkitDesktopWindowListCreate(&self) -> *mut MaaToolkitDesktopWindowList {
unsafe {
(self
.MaaToolkitDesktopWindowListCreate
.as_ref()
.expect("Expected function, got error."))()
}
}
pub unsafe fn MaaToolkitDesktopWindowListDestroy(
&self,
handle: *mut MaaToolkitDesktopWindowList,
) {
unsafe {
(self
.MaaToolkitDesktopWindowListDestroy
.as_ref()
.expect("Expected function, got error."))(handle)
}
}
pub unsafe fn MaaToolkitDesktopWindowFindAll(
&self,
buffer: *mut MaaToolkitDesktopWindowList,
) -> MaaBool {
unsafe {
(self
.MaaToolkitDesktopWindowFindAll
.as_ref()
.expect("Expected function, got error."))(buffer)
}
}
pub unsafe fn MaaToolkitDesktopWindowListSize(
&self,
list: *const MaaToolkitDesktopWindowList,
) -> MaaSize {
unsafe {
(self
.MaaToolkitDesktopWindowListSize
.as_ref()
.expect("Expected function, got error."))(list)
}
}
pub unsafe fn MaaToolkitDesktopWindowListAt(
&self,
list: *const MaaToolkitDesktopWindowList,
index: MaaSize,
) -> *const MaaToolkitDesktopWindow {
unsafe {
(self
.MaaToolkitDesktopWindowListAt
.as_ref()
.expect("Expected function, got error."))(list, index)
}
}
pub unsafe fn MaaToolkitDesktopWindowGetHandle(
&self,
window: *const MaaToolkitDesktopWindow,
) -> *mut ::std::os::raw::c_void {
unsafe {
(self
.MaaToolkitDesktopWindowGetHandle
.as_ref()
.expect("Expected function, got error."))(window)
}
}
pub unsafe fn MaaToolkitDesktopWindowGetClassName(
&self,
window: *const MaaToolkitDesktopWindow,
) -> *const ::std::os::raw::c_char {
unsafe {
(self
.MaaToolkitDesktopWindowGetClassName
.as_ref()
.expect("Expected function, got error."))(window)
}
}
pub unsafe fn MaaToolkitDesktopWindowGetWindowName(
&self,
window: *const MaaToolkitDesktopWindow,
) -> *const ::std::os::raw::c_char {
unsafe {
(self
.MaaToolkitDesktopWindowGetWindowName
.as_ref()
.expect("Expected function, got error."))(window)
}
}
pub unsafe fn MaaToolkitConfigInitOption(
&self,
user_path: *const ::std::os::raw::c_char,
default_json: *const ::std::os::raw::c_char,
) -> MaaBool {
unsafe {
(self
.MaaToolkitConfigInitOption
.as_ref()
.expect("Expected function, got error."))(user_path, default_json)
}
}
pub unsafe fn MaaToolkitMacOSCheckPermission(&self, perm: MaaMacOSPermission) -> MaaBool {
unsafe {
(self
.MaaToolkitMacOSCheckPermission
.as_ref()
.expect("Expected function, got error."))(perm)
}
}
pub unsafe fn MaaToolkitMacOSRequestPermission(&self, perm: MaaMacOSPermission) -> MaaBool {
unsafe {
(self
.MaaToolkitMacOSRequestPermission
.as_ref()
.expect("Expected function, got error."))(perm)
}
}
pub unsafe fn MaaToolkitMacOSRevealPermissionSettings(
&self,
perm: MaaMacOSPermission,
) -> MaaBool {
unsafe {
(self
.MaaToolkitMacOSRevealPermissionSettings
.as_ref()
.expect("Expected function, got error."))(perm)
}
}
}