1 /* Copyright (C) 2008 The Android Open Source Project
2 **
3 ** This software is licensed under the terms of the GNU General Public
4 ** License version 2, as published by the Free Software Foundation, and
5 ** may be copied, distributed, and modified under those terms.
6 **
7 ** This program is distributed in the hope that it will be useful,
8 ** but WITHOUT ANY WARRANTY; without even the implied warranty of
9 ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10 ** GNU General Public License for more details.
11 */
12 #include "android/avd/hw-config.h"
13 #include "android/utils/ini.h"
14 #include <string.h>
15 #include <stdlib.h>
16
17
18 /* the global variable containing the hardware config for this device */
19 AndroidHwConfig android_hw[1];
20
21 int
androidHwConfig_read(AndroidHwConfig * config,IniFile * ini)22 androidHwConfig_read( AndroidHwConfig* config,
23 IniFile* ini )
24 {
25 if (ini == NULL)
26 return -1;
27
28 /* use the magic of macros to implement the hardware configuration loaded */
29
30 #define HWCFG_BOOL(n,s,d,a,t) config->n = iniFile_getBoolean(ini, s, d);
31 #define HWCFG_INT(n,s,d,a,t) config->n = iniFile_getInteger(ini, s, d);
32 #define HWCFG_STRING(n,s,d,a,t) config->n = iniFile_getString(ini, s, d);
33 #define HWCFG_DOUBLE(n,s,d,a,t) config->n = iniFile_getDouble(ini, s, d);
34 #define HWCFG_DISKSIZE(n,s,d,a,t) config->n = iniFile_getDiskSize(ini, s, d);
35
36 #include "android/avd/hw-config-defs.h"
37
38 return 0;
39 }
40