1 /* Copyright (C) 2009 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 #ifndef _ANDROID_USER_CONFIG_H 13 #define _ANDROID_USER_CONFIG_H 14 15 #include "android/avd/info.h" 16 #include <stdint.h> 17 18 /* a structure used to model the user-configuration settings 19 * 20 * At the moment, this is only used to store the last position 21 * of the emulator window and a unique 64-bit UUID. We might 22 * add more AVD-specific preferences here in the future. 23 * 24 * By definition, these settings should be optional and we 25 * should be able to work without them, unlike the AVD 26 * configuration information found in config.ini 27 */ 28 typedef struct AUserConfig AUserConfig; 29 30 /* Create a new AUserConfig object from a given AvdInfo */ 31 AUserConfig* auserConfig_new( AvdInfo* info ); 32 33 /* Retrieve the unique UID for this AVD */ 34 uint64_t auserConfig_getUUID( AUserConfig* uconfig ); 35 36 /* Retrieve the stored window position for this AVD */ 37 void auserConfig_getWindowPos( AUserConfig* uconfig, int *pX, int *pY ); 38 39 /* Change the stored window position for this AVD */ 40 void auserConfig_setWindowPos( AUserConfig* uconfig, int x, int y ); 41 42 /* Save the user configuration back to the content directory. 43 * Should be used in an atexit() handler. This will effectively 44 * only save the user configuration to disk if its content 45 * has changed. 46 */ 47 void auserConfig_save( AUserConfig* uconfig ); 48 49 /* */ 50 51 #endif /* _ANDROID_USER_CONFIG_H */ 52