12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 |
- #include "sdk_common.h"
- #if NRF_MODULE_ENABLED(NFC_NDEF_LAUNCHAPP_MSG)
- #include <stdint.h>
- #include <string.h>
- #include "nfc_launchapp_rec.h"
- #include "nfc_launchapp_msg.h"
- #include "nrf_error.h"
- #include "sdk_macros.h"
- ret_code_t nfc_launchapp_msg_encode(uint8_t const * p_android_package_name,
- uint8_t android_package_name_length,
- uint8_t const * p_win_app_id,
- uint8_t win_app_id_length,
- uint8_t * p_buf,
- uint32_t * p_len)
- {
- ret_code_t err_code;
-
- NFC_NDEF_MSG_DEF(nfc_launchapp_msg, 2);
-
- NFC_NDEF_WINDOWS_LAUNCHAPP_RECORD_DESC_DEF(nfc_win_launchapp_rec,
- p_win_app_id,
- win_app_id_length);
-
- NFC_NDEF_ANDROID_LAUNCHAPP_RECORD_DESC_DEF(nfc_and_launchapp_rec,
- p_android_package_name,
- android_package_name_length);
- if (p_win_app_id != NULL)
- {
-
- err_code = nfc_ndef_msg_record_add(&NFC_NDEF_MSG(nfc_launchapp_msg),
- &NFC_NDEF_WINDOWS_LAUNCHAPP_RECORD_DESC(nfc_win_launchapp_rec));
- VERIFY_SUCCESS(err_code);
- }
- if (p_android_package_name != NULL)
- {
-
- err_code = nfc_ndef_msg_record_add(&NFC_NDEF_MSG(nfc_launchapp_msg),
- &NFC_NDEF_ANDROID_LAUNCHAPP_RECORD_DESC(nfc_and_launchapp_rec));
- VERIFY_SUCCESS(err_code);
- }
- VERIFY_FALSE(NFC_NDEF_MSG(nfc_launchapp_msg).record_count == 0,
- NRF_ERROR_INVALID_PARAM);
-
- err_code = nfc_ndef_msg_encode(&NFC_NDEF_MSG(nfc_launchapp_msg),
- p_buf,
- p_len);
- return err_code;
- }
- #endif
|