//-------------------------------------------------------------------------------------------------- static void FirstLayerSessionStateHandler ( void* reportPtr, void* secondLayerHandlerFunc ) { bool* eventDataPtr = reportPtr; le_avdata_SessionStateHandlerFunc_t clientHandlerFunc = secondLayerHandlerFunc; clientHandlerFunc(*eventDataPtr, le_event_GetContextPtr()); }
//-------------------------------------------------------------------------------------------------- static void FirstLayerCellNetStateHandler ( void* reportPtr, void* secondLayerHandlerFunc ) { le_cellnet_State_t* eventDataPtr = reportPtr; le_cellnet_StateHandlerFunc_t clientHandlerFunc = secondLayerHandlerFunc; clientHandlerFunc(*eventDataPtr, le_event_GetContextPtr()); }
//-------------------------------------------------------------------------------------------------- static void FirstLayerDtmfRxHandler ( void* reportPtr, void* secondLayerHandlerFunc ) { char* dtmfPtr = reportPtr; pa_audio_DtmfHandlerFunc_t clientHandlerFunc = secondLayerHandlerFunc; LE_DEBUG("[%c] DTMF detected!", *dtmfPtr); clientHandlerFunc(*dtmfPtr); }
//-------------------------------------------------------------------------------------------------- static void FirstLayerNetRegStateChangeHandler ( void* reportPtr, void* secondLayerHandlerFunc ) { le_mrc_NetRegState_t* statePtr = reportPtr; le_mrc_NetRegStateHandlerFunc_t clientHandlerFunc = secondLayerHandlerFunc; clientHandlerFunc(*statePtr, le_event_GetContextPtr()); // The reportPtr is a reference counted object, so need to release it le_mem_Release(reportPtr); }
//-------------------------------------------------------------------------------------------------- static void FirstLayerVoltageChangeHandler ( void* reportPtr, void* secondLayerHandlerFunc ) { le_ips_ThresholdStatus_t* ipsPtr = reportPtr; le_ips_ThresholdEventHandlerFunc_t clientHandlerFunc = secondLayerHandlerFunc; clientHandlerFunc(*ipsPtr, le_event_GetContextPtr()); // The reportPtr is a reference counted object, so need to release it le_mem_Release(reportPtr); }
//-------------------------------------------------------------------------------------------------- static void FirstLayerAntennaStatusHandler ( void* reportPtr, void* secondLayerHandlerFunc ) { le_antenna_StatusHandlerFunc_t clientHandlerFunc = secondLayerHandlerFunc; pa_antenna_StatusInd_t* statusPtr = (pa_antenna_StatusInd_t*) reportPtr; LE_DEBUG("Call application handler antennaType %d", statusPtr->antennaType); // Call the client handler clientHandlerFunc( AntennaCtx[statusPtr->antennaType].antennaRef, statusPtr->status, le_event_GetContextPtr() ); }
//-------------------------------------------------------------------------------------------------- static void FirstLayerCallEventHandler ( void* reportPtr, void* secondLayerHandlerFunc ) { le_mcc_CallRef_t *callRef = reportPtr; le_mcc_CallEventHandlerFunc_t clientHandlerFunc = secondLayerHandlerFunc; le_mcc_Call_t* callPtr = le_ref_Lookup(MccCallRefMap, *callRef); if (callPtr == NULL) { LE_CRIT("Invalid reference (%p) provided!", *callRef); return; } LE_DEBUG("Send Call Event for [%p] with [%d]",*callRef,callPtr->event); clientHandlerFunc(*callRef, callPtr->event, le_event_GetContextPtr()); }
//-------------------------------------------------------------------------------------------------- static void FirstLayerWifiApEventHandler ( void* reportPtr, void* secondLayerHandlerFunc ) { le_wifiAp_EventHandlerFunc_t clientHandlerFunc = secondLayerHandlerFunc; le_wifiAp_Event_t * wifiEvent = (le_wifiAp_Event_t*)reportPtr; if ( NULL != wifiEvent) { LE_DEBUG( "FirstLayerWifiApEventHandler event: %d", *wifiEvent ); clientHandlerFunc( *wifiEvent, le_event_GetContextPtr()); } else { LE_ERROR( "FirstLayerWifiApEventHandler event is NULL" ); } }