• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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   WifiHandleRangingEvent,
46   AudioAvailabilityChange,
47   AudioHandleHostAwake,
48   SensorFlushComplete,
49   SensorFlushTimeout,
50   SensorStatusInfoResponse,
51   DeferredMessageToNanoappFromHost,
52   SettingChangeEvent,
53   GnssLocationReportEvent,
54   GnssMeasurementReportEvent,
55   Shutdown,
56   TimerSyncRequest,
57   DelayedFatalError,
58   GnssRequestResyncEvent,
59   SendBufferedLogMessage,
60   HostEndpointConnected,
61   HostEndpointDisconnected,
62   WifiNanServiceIdEvent,
63   WifiNanServiceDiscoveryEvent,
64   WifiNanServiceSessionLostEvent,
65   WifiNanServiceTerminatedEvent,
66   WifiNanAvailabilityEvent,
67   DeferredMetricPostEvent,
68   BleAdvertisementEvent,
69   BleScanResponse,
70   BleRequestResyncEvent,
71   RequestTimeoutEvent,
72   BleReadRssiEvent,
73 };
74 
75 //! Deferred/delayed callbacks use the event subsystem but are invariably sent
76 //! by the system and received by the system, so they are able to make use of an
77 //! extra parameter
78 //! @see Event
79 using SystemEventCallbackFunction = void(uint16_t type, void *data,
80                                          void *extraData);
81 
82 }  // namespace chre
83 
84 #endif  // CHRE_CORE_EVENT_LOOP_COMMON_H_
85