/* Copyright (C) 2008 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. */ #ifndef _ANDROID_AVD_HW_CONFIG_H #define _ANDROID_AVD_HW_CONFIG_H #include #include "android/utils/ini.h" typedef char hw_bool_t; typedef int hw_int_t; typedef int64_t hw_disksize_t; typedef char* hw_string_t; typedef double hw_double_t; /* these macros are used to define the fields of AndroidHwConfig * declared below */ #define HWCFG_BOOL(n,s,d,a,t) hw_bool_t n; #define HWCFG_INT(n,s,d,a,t) hw_int_t n; #define HWCFG_STRING(n,s,d,a,t) hw_string_t n; #define HWCFG_DOUBLE(n,s,d,a,t) hw_double_t n; #define HWCFG_DISKSIZE(n,s,d,a,t) hw_disksize_t n; typedef struct { #include "android/avd/hw-config-defs.h" } AndroidHwConfig; /* Set all default values, based on the target API level */ void androidHwConfig_init( AndroidHwConfig* hwConfig, int apiLevel ); /* reads a hardware configuration file from disk. * returns -1 if the file could not be read, or 0 in case of success. * * note that default values are written to hwConfig if the configuration * file doesn't have the corresponding hardware properties. */ int androidHwConfig_read( AndroidHwConfig* hwConfig, IniFile* configFile ); /* Write a hardware configuration to a config file object. * Returns 0 in case of success. Note that any value that is set to the * default will not bet written. */ int androidHwConfig_write( AndroidHwConfig* hwConfig, IniFile* configFile ); /* Finalize a given hardware configuration */ void androidHwConfig_done( AndroidHwConfig* config ); /* Checks if screen doesn't support touch, or multi-touch */ int androidHwConfig_isScreenNoTouch( AndroidHwConfig* config ); /* Checks if screen supports touch (but not multi-touch). */ int androidHwConfig_isScreenTouch( AndroidHwConfig* config ); /* Checks if screen supports multi-touch. */ int androidHwConfig_isScreenMultiTouch( AndroidHwConfig* config ); #endif /* _ANDROID_AVD_HW_CONFIG_H */