Maa Framework (main) v4.0.0
A automation black-box testing framework based on image recognition.
Loading...
Searching...
No Matches
MaaDef.h
Go to the documentation of this file.
1
10// IWYU pragma: private, include <MaaFramework/MaaAPI.h>
11
12#pragma once
13
14#include <stdint.h>
15
16#include "MaaPort.h" // IWYU pragma: export
17
18typedef uint8_t MaaBool;
19typedef uint64_t MaaSize;
20#define MaaNullSize UINT64_MAX
21
22typedef int64_t MaaId;
28#define MaaInvalidId ((MaaId)0)
29
34
35typedef struct MaaResource MaaResource;
37typedef struct MaaTasker MaaTasker;
38typedef struct MaaContext MaaContext;
39
40typedef int32_t MaaStatus;
41
43{
49 // MaaStatus_Timeout = 5000,
50};
51
52typedef int32_t MaaLoggingLevel;
53
65
66typedef int32_t MaaOption;
67typedef void* MaaOptionValue;
68typedef uint64_t MaaOptionValueSize;
69
71
108
110
111typedef int32_t MaaInferenceDevice;
113
122
124{
125 // I don't recommend setting up MaaResOption_InferenceDevice in this case,
126 // because you don't know which EP will be used on different user devices.
128
129 // MaaResOption_InferenceDevice will not work.
131
132 // MaaResOption_InferenceDevice will be used to set adapter id,
133 // It's from Win32 API `EnumAdapters1`.
135
136 // MaaResOption_InferenceDevice will be used to set coreml_flag,
137 // Reference to
138 // https://github.com/microsoft/onnxruntime/blob/main/include/onnxruntime/core/providers/coreml/coreml_provider_factory.h
139 // But you need to pay attention to the onnxruntime version we use, the latest flag may not be supported.
141
142 // MaaResOption_InferenceDevice will be used to set NVIDIA GPU ID
143 // TODO!
145};
146
165
167
200
202
207
208// MaaAdbScreencapMethod:
212typedef uint64_t MaaAdbScreencapMethod;
213#define MaaAdbScreencapMethod_EncodeToFileAndPull 1ULL
214#define MaaAdbScreencapMethod_Encode (1ULL << 1)
215#define MaaAdbScreencapMethod_RawWithGzip (1ULL << 2)
216#define MaaAdbScreencapMethod_RawByNetcat (1ULL << 3)
217#define MaaAdbScreencapMethod_MinicapDirect (1ULL << 4)
218#define MaaAdbScreencapMethod_MinicapStream (1ULL << 5)
219#define MaaAdbScreencapMethod_EmulatorExtras (1ULL << 6)
220
221#define MaaAdbScreencapMethod_None 0ULL
222#define MaaAdbScreencapMethod_All (~MaaAdbScreencapMethod_None)
223#define MaaAdbScreencapMethod_Default \
224 (MaaAdbScreencapMethod_All & (~MaaAdbScreencapMethod_RawByNetcat) & (~MaaAdbScreencapMethod_MinicapDirect) \
225 & (~MaaAdbScreencapMethod_MinicapStream))
226
227// MaaAdbInputMethod:
232typedef uint64_t MaaAdbInputMethod;
233#define MaaAdbInputMethod_AdbShell 1ULL
234#define MaaAdbInputMethod_MinitouchAndAdbKey (1ULL << 1)
235#define MaaAdbInputMethod_Maatouch (1ULL << 2)
236#define MaaAdbInputMethod_EmulatorExtras (1ULL << 3)
237
238#define MaaAdbInputMethod_None 0ULL
239#define MaaAdbInputMethod_All (~MaaAdbInputMethod_None)
240#define MaaAdbInputMethod_Default (MaaAdbInputMethod_All & (~MaaAdbInputMethod_EmulatorExtras))
241
242// MaaWin32ScreencapMethod:
246typedef uint64_t MaaWin32ScreencapMethod;
247#define MaaWin32ScreencapMethod_None 0ULL
248#define MaaWin32ScreencapMethod_GDI 1ULL
249#define MaaWin32ScreencapMethod_FramePool (1ULL << 1)
250#define MaaWin32ScreencapMethod_DXGI_DesktopDup (1ULL << 2)
251
252// MaaWin32InputMethod:
256typedef uint64_t MaaWin32InputMethod;
257#define MaaWin32InputMethod_None 0ULL
258#define MaaWin32InputMethod_Seize 1ULL
259#define MaaWin32InputMethod_SendMessage (1ULL << 1)
260
261// MaaDbgControllerType:
265typedef uint64_t MaaDbgControllerType;
266#define MaaDbgControllerType_None 0
267#define MaaDbgControllerType_CarouselImage 1ULL
268#define MaaDbgControllerType_ReplayRecording (1ULL << 1)
269
270typedef struct MaaRect
271{
272 int32_t x;
273 int32_t y;
274 int32_t width;
275 int32_t height;
277
278/*
279 * See MaaMsg.h
280 */
281typedef void(MAA_CALL* MaaNotificationCallback)(const char* message, const char* details_json, void* notify_trans_arg);
282
284 MaaContext* context,
285 MaaTaskId task_id,
286 const char* node_name,
287 const char* custom_recognition_name,
288 const char* custom_recognition_param,
289 const MaaImageBuffer* image,
290 const MaaRect* roi,
291 void* trans_arg,
292 /* out */ MaaRect* out_box,
293 /* out */ MaaStringBuffer* out_detail);
294
296 MaaContext* context,
297 MaaTaskId task_id,
298 const char* node_name,
299 const char* custom_action_name,
300 const char* custom_action_param,
301 MaaRecoId reco_id,
302 const MaaRect* box,
303 void* trans_arg);
MaaInferenceExecutionProviderEnum
Definition MaaDef.h:124
@ MaaInferenceExecutionProvider_CPU
Definition MaaDef.h:130
@ MaaInferenceExecutionProvider_CUDA
Definition MaaDef.h:144
@ MaaInferenceExecutionProvider_CoreML
Definition MaaDef.h:140
@ MaaInferenceExecutionProvider_Auto
Definition MaaDef.h:127
@ MaaInferenceExecutionProvider_DirectML
Definition MaaDef.h:134
struct MaaImageBuffer MaaImageBuffer
Definition MaaDef.h:31
int32_t MaaInferenceExecutionProvider
Definition MaaDef.h:112
uint64_t MaaWin32ScreencapMethod
Definition MaaDef.h:246
uint64_t MaaWin32InputMethod
Definition MaaDef.h:256
uint8_t MaaBool
Definition MaaDef.h:18
uint64_t MaaAdbScreencapMethod
Definition MaaDef.h:212
struct MaaStringBuffer MaaStringBuffer
Definition MaaDef.h:30
uint64_t MaaOptionValueSize
Definition MaaDef.h:68
MaaBool(MAA_CALL * MaaCustomActionCallback)(MaaContext *context, MaaTaskId task_id, const char *node_name, const char *custom_action_name, const char *custom_action_param, MaaRecoId reco_id, const MaaRect *box, void *trans_arg)
Definition MaaDef.h:295
MaaBool(MAA_CALL * MaaCustomRecognitionCallback)(MaaContext *context, MaaTaskId task_id, const char *node_name, const char *custom_recognition_name, const char *custom_recognition_param, const MaaImageBuffer *image, const MaaRect *roi, void *trans_arg, MaaRect *out_box, MaaStringBuffer *out_detail)
Definition MaaDef.h:283
MaaInferenceDeviceEnum
Definition MaaDef.h:115
@ MaaInferenceDevice_Auto
Definition MaaDef.h:117
@ MaaInferenceDevice_1
Definition MaaDef.h:119
@ MaaInferenceDevice_0
Definition MaaDef.h:118
@ MaaInferenceDevice_CPU
Definition MaaDef.h:116
MaaId MaaTaskId
Definition MaaDef.h:25
uint64_t MaaSize
Definition MaaDef.h:19
MaaId MaaRecoId
Definition MaaDef.h:26
struct MaaStringListBuffer MaaStringListBuffer
Definition MaaDef.h:32
int32_t MaaInferenceDevice
Definition MaaDef.h:111
MaaOption MaaGlobalOption
Definition MaaDef.h:70
uint64_t MaaDbgControllerType
Definition MaaDef.h:265
MaaTaskerOptionEnum
Definition MaaDef.h:204
@ MaaTaskerOption_Invalid
Definition MaaDef.h:205
MaaLoggingLevelEnum
Definition MaaDef.h:55
@ MaaLoggingLevel_Debug
Definition MaaDef.h:61
@ MaaLoggingLevel_All
Definition MaaDef.h:63
@ MaaLoggingLevel_Trace
Definition MaaDef.h:62
@ MaaLoggingLevel_Info
Definition MaaDef.h:60
@ MaaLoggingLevel_Off
Definition MaaDef.h:56
@ MaaLoggingLevel_Error
Definition MaaDef.h:58
@ MaaLoggingLevel_Fatal
Definition MaaDef.h:57
@ MaaLoggingLevel_Warn
Definition MaaDef.h:59
void(MAA_CALL * MaaNotificationCallback)(const char *message, const char *details_json, void *notify_trans_arg)
Definition MaaDef.h:281
struct MaaImageListBuffer MaaImageListBuffer
Definition MaaDef.h:33
struct MaaTasker MaaTasker
Definition MaaDef.h:37
MaaStatusEnum
Definition MaaDef.h:43
@ MaaStatus_Running
Definition MaaDef.h:46
@ MaaStatus_Invalid
Definition MaaDef.h:44
@ MaaStatus_Failed
Definition MaaDef.h:48
@ MaaStatus_Succeeded
Definition MaaDef.h:47
@ MaaStatus_Pending
Definition MaaDef.h:45
MaaOption MaaResOption
Definition MaaDef.h:109
int64_t MaaId
Definition MaaDef.h:22
MaaResOptionEnum
Definition MaaDef.h:148
@ MaaResOption_InferenceDevice
Definition MaaDef.h:156
@ MaaResOption_InferenceExecutionProvider
Definition MaaDef.h:163
@ MaaResOption_Invalid
Definition MaaDef.h:149
uint64_t MaaAdbInputMethod
Definition MaaDef.h:232
struct MaaController MaaController
Definition MaaDef.h:36
struct MaaResource MaaResource
Definition MaaDef.h:35
void * MaaOptionValue
Definition MaaDef.h:67
int32_t MaaOption
Definition MaaDef.h:66
MaaId MaaResId
Definition MaaDef.h:24
MaaCtrlOptionEnum
Option keys for controller instance options. See MaaControllerSetOption().
Definition MaaDef.h:173
@ MaaCtrlOption_ScreenshotUseRawSize
Definition MaaDef.h:190
@ MaaCtrlOption_Invalid
Definition MaaDef.h:174
@ MaaCtrlOption_ScreenshotTargetShortSide
Definition MaaDef.h:184
@ MaaCtrlOption_ScreenshotTargetLongSide
Definition MaaDef.h:179
@ MaaCtrlOption_Recording
Definition MaaDef.h:198
MaaGlobalOptionEnum
Definition MaaDef.h:73
@ MaaGlobalOption_ShowHitDraw
Definition MaaDef.h:101
@ MaaGlobalOption_StdoutLevel
Definition MaaDef.h:96
@ MaaGlobalOption_DebugMode
Definition MaaDef.h:106
@ MaaGlobalOption_LogDir
Definition MaaDef.h:79
@ MaaGlobalOption_SaveDraw
Definition MaaDef.h:84
@ MaaGlobalOption_Recording
Definition MaaDef.h:90
@ MaaGlobalOption_Invalid
Definition MaaDef.h:74
struct MaaContext MaaContext
Definition MaaDef.h:38
int32_t MaaStatus
Definition MaaDef.h:40
MaaOption MaaTaskerOption
Definition MaaDef.h:201
MaaId MaaCtrlId
Definition MaaDef.h:23
MaaId MaaNodeId
Definition MaaDef.h:27
MaaOption MaaCtrlOption
Definition MaaDef.h:166
int32_t MaaLoggingLevel
Definition MaaDef.h:52
#define MAA_CALL
Definition MaaPort.h:7
Definition MaaDef.h:271
int32_t x
Definition MaaDef.h:272
int32_t width
Definition MaaDef.h:274
int32_t y
Definition MaaDef.h:273
int32_t height
Definition MaaDef.h:275