configuration.cpp revision 08d5b8fad8d46ccb64db2fdcb4d66972ec87bf48
108d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn/* 208d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn * Copyright (C) 2010 The Android Open Source Project 308d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn * 408d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn * Licensed under the Apache License, Version 2.0 (the "License"); 508d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn * you may not use this file except in compliance with the License. 608d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn * You may obtain a copy of the License at 708d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn * 808d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn * http://www.apache.org/licenses/LICENSE-2.0 908d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn * 1008d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn * Unless required by applicable law or agreed to in writing, software 1108d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn * distributed under the License is distributed on an "AS IS" BASIS, 1208d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1308d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn * See the License for the specific language governing permissions and 1408d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn * limitations under the License. 1508d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn */ 1608d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn 1708d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn#define LOG_TAG "Configuration" 1808d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn#include <utils/Log.h> 1908d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn 2008d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn#include <utils/AssetManager.h> 2108d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn 2208d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn#include <android_runtime/android_content_res_Configuration.h> 2308d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn 2408d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackbornusing namespace android; 2508d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn 2608d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne HackbornAConfiguration* AConfiguration_new() { 2708d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn AConfiguration* config = new AConfiguration; 2808d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn memset(config, 0, sizeof(AConfiguration)); 2908d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn return config; 3008d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn} 3108d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn 3208d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackbornvoid AConfiguration_delete(AConfiguration* config) { 3308d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn delete config; 3408d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn} 3508d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn 3608d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackbornvoid AConfiguration_fromAssetManager(AConfiguration* out, AAssetManager* am) { 3708d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn ((AssetManager*)am)->getConfiguration(out); 3808d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn} 3908d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn 4008d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackbornvoid AConfiguration_copy(AConfiguration* dest, AConfiguration* src) { 4108d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn *dest = *src; 4208d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn} 4308d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn 4408d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackbornint32_t AConfiguration_getMcc(AConfiguration* config) { 4508d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn return config->mcc; 4608d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn} 4708d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn 4808d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackbornint32_t AConfiguration_getMnc(AConfiguration* config) { 4908d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn return config->mnc; 5008d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn} 5108d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn 5208d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackbornvoid AConfiguration_getLanguage(AConfiguration* config, char* outLanguage) { 5308d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn outLanguage[0] = config->language[0]; 5408d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn outLanguage[1] = config->language[1]; 5508d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn} 5608d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn 5708d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackbornvoid AConfiguration_getCountry(AConfiguration* config, char* outCountry) { 5808d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn outCountry[0] = config->country[0]; 5908d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn outCountry[1] = config->country[1]; 6008d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn} 6108d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn 6208d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackbornint32_t AConfiguration_getOrientation(AConfiguration* config) { 6308d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn return config->orientation; 6408d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn} 6508d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn 6608d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackbornint32_t AConfiguration_getTouchscreen(AConfiguration* config) { 6708d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn return config->touchscreen; 6808d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn} 6908d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn 7008d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackbornint32_t AConfiguration_getDensity(AConfiguration* config) { 7108d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn return config->density; 7208d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn} 7308d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn 7408d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackbornint32_t AConfiguration_getKeyboard(AConfiguration* config) { 7508d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn return config->keyboard; 7608d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn} 7708d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn 7808d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackbornint32_t AConfiguration_getNavigation(AConfiguration* config) { 7908d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn return config->navigation; 8008d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn} 8108d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn 8208d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackbornint32_t AConfiguration_getKeysHidden(AConfiguration* config) { 8308d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn return config->inputFlags&ResTable_config::MASK_KEYSHIDDEN; 8408d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn} 8508d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn 8608d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackbornint32_t AConfiguration_getNavHidden(AConfiguration* config) { 8708d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn return (config->inputFlags&ResTable_config::MASK_NAVHIDDEN) 8808d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn >> ResTable_config::SHIFT_NAVHIDDEN; 8908d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn} 9008d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn 9108d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackbornint32_t AConfiguration_getSdkVersion(AConfiguration* config) { 9208d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn return config->sdkVersion; 9308d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn} 9408d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn 9508d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackbornint32_t AConfiguration_getScreenSize(AConfiguration* config) { 9608d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn return config->screenLayout&ResTable_config::MASK_SCREENSIZE; 9708d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn} 9808d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn 9908d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackbornint32_t AConfiguration_getScreenLong(AConfiguration* config) { 10008d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn return (config->screenLayout&ResTable_config::MASK_SCREENLONG) 10108d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn >> ResTable_config::SHIFT_SCREENLONG; 10208d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn} 10308d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn 10408d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackbornint32_t AConfiguration_getUiModeType(AConfiguration* config) { 10508d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn return config->uiMode&ResTable_config::MASK_UI_MODE_TYPE; 10608d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn} 10708d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn 10808d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackbornint32_t AConfiguration_getUiModeNight(AConfiguration* config) { 10908d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn return (config->uiMode&ResTable_config::MASK_UI_MODE_NIGHT) 11008d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn >> ResTable_config::SHIFT_UI_MODE_NIGHT; 11108d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn 11208d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn} 11308d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn 11408d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn// ---------------------------------------------------------------------- 11508d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn 11608d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackbornvoid AConfiguration_setMcc(AConfiguration* config, int32_t mcc) { 11708d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn config->mcc = mcc; 11808d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn} 11908d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn 12008d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackbornvoid AConfiguration_setMnc(AConfiguration* config, int32_t mnc) { 12108d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn config->mnc = mnc; 12208d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn} 12308d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn 12408d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackbornvoid AConfiguration_setLanguage(AConfiguration* config, const char* language) { 12508d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn config->language[0] = language[0]; 12608d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn config->language[1] = language[1]; 12708d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn} 12808d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn 12908d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackbornvoid AConfiguration_setCountry(AConfiguration* config, const char* country) { 13008d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn config->country[0] = country[0]; 13108d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn config->country[1] = country[1]; 13208d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn} 13308d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn 13408d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackbornvoid AConfiguration_setOrientation(AConfiguration* config, int32_t orientation) { 13508d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn config->orientation = orientation; 13608d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn} 13708d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn 13808d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackbornvoid AConfiguration_setTouchscreen(AConfiguration* config, int32_t touchscreen) { 13908d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn config->touchscreen = touchscreen; 14008d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn} 14108d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn 14208d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackbornvoid AConfiguration_setDensity(AConfiguration* config, int32_t density) { 14308d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn config->density = density; 14408d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn} 14508d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn 14608d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackbornvoid AConfiguration_setKeyboard(AConfiguration* config, int32_t keyboard) { 14708d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn config->keyboard = keyboard; 14808d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn} 14908d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn 15008d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackbornvoid AConfiguration_setNavigation(AConfiguration* config, int32_t navigation) { 15108d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn config->navigation = navigation; 15208d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn} 15308d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn 15408d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackbornvoid AConfiguration_setKeysHidden(AConfiguration* config, int32_t keysHidden) { 15508d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn config->inputFlags = (config->inputFlags&~ResTable_config::MASK_KEYSHIDDEN) 15608d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn | (keysHidden&ResTable_config::MASK_KEYSHIDDEN); 15708d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn} 15808d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn 15908d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackbornvoid AConfiguration_setNavHidden(AConfiguration* config, int32_t navHidden) { 16008d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn config->inputFlags = (config->inputFlags&~ResTable_config::MASK_NAVHIDDEN) 16108d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn | ((navHidden<<ResTable_config::SHIFT_NAVHIDDEN)&ResTable_config::MASK_NAVHIDDEN); 16208d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn} 16308d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn 16408d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackbornvoid AConfiguration_setSdkVersion(AConfiguration* config, int32_t sdkVersion) { 16508d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn config->sdkVersion = sdkVersion; 16608d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn} 16708d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn 16808d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackbornvoid AConfiguration_setScreenSize(AConfiguration* config, int32_t screenSize) { 16908d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn config->screenLayout = (config->screenLayout&~ResTable_config::MASK_SCREENSIZE) 17008d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn | (screenSize&ResTable_config::MASK_SCREENSIZE); 17108d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn} 17208d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn 17308d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackbornvoid AConfiguration_setScreenLong(AConfiguration* config, int32_t screenLong) { 17408d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn config->screenLayout = (config->screenLayout&~ResTable_config::MASK_SCREENLONG) 17508d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn | ((screenLong<<ResTable_config::SHIFT_SCREENLONG)&ResTable_config::MASK_SCREENLONG); 17608d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn} 17708d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn 17808d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackbornvoid AConfiguration_setUiModeType(AConfiguration* config, int32_t uiModeType) { 17908d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn config->uiMode = (config->uiMode&~ResTable_config::MASK_UI_MODE_TYPE) 18008d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn | (uiModeType&ResTable_config::MASK_UI_MODE_TYPE); 18108d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn} 18208d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn 18308d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackbornvoid AConfiguration_setUiModeNight(AConfiguration* config, int32_t uiModeNight) { 18408d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn config->uiMode = (config->uiMode&~ResTable_config::MASK_UI_MODE_NIGHT) 18508d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn | ((uiModeNight<<ResTable_config::SHIFT_UI_MODE_NIGHT)&ResTable_config::MASK_UI_MODE_NIGHT); 18608d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn 18708d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn} 18808d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn 18908d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn// ---------------------------------------------------------------------- 19008d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn 19108d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackbornint32_t AConfiguration_diff(AConfiguration* config1, AConfiguration* config2) { 19208d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn return (config1->diff(*config2)); 19308d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn} 19408d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn 19508d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackbornint32_t AConfiguration_match(AConfiguration* base, AConfiguration* requested) { 19608d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn return base->match(*requested); 19708d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn} 19808d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn 19908d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackbornint32_t AConfiguration_isBetterThan(AConfiguration* base, AConfiguration* test, 20008d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn AConfiguration* requested) { 20108d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn return base->isBetterThan(*test, requested); 20208d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn} 203