# Example code Source: [https://docs.qualcomm.com/doc/80-PK177-134/topic/native_example_code.html](https://docs.qualcomm.com/doc/80-PK177-134/topic/native_example_code.html) **Required includes** #include "qesdk_ndk.h"Copy to clipboard **Declare callbacks** void event_callback_handler(uint32_t opcode, uint32_t subsys[]) { // Callback to handle QESDK events }Copy to clipboard **Initialize** qesdk_handle_t qesdk_handle = qesdk_initEx(nativeLicense, len, event_callback_handler);Copy to clipboard **De-initialize** qesdk_error_t ret = qesdk_deinit(qesdk_handle);Copy to clipboard **Module wise initialization** PP_RTKManager *rtkManager = new PP_RTKManager(); int ret = rtkManager->init(licenseStr, license_length, [](uint32_t opcodes, uint32_t *subsystems) { // Callback to handle init events });Copy to clipboard **Get Feature List** std::vector> featurelist= getFeatureList(); for (auto i : featurelist) { ALOGI("Feature name : %s", i.first.c_str()); ALOGI("Version :%d", i.second); std::vector apilist=getApiNameList(i.first.c_str()); for (int i = 0; i < apilist.size(); i++) { ALOGI("API name : %s", apilist[i].c_str()); } std::vector apidatalist=getFullInfo(i.first.c_str()); for (int i = 0; i < apidatalist.size(); i++) { ALOGI("API data list : %s", apidatalist[i].c_str()); } ALOGI("-------------------------------"); } Copy to clipboard **Parent Topic:** [QESDK Native API](https://docs.qualcomm.com/doc/80-PK177-134/topic/native_api.html) Last Published: Nov 14, 2024 [Previous Topic Guidance for NDK API memory release](https://docs.qualcomm.com/bundle/publicresource/80-PK177-134/topics/guidance_for_ndk_api_memory_release.md) [Next Topic Function execution (DEPRECATED)](https://docs.qualcomm.com/bundle/publicresource/80-PK177-134/topics/native_functions.md)