aboutsummaryrefslogtreecommitdiffstats
path: root/android/ui-core-protocol.h
blob: 16f49df5196a4aaa93b4c3c2737e66947d001039 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
/* Copyright (C) 2010 The Android Open Source Project
**
** This software is licensed under the terms of the GNU General Public
** License version 2, as published by the Free Software Foundation, and
** may be copied, distributed, and modified under those terms.
**
** This program is distributed in the hope that it will be useful,
** but WITHOUT ANY WARRANTY; without even the implied warranty of
** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
** GNU General Public License for more details.
*/

/*
 * This file contains declarations of helper routines that are used to
 * establish communication between UI and Core components of the emulator.
 * This is a temporary file where we will collect functional dependencies
 * between UI and Core in the process of separating UI and Core in the
 * emulator build.
 */

#ifndef QEMU_ANDROID_UI_CORE_PROTOCOL_H
#define QEMU_ANDROID_UI_CORE_PROTOCOL_H

#include "android/hw-sensors.h"

/* Gets LCD density property from the core properties. */
int android_core_get_hw_lcd_density(void);

/* This is temporary redeclaration for AndroidHwLightBrightnessFunc declared
 * in android/hw-control.h We redeclare it here in order to keep type
 * consistency between android_core_set_brightness_change_callback and
 * light_brightness field of AndroidHwControlFuncs structure.
 */
typedef void  (*AndroidHwLightBrightnessCallback)( void*       opaque,
                                               const char* light,
                                               int         brightness );

/* Registers a UI callback to be called when brightness is changed by the core. */
void android_core_set_brightness_change_callback(AndroidHwLightBrightnessCallback callback,
                                                 void* opaque);

/* Returns base port assigned for the emulated system. */
int android_core_get_base_port(void);

/* change the coarse orientation value */
void  android_core_sensors_set_coarse_orientation( AndroidCoarseOrientation  orient );

/* Sets/toggles the network state */
void android_core_set_network_enabled(int enabled);

/* Start/stop tracing in the guest system */
void android_core_tracing_start(void);
void android_core_tracing_stop(void);

/* Gets an entry in android_netspeeds array defined in net-android.c
 * Parameters:
 *  index - Index of the entry to get from the array.
 *  netspeed - Upon successful return contains copy of the requested entry.
 * Return:
 *  0 on success, or -1 if requested entry index is too large.
 */
int android_core_get_android_netspeed(int index, NetworkSpeed* netspeed);

/* Gets an entry in android_netdelays array defined in net-android.c
 * Parameters:
 *  index - Index of the entry to get from the array.
 *  netspeed - Upon successful return contains copy of the requested entry.
 * Return:
 *  0 on success, or -1 if requested entry index is too large.
 */
int android_core_get_android_netdelay(int index, NetworkLatency* delay);

/* Get name of a given audio backend.
 * Parameters
 *  is_input - If 1, routine should lookup for input audio backend, if zero,
 *      routine should lookup for output audio backend.
 *  index - Index of the registered audio backend to lookup.
 *  name - Upon successful return contains backend name.
 *  name_buf_size - name buffer size (in characters).
 *  descr - Upon successful return contains backend description.
 *  descr_buf_size - descre buffer size (in characters).
 * Return:
 *  0 on success, or -1 if requested backend has not been found.
 */
int android_core_audio_get_backend_name(int is_input, int index,
                                        char* name, size_t name_buf_size,
                                        char* descr, size_t descr_buf_size);

#endif  // QEMU_ANDROID_UI_CORE_PROTOCOL_H