# Callback List
In this plugin, results of scan processes and various operations are generally notified via callback functions.
For example, resluts of operations such as RFID tag scan and setting changes are returned via callbacks, so the app side should receive these results and process them as necessary.
## ON_CONNECT
Notifies whether the AsReader is physically connected to the device.
The connection status is acquired when the AsReader is inserted or removed.
### Parameters
```{list-table}
:align: left
:class: list-table
* - Argument Name
- Type
- Description
* - result
- bool
- AsReader connection status
true: Connected
false: Not connected
```
### Sample Code
```dart
if (_a3xdPlugin.ON_CONNECT == methodCall.method) {
bool isConnected = methodCall.arguments['result'];
}
```
## ON_COMPLETED_PREPARATION
Receives the AsReader's power and setting item configurations.
When the [setPowerWithOption](methods.md#setpowerwithoption) method is called, this callback method receives the power and setting item configuration results.
### Parameters
```{list-table}
:align: left
:class: list-table
* - Argument Name
- Type
- Description
* - result
- bool
- AsReader connection status
true: Connected
false: Not connected
```
### Sample Code
```dart
if (_a3xdPlugin.ON_COMPLETED_PREPARATION == methodCall.method) {
bool isPower = methodCall.arguments['result'];
}
```
## ON_BATTERY_STATE_RECEIVED
Reports the AsReader’s remaining battery level.
When [getBattery](methods.md#getbattery) is called, the AsReader’s battery level is returned.
### Parameters
```{list-table}
:align: left
:class: list-table
* - Argument Name
- Type
- Description
* - dest
- int
- AsReader's battery level
* - charging
- int
- 0x00: Discharged, 0x01: Charging, 0xFF: Fully charged, 0x10: Not supported
```
### Sample Code
```dart
if (_a3xdPlugin.BATTERY_RECEIVED == methodCall.method) {
int battery = methodCall.arguments['dest'];
int charging = methodCall.arguments['charging'];
}
```
## ON_READER_INFO_RECEIVED
Receives the configured parameter information.
When the [getReaderInfo](methods.md#getreaderinfo) method is called, this callback method receives the configured parameter information.
### Parameters
```{list-table}
:align: left
:class: list-table
* - Argument Name
- Type
- Description
* - onTime
- int
- Inventory time
* - offTime
- int
- Idle time
* - senseTime
- int
- Carrier sense time
* - lbtLevel
- int
- Target frequency level
* - fhEnable
- int
- On (0x01 or higher) / Off (0x00)
* - lbtEnable
- int
- On (0x01 or higher) / Off (0x00)
* - cwEnable
- int
- On (0x01) / Off (0x00)
* - power
- int
- Current power
* - minPower
- int
- Minimum power
* - maxPower
- int
- Maximum power
```
### Sample Code
```dart
if (_a3xdPlugin.ON_READER_INFO_RECEIVED == methodCall.method) {
int onTime = methodCall.arguments['onTime'];
int offTime = methodCall.arguments['offTime'];
int senseTime = methodCall.arguments['senseTime'];
int lbtLevel = methodCall.arguments['lbtLevel'];
int fhEnable = methodCall.arguments['fhEnable'];
int lbtEnable = methodCall.arguments['lbtEnable'];
int cwEnable = methodCall.arguments['cwEnable'];
int power = methodCall.arguments['power'];
int minPower = methodCall.arguments['minPower'];
int maxPower = methodCall.arguments['maxPower'];
}
```
## ON_READER_ABOUT_INFO
Receives the configured parameter information.
When the [getReaderInfo](methods.md#getreaderinfo) method is called, this callback method receives the configured parameter information.
### Parameters
```{list-table}
:align: left
:class: list-table
* - Argument Name
- Type
- Description
* - model
- String
- AsReader model number
* - hwVersion
- String
- Hardware version
* - fwVersion
- String
- Firmware version
* - region
- int
- Region
0x11:KOREA
0x21:USA
0x22:USA2
0x31:EUROPE
0x41:JAPAN
0x51:CHINA1
0x52:CHINA2
0x61:BRAZIL1
0x62:BRAZIL2
0x71:AU_HK
```
### Sample Code
```dart
if (_a3xdPlugin.ON_READER_ABOUT_INFO == methodCall.method) {
String model = methodCall.arguments['model'];
String hwVersion = methodCall.arguments['hwVersion'];
String fwVersion = methodCall.arguments['fwVersion'];
int region = methodCall.arguments['region'];
}
```
## ON_RECEIVED_RFID_MODULE_VERSION
Receives the RF module version.
When the [getReaderInfo](methods.md#getreaderinfo) method is called, this callback method receives the RF module version.
### Parameters
```{list-table}
:align: left
:class: list-table
* - Argument Name
- Type
- Description
* - result
- String
- RF module version
```
### Sample Code
```dart
if (_a3xdPlugin.ON_RECEIVED_RFID_MODULE_VERSION == methodCall.method) {
String version = methodCall.arguments['result'];
}
```
## ON_SET_READER_SETTING_SUCCESS
Receives the AsReader's setting item configuration result.
When the [setReaderSettings](methods.md#setreadersettings) method is called, this callback method receives the setting item configuration result.
### Sample Code
```dart
if (_a3xdPlugin.ON_SET_READER_SETTING_SUCCESS == methodCall.method) {
}
```
## ON_DEVICE_MANAGER_ERROR
Callbacks when a setting error occurs on the AsReader.
### Parameters
```{list-table}
:align: left
:class: list-table
* - Argument Name
- Type
- Description
* - result
- String
- Error message
```
### Sample Code
```dart
if (_a3xdPlugin.ON_DEVICE_MANAGER_ERROR == methodCall.method) {
String message = methodCall.arguments['result'];
}
```
## DID_UPDATE_REGISTRY
Receives the registry update function setting result.
When the [updateRegistry](methods.md#updateregistry) method is called, this callback method receives the registry update function setting result.
### Parameters
```{list-table}
:align: left
:class: list-table
* - Argument Name
- Type
- Description
* - result
- int
- 0: Data saved to registry successfully
Others: Failed to save data to registry
```
### Sample Code
```dart
if (_a3xdPlugin.DID_UPDATE_REGISTRY == methodCall.method) {
int state = methodCall.arguments['result'];
}
```
## ON_MODULATION_RECEIVED
Receives the debug mode.
When the [getModulation](methods.md#getmodulation) method is called, this callback method receives the debug mode.
### Parameters
```{list-table}
:align: left
:class: list-table
* - Argument Name
- Type
- Description
* - result
- String
- Debug mode
```
### Sample Code
```dart
if (_a3xdPlugin.ON_MODULATION_RECEIVED == methodCall.method) {
String state = methodCall.arguments['result'];
}
```
## DID_SET_MODULATION
Receives the debug mode setting result.
When the [setModulation](methods.md#setmodulation) method is called, this callback method receives the debug mode setting result.
### Parameters
```{list-table}
:align: left
:class: list-table
* - Argument Name
- Type
- Description
* - result
- int
- 0: Success
Others: Failure
```
### Sample Code
```dart
if (_a3xdPlugin.DID_SET_MODULATION == methodCall.method) {
int state = methodCall.arguments['result'];
}
```
## ON_TX_POWER_LEVEL_RECEIVED
Receives the power level and the configurable maximum and minimum power levels.
When the [getOutputPowerLevel](methods.md#getoutputpowerlevel) method is called, this callback method receives the power level and the configurable maximum and minimum power levels.
### Parameters
```{list-table}
:align: left
:class: list-table
* - Argument Name
- Type
- Description
* - power
- int
- Current power level
* - minPower
- int
- Minimum power level
* - maxPower
- int
- Maximum power level
```
### Sample Code
```dart
if (_a3xdPlugin.ON_TX_POWER_LEVEL_RECEIVED == methodCall.method) {
int power = methodCall.arguments['power'];
int minPower = methodCall.arguments['minPower'];
int maxPower = methodCall.arguments['maxPower'];
}
```
## ON_FH_LBT_RECEIVED
Receives FH and LBT parameters.
When the [getFhLbtParam](methods.md#getfhlbtparam) method is called, this callback method receives the FH and LBT parameters.
### Parameters
```{list-table}
:align: left
:class: list-table
* - Argument Name
- Type
- Description
* - onTime
- int
- Read time
* - offTime
- int
- Idle time
* - senseTime
- int
- Carrier sense time
* - lbtLevel
- int
- Target frequency level
* - fhEnable
- int
- On (0x01 or higher) / Off (0x00)
* - lbtEnable
- int
- On (0x01 or higher) / Off (0x00)
* - cwEnable
- int
- On (0x01) / Off (0x00)
```
### Sample Code
```dart
if (_a3xdPlugin.ON_FH_LBT_RECEIVED == methodCall.method) {
int onTime = methodCall.arguments['onTime'];
int offTime = methodCall.arguments['offTime'];
int senseTime = methodCall.arguments['senseTime'];
int lbtLevel = methodCall.arguments['lbtLevel'];
int fhEnable = methodCall.arguments['fhEnable'];
int lbtEnable = methodCall.arguments['lbtEnable'];
int cwEnable = methodCall.arguments['cwEnable'];
}
```
## ON_RECEIVED_ANTIMODE
Receives the anti-collision algorithm.
When the [getAntiCollisionMode](methods.md#getanticollisionmode) method is called, this callback method receives the anti-collision algorithm.
### Parameters
```{list-table}
:align: left
:class: list-table
* - Argument Name
- Type
- Description
* - mode
- int
- Anti-collision: Fixed Q (0x00), Dynamic Q (0x01)
* - qStart
- int
- Q start position
* - qMax
- int
- Q maximum value
* - qMin
- int
- Q minimum value
* - counter
- int
- Counter
```
### Sample Code
```dart
if (_a3xdPlugin.ON_RECEIVED_ANTIMODE == methodCall.method) {
int mode = methodCall.arguments['mode'];
int qStart = methodCall.arguments['qStart'];
int qMax = methodCall.arguments['qMax'];
int qMin = methodCall.arguments['qMin'];
int counter = methodCall.arguments['counter'];
}
```
## ON_SESSION_RECEIVED
Receives the Session.
When the [getSession](methods.md#getsession) method is called, this callback method receives the Session.
### Parameters
```{list-table}
:align: left
:class: list-table
* - Argument Name
- Type
- Description
* - result
- int
- S0:0, S1:1, S2:2, S3:3
```
### Sample Code
```dart
if (_a3xdPlugin.ON_SESSION_RECEIVED == methodCall.method) {
int session = methodCall.arguments['result'];
}
```
## ON_REGION_RECEIVED
Receives the AsReader's region.
When the [getRegion](methods.md#getregion) method is called, this callback method receives the AsReader's region.
### Parameters
```{list-table}
:align: left
:class: list-table
* - Argument Name
- Type
- Description
* - result
- int
- AsReader's region
```
### Sample Code
```dart
if (_a3xdPlugin.ON_REGION_RECEIVED == methodCall.method) {
int region = methodCall.arguments['result'];
}
```
## DID_RECEIVE_REGION
Receives the AsReader's region setting result.
When the [setRegion](methods.md#setregion) method is called, this callback receives the AsReader's region setting result.
### Parameters
```{list-table}
:align: left
:class: list-table
* - Argument Name
- Type
- Description
* - result
- int
- 0: Success
Others: Failure
```
### Sample Code
```dart
if (_a3xdPlugin.DID_RECEIVE_REGION == methodCall.method) {
int state = methodCall.arguments['result'];
}
```
## ON_CHANNEL_RECEIVED
Receives the channel.
When the [getChannel](methods.md#getchannel) method is called, this callback method receives the channel.
### Parameters
```{list-table}
:align: left
:class: list-table
* - Argument Name
- Type
- Description
* - channel
- int
- Channel number
* - channelOffset
- int
- Channel offset
```
### Sample Code
```dart
if (_a3xdPlugin.ON_CHANNEL_RECEIVED == methodCall.method) {
int channel = methodCall.arguments['channel'];
int channelOffset = methodCall.arguments['channelOffset'];
}
```
## ON_RECEIVE_SMART_MODE
Receives the hopping mode.
When the [getFrequencyHoppingMode](methods.md#getfrequencyhoppingmode) method is called, this callback receives the hopping mode.
### Parameters
```{list-table}
:align: left
:class: list-table
* - Argument Name
- Type
- Description
* - result
- int
- 0x00: Normal mode
0x01: Smart hopping mode
```
### Sample Code
```dart
if (_a3xdPlugin.ON_RECEIVE_SMART_MODE == methodCall.method) {
int state = methodCall.arguments['result'];
}
```
## DID_SET_SMART_MODE
Receives the hopping mode setting result.
When the [setSmartHopping](methods.md#setsmarthopping) method is called, this callback receives the hopping mode setting result.
### Parameters
```{list-table}
:align: left
:class: list-table
* - Argument Name
- Type
- Description
* - result
- int
- 0: Success
Others: Failure
```
### Sample Code
```dart
if (_a3xdPlugin.DID_SET_SMART_MODE == methodCall.method) {
int state = methodCall.arguments['result'];
}
```
## DID_SET_OPTI_FREQ_HP_TABLE
Receives the hopping table setting result.
When the [setOptimumFrequencyHoppingTable](methods.md#setoptimumfrequencyhoppingtable) method is called, this callback receives the hopping table setting result.
### Parameters
```{list-table}
:align: left
:class: list-table
* - Argument Name
- Type
- Description
* - result
- int
- 0: Success
Others: Failure
```
### Sample Code
```dart
if (_a3xdPlugin.DID_SET_OPTI_FREQ_HP_TABLE == methodCall.method) {
int state = methodCall.arguments['result'];
}
```
## ON_TAG_RECEIVED
Receives the inventoried data.
When the [startInventory](methods.md#startinventory) method is called, this callback receives the inventoried data.
### Parameters
```{list-table}
:align: left
:class: list-table
* - Argument Name
- Type
- Description
* - result
- List\
- PC+EPC data
```
### Sample Code
```dart
if (_a3xdPlugin.ON_TAG_RECEIVED == methodCall.method) {
List intList = methodCall.arguments['result'].whereType().toList();
}
```
## ON_TAG_WITH_TID_RECEIVED
Receives the inventoried data including TID information.
When the [startInventoryTagID](methods.md#startinventorytagid) method is called, this callback receives the inventoried data.
### Parameters
```{list-table}
:align: left
:class: list-table
* - Argument Name
- Type
- Description
* - pcEpc
- List\
- PC+EPC data
* - tid
- List\
- TID data
```
### Sample Code
```dart
if (_a3xdPlugin.ON_TAG_WITH_TID_RECEIVED == methodCall.method) {
List pcEpcList = methodCall.arguments['pcEpc'].whereType().toList();
List tidList = methodCall.arguments['tid'].whereType().toList();
}
```
## ON_TAG_WITH_RSSI_RECEIVED
Receives the inventoried data including RSSI information.
When the [startInventoryRSSI](methods.md#startinventoryrssi) method is called, this callback receives the inventoried data.
### Parameters
```{list-table}
:align: left
:class: list-table
* - Argument Name
- Type
- Description
* - pcEpc
- List\
- PC+EPC data
* - rssi
- int
- RSSI status
```
### Sample Code
```dart
if (_a3xdPlugin.ON_TAG_WITH_RSSI_RECEIVED == methodCall.method) {
List pcEpcList = methodCall.arguments['pcEpc'].whereType().toList();
int rssi = methodCall.arguments['rssi'];
}
```
## ON_TAG_MEMORY_RECEIVED
Receives the read tag data.
When the [readTagMemory](methods.md#readtagmemory), [readTagMemoryWithTimeout](methods.md#readtagmemorywithtimeout), or [readTagMemoryWithData](methods.md#readtagmemorywithdata) methods are called, this callback method receives the read tag data.
### Parameters
```{list-table}
:align: left
:class: list-table
* - Argument Name
- Type
- Description
* - result
- List\
- Tag data
```
### Sample Code
```dart
if (_a3xdPlugin.ON_TAG_MEMORY_RECEIVED == methodCall.method) {
List dataList = methodCall.arguments['result'].whereType().toList();
}
```
## ON_TAG_MEMORY_LONG_RECEIVED
Receives the read tag data.
When the [readTagMemory](methods.md#readtagmemory), [readTagMemoryWithTimeout](methods.md#readtagmemorywithtimeout), or [readTagMemoryWithData](methods.md#readtagmemorywithdata) methods are called, this callback method receives the read tag data.
### Parameters
```{list-table}
:align: left
:class: list-table
* - Argument Name
- Type
- Description
* - result
- List\
- Tag data
```
### Sample Code
```dart
if (_a3xdPlugin.ON_TAG_MEMORY_LONG_RECEIVED == methodCall.method) {
List dataList = methodCall.arguments['result'].whereType().toList();
}
```
## ON_PC_EPC_SENSOR_DATA_RECEIVED
Receives inventoried temperature/humidity RF tag data.
When the [startRFMDecode](methods.md#startrfmdecode) method is called, this callback method receives the inventoried temperature/humidity RF tag data.
### Parameters
```{list-table}
:align: left
:class: list-table
* - Argument Name
- Type
- Description
* - pcEpc
- List\
- PC+EPC data
* - sensorData
- List\
- Sensor data
```
### Sample Code
```dart
if (_a3xdPlugin.ON_PC_EPC_SENSOR_DATA_RECEIVED == methodCall.method) {
List pcEpcList = methodCall.arguments['pcEpc'].whereType().toList();
List sensorDataList = methodCall.arguments['sensorData'].whereType().toList();
}
```
## ON_SET_CHANNEL_SUCCESS
Receives the configured channel result.
When the [setChannel](methods.md#setchannel) method is called, this callback receives the channel setting result.
### Sample Code
```dart
if (_a3xdPlugin.ON_SET_CHANNEL_SUCCESS == methodCall.method) {
}
```
## ON_SET_FH_LBT_PARAM_SUCCESS
Receives the FH and LBT parameter setting result.
When the [setFhLbtParam](methods.md#setfhlbtparam) method is called, this callback method receives the FH and LBT parameter setting result.
### Sample Code
```dart
if (_a3xdPlugin.ON_SET_FH_LBT_PARAM_SUCCESS == methodCall.method) {
}
```
## ON_LOCK_TAG_MEMORY_SUCCESS
Receives the RF tag lock result.
When the [lockTagMemory](methods.md#locktagmemory) or [lockTagMemoryWithTimeout](methods.md#locktagmemorywithtimeout) methods are called, this callback method receives the RF tag lock result.
### Sample Code
```dart
if (_a3xdPlugin.ON_LOCK_TAG_MEMORY_SUCCESS == methodCall.method) {
}
```
## ON_WRITE_TO_TAG_MEMORY_SUCCESS
Receives the result of writing data to the RF tag.
When the [writeTagMemory](methods.md#writetagmemory), [writeTagMemoryWithTimeout](methods.md#writetagmemorywithtimeout), or [writeTagMemoryWithData](methods.md#writetagmemorywithdata) methods are called, this callback method receives the result of writing data to the RF tag.
### Sample Code
```dart
if (_a3xdPlugin.ON_WRITE_TO_TAG_MEMORY_SUCCESS == methodCall.method) {
}
```
## ON_KILL_TAG_MEMORY_SUCCESS
Receives the RF tag kill result.
When the [killTag](methods.md#killtag) method is called, this callback method receives the RF tag kill result.
### Sample Code
```dart
if (_a3xdPlugin.ON_KILL_TAG_MEMORY_SUCCESS == methodCall.method) {
}
```
## ON_SET_SESSION_SUCCESS
Receives the Session setting result.
When the [setSession](methods.md#setsession) method is called, this callback method receives the Session setting result.
### Sample Code
```dart
if (_a3xdPlugin.ON_SET_SESSION_SUCCESS == methodCall.method) {
}
```
## ON_GET_FREQUENCY_HOPPING_TABLE_SUCCESS
Receives the hopping table.
When the [getFrequencyHoppingTable](methods.md#getfrequencyhoppingtable) method is called, this callback method receives the hopping table.
### Parameters
```{list-table}
:align: left
:class: list-table
* - Argument Name
- Type
- Description
* - result
- List\
- Hopping table
```
### Sample Code
```dart
if (_a3xdPlugin.ON_GET_FREQUENCY_HOPPING_TABLE_SUCCESS == methodCall.method) {
List dataList = methodCall.arguments['result'].whereType().toList();
}
```
## ON_SET_OUTPUTPOWER_LEVEL_SUCCESS
Receives the power level setting result.
When the [setOutputPowerLevel](methods.md#setoutputpowerlevel) method is called, this callback method receives the power level setting result.
### Sample Code
```dart
if (_a3xdPlugin.ON_SET_OUTPUTPOWER_LEVEL_SUCCESS == methodCall.method) {
}
```
## ON_SET_ANTICOLLISION_MODE_SUCCESS
Receives the anti-collision algorithm setting result.
When the [setAntiCollisionMode](methods.md#setanticollisionmode) method is called, this callback method receives the power level setting result.
### Sample Code
```dart
if (_a3xdPlugin.ON_SET_ANTICOLLISION_MODE_SUCCESS == methodCall.method) {
}
```
## ON_SET_TRIGGER_STOP_CONDITION_SUCCESS
Receives the trigger stop condition setting result.
When the [setTriggerStopCondition](methods.md#settriggerstopcondition) method is called, this callback method receives the trigger stop condition setting result.
### Sample Code
```dart
if (_a3xdPlugin.ON_SET_TRIGGER_STOP_CONDITION_SUCCESS == methodCall.method) {
}
```
## ON_AUTO_INVENTORY_FINISHED
Receives the result of automatic inventory completion.
When the [startInventory](methods.md#startinventory) method is called, this callback method receives the result of automatic inventory completion.
### Sample Code
```dart
if (_a3xdPlugin.ON_AUTO_INVENTORY_FINISHED == methodCall.method) {
}
```
## ON_RFID_MANAGER_ERROR
Callbacks when an RFID-related setting error occurs.
### Parameters
```{list-table}
:align: left
:class: list-table
* - Argument Name
- Type
- Description
* - result
- String
- Error message
```
### Sample Code
```dart
if (_a3xdPlugin.ON_RFID_MANAGER_ERROR == methodCall.method) {
String message = methodCall.arguments['result'];
}
```
## ON_RECEIVE_AUTO_OFF_TIME
Receives the auto-off time. (M30S only)
When the [getAutoOffTime](methods.md#getautoofftime) method is called, this callback method receives the AsReader's auto-off time.
### Parameters
```{list-table}
:align: left
:class: list-table
* - Argument Name
- Type
- Description
* - result
- int
- Device auto-off time
```
### Sample Code
```dart
if (_a3xdPlugin.ON_RECEIVE_AUTO_OFF_TIME == methodCall.method) {
int time = methodCall.arguments['result'];
}
```
## DID_SET_AUTO_OFF_TIME
Receives the auto-off time setting result. (M30S only)
When the [setAutoOffTime](methods.md#setautoofftime) method is called, this callback method receives the AsReader's auto-off time setting result.
### Parameters
```{list-table}
:align: left
:class: list-table
* - Argument Name
- Type
- Description
* - result
- int
- 0: Success
Others: Failure
```
### Sample Code
```dart
if (_a3xdPlugin.DID_SET_AUTO_OFF_TIME == methodCall.method) {
int status = methodCall.arguments['result'];
}
```
## ON_RECEIVE_CONTINUOUS_MODE
Receives the continuous scan status. (M30S only)
When the [getContinuousMode](methods.md#getcontinuousmode) method is called, this callback method receives whether continuous scan is active.
### Parameters
```{list-table}
:align: left
:class: list-table
* - Argument Name
- Type
- Description
* - result
- bool
- true: Continuous scan
false: Single scan
```
### Sample Code
```dart
if (_a3xdPlugin.ON_RECEIVE_CONTINUOUS_MODE == methodCall.method) {
bool status = methodCall.arguments['result'];
}
```
## DID_SET_CONTINUOUS_MODE
Receives the continuous scan setting result. (M30S only)
When the [setContinuousMode](methods.md#setcontinuousmode) method is called, this callback method receives the continuous scan setting result.
### Parameters
```{list-table}
:align: left
:class: list-table
* - Argument Name
- Type
- Description
* - result
- int
- 0: Success
Others: Failure
```
### Sample Code
```dart
if (_a3xdPlugin.DID_SET_CONTINUOUS_MODE == methodCall.method) {
int status = methodCall.arguments['result'];
}
```
## ON_RECEIVE_HID_MODE
Receives the HID status. (M30S only)
When the [getHidMode](methods.md#gethidmode) method is called, this callback method receives whether the AsReader is in HID mode.
### Parameters
```{list-table}
:align: left
:class: list-table
* - Argument Name
- Type
- Description
* - result
- bool
- true: HID mode
false: Not HID mode
```
### Sample Code
```dart
if (_a3xdPlugin.ON_RECEIVE_HID_MODE == methodCall.method) {
bool status = methodCall.arguments['result'];
}
```
## DID_SET_HID_MODE
Receives the HID setting result. (M30S only)
When the [setHidMode](methods.md#sethidmode) method is called, this callback method receives the AsReader's HID mode setting result.
### Parameters
```{list-table}
:align: left
:class: list-table
* - Argument Name
- Type
- Description
* - result
- int
- 0: Success
Others: Failure
```
### Sample Code
```dart
if (_a3xdPlugin.DID_SET_HID_MODE == methodCall.method) {
int status = methodCall.arguments['result'];
}
```
## ON_RECEIVE_Q_VALUE
Receives the Q value. (M30S only)
When the [getQValue](methods.md#getqvalue) method is called, this callback method receives the AsReader's Q value.
### パラメータ
```{list-table}
:align: left
:class: list-table
* - Argument Name
- Type
- Description
* - result
- int
- Q value
```
### Sample Code
```dart
if (_a3xdPlugin.ON_RECEIVE_Q_VALUE == methodCall.method) {
int value = methodCall.arguments['result'];
}
```
## DID_SET_Q_VALUE
Receives the Q value setting result. (M30S only)
When the [setQValue](methods.md#setqvalue) method is called, this callback method receives the Q value setting result.
### Parameters
```{list-table}
:align: left
:class: list-table
* - Argument Name
- Type
- Description
* - result
- int
- 0: Success
Others: Failure
```
### Sample Code
```dart
if (_a3xdPlugin.DID_SET_Q_VALUE == methodCall.method) {
int status = methodCall.arguments['result'];
}
```
## ON_RECEIVE_SESSION_FLAG
Receives the SessionFlag. (M30S only)
When the [getSessionFlag](methods.md#getsessionflag) method is called, this callback method receives the AsReader's SessionFlag.
### Parameters
```{list-table}
:align: left
:class: list-table
* - Argument Name
- Type
- Description
* - result
- int
- SessionFlag
```
### Sample Code
```dart
if (_a3xdPlugin.ON_RECEIVE_SESSION_FLAG == methodCall.method) {
int value = methodCall.arguments['result'];
}
```
## DID_SET_SESSION_FLAG
Receives the SessionFlag setting result. (M30S only)
When the [setSessionFlag](methods.md#setsessionflag) method is called, this callback method receives the SessionFlag setting result.
### Parameters
```{list-table}
:align: left
:class: list-table
* - Argument Name
- Type
- Description
* - result
- int
- 0: Success Others: Failure
```
### Sample Code
```dart
if (_a3xdPlugin.DID_SET_SESSION_FLAG == methodCall.method) {
int status = methodCall.arguments['result'];
}
```
## ON_RECEIVE_DUTY_RATIO
Receives the duty ratio. (M30S only)
When the [getDutyRatio](methods.md#getdutyratio) method is called, this callback method receives the AsReader's duty ratio.
### Parameters
```{list-table}
:align: left
:class: list-table
* - Argument Name
- Type
- Description
* - result
- int
- Duty ratio
```
### Sample Code
```dart
if (_a3xdPlugin.ON_RECEIVE_DUTY_RATIO == methodCall.method) {
int value = methodCall.arguments['result'];
}
```
## DID_SET_DUTY_RATIO
Receives the duty ratio setting result. (M30S only)
When the [setDutyRatio](methods.md#setdutyratio) method is called, this callback method receives the AsReader's duty ratio setting result.
### Parameters
```{list-table}
:align: left
:class: list-table
* - Argument Name
- Type
- Description
* - result
- int
- 0: Success
Others: Failure
```
### Sample Code
```dart
if (_a3xdPlugin.DID_SET_DUTY_RATIO == methodCall.method) {
int status = methodCall.arguments['result'];
}
```
## ON_RECEIVE_DUTY_RATIO_BASE_TIME
Receives the duty ratio base time. (M30S only)
When the [getDutyRatioBaseTime](methods.md#getdutyratiobasetime) method is called, this callback method receives the AsReader's duty ratio base time.
### Parameters
```{list-table}
:align: left
:class: list-table
* - Argument Name
- Type
- Description
* - result
- int
- Duty ratio base time
```
### Sample Code
```dart
if (_a3xdPlugin.ON_RECEIVE_DUTY_RATIO_BASE_TIME == methodCall.method) {
int value = methodCall.arguments['result'];
}
```
## DID_SET_DUTY_RATIO_BASE_TIME
Receives the duty ratio base time setting result. (M30S only)
When the [setDutyRatioBaseTime](methods.md#setdutyratiobasetime) method is called, this callback method receives the AsReader's duty ratio base time setting result.
### Parameters
```{list-table}
:align: left
:class: list-table
* - Argument Name
- Type
- Description
* - result
- int
- 0: Success
Others: Failure
```
### Sample Code
```dart
if (_a3xdPlugin.DID_SET_DUTY_RATIO_BASE_TIME == methodCall.method) {
int status = methodCall.arguments['result'];
}
```