# 示例代码

Source: [https://docs.qualcomm.com/doc/80-PK177-134Y/topic/example_code_2_3.html](https://docs.qualcomm.com/doc/80-PK177-134Y/topic/example_code_2_3.html)

## Java

**需要导入**

    import com.qualcomm.qti.qesdk.Modem.ILinkLatencyCBs;
                import com.qualcomm.qti.qesdk.Modem.LinkLatencyEnums.level;
                import com.qualcomm.qti.qesdk.Modem.LinkLatencyEnums.slotId;
                import com.qualcomm.qti.qesdk.Modem.LinkLatencyManager;
                import com.qualcomm.qti.qesdk.QesdkStatusException;Copy to clipboard

**声明需要对象**

    private IQesdk mQesdkManager;
                private PP_eDGNSSManager mPpeEdgnssManager;
                private PP_RTKManager mPpeRtkManager;Copy to clipboard

**创建 QESDK 管理器实例**

    mQesdkManager = IQesdk.createInstance(this);Copy to clipboard

**创建数据路径优先级管理器实例**

    datapathPriorityManager = new DataPathPriorityManager(qesdkManager)Copy to clipboard

**设置回调**

    // For Registering flow
                datapathPriorityManager.registerFlowStatusUpdates(new IDataPathPriorityCBs.IflowStatus() {
                @Override
                public void onValues(long l, DataPathPriorityEnums.flowStatusEnum flowStatusEnum, String s) {        
                }
                });Copy to clipboard

**添加流程**

    datapathPriorityManager.addFlow(directionEnum, srcIp, srcPort, dstIp, dstPort, protocolEnum, apptypeEnum, inactivityTimer, dscp, new IDataPathPriorityCBs.IflowStatus() {
                @Override
                public void onValues(long l, DataPathPriorityEnums.flowStatusEnum flowStatusEnum, String s) {
                
                }
                });Copy to clipboard

**从栈获取流程**

    datapathPriorityManager.getFlows(new IDataPathPriorityCBs.IflowStatus() {
                @Override
                public void onValues(long l, DataPathPriorityEnums.flowStatusEnum flowStatusEnum, String s) { 
                }
                });Copy to clipboard

**删除单个流程**

    datapathPriorityManager.deleteFlow(FilterID)Copy to clipboard

**删除所有流程**

    datapathPriorityManager.deleteAllFlows();Copy to clipboard

## 原生

**需要包括的内容**

    #include "qesdk_ndk.h"
            #include "qesdk_Modem_LinkLatency.h"Copy to clipboard

**初始化**

    qesdk_handle_t qesdk_handle = qesdk_init(nativeLicense, len, event_callback_handler);
            LinkLatencyManager *llmManager = new LinkLatencyManager();
            int ret = llmManager->init(nativeLicense, len, event_callback_handler);Copy to clipboard

**设置回调**

    void flowStatusCallback(uint32_t id, dpp_flowStatusEnum status, std::string statusString) {
            // Handle DPP flow Status callback
            }Copy to clipboard

**注册回调**

    if(dppManager->registerFlowStatusUpdates(flowStatusCallback) != SUCCESS)Copy to clipboard

**添加流程**

    dppManager->addFlow(directionEnum, reinterpret_cast<const char *>(src_ip), src_port,reinterpret_cast<const char *>(dst_ip), dst_port, protocolEnum, apptypeEnum, inactivity_timer, dscp, flowStatusCallback);Copy to clipboard

**从栈获取流程**

    dppManager->getFlows(flowStatusCallback);Copy to clipboard

**删除单个流程**

    dppManager->deleteFlow(flowid);Copy to clipboard

**删除所有流程**

    dppManager->deleteAllFlows();Copy to clipboard

**Parent Topic:** [数据路径优先级](https://docs.qualcomm.com/doc/80-PK177-134Y/topic/data_path_priority.html)

Last Published: Jun 22, 2023

[Previous Topic
流程状态](https://docs.qualcomm.com/bundle/publicresource/80-PK177-134Y/topics/flow_status.md) [Next Topic
传感器 API](https://docs.qualcomm.com/bundle/publicresource/80-PK177-134Y/topics/qesdk_sensor_apis.md)