1 /* 2 * Copyright (C) 2016 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17 #ifndef CHRE_CORE_EVENT_LOOP_COMMON_H_ 18 #define CHRE_CORE_EVENT_LOOP_COMMON_H_ 19 20 #include "chre_api/chre/event.h" 21 22 #include <cstdint> 23 24 namespace chre { 25 26 //! An identifier for a system callback, which is mapped into a CHRE event type 27 //! in the user-defined range. 28 enum class SystemCallbackType : uint16_t { 29 FirstCallbackType = CHRE_EVENT_FIRST_USER_VALUE, 30 31 MessageToHostComplete, 32 WifiScanMonitorStateChange, 33 WifiRequestScanResponse, 34 WifiHandleScanEvent, 35 NanoappListResponse, 36 SensorLastEventUpdate, 37 FinishLoadingNanoapp, 38 WwanHandleCellInfoResult, 39 HandleUnloadNanoapp, 40 GnssSessionStatusChange, 41 SensorStatusUpdate, 42 PerformDebugDump, 43 TimerPoolTick, 44 AudioHandleDataEvent, 45 WifiHandleFailedRanging, 46 WifiHandleRangingEvent, 47 AudioAvailabilityChange, 48 AudioHandleHostAwake, 49 SensorFlushComplete, 50 SensorFlushTimeout, 51 SensorStatusInfoResponse, 52 }; 53 54 //! The function signature of a system callback mirrors the CHRE event free 55 //! callback to allow it to use the same event infrastructure. 56 typedef chreEventCompleteFunction SystemCallbackFunction; 57 58 /** 59 * Generic event free callback that can be used by any event where the event 60 * data is allocated via memoryAlloc, and no special processing is needed in the 61 * event complete callback other than freeing the event data. 62 */ 63 void freeEventDataCallback(uint16_t eventType, void *eventData); 64 65 } // namespace chre 66 67 #endif // CHRE_CORE_EVENT_LOOP_COMMON_H_ 68