Apply xml interface
authordavid_kim31 <david_kim31@samsung.com>
Thu, 20 Jun 2013 01:54:04 +0000 (10:54 +0900)
committerdavid_kim31 <david_kim31@samsung.com>
Thu, 20 Jun 2013 01:54:04 +0000 (10:54 +0900)
Change-Id: I641052d50420f9a2decb50111e5172fb54198a16
Signed-off-by: david_kim31 <david_kim31@samsung.com>
src/system/FSys_SystemInfo.cpp
src/system/FSys_SystemInfo.h

index 4582dc2..de2199b 100644 (file)
@@ -62,193 +62,152 @@ using namespace Tizen::Io;
 
 namespace Tizen { namespace System
 {
-
-static const wchar_t* _REGISTRY_PATH = L"/usr/etc/system-info.ini";
-static const wchar_t* _SYSTEM_INFO_SESSION = L"SystemInfo";
-
-//Bluetooth
-static const wchar_t* _BLUETOOTH = L"http://tizen.org/feature/network.bluetooth";
-
 //Camera
 static const wchar_t* _CAMERA = L"http://tizen.org/feature/camera";
-static const wchar_t* _CAMERA_FRONT = L"http://tizen.org/feature/camera.front";
-static const wchar_t* _CAMERA_FRONT_FLASH = L"http://tizen.org/feature/camera.front.flash";
 static const wchar_t* _CAMERA_BACK = L"http://tizen.org/feature/camera.back";
 static const wchar_t* _CAMERA_BACK_FLASH = L"http://tizen.org/feature/camera.back.flash";
-
+static const wchar_t* _CAMERA_FRONT = L"http://tizen.org/feature/camera.front";
+static const wchar_t* _CAMERA_FRONT_FLASH = L"http://tizen.org/feature/camera.front.flash";
 //Database
 static const wchar_t* _DATABASE_ENCRYPTION = L"http://tizen.org/feature/database.encryption";
 static const char* _DATABASE_LIBRARY_PATH = "/usr/lib/libsqlite3.so.0";
 static const char* _DATABASE_ENCRYPTION_SYMBOL = "sqlite3_key";
-
-//DUID
-static const wchar_t* _DUID = L"http://tizen.org/system/duid";
-
 //FM Radio
 static const wchar_t* _FMRADIO = L"http://tizen.org/feature/fmradio";
-
-//Keyboard
+//Graphic
+static const wchar_t* _GRAPHIC_ACCELERATION = L"http://tizen.org/feature/graphics.acceleration";
+//Input
 static const wchar_t* _INPUT_KEYBOARD = L"http://tizen.org/feature/input.keyboard";
 static const wchar_t* _INPUT_KEYBOARD_LAYOUT = L"http://tizen.org/feature/input.keyboard.layout";
-static const wchar_t* _INPUT_OPTIONKEY = L"http://tizen.org/feature/input.option_key";
-
+static const wchar_t* _INPUT_KEYS_BACK = L"http://tizen.org/feature/input.keys.back";
+static const wchar_t* _INPUT_KEYS_MENU = L"http://tizen.org/feature/input.keys.menu";
 //Location
 static const wchar_t* _LOCATION = L"http://tizen.org/feature/location";
 static const wchar_t* _LOCATION_GPS = L"http://tizen.org/feature/location.gps";
 static const wchar_t* _LOCATION_WPS = L"http://tizen.org/feature/location.wps";
-
 //Microphone
 static const wchar_t* _MICROPHONE = L"http://tizen.org/feature/microphone";
-
-//Model name
-static const wchar_t* _MODELNAME = L"http://tizen.org/system/model_name";
-
 //Multi point
-static const wchar_t* _MULTIPOINTTOUCH_POINTCOUNT = L"http://tizen.org/feature/multi_point_touch.point_count";
 static const wchar_t* _MULTIPOINTTOUCH_PINCHZOOM = L"http://tizen.org/feature/multi_point_touch.pinch_zoom";
-
-//NFC
+static const wchar_t* _MULTIPOINTTOUCH_POINTCOUNT = L"http://tizen.org/feature/multi_point_touch.point_count";
+//Network bluetooth
+static const wchar_t* _NETWORK_BLUETOOTH = L"http://tizen.org/feature/network.bluetooth";
+//Network NFC
 static const wchar_t* _NETWORK_NFC = L"http://tizen.org/feature/network.nfc";
 static const wchar_t* _NETWORK_NFC_RESERVED_PUSH = L"http://tizen.org/feature/network.nfc.reserved_push";
-
+//Network push
+static const wchar_t* _NETWORK_PUSH = L"http://tizen.org/feature/network.push";
+static const wchar_t* _NETWORK_PUSH_BIN = L"/usr/bin/pushd";
+static const wchar_t* _NETWORK_SECURE_ELEMENT = L"http://tizen.org/feature/network.secure_element";
+static const wchar_t* _SECURE_ELEMENT_BIN = L"/usr/bin/smartcard-daemon";
+//Network telephony
+static const wchar_t* _NETWORK_TELEPHONY = L"http://tizen.org/feature/network.telephony";
+static const wchar_t* _NETWORK_TELEPHONY_MMS = L"http://tizen.org/feature/network.telephony.mms";
+static const wchar_t* _NETWORK_TELEPHONY_SMS = L"http://tizen.org/feature/network.telephony.sms";
+static const wchar_t* _NETWORK_TELEPHONY_SMS_CBS = L"http://tizen.org/feature/network.telephony.sms.cbs";
+static const wchar_t* _NETWORK_TELEPHONY_SERVICE_CDMA = L"http://tizen.org/feature/network.telephony.service.cdma";
+static const wchar_t* _NETWORK_TELEPHONY_SERVICE_EDGE = L"http://tizen.org/feature/network.telephony.service.edge";
+static const wchar_t* _NETWORK_TELEPHONY_SERVICE_GPRS = L"http://tizen.org/feature/network.telephony.service.gprs";
+static const wchar_t* _NETWORK_TELEPHONY_SERVICE_GSM = L"http://tizen.org/feature/network.telephony.service.gsm";
+static const wchar_t* _NETWORK_TELEPHONY_SERVICE_HSDPA = L"http://tizen.org/feature/network.telephony.service.hsdpa";
+static const wchar_t* _NETWORK_TELEPHONY_SERVICE_HSPA = L"http://tizen.org/feature/network.telephony.service.hspa";
+static const wchar_t* _NETWORK_TELEPHONY_SERVICE_HSUPA = L"http://tizen.org/feature/network.telephony.service.hsupa";
+static const wchar_t* _NETWORK_TELEPHONY_SERVICE_LTE = L"http://tizen.org/feature/network.telephony.service.lte";
+static const wchar_t* _NETWORK_TELEPHONY_SERVICE_UMTS = L"http://tizen.org/feature/network.telephony.service.umts";
+static const wchar_t* _NETWORK_TELEPHONY_SERVICE_BIN = L"/usr/bin/telephony-daemon";
+static const wchar_t* _NETWORK_TELEPHONY_MODEM_BIN = L"/boot/modem.bin";
+//Network WIFI
+static const wchar_t* _NETWORK_WIFI = L"http://tizen.org/feature/network.wifi";
+static const wchar_t* _NETWORK_WIFI_DIRECT = L"http://tizen.org/feature/network.wifi.direct";
 //Opengles
-static const wchar_t* _OPENGLES_TEXTUREFORMAT_UTC = L"http://tizen.org/feature/opengles.texture_format.utc";
-static const wchar_t* _OPENGLES_TEXTUREFORMAT_PTC = L"http://tizen.org/feature/opengles.texture_format.ptc";
-static const wchar_t* _OPENGLES_TEXTUREFORMAT_ETC = L"http://tizen.org/feature/opengles.texture_format.etc";
+static const wchar_t* _OPENGLES = L"http://tizen.org/feature/opengles";
 static const wchar_t* _OPENGLES_TEXTUREFORMAT_3DC = L"http://tizen.org/feature/opengles.texture_format.3dc";
 static const wchar_t* _OPENGLES_TEXTUREFORMAT_ATC = L"http://tizen.org/feature/opengles.texture_format.atc";
+static const wchar_t* _OPENGLES_TEXTUREFORMAT_ETC = L"http://tizen.org/feature/opengles.texture_format.etc";
+static const wchar_t* _OPENGLES_TEXTUREFORMAT_PTC = L"http://tizen.org/feature/opengles.texture_format.ptc";
 static const wchar_t* _OPENGLES_TEXTUREFORMAT_PVRTC = L"http://tizen.org/feature/opengles.texture_format.pvrtc";
-
-static const wchar_t* _OPENGLES = L"http://tizen.org/feature/opengles";
+static const wchar_t* _OPENGLES_TEXTUREFORMAT_UTC = L"http://tizen.org/feature/opengles.texture_format.utc";
 static const wchar_t* _OPENGLES_VERSION_1_1 = L"http://tizen.org/feature/opengles.version.1_1";
 static const wchar_t* _OPENGLES_VERSION_2_0 = L"http://tizen.org/feature/opengles.version.2_0";
-
-//Platform name
-static const wchar_t* _PLATFORM_NAME = L"http://tizen.org/system/platform.name";
-
-//CPU
+//Platform core CPU
 static const wchar_t* _PLATFORM_CORE_CPU_ARCH_ARMV6 = L"http://tizen.org/feature/platform.core.cpu.arch.armv6";
 static const wchar_t* _PLATFORM_CORE_CPU_ARCH_ARMV7 = L"http://tizen.org/feature/platform.core.cpu.arch.armv7";
 static const wchar_t* _PLATFORM_CORE_CPU_ARCH_X86 = L"http://tizen.org/feature/platform.core.cpu.arch.x86";
-
-//FPU
-static const wchar_t* _PLATFORM_CORE_FPU_ARCH_VFPV2 = L"http://tizen.org/feature/platform.core.fpu.arch.vfpv2";
-static const wchar_t* _PLATFORM_CORE_FPU_ARCH_VFPV3 = L"http://tizen.org/feature/platform.core.fpu.arch.vfpv3";
+//Platform core FPU
 static const wchar_t* _PLATFORM_CORE_FPU_ARCH_SSE2 = L"http://tizen.org/feature/platform.core.fpu.arch.sse2";
 static const wchar_t* _PLATFORM_CORE_FPU_ARCH_SSE3 = L"http://tizen.org/feature/platform.core.fpu.arch.sse3";
 static const wchar_t* _PLATFORM_CORE_FPU_ARCH_SSSE3 = L"http://tizen.org/feature/platform.core.fpu.arch.ssse3";
-
+static const wchar_t* _PLATFORM_CORE_FPU_ARCH_VFPV2 = L"http://tizen.org/feature/platform.core.fpu.arch.vfpv2";
+static const wchar_t* _PLATFORM_CORE_FPU_ARCH_VFPV3 = L"http://tizen.org/feature/platform.core.fpu.arch.vfpv3";
+//Platform Version
+static const wchar_t* _PLATFORM_NATIVE_API_VERSION = L"http://tizen.org/feature/platform.native.api.version";
+static const wchar_t* _PLATFORM_NATIVE_OSP_COMPATIBLE = L"http://tizen.org/feature/platform.native.osp_compatible";
+static const wchar_t* _PLATFORM_VERSION = L"http://tizen.org/feature/platform.version";
+static const wchar_t* _PLATFORM_WEB_API_VERSION = L"http://tizen.org/feature/platform.web.api.version";
 //Screen
+static const wchar_t* _SCREEN_AUTO_ROTATION = L"http://tizen.org/feature/screen.auto_rotation";
 static const wchar_t* _SCREEN_BPP = L"http://tizen.org/feature/screen.bpp";
+static const wchar_t* _SCREEN_COORDINATE_SYSTEM_SIZE_LARGE = L"http://tizen.org/feature/screen.coordinate_system.size.large";
+static const wchar_t* _SCREEN_COORDINATE_SYSTEM_SIZE_NORMAL = L"http://tizen.org/feature/screen.coordinate_system.size.normal";
 static const wchar_t* _SCREEN_DESKTOPMODE = L"http://tizen.org/feature/screen.desktop_mode";
 static const wchar_t* _SCREEN_DPI = L"http://tizen.org/feature/screen.dpi";
 static const wchar_t* _SCREEN_HEIGHT = L"http://tizen.org/feature/screen.height";
+static const wchar_t* _SCREEN_SIZE_LARGE = L"http://tizen.org/feature/screen.size.large";
+static const wchar_t* _SCREEN_SIZE_NORMAL = L"http://tizen.org/feature/screen.size.normal";
+static const wchar_t* _SCREEN_SIZE_NORMAL_480_800 = L"http://tizen.org/feature/screen.size.normal.480.800";
+static const wchar_t* _SCREEN_SIZE_NORMAL_720_1280 = L"http://tizen.org/feature/screen.size.normal.720.1280";
 static const wchar_t* _SCREEN_WIDTH = L"http://tizen.org/feature/screen.width";
-
-//Graphic
-static const wchar_t* _GRAPHIC_ACCELERATION = L"http://tizen.org/feature/graphics.acceleration";
-
-//HDMI RCA
+//Screen HDMI RCA
 static const wchar_t* _SCREEN_OUTPUT_HDMI = L"http://tizen.org/feature/screen.output.hdmi";
 static const wchar_t* _SCREEN_OUTPUT_RCA = L"http://tizen.org/feature/screen.output.rca";
-
-//Sensors
+//Shell
+static const wchar_t* _SHELL_APPWIDGET = L"http://tizen.org/feature/shell.appwidget";
+//Sensor
 static const wchar_t* _SENSOR_ACCELEROMETER = L"http://tizen.org/feature/sensor.accelerometer";
 static const wchar_t* _SENSOR_ACCELEROMETER_WAKEUP = L"http://tizen.org/feature/sensor.accelerometer.wakeup";
 static const wchar_t* _SENSOR_BAROMETER = L"http://tizen.org/feature/sensor.barometer";
 static const wchar_t* _SENSOR_BAROMETER_WAKEUP = L"http://tizen.org/feature/sensor.barometer.wakeup";
-static const wchar_t* _SENSOR_MAGNETOMETER = L"http://tizen.org/feature/sensor.magnetometer";
-static const wchar_t* _SENSOR_MAGNETOMETER_WAKEUP = L"http://tizen.org/feature/sensor.magnetometer.wakeup";
 static const wchar_t* _SENSOR_GYROSCOPE = L"http://tizen.org/feature/sensor.gyroscope";
 static const wchar_t* _SENSOR_GYROSCOPE_WAKEUP = L"http://tizen.org/feature/sensor.gyroscope.wakeup";
+static const wchar_t* _SENSOR_MAGNETOMETER = L"http://tizen.org/feature/sensor.magnetometer";
+static const wchar_t* _SENSOR_MAGNETOMETER_WAKEUP = L"http://tizen.org/feature/sensor.magnetometer.wakeup";
 static const wchar_t* _SENSOR_PHOTOMETER = L"http://tizen.org/feature/sensor.photometer";
 static const wchar_t* _SENSOR_PHOTOMETER_WAKEUP = L"http://tizen.org/feature/sensor.photometer.wakeup";
-static const wchar_t* _SENSOR_TILTMETER = L"http://tizen.org/feature/sensor.tiltmeter";
-static const wchar_t* _SENSOR_TILTMETER_WAKEUP = L"http://tizen.org/feature/sensor.tiltmeter.wakeup";
 static const wchar_t* _SENSOR_PROXIMITY = L"http://tizen.org/feature/sensor.proximity";
 static const wchar_t* _SENSOR_PROXIMITY_WAKEUP = L"http://tizen.org/feature/sensor.proximity.wakeup";
-
-//VOIP
+static const wchar_t* _SENSOR_TILTMETER = L"http://tizen.org/feature/sensor.tiltmeter";
+static const wchar_t* _SENSOR_TILTMETER_WAKEUP = L"http://tizen.org/feature/sensor.tiltmeter.wakeup";
+//SIP VOIP
 static const wchar_t* _SIP_VOIP = L"http://tizen.org/feature/sip.voip";
-
-//Sound
-static const wchar_t* _SOUND_MEDIA_VOLUME_MAX = L"http://tizen.org/system/sound.media.volume.resolution.max";
-static const wchar_t* _SOUND_NOTIFICATION_VOLUME_MAX = L"http://tizen.org/system/sound.notification.volume.resolution.max";
-static const wchar_t* _SOUND_RINGTONE_VOLUME_MAX = L"http://tizen.org/system/sound.ringtone.volume.resolution.max";
-static const wchar_t* _SOUND_SYSTEM_VOLUME_MAX = L"http://tizen.org/system/sound.system.volume.resolution.max";
-
 //Speech Recognition
 static const wchar_t* _SPEECH_RECOGNITION = L"http://tizen.org/feature/speech.recognition";
 static const wchar_t* _SPEECH_SYNTHESIS = L"http://tizen.org/feature/speech.synthesis";
 static const wchar_t* _TTS_LIB = L"/usr/lib/libtts.so";
-
-//Network
-static const wchar_t* _NETWORK_PUSH = L"http://tizen.org/feature/network.push";
-static const wchar_t* _NETWORK_PUSH_BIN = L"/usr/bin/pushd";
-
-//Telephony
-static const wchar_t* _TELEPHONY = L"http://tizen.org/feature/network.telephony";
-static const wchar_t* _TELEPHONY_MMS = L"http://tizen.org/feature/network.telephony.mms";
-static const wchar_t* _TELEPHONY_SMS = L"http://tizen.org/feature/network.telephony.sms";
-static const wchar_t* _TELEPHONY_SMS_CBS = L"http://tizen.org/feature/network.telephony.sms.cbs";
-static const wchar_t* _TELEPHONY_SERVICE_GSM = L"http://tizen.org/feature/network.telephony.service.gsm";
-static const wchar_t* _TELEPHONY_SERVICE_GPRS = L"http://tizen.org/feature/network.telephony.service.gprs";
-static const wchar_t* _TELEPHONY_SERVICE_EDGE = L"http://tizen.org/feature/network.telephony.service.edge";
-static const wchar_t* _TELEPHONY_SERVICE_UMTS = L"http://tizen.org/feature/network.telephony.service.umts";
-static const wchar_t* _TELEPHONY_SERVICE_HSDPA = L"http://tizen.org/feature/network.telephony.service.hsdpa";
-static const wchar_t* _TELEPHONY_SERVICE_HSUPA = L"http://tizen.org/feature/network.telephony.service.hsupa";
-static const wchar_t* _TELEPHONY_SERVICE_HSPA = L"http://tizen.org/feature/network.telephony.service.hspa";
-static const wchar_t* _TELEPHONY_SERVICE_LTE = L"http://tizen.org/feature/network.telephony.service.lte";
-static const wchar_t* _TELEPHONY_SERVICE_CDMA = L"http://tizen.org/feature/network.telephony.service.cdma";
-static const wchar_t* _TELEPHONY_SERVICE_BIN = L"/usr/bin/telephony-daemon";
-static const wchar_t* _TELEPHONY_MODEM_BIN = L"/boot/modem.bin";
-
 //USB
-static const wchar_t* _USB_HOST = L"http://tizen.org/feature/usb.host";
-static const wchar_t* _USB_CLIENT = L"http://tizen.org/feature/usb.client";
 static const wchar_t* _USB_ACCESSORY = L"http://tizen.org/feature/usb.accessory";
+static const wchar_t* _USB_CLIENT = L"http://tizen.org/feature/usb.client";
+static const wchar_t* _USB_HOST = L"http://tizen.org/feature/usb.host";
 static const wchar_t* _ACCESSORY_LIB = L"/opt/apps/aospd00043/lib/libosp-cond-accessory.so";
-
-//WIFI
-static const wchar_t* _WIFI = L"http://tizen.org/feature/network.wifi";
-static const wchar_t* _WIFI_DIRECT = L"http://tizen.org/feature/network.wifi.direct";
-
-//Version
-static const wchar_t* _PLATFORM_VERSION = L"http://tizen.org/feature/platform.version";
-static const wchar_t* _PLATFORM_NATIVE_API_VERSION = L"http://tizen.org/feature/platform.native.api.version";
-static const wchar_t* _PLATFORM_NATIVE_OSP_COMPATIBLE = L"http://tizen.org/feature/platform.native.osp_compatible";
-static const wchar_t* _PLATFORM_WEB_API_VERSION = L"http://tizen.org/feature/platform.web.api.version";
-static const wchar_t* _BUID_STRING = L"http://tizen.org/system/build.string";
-
-//Coordinate system
-static const wchar_t* _SCREEN_SIZE_NORMAL = L"http://tizen.org/feature/screen.size.normal";
-static const wchar_t* _SCREEN_SIZE_NORMAL_480_800 = L"http://tizen.org/feature/screen.size.normal.480.800";
-static const wchar_t* _SCREEN_SIZE_NORMAL_720_1280 = L"http://tizen.org/feature/screen.size.normal.720.1280";
-
-static const wchar_t* _SCREEN_AUTO_ROTATION = L"http://tizen.org/feature/screen.auto_rotation";
-
-static const wchar_t* _SCREEN_SIZE_LARGE = L"http://tizen.org/feature/screen.size.large";
-static const wchar_t* _SCREEN_COORDINATE_SYSTEM_SIZE_NORMAL = L"http://tizen.org/feature/screen.coordinate_system.size.normal";
-static const wchar_t* _SCREEN_COORDINATE_SYSTEM_SIZE_LARGE = L"http://tizen.org/feature/screen.coordinate_system.size.large";
-static const wchar_t* _SCREEN_COORDINATE_SYSTEM_PHYSICAL_NORMAL_480X800 = L"http://tizen.org/feature/screen.coordinate_system.physical.normal_480x800";
-static const wchar_t* _SCREEN_COORDINATE_SYSTEM_PHYSICAL_NORMAL_720X1280 = L"http://tizen.org/feature/screen.coordinate_system.physical.normal_720x1280";
-static const wchar_t* _SCREEN_COORDINATE_SYSTEM_PHYSICAL_LARGE_480X800 = L"http://tizen.org/feature/screen.coordinate_system.physical.large_480x800";
-static const wchar_t* _SCREEN_COORDINATE_SYSTEM_PHYSICAL_LARGE_720X1280 = L"http://tizen.org/feature/screen.coordinate_system.physical.large_720x1280";
-static const wchar_t* _SCREEN_COORDINATE_SYSTEM_LOGICAL_NORMAL = L"http://tizen.org/feature/screen.coordinate_system.logical.normal";
-static const wchar_t* _SCREEN_COORDINATE_SYSTEM_LOGICAL_LARGE = L"http://tizen.org/feature/screen.coordinate_system.logical.large";
-
-//Shell
-static const wchar_t* _SHELL_APPWIDGET = L"http://tizen.org/feature/shell.appwidget";
-
 //Vision
+static const wchar_t* _VISION_FACE_RECOGNITION = L"http://tizen.org/feature/vision.face_recognition";
 static const wchar_t* _VISION_IMAGE_RECOGNITION = L"http://tizen.org/feature/vision.image_recognition";
 static const wchar_t* _VISION_QRCODE_GENERATION = L"http://tizen.org/feature/vision.qrcode_generation";
 static const wchar_t* _VISION_QRCODE_RECOGNITION = L"http://tizen.org/feature/vision.qrcode_recognition";
-static const wchar_t* _VISION_FACE_RECOGNITION = L"http://tizen.org/feature/vision.face_recognition";
 static const wchar_t* _AR_ENGINE_LIB = L"/usr/lib/osp/libarengine.so";
 
-static const wchar_t* _SECURE_ELEMENT = L"http://tizen.org/feature/network.secure_element";
-static const wchar_t* _SECURE_ELEMENT_BIN = L"/usr/bin/smartcard-daemon";
+static const wchar_t* _BUILD_STRING = L"http://tizen.org/system/build.string";
+//DUID
+static const wchar_t* _DUID = L"http://tizen.org/system/duid";
+//Model name
+static const wchar_t* _MODELNAME = L"http://tizen.org/system/model_name";
+//Platform name
+static const wchar_t* _PLATFORM_NAME = L"http://tizen.org/system/platform.name";
+//Sound
+static const wchar_t* _SOUND_MEDIA_VOLUME_MAX = L"http://tizen.org/system/sound.media.volume.resolution.max";
+static const wchar_t* _SOUND_NOTIFICATION_VOLUME_MAX = L"http://tizen.org/system/sound.notification.volume.resolution.max";
+static const wchar_t* _SOUND_RINGTONE_VOLUME_MAX = L"http://tizen.org/system/sound.ringtone.volume.resolution.max";
+static const wchar_t* _SOUND_SYSTEM_VOLUME_MAX = L"http://tizen.org/system/sound.system.volume.resolution.max";
+
 
 //Communication
 static const int _SYSTEM_GET_PARAM_TYPE = 1;
@@ -304,14 +263,6 @@ _SystemInfo::CachingSystemInformation(void)
        reg.AddValue(_SYSTEM_CACHING_SECTION, _SCREEN_WIDTH, nValue);
        reg.Flush();
 
-       this->GetValue(_BLUETOOTH, bValue);
-       if(bValue == true)
-               systemValue = _SYSTEM_CACHING_TRUE;
-       else
-               systemValue = _SYSTEM_CACHING_FALSE;
-       reg.AddValue(_SYSTEM_CACHING_SECTION, _BLUETOOTH, systemValue);
-       reg.Flush();
-
        this->GetValue(_CAMERA, bValue);
        if(bValue == true)
                systemValue = _SYSTEM_CACHING_TRUE;
@@ -368,6 +319,14 @@ _SystemInfo::CachingSystemInformation(void)
        reg.AddValue(_SYSTEM_CACHING_SECTION, _FMRADIO, systemValue);
        reg.Flush();
 
+       this->GetValue(_GRAPHIC_ACCELERATION, bValue);
+       if(bValue == true)
+               systemValue = _SYSTEM_CACHING_TRUE;
+       else
+               systemValue = _SYSTEM_CACHING_FALSE;
+       reg.AddValue(_SYSTEM_CACHING_SECTION, _GRAPHIC_ACCELERATION, systemValue);
+       reg.Flush();
+
        this->GetValue(_INPUT_KEYBOARD, bValue);
        if(bValue == true)
                systemValue = _SYSTEM_CACHING_TRUE;
@@ -380,12 +339,20 @@ _SystemInfo::CachingSystemInformation(void)
        reg.AddValue(_SYSTEM_CACHING_SECTION, _INPUT_KEYBOARD_LAYOUT, sValue);
        reg.Flush();
 
-       this->GetValue(_INPUT_OPTIONKEY, bValue);
+       this->GetValue(_INPUT_KEYS_BACK, bValue);
+       if(bValue == true)
+               systemValue = _SYSTEM_CACHING_TRUE;
+       else
+               systemValue = _SYSTEM_CACHING_FALSE;
+       reg.AddValue(_SYSTEM_CACHING_SECTION, _INPUT_KEYS_BACK, systemValue);
+       reg.Flush();
+
+       this->GetValue(_INPUT_KEYS_MENU, bValue);
        if(bValue == true)
                systemValue = _SYSTEM_CACHING_TRUE;
        else
                systemValue = _SYSTEM_CACHING_FALSE;
-       reg.AddValue(_SYSTEM_CACHING_SECTION, _INPUT_OPTIONKEY, systemValue);
+       reg.AddValue(_SYSTEM_CACHING_SECTION, _INPUT_KEYS_MENU, systemValue);
        reg.Flush();
 
        this->GetValue(_LOCATION, bValue);
@@ -420,17 +387,24 @@ _SystemInfo::CachingSystemInformation(void)
        reg.AddValue(_SYSTEM_CACHING_SECTION, _MICROPHONE, systemValue);
        reg.Flush();
 
+       this->GetValue(_MULTIPOINTTOUCH_PINCHZOOM, bValue);
+       if(bValue == true)
+               systemValue = _SYSTEM_CACHING_TRUE;
+       else
+               systemValue = _SYSTEM_CACHING_FALSE;
+       reg.AddValue(_SYSTEM_CACHING_SECTION, _MULTIPOINTTOUCH_PINCHZOOM, systemValue);
+       reg.Flush();
+
        this->GetValue(_MULTIPOINTTOUCH_POINTCOUNT, nValue);
        reg.AddValue(_SYSTEM_CACHING_SECTION, _MULTIPOINTTOUCH_POINTCOUNT, nValue);
        reg.Flush();
-       reg.Flush();
 
-       this->GetValue(_MULTIPOINTTOUCH_PINCHZOOM, bValue);
+       this->GetValue(_NETWORK_BLUETOOTH, bValue);
        if(bValue == true)
                systemValue = _SYSTEM_CACHING_TRUE;
        else
                systemValue = _SYSTEM_CACHING_FALSE;
-       reg.AddValue(_SYSTEM_CACHING_SECTION, _MULTIPOINTTOUCH_PINCHZOOM, systemValue);
+       reg.AddValue(_SYSTEM_CACHING_SECTION, _NETWORK_BLUETOOTH, systemValue);
        reg.Flush();
 
        this->GetValue(_NETWORK_NFC, bValue);
@@ -449,594 +423,585 @@ _SystemInfo::CachingSystemInformation(void)
        reg.AddValue(_SYSTEM_CACHING_SECTION, _NETWORK_NFC_RESERVED_PUSH, systemValue);
        reg.Flush();
 
-       this->GetValue(_OPENGLES_TEXTUREFORMAT_3DC, bValue);
+       this->GetValue(_NETWORK_PUSH, bValue);
        if(bValue == true)
                systemValue = _SYSTEM_CACHING_TRUE;
        else
                systemValue = _SYSTEM_CACHING_FALSE;
-       reg.AddValue(_SYSTEM_CACHING_SECTION, _OPENGLES_TEXTUREFORMAT_3DC, systemValue);
+       reg.AddValue(_SYSTEM_CACHING_SECTION, _NETWORK_PUSH, systemValue);
        reg.Flush();
 
-       this->GetValue(_OPENGLES_TEXTUREFORMAT_ATC, bValue);
+       this->GetValue(_NETWORK_SECURE_ELEMENT, bValue);
        if(bValue == true)
                systemValue = _SYSTEM_CACHING_TRUE;
        else
                systemValue = _SYSTEM_CACHING_FALSE;
-       reg.AddValue(_SYSTEM_CACHING_SECTION, _OPENGLES_TEXTUREFORMAT_ATC, systemValue);
+       reg.AddValue(_SYSTEM_CACHING_SECTION, _NETWORK_SECURE_ELEMENT, systemValue);
        reg.Flush();
 
-       this->GetValue(_OPENGLES_TEXTUREFORMAT_ETC, bValue);
+       this->GetValue(_NETWORK_TELEPHONY, bValue);
        if(bValue == true)
                systemValue = _SYSTEM_CACHING_TRUE;
        else
                systemValue = _SYSTEM_CACHING_FALSE;
-       reg.AddValue(_SYSTEM_CACHING_SECTION, _OPENGLES_TEXTUREFORMAT_ETC, systemValue);
+       reg.AddValue(_SYSTEM_CACHING_SECTION, _NETWORK_TELEPHONY, systemValue);
        reg.Flush();
 
-       this->GetValue(_OPENGLES_TEXTUREFORMAT_PTC, bValue);
+       this->GetValue(_NETWORK_TELEPHONY_MMS, bValue);
        if(bValue == true)
                systemValue = _SYSTEM_CACHING_TRUE;
        else
                systemValue = _SYSTEM_CACHING_FALSE;
-       reg.AddValue(_SYSTEM_CACHING_SECTION, _OPENGLES_TEXTUREFORMAT_PTC, systemValue);
+       reg.AddValue(_SYSTEM_CACHING_SECTION, _NETWORK_TELEPHONY_MMS, systemValue);
        reg.Flush();
 
-       this->GetValue(_OPENGLES_TEXTUREFORMAT_PVRTC, bValue);
+       this->GetValue(_NETWORK_TELEPHONY_SMS, bValue);
        if(bValue == true)
                systemValue = _SYSTEM_CACHING_TRUE;
        else
                systemValue = _SYSTEM_CACHING_FALSE;
-       reg.AddValue(_SYSTEM_CACHING_SECTION, _OPENGLES_TEXTUREFORMAT_PVRTC, systemValue);
+       reg.AddValue(_SYSTEM_CACHING_SECTION, _NETWORK_TELEPHONY_SMS, systemValue);
        reg.Flush();
 
-       this->GetValue(_OPENGLES_TEXTUREFORMAT_UTC, bValue);
+       this->GetValue(_NETWORK_TELEPHONY_SMS_CBS, bValue);
        if(bValue == true)
                systemValue = _SYSTEM_CACHING_TRUE;
        else
                systemValue = _SYSTEM_CACHING_FALSE;
-       reg.AddValue(_SYSTEM_CACHING_SECTION, _OPENGLES_TEXTUREFORMAT_UTC, systemValue);
+       reg.AddValue(_SYSTEM_CACHING_SECTION, _NETWORK_TELEPHONY_SMS_CBS, systemValue);
        reg.Flush();
 
-       this->GetValue(_OPENGLES, bValue);
+       this->GetValue(_NETWORK_TELEPHONY_SERVICE_CDMA, bValue);
        if(bValue == true)
                systemValue = _SYSTEM_CACHING_TRUE;
        else
                systemValue = _SYSTEM_CACHING_FALSE;
-       reg.AddValue(_SYSTEM_CACHING_SECTION, _OPENGLES, systemValue);
+       reg.AddValue(_SYSTEM_CACHING_SECTION, _NETWORK_TELEPHONY_SERVICE_CDMA, systemValue);
        reg.Flush();
 
-       this->GetValue(_OPENGLES_VERSION_1_1, bValue);
+       this->GetValue(_NETWORK_TELEPHONY_SERVICE_EDGE, bValue);
        if(bValue == true)
                systemValue = _SYSTEM_CACHING_TRUE;
        else
                systemValue = _SYSTEM_CACHING_FALSE;
-       reg.AddValue(_SYSTEM_CACHING_SECTION, _OPENGLES_VERSION_1_1, systemValue);
+       reg.AddValue(_SYSTEM_CACHING_SECTION, _NETWORK_TELEPHONY_SERVICE_EDGE, systemValue);
        reg.Flush();
 
-       this->GetValue(_OPENGLES_VERSION_2_0, bValue);
+       this->GetValue(_NETWORK_TELEPHONY_SERVICE_GPRS, bValue);
        if(bValue == true)
                systemValue = _SYSTEM_CACHING_TRUE;
        else
                systemValue = _SYSTEM_CACHING_FALSE;
-       reg.AddValue(_SYSTEM_CACHING_SECTION, _OPENGLES_VERSION_2_0, systemValue);
+       reg.AddValue(_SYSTEM_CACHING_SECTION, _NETWORK_TELEPHONY_SERVICE_GPRS, systemValue);
        reg.Flush();
 
-       this->GetValue(_PLATFORM_CORE_CPU_ARCH_ARMV6, bValue);
+       this->GetValue(_NETWORK_TELEPHONY_SERVICE_GSM, bValue);
        if(bValue == true)
                systemValue = _SYSTEM_CACHING_TRUE;
        else
                systemValue = _SYSTEM_CACHING_FALSE;
-       reg.AddValue(_SYSTEM_CACHING_SECTION, _PLATFORM_CORE_CPU_ARCH_ARMV6, systemValue);
+       reg.AddValue(_SYSTEM_CACHING_SECTION, _NETWORK_TELEPHONY_SERVICE_GSM, systemValue);
        reg.Flush();
 
-       this->GetValue(_PLATFORM_CORE_CPU_ARCH_ARMV7, bValue);
+       this->GetValue(_NETWORK_TELEPHONY_SERVICE_HSDPA, bValue);
        if(bValue == true)
                systemValue = _SYSTEM_CACHING_TRUE;
        else
                systemValue = _SYSTEM_CACHING_FALSE;
-       reg.AddValue(_SYSTEM_CACHING_SECTION, _PLATFORM_CORE_CPU_ARCH_ARMV7, systemValue);
+       reg.AddValue(_SYSTEM_CACHING_SECTION, _NETWORK_TELEPHONY_SERVICE_HSDPA, systemValue);
        reg.Flush();
 
-       this->GetValue(_PLATFORM_CORE_CPU_ARCH_X86, bValue);
+       this->GetValue(_NETWORK_TELEPHONY_SERVICE_HSPA, bValue);
        if(bValue == true)
                systemValue = _SYSTEM_CACHING_TRUE;
        else
                systemValue = _SYSTEM_CACHING_FALSE;
-       reg.AddValue(_SYSTEM_CACHING_SECTION, _PLATFORM_CORE_CPU_ARCH_X86, systemValue);
+       reg.AddValue(_SYSTEM_CACHING_SECTION, _NETWORK_TELEPHONY_SERVICE_HSPA, systemValue);
        reg.Flush();
 
-       this->GetValue(_PLATFORM_CORE_FPU_ARCH_SSE2, bValue);
+       this->GetValue(_NETWORK_TELEPHONY_SERVICE_HSUPA, bValue);
        if(bValue == true)
                systemValue = _SYSTEM_CACHING_TRUE;
        else
                systemValue = _SYSTEM_CACHING_FALSE;
-       reg.AddValue(_SYSTEM_CACHING_SECTION, _PLATFORM_CORE_FPU_ARCH_SSE2, systemValue);
+       reg.AddValue(_SYSTEM_CACHING_SECTION, _NETWORK_TELEPHONY_SERVICE_HSUPA, systemValue);
        reg.Flush();
 
-       this->GetValue(_PLATFORM_CORE_FPU_ARCH_SSE3, bValue);
+       this->GetValue(_NETWORK_TELEPHONY_SERVICE_LTE, bValue);
        if(bValue == true)
                systemValue = _SYSTEM_CACHING_TRUE;
        else
                systemValue = _SYSTEM_CACHING_FALSE;
-       reg.AddValue(_SYSTEM_CACHING_SECTION, _PLATFORM_CORE_FPU_ARCH_SSE3, systemValue);
+       reg.AddValue(_SYSTEM_CACHING_SECTION, _NETWORK_TELEPHONY_SERVICE_LTE, systemValue);
        reg.Flush();
 
-       this->GetValue(_PLATFORM_CORE_FPU_ARCH_SSSE3, bValue);
+       this->GetValue(_NETWORK_TELEPHONY_SERVICE_UMTS, bValue);
        if(bValue == true)
                systemValue = _SYSTEM_CACHING_TRUE;
        else
                systemValue = _SYSTEM_CACHING_FALSE;
-       reg.AddValue(_SYSTEM_CACHING_SECTION, _PLATFORM_CORE_FPU_ARCH_SSSE3, systemValue);
+       reg.AddValue(_SYSTEM_CACHING_SECTION, _NETWORK_TELEPHONY_SERVICE_UMTS, systemValue);
        reg.Flush();
 
-       this->GetValue(_PLATFORM_CORE_FPU_ARCH_VFPV2, bValue);
+       this->GetValue(_NETWORK_WIFI, bValue);
        if(bValue == true)
                systemValue = _SYSTEM_CACHING_TRUE;
        else
                systemValue = _SYSTEM_CACHING_FALSE;
-       reg.AddValue(_SYSTEM_CACHING_SECTION, _PLATFORM_CORE_FPU_ARCH_VFPV2, systemValue);
+       reg.AddValue(_SYSTEM_CACHING_SECTION, _NETWORK_WIFI, systemValue);
        reg.Flush();
 
-       this->GetValue(_PLATFORM_CORE_FPU_ARCH_VFPV3, bValue);
+       this->GetValue(_NETWORK_WIFI_DIRECT, bValue);
        if(bValue == true)
                systemValue = _SYSTEM_CACHING_TRUE;
        else
                systemValue = _SYSTEM_CACHING_FALSE;
-       reg.AddValue(_SYSTEM_CACHING_SECTION, _PLATFORM_CORE_FPU_ARCH_VFPV3, systemValue);
+       reg.AddValue(_SYSTEM_CACHING_SECTION, _NETWORK_WIFI_DIRECT, systemValue);
        reg.Flush();
 
-       this->GetValue(_PLATFORM_NAME, sValue);
-       reg.AddValue(_SYSTEM_CACHING_SECTION, _PLATFORM_NAME, sValue);
-       reg.Flush();
-
-       this->GetNativeApiVersion(sValue);
-       reg.AddValue(_SYSTEM_CACHING_SECTION, _PLATFORM_NATIVE_API_VERSION, sValue);
-       reg.Flush();
-
-       this->GetValue(_PLATFORM_NATIVE_OSP_COMPATIBLE, bValue);
+       this->GetValue(_OPENGLES, bValue);
        if(bValue == true)
                systemValue = _SYSTEM_CACHING_TRUE;
        else
                systemValue = _SYSTEM_CACHING_FALSE;
-       reg.AddValue(_SYSTEM_CACHING_SECTION, _PLATFORM_NATIVE_OSP_COMPATIBLE, systemValue);
-       reg.Flush();
-
-       this->GetPlatformVersion(sValue);
-       reg.AddValue(_SYSTEM_CACHING_SECTION, _PLATFORM_VERSION, sValue);
-       reg.Flush();
-
-       this->GetWebApiVersion(sValue);
-       reg.AddValue(_SYSTEM_CACHING_SECTION, _PLATFORM_WEB_API_VERSION, sValue);
-       reg.Flush();
-
-       this->GetValue(_SCREEN_BPP, nValue);
-       reg.AddValue(_SYSTEM_CACHING_SECTION, _SCREEN_BPP, nValue);
+       reg.AddValue(_SYSTEM_CACHING_SECTION, _OPENGLES, systemValue);
        reg.Flush();
 
-       this->GetValue(_SCREEN_DESKTOPMODE, bValue);
+       this->GetValue(_OPENGLES_TEXTUREFORMAT_3DC, bValue);
        if(bValue == true)
                systemValue = _SYSTEM_CACHING_TRUE;
        else
                systemValue = _SYSTEM_CACHING_FALSE;
-       reg.AddValue(_SYSTEM_CACHING_SECTION, _SCREEN_DESKTOPMODE, systemValue);
+       reg.AddValue(_SYSTEM_CACHING_SECTION, _OPENGLES_TEXTUREFORMAT_3DC, systemValue);
        reg.Flush();
 
-       this->GetValue(_SCREEN_OUTPUT_HDMI, bValue);
+       this->GetValue(_OPENGLES_TEXTUREFORMAT_ATC, bValue);
        if(bValue == true)
                systemValue = _SYSTEM_CACHING_TRUE;
        else
                systemValue = _SYSTEM_CACHING_FALSE;
-       reg.AddValue(_SYSTEM_CACHING_SECTION, _SCREEN_OUTPUT_HDMI, systemValue);
+       reg.AddValue(_SYSTEM_CACHING_SECTION, _OPENGLES_TEXTUREFORMAT_ATC, systemValue);
        reg.Flush();
 
-       this->GetValue(_SCREEN_OUTPUT_RCA, bValue);
+       this->GetValue(_OPENGLES_TEXTUREFORMAT_ETC, bValue);
        if(bValue == true)
                systemValue = _SYSTEM_CACHING_TRUE;
        else
                systemValue = _SYSTEM_CACHING_FALSE;
-       reg.AddValue(_SYSTEM_CACHING_SECTION, _SCREEN_OUTPUT_RCA, systemValue);
+       reg.AddValue(_SYSTEM_CACHING_SECTION, _OPENGLES_TEXTUREFORMAT_ETC, systemValue);
        reg.Flush();
 
-       this->GetValue(_SENSOR_ACCELEROMETER, bValue);
+       this->GetValue(_OPENGLES_TEXTUREFORMAT_PTC, bValue);
        if(bValue == true)
                systemValue = _SYSTEM_CACHING_TRUE;
        else
                systemValue = _SYSTEM_CACHING_FALSE;
-       reg.AddValue(_SYSTEM_CACHING_SECTION, _SENSOR_ACCELEROMETER, systemValue);
+       reg.AddValue(_SYSTEM_CACHING_SECTION, _OPENGLES_TEXTUREFORMAT_PTC, systemValue);
        reg.Flush();
 
-       this->GetValue(_SENSOR_ACCELEROMETER_WAKEUP, bValue);
+       this->GetValue(_OPENGLES_TEXTUREFORMAT_PVRTC, bValue);
        if(bValue == true)
                systemValue = _SYSTEM_CACHING_TRUE;
        else
                systemValue = _SYSTEM_CACHING_FALSE;
-       reg.AddValue(_SYSTEM_CACHING_SECTION, _SENSOR_ACCELEROMETER_WAKEUP, systemValue);
+       reg.AddValue(_SYSTEM_CACHING_SECTION, _OPENGLES_TEXTUREFORMAT_PVRTC, systemValue);
        reg.Flush();
 
-       this->GetValue(_SENSOR_BAROMETER, bValue);
+       this->GetValue(_OPENGLES_TEXTUREFORMAT_UTC, bValue);
        if(bValue == true)
                systemValue = _SYSTEM_CACHING_TRUE;
        else
                systemValue = _SYSTEM_CACHING_FALSE;
-       reg.AddValue(_SYSTEM_CACHING_SECTION, _SENSOR_BAROMETER, systemValue);
+       reg.AddValue(_SYSTEM_CACHING_SECTION, _OPENGLES_TEXTUREFORMAT_UTC, systemValue);
        reg.Flush();
 
-       this->GetValue(_SENSOR_BAROMETER_WAKEUP, bValue);
+       this->GetValue(_OPENGLES_VERSION_1_1, bValue);
        if(bValue == true)
                systemValue = _SYSTEM_CACHING_TRUE;
        else
                systemValue = _SYSTEM_CACHING_FALSE;
-       reg.AddValue(_SYSTEM_CACHING_SECTION, _SENSOR_BAROMETER_WAKEUP, systemValue);
+       reg.AddValue(_SYSTEM_CACHING_SECTION, _OPENGLES_VERSION_1_1, systemValue);
        reg.Flush();
 
-       this->GetValue(_SENSOR_GYROSCOPE, bValue);
+       this->GetValue(_OPENGLES_VERSION_2_0, bValue);
        if(bValue == true)
                systemValue = _SYSTEM_CACHING_TRUE;
        else
                systemValue = _SYSTEM_CACHING_FALSE;
-       reg.AddValue(_SYSTEM_CACHING_SECTION, _SENSOR_GYROSCOPE, systemValue);
+       reg.AddValue(_SYSTEM_CACHING_SECTION, _OPENGLES_VERSION_2_0, systemValue);
        reg.Flush();
 
-       this->GetValue(_SENSOR_GYROSCOPE_WAKEUP, bValue);
+       this->GetValue(_PLATFORM_CORE_CPU_ARCH_ARMV6, bValue);
        if(bValue == true)
                systemValue = _SYSTEM_CACHING_TRUE;
        else
                systemValue = _SYSTEM_CACHING_FALSE;
-       reg.AddValue(_SYSTEM_CACHING_SECTION, _SENSOR_GYROSCOPE_WAKEUP, systemValue);
+       reg.AddValue(_SYSTEM_CACHING_SECTION, _PLATFORM_CORE_CPU_ARCH_ARMV6, systemValue);
        reg.Flush();
 
-       this->GetValue(_SENSOR_MAGNETOMETER, bValue);
+       this->GetValue(_PLATFORM_CORE_CPU_ARCH_ARMV7, bValue);
        if(bValue == true)
                systemValue = _SYSTEM_CACHING_TRUE;
        else
                systemValue = _SYSTEM_CACHING_FALSE;
-       reg.AddValue(_SYSTEM_CACHING_SECTION, _SENSOR_MAGNETOMETER, systemValue);
+       reg.AddValue(_SYSTEM_CACHING_SECTION, _PLATFORM_CORE_CPU_ARCH_ARMV7, systemValue);
        reg.Flush();
 
-       this->GetValue(_SENSOR_MAGNETOMETER_WAKEUP, bValue);
+       this->GetValue(_PLATFORM_CORE_CPU_ARCH_X86, bValue);
        if(bValue == true)
                systemValue = _SYSTEM_CACHING_TRUE;
        else
                systemValue = _SYSTEM_CACHING_FALSE;
-       reg.AddValue(_SYSTEM_CACHING_SECTION, _SENSOR_MAGNETOMETER_WAKEUP, systemValue);
+       reg.AddValue(_SYSTEM_CACHING_SECTION, _PLATFORM_CORE_CPU_ARCH_X86, systemValue);
        reg.Flush();
 
-       this->GetValue(_SENSOR_PHOTOMETER, bValue);
+       this->GetValue(_PLATFORM_CORE_FPU_ARCH_SSE2, bValue);
        if(bValue == true)
                systemValue = _SYSTEM_CACHING_TRUE;
        else
                systemValue = _SYSTEM_CACHING_FALSE;
-       reg.AddValue(_SYSTEM_CACHING_SECTION, _SENSOR_PHOTOMETER, systemValue);
+       reg.AddValue(_SYSTEM_CACHING_SECTION, _PLATFORM_CORE_FPU_ARCH_SSE2, systemValue);
        reg.Flush();
 
-       this->GetValue(_SENSOR_PHOTOMETER_WAKEUP, bValue);
+       this->GetValue(_PLATFORM_CORE_FPU_ARCH_SSE3, bValue);
        if(bValue == true)
                systemValue = _SYSTEM_CACHING_TRUE;
        else
                systemValue = _SYSTEM_CACHING_FALSE;
-       reg.AddValue(_SYSTEM_CACHING_SECTION, _SENSOR_PHOTOMETER_WAKEUP, systemValue);
+       reg.AddValue(_SYSTEM_CACHING_SECTION, _PLATFORM_CORE_FPU_ARCH_SSE3, systemValue);
        reg.Flush();
 
-       this->GetValue(_SENSOR_PROXIMITY, bValue);
+       this->GetValue(_PLATFORM_CORE_FPU_ARCH_SSSE3, bValue);
        if(bValue == true)
                systemValue = _SYSTEM_CACHING_TRUE;
        else
                systemValue = _SYSTEM_CACHING_FALSE;
-       reg.AddValue(_SYSTEM_CACHING_SECTION, _SENSOR_PROXIMITY, systemValue);
+       reg.AddValue(_SYSTEM_CACHING_SECTION, _PLATFORM_CORE_FPU_ARCH_SSSE3, systemValue);
        reg.Flush();
 
-       this->GetValue(_SENSOR_PROXIMITY_WAKEUP, bValue);
+       this->GetValue(_PLATFORM_CORE_FPU_ARCH_VFPV2, bValue);
        if(bValue == true)
                systemValue = _SYSTEM_CACHING_TRUE;
        else
                systemValue = _SYSTEM_CACHING_FALSE;
-       reg.AddValue(_SYSTEM_CACHING_SECTION, _SENSOR_PROXIMITY_WAKEUP, systemValue);
+       reg.AddValue(_SYSTEM_CACHING_SECTION, _PLATFORM_CORE_FPU_ARCH_VFPV2, systemValue);
        reg.Flush();
 
-       this->GetValue(_SENSOR_TILTMETER, bValue);
+       this->GetValue(_PLATFORM_CORE_FPU_ARCH_VFPV3, bValue);
        if(bValue == true)
                systemValue = _SYSTEM_CACHING_TRUE;
        else
                systemValue = _SYSTEM_CACHING_FALSE;
-       reg.AddValue(_SYSTEM_CACHING_SECTION, _SENSOR_TILTMETER, systemValue);
+       reg.AddValue(_SYSTEM_CACHING_SECTION, _PLATFORM_CORE_FPU_ARCH_VFPV3, systemValue);
        reg.Flush();
 
-       this->GetValue(_SENSOR_TILTMETER_WAKEUP, bValue);
-       if(bValue == true)
-               systemValue = _SYSTEM_CACHING_TRUE;
-       else
-               systemValue = _SYSTEM_CACHING_FALSE;
-       reg.AddValue(_SYSTEM_CACHING_SECTION, _SENSOR_TILTMETER_WAKEUP, systemValue);
+       this->GetValue(_PLATFORM_NATIVE_API_VERSION, sValue);
+       reg.AddValue(_SYSTEM_CACHING_SECTION, _PLATFORM_NATIVE_API_VERSION, sValue);
        reg.Flush();
 
-       this->GetValue(_SIP_VOIP, bValue);
+       this->GetValue(_PLATFORM_NATIVE_OSP_COMPATIBLE, bValue);
        if(bValue == true)
                systemValue = _SYSTEM_CACHING_TRUE;
        else
                systemValue = _SYSTEM_CACHING_FALSE;
-       reg.AddValue(_SYSTEM_CACHING_SECTION, _SIP_VOIP, systemValue);
+       reg.AddValue(_SYSTEM_CACHING_SECTION, _PLATFORM_NATIVE_OSP_COMPATIBLE, systemValue);
        reg.Flush();
 
-       this->GetValue(_SOUND_MEDIA_VOLUME_MAX, nValue);
-       reg.AddValue(_SYSTEM_CACHING_SECTION, _SOUND_MEDIA_VOLUME_MAX, nValue);
+       this->GetValue(_PLATFORM_VERSION, sValue);
+       reg.AddValue(_SYSTEM_CACHING_SECTION, _PLATFORM_VERSION, sValue);
        reg.Flush();
 
-       this->GetValue(_SOUND_NOTIFICATION_VOLUME_MAX, nValue);
-       reg.AddValue(_SYSTEM_CACHING_SECTION, _SOUND_NOTIFICATION_VOLUME_MAX, nValue);
+       this->GetValue(_PLATFORM_WEB_API_VERSION, sValue);
+       reg.AddValue(_SYSTEM_CACHING_SECTION, _PLATFORM_WEB_API_VERSION, sValue);
        reg.Flush();
 
-       this->GetValue(_SOUND_RINGTONE_VOLUME_MAX, nValue);
-       reg.AddValue(_SYSTEM_CACHING_SECTION, _SOUND_RINGTONE_VOLUME_MAX, nValue);
+       this->GetValue(_SCREEN_AUTO_ROTATION, bValue);
+       if(bValue == true)
+               systemValue = _SYSTEM_CACHING_TRUE;
+       else
+               systemValue = _SYSTEM_CACHING_FALSE;
+       reg.AddValue(_SYSTEM_CACHING_SECTION, _SCREEN_AUTO_ROTATION, systemValue);
        reg.Flush();
 
-       this->GetValue(_SOUND_SYSTEM_VOLUME_MAX, nValue);
-       reg.AddValue(_SYSTEM_CACHING_SECTION, _SOUND_SYSTEM_VOLUME_MAX, nValue);
+       this->GetValue(_SCREEN_BPP, nValue);
+       reg.AddValue(_SYSTEM_CACHING_SECTION, _SCREEN_BPP, nValue);
        reg.Flush();
 
-       this->GetValue(_SPEECH_RECOGNITION, bValue);
+       this->GetValue(_SCREEN_COORDINATE_SYSTEM_SIZE_LARGE, bValue);
        if(bValue == true)
                systemValue = _SYSTEM_CACHING_TRUE;
        else
                systemValue = _SYSTEM_CACHING_FALSE;
-       reg.AddValue(_SYSTEM_CACHING_SECTION, _SPEECH_RECOGNITION, systemValue);
+       reg.AddValue(_SYSTEM_CACHING_SECTION, _SCREEN_COORDINATE_SYSTEM_SIZE_LARGE, systemValue);
        reg.Flush();
 
-       this->GetValue(_SPEECH_SYNTHESIS, bValue);
+       this->GetValue(_SCREEN_COORDINATE_SYSTEM_SIZE_NORMAL, bValue);
        if(bValue == true)
                systemValue = _SYSTEM_CACHING_TRUE;
        else
                systemValue = _SYSTEM_CACHING_FALSE;
-       reg.AddValue(_SYSTEM_CACHING_SECTION, _SPEECH_SYNTHESIS, systemValue);
+       reg.AddValue(_SYSTEM_CACHING_SECTION, _SCREEN_COORDINATE_SYSTEM_SIZE_NORMAL, systemValue);
        reg.Flush();
 
-       this->GetValue(_TELEPHONY, bValue);
+       this->GetValue(_SCREEN_DESKTOPMODE, bValue);
        if(bValue == true)
                systemValue = _SYSTEM_CACHING_TRUE;
        else
                systemValue = _SYSTEM_CACHING_FALSE;
-       reg.AddValue(_SYSTEM_CACHING_SECTION, _TELEPHONY, systemValue);
+       reg.AddValue(_SYSTEM_CACHING_SECTION, _SCREEN_DESKTOPMODE, systemValue);
        reg.Flush();
 
-       this->GetValue(_USB_ACCESSORY, bValue);
+       this->GetValue(_SCREEN_SIZE_LARGE, bValue);
        if(bValue == true)
                systemValue = _SYSTEM_CACHING_TRUE;
        else
                systemValue = _SYSTEM_CACHING_FALSE;
-       reg.AddValue(_SYSTEM_CACHING_SECTION, _USB_ACCESSORY, systemValue);
+       reg.AddValue(_SYSTEM_CACHING_SECTION, _SCREEN_SIZE_LARGE, systemValue);
        reg.Flush();
 
-       this->GetValue(_USB_HOST, bValue);
+       this->GetValue(_SCREEN_SIZE_NORMAL, bValue);
        if(bValue == true)
                systemValue = _SYSTEM_CACHING_TRUE;
        else
                systemValue = _SYSTEM_CACHING_FALSE;
-       reg.AddValue(_SYSTEM_CACHING_SECTION, _USB_HOST, systemValue);
+       reg.AddValue(_SYSTEM_CACHING_SECTION, _SCREEN_SIZE_NORMAL, systemValue);
        reg.Flush();
 
-       this->GetValue(_USB_CLIENT, bValue);
+       this->GetValue(_SCREEN_SIZE_NORMAL_480_800, bValue);
        if(bValue == true)
                systemValue = _SYSTEM_CACHING_TRUE;
        else
                systemValue = _SYSTEM_CACHING_FALSE;
-       reg.AddValue(_SYSTEM_CACHING_SECTION, _USB_CLIENT, systemValue);
+       reg.AddValue(_SYSTEM_CACHING_SECTION, _SCREEN_SIZE_NORMAL_480_800, systemValue);
        reg.Flush();
 
-       this->GetValue(_WIFI, bValue);
+       this->GetValue(_SCREEN_SIZE_NORMAL_720_1280, bValue);
        if(bValue == true)
                systemValue = _SYSTEM_CACHING_TRUE;
        else
                systemValue = _SYSTEM_CACHING_FALSE;
-       reg.AddValue(_SYSTEM_CACHING_SECTION, _WIFI, systemValue);
+       reg.AddValue(_SYSTEM_CACHING_SECTION, _SCREEN_SIZE_NORMAL_720_1280, systemValue);
        reg.Flush();
 
-       this->GetValue(_WIFI_DIRECT, bValue);
+       this->GetValue(_SCREEN_OUTPUT_HDMI, bValue);
        if(bValue == true)
                systemValue = _SYSTEM_CACHING_TRUE;
        else
                systemValue = _SYSTEM_CACHING_FALSE;
-       reg.AddValue(_SYSTEM_CACHING_SECTION, _WIFI_DIRECT, systemValue);
+       reg.AddValue(_SYSTEM_CACHING_SECTION, _SCREEN_OUTPUT_HDMI, systemValue);
        reg.Flush();
 
-       this->GetValue(_NETWORK_PUSH, bValue);
+       this->GetValue(_SCREEN_OUTPUT_RCA, bValue);
        if(bValue == true)
                systemValue = _SYSTEM_CACHING_TRUE;
        else
                systemValue = _SYSTEM_CACHING_FALSE;
-       reg.AddValue(_SYSTEM_CACHING_SECTION, _NETWORK_PUSH, systemValue);
+       reg.AddValue(_SYSTEM_CACHING_SECTION, _SCREEN_OUTPUT_RCA, systemValue);
        reg.Flush();
 
-       this->GetValue(_SCREEN_SIZE_NORMAL, bValue);
+       this->GetValue(_SHELL_APPWIDGET, bValue);
        if(bValue == true)
                systemValue = _SYSTEM_CACHING_TRUE;
        else
                systemValue = _SYSTEM_CACHING_FALSE;
-       reg.AddValue(_SYSTEM_CACHING_SECTION, _SCREEN_SIZE_NORMAL, systemValue);
+       reg.AddValue(_SYSTEM_CACHING_SECTION, _SHELL_APPWIDGET, systemValue);
        reg.Flush();
 
-       this->GetValue(_SCREEN_SIZE_LARGE, bValue);
+       this->GetValue(_SENSOR_ACCELEROMETER, bValue);
        if(bValue == true)
                systemValue = _SYSTEM_CACHING_TRUE;
        else
                systemValue = _SYSTEM_CACHING_FALSE;
-       reg.AddValue(_SYSTEM_CACHING_SECTION, _SCREEN_SIZE_LARGE, systemValue);
+       reg.AddValue(_SYSTEM_CACHING_SECTION, _SENSOR_ACCELEROMETER, systemValue);
        reg.Flush();
 
-       this->GetValue(_SCREEN_COORDINATE_SYSTEM_SIZE_NORMAL, bValue);
+       this->GetValue(_SENSOR_ACCELEROMETER_WAKEUP, bValue);
        if(bValue == true)
                systemValue = _SYSTEM_CACHING_TRUE;
        else
                systemValue = _SYSTEM_CACHING_FALSE;
-       reg.AddValue(_SYSTEM_CACHING_SECTION, _SCREEN_COORDINATE_SYSTEM_SIZE_NORMAL, systemValue);
+       reg.AddValue(_SYSTEM_CACHING_SECTION, _SENSOR_ACCELEROMETER_WAKEUP, systemValue);
        reg.Flush();
 
-       this->GetValue(_SCREEN_COORDINATE_SYSTEM_SIZE_LARGE, bValue);
+       this->GetValue(_SENSOR_BAROMETER, bValue);
        if(bValue == true)
                systemValue = _SYSTEM_CACHING_TRUE;
        else
                systemValue = _SYSTEM_CACHING_FALSE;
-       reg.AddValue(_SYSTEM_CACHING_SECTION, _SCREEN_COORDINATE_SYSTEM_SIZE_LARGE, systemValue);
+       reg.AddValue(_SYSTEM_CACHING_SECTION, _SENSOR_BAROMETER, systemValue);
        reg.Flush();
 
-       this->GetValue(_SCREEN_SIZE_NORMAL_720_1280, bValue);
+       this->GetValue(_SENSOR_BAROMETER_WAKEUP, bValue);
        if(bValue == true)
                systemValue = _SYSTEM_CACHING_TRUE;
        else
                systemValue = _SYSTEM_CACHING_FALSE;
-       reg.AddValue(_SYSTEM_CACHING_SECTION, _SCREEN_SIZE_NORMAL_720_1280, systemValue);
+       reg.AddValue(_SYSTEM_CACHING_SECTION, _SENSOR_BAROMETER_WAKEUP, systemValue);
        reg.Flush();
 
-       this->GetValue(_SCREEN_SIZE_NORMAL_480_800, bValue);
+       this->GetValue(_SENSOR_GYROSCOPE, bValue);
        if(bValue == true)
                systemValue = _SYSTEM_CACHING_TRUE;
        else
                systemValue = _SYSTEM_CACHING_FALSE;
-       reg.AddValue(_SYSTEM_CACHING_SECTION, _SCREEN_SIZE_NORMAL_480_800, systemValue);
+       reg.AddValue(_SYSTEM_CACHING_SECTION, _SENSOR_GYROSCOPE, systemValue);
        reg.Flush();
 
-       this->GetValue(_SCREEN_COORDINATE_SYSTEM_PHYSICAL_NORMAL_480X800, bValue);
+       this->GetValue(_SENSOR_GYROSCOPE_WAKEUP, bValue);
        if(bValue == true)
                systemValue = _SYSTEM_CACHING_TRUE;
        else
                systemValue = _SYSTEM_CACHING_FALSE;
-       reg.AddValue(_SYSTEM_CACHING_SECTION, _SCREEN_COORDINATE_SYSTEM_PHYSICAL_NORMAL_480X800, systemValue);
+       reg.AddValue(_SYSTEM_CACHING_SECTION, _SENSOR_GYROSCOPE_WAKEUP, systemValue);
        reg.Flush();
 
-       this->GetValue(_SCREEN_COORDINATE_SYSTEM_PHYSICAL_NORMAL_720X1280, bValue);
+       this->GetValue(_SENSOR_MAGNETOMETER, bValue);
        if(bValue == true)
                systemValue = _SYSTEM_CACHING_TRUE;
        else
                systemValue = _SYSTEM_CACHING_FALSE;
-       reg.AddValue(_SYSTEM_CACHING_SECTION, _SCREEN_COORDINATE_SYSTEM_PHYSICAL_NORMAL_720X1280, systemValue);
+       reg.AddValue(_SYSTEM_CACHING_SECTION, _SENSOR_MAGNETOMETER, systemValue);
        reg.Flush();
 
-       this->GetValue(_SCREEN_COORDINATE_SYSTEM_PHYSICAL_LARGE_480X800, bValue);
+       this->GetValue(_SENSOR_MAGNETOMETER_WAKEUP, bValue);
        if(bValue == true)
                systemValue = _SYSTEM_CACHING_TRUE;
        else
                systemValue = _SYSTEM_CACHING_FALSE;
-       reg.AddValue(_SYSTEM_CACHING_SECTION, _SCREEN_COORDINATE_SYSTEM_PHYSICAL_LARGE_480X800, systemValue);
+       reg.AddValue(_SYSTEM_CACHING_SECTION, _SENSOR_MAGNETOMETER_WAKEUP, systemValue);
        reg.Flush();
 
-       this->GetValue(_SCREEN_COORDINATE_SYSTEM_PHYSICAL_LARGE_720X1280, bValue);
+       this->GetValue(_SENSOR_PHOTOMETER, bValue);
        if(bValue == true)
                systemValue = _SYSTEM_CACHING_TRUE;
        else
                systemValue = _SYSTEM_CACHING_FALSE;
-       reg.AddValue(_SYSTEM_CACHING_SECTION, _SCREEN_COORDINATE_SYSTEM_PHYSICAL_LARGE_720X1280, systemValue);
+       reg.AddValue(_SYSTEM_CACHING_SECTION, _SENSOR_PHOTOMETER, systemValue);
        reg.Flush();
 
-       this->GetValue(_SCREEN_COORDINATE_SYSTEM_LOGICAL_NORMAL, bValue);
+       this->GetValue(_SENSOR_PHOTOMETER_WAKEUP, bValue);
        if(bValue == true)
                systemValue = _SYSTEM_CACHING_TRUE;
        else
                systemValue = _SYSTEM_CACHING_FALSE;
-       reg.AddValue(_SYSTEM_CACHING_SECTION, _SCREEN_COORDINATE_SYSTEM_LOGICAL_NORMAL, systemValue);
+       reg.AddValue(_SYSTEM_CACHING_SECTION, _SENSOR_PHOTOMETER_WAKEUP, systemValue);
        reg.Flush();
 
-       this->GetValue(_SCREEN_COORDINATE_SYSTEM_LOGICAL_LARGE, bValue);
+       this->GetValue(_SENSOR_PROXIMITY, bValue);
        if(bValue == true)
                systemValue = _SYSTEM_CACHING_TRUE;
        else
                systemValue = _SYSTEM_CACHING_FALSE;
-       reg.AddValue(_SYSTEM_CACHING_SECTION, _SCREEN_COORDINATE_SYSTEM_LOGICAL_LARGE, systemValue);
+       reg.AddValue(_SYSTEM_CACHING_SECTION, _SENSOR_PROXIMITY, systemValue);
        reg.Flush();
 
-       this->GetValue(_BUID_STRING, systemValue);
-       reg.Flush();
-       reg.AddValue(_SYSTEM_CACHING_SECTION, _BUID_STRING, systemValue);
+       this->GetValue(_SENSOR_PROXIMITY_WAKEUP, bValue);
+       if(bValue == true)
+               systemValue = _SYSTEM_CACHING_TRUE;
+       else
+               systemValue = _SYSTEM_CACHING_FALSE;
+       reg.AddValue(_SYSTEM_CACHING_SECTION, _SENSOR_PROXIMITY_WAKEUP, systemValue);
        reg.Flush();
 
-       this->GetValue(_TELEPHONY_MMS, bValue);
+       this->GetValue(_SENSOR_TILTMETER, bValue);
        if(bValue == true)
                systemValue = _SYSTEM_CACHING_TRUE;
        else
                systemValue = _SYSTEM_CACHING_FALSE;
-       reg.AddValue(_SYSTEM_CACHING_SECTION, _TELEPHONY_MMS, systemValue);
+       reg.AddValue(_SYSTEM_CACHING_SECTION, _SENSOR_TILTMETER, systemValue);
        reg.Flush();
 
-       this->GetValue(_TELEPHONY_SMS, bValue);
+       this->GetValue(_SENSOR_TILTMETER_WAKEUP, bValue);
        if(bValue == true)
                systemValue = _SYSTEM_CACHING_TRUE;
        else
                systemValue = _SYSTEM_CACHING_FALSE;
-       reg.AddValue(_SYSTEM_CACHING_SECTION, _TELEPHONY_SMS, systemValue);
+       reg.AddValue(_SYSTEM_CACHING_SECTION, _SENSOR_TILTMETER_WAKEUP, systemValue);
        reg.Flush();
 
+       this->GetValue(_SIP_VOIP, bValue);
+       if(bValue == true)
+               systemValue = _SYSTEM_CACHING_TRUE;
+       else
+               systemValue = _SYSTEM_CACHING_FALSE;
+       reg.AddValue(_SYSTEM_CACHING_SECTION, _SIP_VOIP, systemValue);
+       reg.Flush();
 
-       this->GetValue(_TELEPHONY_SMS_CBS, bValue);
+       this->GetValue(_SPEECH_RECOGNITION, bValue);
        if(bValue == true)
                systemValue = _SYSTEM_CACHING_TRUE;
        else
                systemValue = _SYSTEM_CACHING_FALSE;
-       reg.AddValue(_SYSTEM_CACHING_SECTION, _TELEPHONY_SMS_CBS, systemValue);
+       reg.AddValue(_SYSTEM_CACHING_SECTION, _SPEECH_RECOGNITION, systemValue);
        reg.Flush();
 
-       this->GetValue(_GRAPHIC_ACCELERATION, bValue);
+       this->GetValue(_SPEECH_SYNTHESIS, bValue);
        if(bValue == true)
                systemValue = _SYSTEM_CACHING_TRUE;
        else
                systemValue = _SYSTEM_CACHING_FALSE;
-       reg.AddValue(_SYSTEM_CACHING_SECTION, _GRAPHIC_ACCELERATION, systemValue);
+       reg.AddValue(_SYSTEM_CACHING_SECTION, _SPEECH_SYNTHESIS, systemValue);
        reg.Flush();
 
-       this->GetValue(_SCREEN_AUTO_ROTATION, bValue);
+       this->GetValue(_USB_ACCESSORY, bValue);
        if(bValue == true)
                systemValue = _SYSTEM_CACHING_TRUE;
        else
                systemValue = _SYSTEM_CACHING_FALSE;
-       reg.AddValue(_SYSTEM_CACHING_SECTION, _SCREEN_AUTO_ROTATION, systemValue);
+       reg.AddValue(_SYSTEM_CACHING_SECTION, _USB_ACCESSORY, systemValue);
        reg.Flush();
 
-       this->GetValue(_SHELL_APPWIDGET, bValue);
+       this->GetValue(_USB_CLIENT, bValue);
        if(bValue == true)
                systemValue = _SYSTEM_CACHING_TRUE;
        else
                systemValue = _SYSTEM_CACHING_FALSE;
-       reg.AddValue(_SYSTEM_CACHING_SECTION, _SHELL_APPWIDGET, systemValue);
+       reg.AddValue(_SYSTEM_CACHING_SECTION, _USB_CLIENT, systemValue);
        reg.Flush();
 
-       this->GetValue(_VISION_IMAGE_RECOGNITION, bValue);
+       this->GetValue(_USB_HOST, bValue);
        if(bValue == true)
                systemValue = _SYSTEM_CACHING_TRUE;
        else
                systemValue = _SYSTEM_CACHING_FALSE;
-       reg.AddValue(_SYSTEM_CACHING_SECTION, _VISION_IMAGE_RECOGNITION, systemValue);
+       reg.AddValue(_SYSTEM_CACHING_SECTION, _USB_HOST, systemValue);
        reg.Flush();
 
-       this->GetValue(_VISION_QRCODE_GENERATION, bValue);
+       this->GetValue(_VISION_FACE_RECOGNITION, bValue);
        if(bValue == true)
                systemValue = _SYSTEM_CACHING_TRUE;
        else
                systemValue = _SYSTEM_CACHING_FALSE;
-       reg.AddValue(_SYSTEM_CACHING_SECTION, _VISION_QRCODE_GENERATION, systemValue);
+       reg.AddValue(_SYSTEM_CACHING_SECTION, _VISION_FACE_RECOGNITION, systemValue);
        reg.Flush();
 
-       this->GetValue(_VISION_QRCODE_RECOGNITION, bValue);
+       this->GetValue(_VISION_IMAGE_RECOGNITION, bValue);
        if(bValue == true)
                systemValue = _SYSTEM_CACHING_TRUE;
        else
                systemValue = _SYSTEM_CACHING_FALSE;
-       reg.AddValue(_SYSTEM_CACHING_SECTION, _VISION_QRCODE_RECOGNITION, systemValue);
+       reg.AddValue(_SYSTEM_CACHING_SECTION, _VISION_IMAGE_RECOGNITION, systemValue);
        reg.Flush();
 
-       this->GetValue(_VISION_QRCODE_RECOGNITION, bValue);
+       this->GetValue(_VISION_QRCODE_GENERATION, bValue);
        if(bValue == true)
                systemValue = _SYSTEM_CACHING_TRUE;
        else
                systemValue = _SYSTEM_CACHING_FALSE;
-       reg.AddValue(_SYSTEM_CACHING_SECTION, _VISION_QRCODE_RECOGNITION, systemValue);
+       reg.AddValue(_SYSTEM_CACHING_SECTION, _VISION_QRCODE_GENERATION, systemValue);
        reg.Flush();
 
-       this->GetValue(_SECURE_ELEMENT, bValue);
+       this->GetValue(_VISION_QRCODE_RECOGNITION, bValue);
        if(bValue == true)
                systemValue = _SYSTEM_CACHING_TRUE;
        else
                systemValue = _SYSTEM_CACHING_FALSE;
-       reg.AddValue(_SYSTEM_CACHING_SECTION, _SECURE_ELEMENT, systemValue);
+       reg.AddValue(_SYSTEM_CACHING_SECTION, _VISION_QRCODE_RECOGNITION, systemValue);
        reg.Flush();
 
-       this->GetValue(_MODELNAME, sValue);
-       reg.AddValue(_SYSTEM_CACHING_SECTION, _MODELNAME, sValue);
+       this->GetValue(_BUILD_STRING, systemValue);
+       reg.Flush();
+       reg.AddValue(_SYSTEM_CACHING_SECTION, _BUILD_STRING, systemValue);
        reg.Flush();
 
        r = this->GetValue(_DUID, sValue);
@@ -1047,6 +1012,30 @@ _SystemInfo::CachingSystemInformation(void)
        reg.AddValue(_SYSTEM_CACHING_SECTION, _DUID, sValue);
        reg.Flush();
 
+       this->GetValue(_MODELNAME, sValue);
+       reg.AddValue(_SYSTEM_CACHING_SECTION, _MODELNAME, sValue);
+       reg.Flush();
+
+       this->GetValue(_PLATFORM_NAME, sValue);
+       reg.AddValue(_SYSTEM_CACHING_SECTION, _PLATFORM_NAME, sValue);
+       reg.Flush();
+
+       this->GetValue(_SOUND_MEDIA_VOLUME_MAX, nValue);
+       reg.AddValue(_SYSTEM_CACHING_SECTION, _SOUND_MEDIA_VOLUME_MAX, nValue);
+       reg.Flush();
+
+       this->GetValue(_SOUND_NOTIFICATION_VOLUME_MAX, nValue);
+       reg.AddValue(_SYSTEM_CACHING_SECTION, _SOUND_NOTIFICATION_VOLUME_MAX, nValue);
+       reg.Flush();
+
+       this->GetValue(_SOUND_RINGTONE_VOLUME_MAX, nValue);
+       reg.AddValue(_SYSTEM_CACHING_SECTION, _SOUND_RINGTONE_VOLUME_MAX, nValue);
+       reg.Flush();
+
+       this->GetValue(_SOUND_SYSTEM_VOLUME_MAX, nValue);
+       reg.AddValue(_SYSTEM_CACHING_SECTION, _SOUND_SYSTEM_VOLUME_MAX, nValue);
+       reg.Flush();
+
        return E_SUCCESS;
 }
 
@@ -1062,7 +1051,7 @@ _SystemInfo::GetValue(const String& key, String& value)
        {
                bool supported = false;
                SysLog(NID_SYS, "It trys to get DUID from telephony.");
-               this->GetValue(_TELEPHONY, supported);
+               this->GetValue(_NETWORK_TELEPHONY, supported);
                if(supported == true)
                {
                        r = _DeviceId::GetId(value, 0);
@@ -1070,7 +1059,7 @@ _SystemInfo::GetValue(const String& key, String& value)
                else
                {
                        SysLog(NID_SYS, "It trys to get DUID from wifi.");
-                       this->GetValue(_WIFI, supported);
+                       this->GetValue(_NETWORK_WIFI, supported);
                        if(supported == true)
                        {
                                r = _DeviceId::GetId(value, 1);
@@ -1078,7 +1067,7 @@ _SystemInfo::GetValue(const String& key, String& value)
                        else
                        {
                                SysLog(NID_SYS, "It trys to get DUID from bluetooth.");
-                               this->GetValue(_BLUETOOTH, supported);
+                               this->GetValue(_NETWORK_BLUETOOTH, supported);
                                if(supported == true)
                                {
                                        r = _DeviceId::GetId(value, 2);
@@ -1100,46 +1089,7 @@ _SystemInfo::GetValue(const String& key, String& value)
                r = StringUtil::Utf8ToString(pValue, value);
                SysTryCatch(NID_SYS, r == E_SUCCESS, r = E_SYSTEM, r, "[%s] StringUtil::Utf8ToString It is failed", GetErrorMessage(r));
        }
-       else if (key == _INPUT_KEYBOARD_LAYOUT)
-       {
-               ret = system_info_get_value_string(SYSTEM_INFO_KEY_KEYBOARD_TYPE, &pValue);
-               SysTryReturnResult(NID_SYS, ret == SYSTEM_INFO_ERROR_NONE, E_SYSTEM, "[E_SYSTEM] system_info_get_value_string : \"SYSTEM_INFO_KEY_KEYBOARD_TYPE\"It is failed");
-
-               if(pValue == null)
-               {
-                       value.Clear();
-                       return E_SUCCESS;
-               }
-
-               r = StringUtil::Utf8ToString(pValue, value);
-               SysTryCatch(NID_SYS, r == E_SUCCESS, r = E_SYSTEM, r, "[%s] StringUtil::Utf8ToString It is failed", GetErrorMessage(r));
-
-               if(key == _INPUT_KEYBOARD_LAYOUT)
-               {
-                       value.ToLowerCase();
-               }
-       }
-       else if (key == _PLATFORM_VERSION)
-       {
-               char* pPlatformVersion = null;
-               ret = system_info_get_value_string(SYSTEM_INFO_KEY_TIZEN_VERSION, &pPlatformVersion);
-               SysTryReturnResult(NID_SYS, ret == SYSTEM_INFO_ERROR_NONE, E_SYSTEM, "[E_SYSTEM] system_info_get_value_string : \"SYSTEM_INFO_KEY_PLATFORM_NAME\"It is failed");
-
-               r = StringUtil::Utf8ToString(pPlatformVersion, value);
-               SysTryReturn(NID_SYS, r == E_SUCCESS, E_SYSTEM, r, "[%s] StringUtil::Utf8ToString It is failed", GetErrorMessage(r));
-               free(pPlatformVersion);
-               return r;
-
-       }
-       else if (key == _PLATFORM_NAME)
-       {
-               ret = system_info_get_value_string(SYSTEM_INFO_KEY_PLATFORM_NAME, &pValue);
-               SysTryReturnResult(NID_SYS, ret == SYSTEM_INFO_ERROR_NONE, E_SYSTEM, "[E_SYSTEM] system_info_get_value_string : \"SYSTEM_INFO_KEY_PLATFORM_NAME\"It is failed");
-
-               r = StringUtil::Utf8ToString(pValue, value);
-               SysTryCatch(NID_SYS, r == E_SUCCESS, r = E_SYSTEM, r, "[%s] StringUtil::Utf8ToString It is failed", GetErrorMessage(r));
-       }
-       else if (key == _BUID_STRING)
+       else if (key == _BUILD_STRING)
        {
                ret = system_info_get_value_string(SYSTEM_INFO_KEY_BUILD_STRING, &pValue);
                SysTryReturnResult(NID_SYS, ret == SYSTEM_INFO_ERROR_NONE, E_SYSTEM, "[E_SYSTEM] system_info_get_value_string : \"SYSTEM_INFO_KEY_TIZEN_VERSION_STRING\"It is failed");
@@ -1149,131 +1099,53 @@ _SystemInfo::GetValue(const String& key, String& value)
        }
        else
        {
-               r = GetFromRegistry(key, value);
+               String tizenKey;
+               key.SubString(7, tizenKey);
 
-               if (IsFailed(r))
-               {
-                       String tizenKey;
-                       key.SubString(7, tizenKey);
-
-                       ClearLastResult();
-                       unique_ptr< char[] > systemKey(_StringConverter::CopyToCharArrayN(tizenKey));
-                       r = GetLastResult();
-                       SysTryReturn(NID_SYS, r == E_SUCCESS, E_SYSTEM, r, "[%s] StringUtil::StringToUtf8N It is failed", GetErrorMessage(r));
-                       int ret = system_info_get_external_string(systemKey.get(), &pValue);
+               ClearLastResult();
+               unique_ptr< char[] > systemKey(_StringConverter::CopyToCharArrayN(tizenKey));
+               r = GetLastResult();
+               SysTryReturn(NID_SYS, r == E_SUCCESS, E_SYSTEM, r, "[%s] StringUtil::StringToUtf8N It is failed", GetErrorMessage(r));
+               int ret = system_info_get_platform_string(systemKey.get(), &pValue);
 
-                       SysTryReturnResult(NID_SYS, ret == SYSTEM_INFO_ERROR_NONE, E_OBJ_NOT_FOUND, "[E_OBJ_NOT_FOUND] system_info_get_external_string : %ls It is failed", key.GetPointer());
-
-                       r = StringUtil::Utf8ToString(pValue, value);
-                       free(pValue);
-                       pValue = null;
-               }
+               SysTryReturnResult(NID_SYS, ret == 0, E_OBJ_NOT_FOUND, "It is failed to get system information %ls from configration file.", key.GetPointer());
 
-               SysTryReturnResult(NID_SYS, r == E_SUCCESS, E_OBJ_NOT_FOUND, "It is failed to get the key[%ls]", key.GetPointer());
+               r = StringUtil::Utf8ToString(pValue, value);
+               free(pValue);
+               pValue = null;
 
                return r;
        }
+
 CATCH:
        if(pValue != null)
        {
                free(pValue);
        }
+
        return r;
+
 }
 
 result
 _SystemInfo::GetValue(const String& key, int& value)
 {
-       int ret = -1;
+       int ret = 0;
        result r = E_SUCCESS;
 
        SysLog(NID_SYS, "Request Key is %ls.", key.GetPointer());
-       if (key == _SCREEN_BPP)
-       {
-               int screenBitsPerPixel = 0;
-               ret = system_info_get_value_int(SYSTEM_INFO_KEY_SCREEN_BITS_PER_PIXEL, &screenBitsPerPixel);
-               SysTryReturnResult(NID_SYS, ret == SYSTEM_INFO_ERROR_NONE, E_SYSTEM, "It is failed to get the SYSTEM_INFO_KEY__SCREEN_BITS_PER_PIXEL");
-               value = screenBitsPerPixel;
-       }
-       else if (key == _SCREEN_HEIGHT)
-       {
-               int screenHeight = 0;
-               ret = system_info_get_value_int(SYSTEM_INFO_KEY_SCREEN_HEIGHT, &screenHeight);
-               SysTryReturnResult(NID_SYS, ret == SYSTEM_INFO_ERROR_NONE, E_SYSTEM, "It is failed to get the SYSTEM_INFO_KEY__SCREEN_HEIGHT");
-               value = screenHeight;
-       }
-       else if (key == _SCREEN_WIDTH)
-       {
-               int screenWidth = 0;
-               ret = system_info_get_value_int(SYSTEM_INFO_KEY_SCREEN_WIDTH, &screenWidth);
-               SysTryReturnResult(NID_SYS, ret == SYSTEM_INFO_ERROR_NONE, E_SYSTEM, "It is failed to get the SYSTEM_INFO_KEY__SCREEN_WIDTH");
-               value = screenWidth;
-       }
-       else if (key == _SCREEN_DPI)
-       {
-               int screenDPI = 0;
-               ret = system_info_get_value_int(SYSTEM_INFO_KEY_SCREEN_DPI, &screenDPI);
-               SysTryReturnResult(NID_SYS, ret == SYSTEM_INFO_ERROR_NONE, E_SYSTEM, "It is failed to get the SYSTEM_INFO_KEY__SCREEN_DPI");
-               value = screenDPI;
-       }
-       else if (key == _SOUND_SYSTEM_VOLUME_MAX)
-       {
-               int maxVolume = 0;
-               int ret = sound_manager_get_max_volume(SOUND_TYPE_SYSTEM, &maxVolume);
-               SysTryReturnResult(NID_SYS, ret == SOUND_MANAGER_ERROR_NONE, E_SYSTEM, "It is failed to get the max volume");
-               value = maxVolume;
-       }
-       else if (key == _SOUND_MEDIA_VOLUME_MAX)
-       {
-               int maxVolume = 0;
-               int ret = sound_manager_get_max_volume(SOUND_TYPE_MEDIA, &maxVolume);
-               SysTryReturnResult(NID_SYS, ret == SOUND_MANAGER_ERROR_NONE, E_SYSTEM, "It is failed to get the max volume");
-
-               value = maxVolume;
-       }
-       else if (key == _SOUND_RINGTONE_VOLUME_MAX)
-       {
-               int maxVolume = 0;
-               int ret = sound_manager_get_max_volume(SOUND_TYPE_RINGTONE, &maxVolume);
-               SysTryReturnResult(NID_SYS, ret == SOUND_MANAGER_ERROR_NONE, E_SYSTEM, "It is failed to get the max volume");
-
-               value = maxVolume;
-       }
-       else if (key == _SOUND_NOTIFICATION_VOLUME_MAX)
-       {
-               int maxVolume = 0;
-               int ret = sound_manager_get_max_volume(SOUND_TYPE_NOTIFICATION, &maxVolume);
-               SysTryReturnResult(NID_SYS, ret == SOUND_MANAGER_ERROR_NONE, E_SYSTEM, "It is failed to get the max volume");
-               value = maxVolume;
-       }
-       else if (key == _MULTIPOINTTOUCH_POINTCOUNT)
-       {
-               int multiPointTouchCount = 0;
-               ret = system_info_get_value_int(SYSTEM_INFO_KEY_MULTI_POINT_TOUCH_COUNT, &multiPointTouchCount);
-               SysTryReturnResult(NID_SYS, ret == SYSTEM_INFO_ERROR_NONE, E_SYSTEM, "It is failed to get the ISYSTEM_INFO_KEY_MULTI_POINT_TOUCH_COUNT");
-               value = multiPointTouchCount;
-       }
-       else
-       {
-               r = GetFromRegistry(key, value);
 
-               if (IsFailed(r))
-               {
-                       String tizenKey;
-                       key.SubString(7, tizenKey);
-
-                       ClearLastResult();
-                       unique_ptr< char[] > systemKey(_StringConverter::CopyToCharArrayN(tizenKey));
-                       r = GetLastResult(); 
-                       SysTryReturn(NID_SYS, r == E_SUCCESS, E_SYSTEM, r, "[%s] StringUtil::StringToUtf8N It is failed", GetErrorMessage(r));
-                       int ret = system_info_get_external_int(systemKey.get(), &value);
+       String tizenKey;
+       key.SubString(7, tizenKey);
 
-                       SysTryReturnResult(NID_SYS, ret == SYSTEM_INFO_ERROR_NONE, E_OBJ_NOT_FOUND, "[E_OBJ_NOT_FOUND] system_info_get_external_int : %ls It is failed", key.GetPointer());
-                       r = E_SUCCESS;
-               }
+       ClearLastResult();
+       unique_ptr< char[] > systemKey(_StringConverter::CopyToCharArrayN(tizenKey));
+       r = GetLastResult();
+       SysTryReturn(NID_SYS, r == E_SUCCESS, E_SYSTEM, r, "[%s] StringUtil::StringToUtf8N It is failed", GetErrorMessage(r));
+       ret = system_info_get_platform_int(systemKey.get(), &value);
 
-               SysTryReturnResult(NID_SYS, r == E_SUCCESS, E_OBJ_NOT_FOUND, "It is failed to get the key[%ls]", key.GetPointer());
-       }
+       SysTryReturnResult(NID_SYS, ret == 0, E_OBJ_NOT_FOUND, "It is failed to get system information %ls from configration file.", key.GetPointer());
+       r = E_SUCCESS;
 
        return r;
 }
@@ -1286,830 +1158,34 @@ _SystemInfo::GetValue(const String& key, bool& value)
 
        SysLog(NID_SYS, "Request Key is %ls.", key.GetPointer());
 
-       if (key == _BLUETOOTH)
+       if (key == _SCREEN_DESKTOPMODE)
        {
-               bool bluetoothSupported = false;
-               ret = system_info_get_value_bool(SYSTEM_INFO_KEY_BLUETOOTH_SUPPORTED, &bluetoothSupported);
-               SysTryReturnResult(NID_SYS, ret == SYSTEM_INFO_ERROR_NONE, E_SYSTEM, "It is failed to get the SYSTEM_INFO_KEY_BLUETOOTH_SUPPORTED.");
-               value = bluetoothSupported;
+               value = false;
+       }
+       else if (key == _USB_CLIENT)
+       {
+               value = true;
        }
-       else if (key == _CAMERA)
+       else
        {
-               int cameraCount = 0;
-               ret = system_info_get_value_int(SYSTEM_INFO_KEY_CAMERA_COUNT, &cameraCount);
-               SysTryReturnResult(NID_SYS, ret == SYSTEM_INFO_ERROR_NONE, E_SYSTEM, "It is failed to get the SYSTEM_INFO_KEY__CAMERA_COUNT");
+               String tizenKey;
+               key.SubString(7, tizenKey);
 
-               if (cameraCount > 0)
-               {
-                       value = true;
-               }
-               else
-               {
-                       value = false;
-               }
-       }
-       else if (key == _CAMERA_FRONT)
-       {
-               bool frontCameraSupported = false;
-               ret = system_info_get_value_bool(SYSTEM_INFO_KEY_FRONT_CAMERA_SUPPORTED, &frontCameraSupported);
-               SysTryReturnResult(NID_SYS, ret == SYSTEM_INFO_ERROR_NONE, E_SYSTEM, "It is failed to get the SYSTEM_INFO_KEY_FRONT_CAMERA_SUPPORTED.");
-               value = frontCameraSupported;
-       }
-       else if (key == _CAMERA_FRONT_FLASH)
-       {
-               bool frontCameraFlashSupported = false;
-               ret = system_info_get_value_bool(SYSTEM_INFO_KEY_FRONT_CAMERA_FLASH_SUPPORTED, &frontCameraFlashSupported);
-               SysTryReturnResult(NID_SYS, ret == SYSTEM_INFO_ERROR_NONE, E_SYSTEM, "It is failed to get the SYSTEM_INFO_KEY_FRONT_CAMERA_FLASH_SUPPORTED.");
-               value = frontCameraFlashSupported;
-       }
-       else if (key == _CAMERA_BACK)
-       {
-               bool backCameraSupported = false;
-               ret = system_info_get_value_bool(SYSTEM_INFO_KEY_BACK_CAMERA_SUPPORTED, &backCameraSupported);
-               SysTryReturnResult(NID_SYS, ret == SYSTEM_INFO_ERROR_NONE, E_SYSTEM, "It is failed to get the SYSTEM_INFO_KEY_FRONT_CAMERA_SUPPORTED.");
-               value = backCameraSupported;
-       }
-       else if ( key == _CAMERA_BACK_FLASH)
-       {
-               bool backCameraFlashSupported = false;
-               ret = system_info_get_value_bool(SYSTEM_INFO_KEY_BACK_CAMERA_FLASH_SUPPORTED, &backCameraFlashSupported);
-               SysTryReturnResult(NID_SYS, ret == SYSTEM_INFO_ERROR_NONE, E_SYSTEM, "It is failed to get the SYSTEM_INFO_KEY_FRONT_CAMERA_FLASH_SUPPORTED.");
-               value = backCameraFlashSupported;
-       }
-       else if (key == _DATABASE_ENCRYPTION)
-       {
-               struct utsname device_name;
-               ret = uname(&device_name);
-               SysTryReturnResult(NID_SYS, ret == 0, E_SYSTEM, "It is failed to get device information by uname.");
-               SysLog(NID_SYS, "Readed uname is sysname:%s, nodename:%s, release:%s, version:%s, machine:%s", device_name.sysname, device_name.nodename, device_name.release, device_name.version, device_name.machine);
-
-               if(strcasestr(device_name.machine, "emulated") != null)
-               {
-                       value = true;
-               }
-               else
-               {
-                       void* handle = dlopen(_DATABASE_LIBRARY_PATH, RTLD_NOW);
-                       SysTryReturnResult(NID_SYS, handle != null, E_SYSTEM, "It is failed to open database library file");
-                       void* function = dlsym(handle, _DATABASE_ENCRYPTION_SYMBOL);
-                       if (function != null)
-                       {
-                               value = true;
-                       }
-                       else
-                       {
-                               value = false;
-                       }
-                       dlclose(handle);
-               }
-       }
-       else if (key == _LOCATION)
-       {
-               bool gpsSupported = false;
-               bool wpsSupported = false;
-
-               ret = system_info_get_value_bool(SYSTEM_INFO_KEY_GPS_SUPPORTED, &gpsSupported);
-               SysTryReturnResult(NID_SYS, ret == SYSTEM_INFO_ERROR_NONE, E_SYSTEM, "It is failed to get the SYSTEM_INFO_KEY_GPS_SUPPORTED.");
-               wpsSupported = location_manager_is_supported_method(LOCATIONS_METHOD_WPS);
-
-               if(gpsSupported == true || wpsSupported == true)
-               {
-                       value = true;
-               }
-               else
-               {
-                       value = false;
-               }
-       }
-       else if (key == _LOCATION_GPS)
-       {
-               bool gpsSupported = false;
-               ret = system_info_get_value_bool(SYSTEM_INFO_KEY_GPS_SUPPORTED, &gpsSupported);
-               SysTryReturnResult(NID_SYS, ret == SYSTEM_INFO_ERROR_NONE, E_SYSTEM, "It is failed to get the SYSTEM_INFO_KEY_GPS_SUPPORTED.");
-               value = gpsSupported;
-       }
-       else if (key == _LOCATION_WPS)
-       {
-               bool wpsSupported = false;
-               wpsSupported = location_manager_is_supported_method(LOCATIONS_METHOD_WPS);
-               value = wpsSupported;
-       }
-       else if (key == _MICROPHONE)
-       {
-               bool micSupported = false;
-               ret = system_info_get_value_bool(SYSTEM_INFO_KEY_MICROPHONE_SUPPORTED, &micSupported);
-               SysTryReturnResult(NID_SYS, ret == SYSTEM_INFO_ERROR_NONE, E_SYSTEM, "It is failed to get the SYSTEM_INFO_KEY_MICROPHONE_SUPPORTED.");
-               value = micSupported;
-       }
-       else if (key == _PLATFORM_CORE_CPU_ARCH_ARMV6)
-       {
-               char* cpu = null;
-               ret = system_info_get_value_string(SYSTEM_INFO_KEY_CORE_CPU_ARCH, &cpu);
-               SysTryReturnResult(NID_SYS, ret == SYSTEM_INFO_ERROR_NONE, E_SYSTEM, "[E_SYSTEM] system_info_get_value_string : \"SYSTEM_INFO_KEY_CORE_CPU_ARCH\"It is failed");
-
-               if(cpu != NULL && strcmp(cpu, "ARMv6") == 0)
-               {
-                       value = true;
-                       free(cpu);
-               }
-               else
-               {
-                       value = false;
-               }
-       }
-       else if (key == _PLATFORM_CORE_CPU_ARCH_ARMV7)
-       {
-               char* cpu = null;
-               ret = system_info_get_value_string(SYSTEM_INFO_KEY_CORE_CPU_ARCH, &cpu);
-               SysTryReturnResult(NID_SYS, ret == SYSTEM_INFO_ERROR_NONE, E_SYSTEM, "[E_SYSTEM] system_info_get_value_string : \"SYSTEM_INFO_KEY_CORE_CPU_ARCH\"It is failed");
-
-               if(cpu != NULL && strcmp(cpu, "ARMv7") == 0)
-               {
-                       value = true;
-                       free(cpu);
-               }
-               else
-               {
-                       value = false;
-               }
-       }
-       else if (key == _PLATFORM_CORE_CPU_ARCH_X86)
-       {
-               char* cpu = null;
-               ret = system_info_get_value_string(SYSTEM_INFO_KEY_CORE_CPU_ARCH, &cpu);
-               SysTryReturnResult(NID_SYS, ret == SYSTEM_INFO_ERROR_NONE, E_SYSTEM, "[E_SYSTEM] system_info_get_value_string : \"SYSTEM_INFO_KEY_CORE_CPU_ARCH\"It is failed");
-
-               if(cpu != NULL && strcmp(cpu, "x86") == 0)
-               {
-                       value = true;
-                       free(cpu);
-               }
-               else
-               {
-                       value = false;
-               }
-       }
-       else if (key == _PLATFORM_CORE_FPU_ARCH_VFPV2)
-       {
-               char* fpu = null;
-               ret = system_info_get_value_string(SYSTEM_INFO_KEY_CORE_FPU_ARCH, &fpu);
-               SysTryReturnResult(NID_SYS, ret == SYSTEM_INFO_ERROR_NONE, E_SYSTEM, "[E_SYSTEM] system_info_get_value_string : \"SYSTEM_INFO_KEY_CORE_fPU_ARCH\"It is failed");
-
-               if(fpu != NULL && strcmp(fpu, "vfpv2") == 0)
-               {
-                       value = true;
-                       free(fpu);
-               }
-               else
-               {
-                       value = false;
-               }
-       }
-       else if (key == _PLATFORM_CORE_FPU_ARCH_VFPV3)
-       {
-               char* fpu = null;
-               ret = system_info_get_value_string(SYSTEM_INFO_KEY_CORE_FPU_ARCH, &fpu);
-               SysTryReturnResult(NID_SYS, ret == SYSTEM_INFO_ERROR_NONE, E_SYSTEM, "[E_SYSTEM] system_info_get_value_string : \"SYSTEM_INFO_KEY_CORE_fPU_ARCH\"It is failed");
-
-               if(fpu != NULL && strcmp(fpu, "vfpv3") == 0)
-               {
-                       value = true;
-                       free(fpu);
-               }
-               else
-               {
-                       value = false;
-               }
-       }
-       else if (key == _PLATFORM_CORE_FPU_ARCH_SSE2)
-       {
-               char* fpu = null;
-               ret = system_info_get_value_string(SYSTEM_INFO_KEY_CORE_FPU_ARCH, &fpu);
-               SysTryReturnResult(NID_SYS, ret == SYSTEM_INFO_ERROR_NONE, E_SYSTEM, "[E_SYSTEM] system_info_get_value_string : \"SYSTEM_INFO_KEY_CORE_fPU_ARCH\"It is failed");
-
-               if(fpu != NULL && strcmp(fpu, "sse2") == 0)
-               {
-                       value = true;
-                       free(fpu);
-               }
-               else
-               {
-                       value = false;
-               }
-       }
-       else if (key == _PLATFORM_CORE_FPU_ARCH_SSE3)
-       {
-               char* fpu = null;
-               ret = system_info_get_value_string(SYSTEM_INFO_KEY_CORE_FPU_ARCH, &fpu);
-               SysTryReturnResult(NID_SYS, ret == SYSTEM_INFO_ERROR_NONE, E_SYSTEM, "[E_SYSTEM] system_info_get_value_string : \"SYSTEM_INFO_KEY_CORE_fPU_ARCH\"It is failed");
-
-               if(fpu != NULL && strcmp(fpu, "sse3") == 0)
-               {
-                       value = true;
-                       free(fpu);
-               }
-               else
-               {
-                       value = false;
-               }
-       }
-       else if (key == _PLATFORM_CORE_FPU_ARCH_SSSE3)
-       {
-               char* fpu = null;
-               ret = system_info_get_value_string(SYSTEM_INFO_KEY_CORE_FPU_ARCH, &fpu);
-               SysTryReturnResult(NID_SYS, ret == SYSTEM_INFO_ERROR_NONE, E_SYSTEM, "[E_SYSTEM] system_info_get_value_string : \"SYSTEM_INFO_KEY_CORE_fPU_ARCH\"It is failed");
-
-               if(fpu != NULL && strcmp(fpu, "ssse3") == 0)
-               {
-                       value = true;
-                       free(fpu);
-               }
-               else
-               {
-                       value = false;
-               }
-       }
-       else if (key == _WIFI)
-       {
-               bool wifiSupported = false;
-               ret = system_info_get_value_bool(SYSTEM_INFO_KEY_WIFI_SUPPORTED, &wifiSupported);
-               SysTryReturnResult(NID_SYS, ret == SYSTEM_INFO_ERROR_NONE, E_SYSTEM, "It is failed to get the SYSTEM_INFO_KEY_WIFI_SUPPORTED.");
-               value = wifiSupported;
-       }
-       else if (key == _WIFI_DIRECT)
-       {
-               bool wifiSupported = false;
-               ret = system_info_get_value_bool(SYSTEM_INFO_KEY_WIFI_DIRECT_SUPPORTED, &wifiSupported);
-               SysTryReturnResult(NID_SYS, ret == SYSTEM_INFO_ERROR_NONE, E_SYSTEM, "It is failed to get the SYSTEM_INFO_KEY_WIFI_DIRECT_SUPPORTED.");
-               value = wifiSupported;
-       }
-       else if (key == _FMRADIO)
-       {
-               bool fmRadioSupported = false;
-               ret = system_info_get_value_bool(SYSTEM_INFO_KEY_FMRADIO_SUPPORTED, &fmRadioSupported);
-               SysTryReturnResult(NID_SYS, ret == SYSTEM_INFO_ERROR_NONE, E_SYSTEM, "It is failed to get the SYSTEM_INFO_KEY_FMRADIO_SUPPORTED.");
-               value = fmRadioSupported;
-       }
-       else if (key == _SCREEN_OUTPUT_RCA)
-       {
-               bool rcaSupported = false;
-               ret = system_info_get_value_bool(SYSTEM_INFO_KEY_RCA_SUPPORTED, &rcaSupported);
-               SysTryReturnResult(NID_SYS, ret == SYSTEM_INFO_ERROR_NONE, E_SYSTEM, "It is failed to get the SYSTEM_INFO_KEY_RCA_SUPPORTED.");
-               value = rcaSupported;
-       }
-       else if (key == _SCREEN_OUTPUT_HDMI)
-       {
-               bool hdmiSupported = false;
-               ret = system_info_get_value_bool(SYSTEM_INFO_KEY_HDMI_SUPPORTED, &hdmiSupported);
-               SysTryReturnResult(NID_SYS, ret == SYSTEM_INFO_ERROR_NONE, E_SYSTEM, "It is failed to get the SYSTEM_INFO_KEY_HDMI_SUPPORTED.");
-               value = hdmiSupported;
-       }
-       else if (key == _MULTIPOINTTOUCH_PINCHZOOM)
-       {
-               bool pinchZoomSupported = false;
-               ret = system_info_get_value_bool(SYSTEM_INFO_KEY_FEATURE_PINCH_ZOOM_SUPPORTED, &pinchZoomSupported);
-               SysTryReturnResult(NID_SYS, ret == SYSTEM_INFO_ERROR_NONE, E_SYSTEM, "It is failed to get the SYSTEM_INFO_KEY_PINCHZOOM_SUPPORTED.");
-               value = pinchZoomSupported;
-       }
-       else if (key == _NETWORK_NFC)
-       {
-               bool nfcSupported = false;
-               ret = system_info_get_value_bool(SYSTEM_INFO_KEY_NFC_SUPPORTED, &nfcSupported);
-               SysTryReturnResult(NID_SYS, ret == SYSTEM_INFO_ERROR_NONE, E_SYSTEM, "It is failed to get the SYSTEM_INFO_KEY_NFC_SUPPORTED.");
-               SysLog(NID_SYS, "SYSTEM_INFO_KE_NFC_SUPPORTED is [%d].", nfcSupported);
-               value = nfcSupported;
-       }
-       else if (key == _NETWORK_NFC_RESERVED_PUSH)
-       {
-               bool nfcRservedPushSupported = false;
-               ret = system_info_get_value_bool(SYSTEM_INFO_KEY_NFC_RESERVED_PUSH_SUPPORTED, &nfcRservedPushSupported);
-               SysTryReturnResult(NID_SYS, ret == SYSTEM_INFO_ERROR_NONE, E_SYSTEM, "It is failed to get the SYSTEM_INFO_KEY_NFC_RESERVED_PUSH_SUPPORTED.");
-               SysLog(NID_SYS, "SYSTEM_INFO_KE_NFC_RESERVED_PUSH_SUPPORTED is [%d].", nfcRservedPushSupported);
-               value = nfcRservedPushSupported;
-       }
-       else if (key == _SECURE_ELEMENT)
-       {
-               value = File::IsFileExist(_SECURE_ELEMENT_BIN);
-       }
-       else if (key == _TELEPHONY || key == _TELEPHONY_SMS)
-       {
-               if(File::IsFileExist(_TELEPHONY_SERVICE_BIN) == true)
-               {
-                       value = true;
-               }
-               else
-               {
-                       SysLog(NID_SYS, "current device is not support telephony.");
-                       value = false;
-               }
-       }
-       else if(key == _TELEPHONY_MMS)
-       {
-               bool mmsSupported = false;
-               ret = system_info_get_value_bool(SYSTEM_INFO_KEY_MMS_SUPPORTED, &mmsSupported);
-               SysTryReturnResult(NID_SYS, ret == SYSTEM_INFO_ERROR_NONE, E_SYSTEM, "It is failed to get the SYSTEM_INFO_KEY_MMS_SUPPORTED.");
-               SysLog(NID_SYS, "SYSTEM_INFO_KEY_MMS_SUPPORTED is [%d].", mmsSupported);
-               value = mmsSupported;
-       }
-       else if(key == _TELEPHONY_SMS_CBS)
-       {
-               bool smsCbsSupported = false;
-               ret = system_info_get_value_bool(SYSTEM_INFO_KEY_CBS_SUPPORTED, &smsCbsSupported);
-               SysTryReturnResult(NID_SYS, ret == SYSTEM_INFO_ERROR_NONE, E_SYSTEM, "It is failed to get the SYSTEM_INFO_KEY_CBS_SUPPORTED.");
-               SysLog(NID_SYS, "SYSTEM_INFO_KEY_CBS_SUPPORTED is [%d].", smsCbsSupported);
-               value = smsCbsSupported;
-       }
-       else if (key == _TELEPHONY_SERVICE_GSM || key == _TELEPHONY_SERVICE_GPRS || key == _TELEPHONY_SERVICE_EDGE
-                       || key == _TELEPHONY_SERVICE_UMTS || key == _TELEPHONY_SERVICE_HSDPA || key == _TELEPHONY_SERVICE_HSUPA
-                       || key == _TELEPHONY_SERVICE_HSPA || key == _TELEPHONY_SERVICE_LTE || key == _TELEPHONY_SERVICE_CDMA)
-       {
-               String telephonyInfo;
-               char* pValue = null;
-               ret = system_info_get_value_string(SYSTEM_INFO_KEY_NETWORK_TYPE, &pValue);
-               SysTryReturnResult(NID_SYS, ret == SYSTEM_INFO_ERROR_NONE, E_SYSTEM, "[E_SYSTEM] system_info_get_value_string : \"SYSTEM_INFO_KEY_NETWORK_TYPE\"It is failed");
-               SysLog(NID_SYS, "SYSTEM_INFO_KEY_NETWORK_TYPE is [%s].", pValue);
-
-               if(pValue == null)
-               {
-                       value = false;
-                       return E_SUCCESS;
-               }
-
-               r = StringUtil::Utf8ToString(pValue, telephonyInfo);
-               if(r != E_SUCCESS)
-               {
-                       free(pValue);
-                       return E_SYSTEM;
-               }
-               telephonyInfo.ToLowerCase();
-               if(key == _TELEPHONY_SERVICE_GSM && telephonyInfo.Contains("gsm"))
-               {
-                       value = true;
-               }
-               else if(key == _TELEPHONY_SERVICE_GPRS && telephonyInfo.Contains("gprs"))
-               {
-                       value = true;
-               }
-               else if(key == _TELEPHONY_SERVICE_EDGE && telephonyInfo.Contains("edge"))
-               {
-                       value = true;
-               }
-               else if(key == _TELEPHONY_SERVICE_UMTS && telephonyInfo.Contains("umts"))
-               {
-                       value = true;
-               }
-               else if(key == _TELEPHONY_SERVICE_HSDPA && telephonyInfo.Contains("hsdpa"))
-               {
-                       value = true;
-               }
-               else if(key == _TELEPHONY_SERVICE_HSUPA && telephonyInfo.Contains("hsupa"))
-               {
-                       value = true;
-               }
-               else if(key == _TELEPHONY_SERVICE_HSPA && telephonyInfo.Contains("hspa"))
-               {
-                       value = true;
-               }
-               else if(key == _TELEPHONY_SERVICE_LTE && telephonyInfo.Contains("lte"))
-               {
-                       value = true;
-               }
-               else if(key == _TELEPHONY_SERVICE_CDMA && telephonyInfo.Contains("cdma"))
-               {
-                       value = true;
-               }
-               else
-               {
-                       value = false;
-               }
-               free(pValue);
-       }
-       else if (key == _SENSOR_BAROMETER)
-       {
-               bool barometerSupported = false;
-               ret = system_info_get_value_bool(SYSTEM_INFO_KEY_BAROMETER_SENSOR_SUPPORTED, &barometerSupported);
-               SysTryReturnResult(NID_SYS, ret == SYSTEM_INFO_ERROR_NONE, E_SYSTEM, "It is failed to get the SYSTEM_INFO_KEY_BAROMETER_SENSOR_SUPPORTED.");
-               value = barometerSupported;
-       }
-       else if (key == _SENSOR_BAROMETER_WAKEUP)
-       {
-               bool barometerWakeupSupported = false;
-               ret = sf_is_wakeup_supported(BAROMETER_SENSOR);
-               if(ret == 0)
-               {
-                       barometerWakeupSupported = true;
-               }
-               value = barometerWakeupSupported;
-       }
-       else if (key == _SENSOR_ACCELEROMETER)
-       {
-               bool accelerometerSupported = false;
-               ret = sensor_is_supported(SENSOR_ACCELEROMETER, &accelerometerSupported);
-               SysTryReturnResult(NID_SYS, ret == SENSOR_ERROR_NONE, E_SYSTEM, "It is failed to get the SENSOR_ACCELEROMETER");
-               value = accelerometerSupported;
-       }
-       else if (key == _SENSOR_ACCELEROMETER_WAKEUP)
-       {
-               bool accelerometerWakeupSupported = false;
-               ret = sf_is_wakeup_supported(ACCELEROMETER_SENSOR);
-               if(ret == 0)
-               {
-                       accelerometerWakeupSupported = true;
-               }
-               value = accelerometerWakeupSupported;
-       }
-       else if (key == _SENSOR_MAGNETOMETER)
-       {
-               bool magnetometerSupported = false;
-               ret = sensor_is_supported(SENSOR_MAGNETIC, &magnetometerSupported);
-               SysTryReturnResult(NID_SYS, ret == SENSOR_ERROR_NONE, E_SYSTEM, "It is failed to get the SENSOR_MAGNETOMETER");
-               value = magnetometerSupported;
-       }
-       else if (key == _SENSOR_MAGNETOMETER_WAKEUP)
-       {
-               bool magnetometerWakeupSupported = false;
-               ret = sf_is_wakeup_supported(GEOMAGNETIC_SENSOR);
-               if(ret == 0)
-               {
-                       magnetometerWakeupSupported = true;
-               }
-               value = magnetometerWakeupSupported;
-       }
-       else if (key == _SENSOR_PHOTOMETER)
-       {
-               bool lightSupported = false;
-               ret = sensor_is_supported(SENSOR_LIGHT, &lightSupported);
-               SysTryReturnResult(NID_SYS, ret == SENSOR_ERROR_NONE, E_SYSTEM, "It is failed to get the SENSOR_PHOTOMETER");
-               value = lightSupported;
-       }
-       else if (key == _SENSOR_PHOTOMETER_WAKEUP)
-       {
-               bool photometerWakeupSupported = false;
-               ret = sf_is_wakeup_supported(LIGHT_SENSOR);
-               if(ret == 0)
-               {
-                       photometerWakeupSupported = true;
-               }
-               value = photometerWakeupSupported;
-       }
-       else if (key == _SENSOR_GYROSCOPE)
-       {
-               bool gyroscopeSupported = false;
-               ret = sensor_is_supported(SENSOR_GYROSCOPE, &gyroscopeSupported);
-               SysTryReturnResult(NID_SYS, ret == SENSOR_ERROR_NONE, E_SYSTEM, "It is failed to get the SENSOR_GYROSCOPE");
-               value = gyroscopeSupported;
-       }
-       else if (key == _SENSOR_GYROSCOPE_WAKEUP)
-       {
-               bool gyroscopeWakeupSupported = false;
-               ret = sf_is_wakeup_supported(GYROSCOPE_SENSOR);
-               if(ret == 0)
-               {
-                       gyroscopeWakeupSupported = true;
-               }
-               value = gyroscopeWakeupSupported;
-       }
-       else if (key == _SENSOR_PROXIMITY)
-       {
-               bool proximitySupported = false;
-               ret = sensor_is_supported(SENSOR_PROXIMITY, &proximitySupported);
-               SysTryReturnResult(NID_SYS, ret == SENSOR_ERROR_NONE, E_SYSTEM, "It is failed to get the SENSOR_PROXIMITY");
-               value = proximitySupported;
-       }
-       else if (key == _SENSOR_PROXIMITY_WAKEUP)
-       {
-               bool proximityWakeupSupported = false;
-               ret = sf_is_wakeup_supported(PROXIMITY_SENSOR);
-               if(ret == 0)
-               {
-                       proximityWakeupSupported = true;
-               }
-               value = proximityWakeupSupported;
-       }
-       else if (key == _SENSOR_TILTMETER)
-       {
-               bool magnetometerSupported = false;
-               ret = sensor_is_supported(SENSOR_MAGNETIC, &magnetometerSupported);
-               SysTryReturnResult(NID_SYS, ret == SENSOR_ERROR_NONE, E_SYSTEM, "It is failed to get the SENSOR_MAGNETOMETER");
-
-               bool accelerometerSupported = false;
-               ret = sensor_is_supported(SENSOR_ACCELEROMETER, &accelerometerSupported);
-               SysTryReturnResult(NID_SYS, ret == SENSOR_ERROR_NONE, E_SYSTEM, "It is failed to get the SENSOR_ACCELEROMETER");
-
-               if(magnetometerSupported == true && accelerometerSupported == true)
-               {
-                       value = true;
-               }
-               else
-               {
-                       value = false;
-               }
-       }
-       else if (key == _SENSOR_TILTMETER_WAKEUP)
-       {
-               int magnetic = 0;
-               int accelerometer = 0;
-               magnetic = sf_is_wakeup_supported(GEOMAGNETIC_SENSOR);
-               accelerometer = sf_is_wakeup_supported(ACCELEROMETER_SENSOR);
-               if(magnetic == 0 && accelerometer == 0)
-               {
-                       value = true;
-               }
-               else
-               {
-                       value = false;
-               }
-       }
-       else if (key == _OPENGLES)
-       {
-               char* pOpenglVersion = null;
-               ret = system_info_get_value_string(SYSTEM_INFO_KEY_OPENGLES_VERSION, &pOpenglVersion);
-               SysTryReturnResult(NID_SYS, ret == SYSTEM_INFO_ERROR_NONE, E_SYSTEM, "[E_SYSTEM] system_info_get_value_string : \"SYSTEM_INFO_KEY_OPENGLES_VERSION\"It is failed");
-
-               if(pOpenglVersion == NULL)
-               {
-                       value = false;
-               }
-               else
-               {
-                       if(strlen(pOpenglVersion) >0)
-                       {
-                               value = true;
-                       }
-                       else
-                       {
-                               value = false;
-                       }
-                       free(pOpenglVersion);
-               }
-       }
-       else if (key == _OPENGLES_VERSION_1_1)
-       {
-               char* pOpenglVersion = null;
-               ret = system_info_get_value_string(SYSTEM_INFO_KEY_OPENGLES_VERSION, &pOpenglVersion);
-               SysTryReturnResult(NID_SYS, ret == SYSTEM_INFO_ERROR_NONE, E_SYSTEM, "[E_SYSTEM] system_info_get_value_string : \"SYSTEM_INFO_KEY_OPENGLES_VERSION\"It is failed");
-
-               if(pOpenglVersion == NULL)
-               {
-                       value = false;
-               }
-               else
-               {
-                       if(strcmp(pOpenglVersion, "1.1") != -1)
-                       {
-                               value = true;
-                       }
-                       else
-                       {
-                               value = false;
-                       }
-                       free(pOpenglVersion);
-               }
-       }
-       else if (key == _OPENGLES_VERSION_2_0)
-       {
-               char* pOpenglVersion = null;
-               ret = system_info_get_value_string(SYSTEM_INFO_KEY_OPENGLES_VERSION, &pOpenglVersion);
-               SysTryReturnResult(NID_SYS, ret == SYSTEM_INFO_ERROR_NONE, E_SYSTEM, "[E_SYSTEM] system_info_get_value_string : \"SYSTEM_INFO_KEY_OPENGLES_VERSION\"It is failed");
-
-               if(pOpenglVersion == NULL)
-               {
-                       value = false;
-               }
-               else
-               {
-                       if(strcmp(pOpenglVersion + strlen(pOpenglVersion) - 3, "2.0") != -1)
-                       {
-                               value = true;
-                       }
-                       else
-                       {
-                               value = false;
-                       }
-                       free(pOpenglVersion);
-               }
-       }
-       else if(key == _OPENGLES_TEXTUREFORMAT_UTC || key == _OPENGLES_TEXTUREFORMAT_PTC || key == _OPENGLES_TEXTUREFORMAT_ETC
-                       || key == _OPENGLES_TEXTUREFORMAT_3DC || key == _OPENGLES_TEXTUREFORMAT_ATC || key == _OPENGLES_TEXTUREFORMAT_PVRTC)
-       {
-               int ret = 0;
-               String openglesTexture;
-
-               char* pTextureFormat = null;
-               ret = system_info_get_value_string(SYSTEM_INFO_KEY_OPENGLES_TEXTURE_FORMAT, &pTextureFormat);
-
-               SysTryReturnResult(NID_SYS, ret == SYSTEM_INFO_ERROR_NONE && pTextureFormat, E_SYSTEM, "system_info_get_value_string : \"SYSTEM_INFO_KEY_OPENGLES_VERSION\"It is failed");
-
-               r = StringUtil::Utf8ToString(pTextureFormat, openglesTexture);
-
-               if (r != E_SUCCESS)
-               {
-                       free(pTextureFormat);
-                       SysLog(NID_SYS, "Fail to convert string");
-               }
-
-               openglesTexture.ToUpperCase();
-               if (key == _OPENGLES_TEXTUREFORMAT_UTC && openglesTexture.Contains(L"UTC") == true)
-               {
-                       value = true;
-               }
-               else if (key == _OPENGLES_TEXTUREFORMAT_PTC && openglesTexture.Contains(L"PTC") == true)
-               {
-                       value = true;
-               }
-               else if (key == _OPENGLES_TEXTUREFORMAT_ETC && openglesTexture.Contains(L"ETC") == true)
-               {
-                       value = true;
-               }
-               else if (key == _OPENGLES_TEXTUREFORMAT_3DC && openglesTexture.Contains(L"3DC") == true)
-               {
-                       value = true;
-               }
-               else if (key == _OPENGLES_TEXTUREFORMAT_ATC && openglesTexture.Contains(L"ATC") == true)
-               {
-                       value = true;
-               }
-               else if (key == _OPENGLES_TEXTUREFORMAT_PVRTC && openglesTexture.Contains(L"PVRTC") == true)
-               {
-                       value = true;
-               }
-               else
-               {
-                       value = false;
-               }
-       }
-       else if (key == _SCREEN_DESKTOPMODE)
-       {
-               value = false;
-       }
-       else if (key == _SPEECH_RECOGNITION)
-       {
-               bool speechRecognitionSupported = false;
-               ret = system_info_get_value_bool(SYSTEM_INFO_KEY_SPEECH_RECOGNITION_SUPPORTED, &speechRecognitionSupported);
-               SysTryReturnResult(NID_SYS, ret == SYSTEM_INFO_ERROR_NONE, E_SYSTEM, "It is failed to get the SYSTEM_INFO_KEY_SPEECH_RECOGNITION_SUPPORTED.");
-               value = speechRecognitionSupported;
-       }
-       else if (key == _SPEECH_SYNTHESIS)
-       {
-               value = File::IsFileExist(_TTS_LIB);
-       }
-       else if (key == _SIP_VOIP)
-       {
-               bool sipVoipSupported = false;
-               ret = system_info_get_value_bool(SYSTEM_INFO_KEY_SIP_VOIP_SUPPORTED, &sipVoipSupported);
-               SysTryReturnResult(NID_SYS, ret == SYSTEM_INFO_ERROR_NONE, E_SYSTEM, "It is failed to get the SYSTEM_INFO_KEY_SIP_VOIP_SUPPORTED.");
-               value = sipVoipSupported;
-       }
-       else if (key == _USB_HOST)
-       {
-               bool usbHostSupported = false;
-               ret = system_info_get_value_bool(SYSTEM_INFO_KEY_USB_HOST_SUPPORTED, &usbHostSupported);
-               SysTryReturnResult(NID_SYS, ret == SYSTEM_INFO_ERROR_NONE, E_SYSTEM, "It is failed to get the SYSTEM_INFO_KEY_USB_HOST_SUPPORTED.");
-               value = usbHostSupported;
-       }
-       else if (key == _USB_CLIENT)
-       {
-               value = true;
-       }
-       else if (key == _USB_ACCESSORY)
-       {
-               bool usbExternalAccessorySupported = false;
-               bool usbOspAccessorytSupported = false;
-               ret = system_info_get_value_bool(SYSTEM_INFO_KEY_USB_ACCESSORY_SUPPORTED, &usbExternalAccessorySupported);
-               SysTryReturnResult(NID_SYS, ret == SYSTEM_INFO_ERROR_NONE, E_SYSTEM, "It is failed to get the SYSTEM_INFO_KEY_USB_HOST_SUPPORTED.");
+               ClearLastResult();
+               unique_ptr< char[] > systemKey(_StringConverter::CopyToCharArrayN(tizenKey));
+               r = GetLastResult(); 
+               SysTryReturn(NID_SYS, r == E_SUCCESS, E_SYSTEM, r, "[%s] StringUtil::StringToUtf8N It is failed", GetErrorMessage(r));
 
-               usbOspAccessorytSupported = File::IsFileExist(_ACCESSORY_LIB);
-
-               if(usbOspAccessorytSupported == true || usbExternalAccessorySupported == true)
-               {
-                       value = true;
-               }
-               else
-               {
-                       value = false;
-               }
-       }
-       else if (key == _INPUT_KEYBOARD)
-       {
-               char* pKeyboardType = null;
-               ret = system_info_get_value_string(SYSTEM_INFO_KEY_KEYBOARD_TYPE, &pKeyboardType);
-               SysTryReturnResult(NID_SYS, ret == SYSTEM_INFO_ERROR_NONE, E_SYSTEM, "[E_SYSTEM] system_info_get_value_string : \"SYSTEM_INFO_KEY_KEYBOARD_TYPE\"It is failed");
-
-               value = false;
-               if(pKeyboardType != null)
-               {
-                       if(strlen(pKeyboardType) > 0)
-                       {
-                               value = true;
-                       }
-               }
-               free(pKeyboardType);
-       }
-       else if (key == _INPUT_OPTIONKEY)
-       {
-               value = true;
-       }
-       else if (key == _NETWORK_PUSH)
-       {
-               value = File::IsFileExist(_NETWORK_PUSH_BIN);
-       }
-       else if (key == _VISION_IMAGE_RECOGNITION)
-       {
-               value = File::IsFileExist(_AR_ENGINE_LIB);
-       }
-       else if (key == _VISION_QRCODE_GENERATION)
-       {
-               value = File::IsFileExist(_AR_ENGINE_LIB);
-       }
-       else if (key == _VISION_QRCODE_RECOGNITION)
-       {
-               value = File::IsFileExist(_AR_ENGINE_LIB);
-       }
-       else if (key == _VISION_FACE_RECOGNITION)
-       {
-               value = File::IsFileExist(_AR_ENGINE_LIB);
-       }
-       else if (key == _GRAPHIC_ACCELERATION)
-       {
-               bool graphicAccelerationSupported = false;
-               ret = system_info_get_value_bool(SYSTEM_INFO_KEY_GRAPHICS_HWACCEL_SUPPORTED, &graphicAccelerationSupported);
-               SysTryReturnResult(NID_SYS, ret == SYSTEM_INFO_ERROR_NONE, E_SYSTEM, "It is failed to get the SYSTEM_INFO_KEY_GRAPHICS_HWACCEL_SUPPORTED value.");
-               value = graphicAccelerationSupported;
-       }
-       else if (key == _SCREEN_SIZE_NORMAL_480_800)
-       {
-               //TODO: Update is required.
-               r = GetFromRegistry(_SCREEN_COORDINATE_SYSTEM_PHYSICAL_NORMAL_480X800, value);
-               SysTryReturnResult(NID_SYS, r == E_SUCCESS, E_OBJ_NOT_FOUND, "It is failed to get the key[%ls]", key.GetPointer());
-       }
-       else if (key == _SCREEN_SIZE_NORMAL_720_1280)
-       {
-               //TODO: Update is required.
-               r = GetFromRegistry(_SCREEN_COORDINATE_SYSTEM_PHYSICAL_NORMAL_720X1280, value);
-               SysTryReturnResult(NID_SYS, r == E_SUCCESS, E_OBJ_NOT_FOUND, "It is failed to get the key[%ls]", key.GetPointer());
-       }
-       else if(key == _SCREEN_AUTO_ROTATION)
-       {
-               bool autoRotationSupported = false;
-               ret = system_info_get_value_bool(SYSTEM_INFO_KEY_FEATURE_AUTO_ROTATION_SUPPORTED, &autoRotationSupported);
-               SysTryReturnResult(NID_SYS, ret == SYSTEM_INFO_ERROR_NONE, E_SYSTEM, "It is failed to get the SYSTEM_INFO_KEY_FEATURE_AUTO_ROTATION_SUPPORTED value.");
-               value = autoRotationSupported;
-       }
-       else if(key == _SHELL_APPWIDGET)
-       {
-               value = _PackageManagerImpl::GetInstance()->IsPackageInstalled("gi2qxenosh");
-       }
-       else
-       {
-               r = GetFromRegistry(key, value);
-
-               if (IsFailed(r))
-               {
-                       String tizenKey;
-                       key.SubString(7, tizenKey);
-
-                       ClearLastResult();
-                       unique_ptr< char[] > systemKey(_StringConverter::CopyToCharArrayN(tizenKey));
-                       r = GetLastResult();
-                       SysTryReturn(NID_SYS, r == E_SUCCESS, E_SYSTEM, r, "[%s] StringUtil::StringToUtf8N It is failed", GetErrorMessage(r));
-
-                       bool featureIsSupported = false;
-                       int ret = system_info_get_external_bool(systemKey.get(), &featureIsSupported);
-                       value = featureIsSupported;
-                       SysTryReturnResult(NID_SYS, ret == SYSTEM_INFO_ERROR_NONE, E_OBJ_NOT_FOUND, "[E_OBJ_NOT_FOUND] system_info_get_external_bool : %ls It is failed", key.GetPointer());
-               }
+               bool supported = false;
+               ret = system_info_get_platform_bool(systemKey.get(), &supported);
+               SysTryReturnResult(NID_SYS, ret == 0, E_OBJ_NOT_FOUND, "It is failed to get system information %ls from configration file.", key.GetPointer());
+               value = supported;
        }
 
        return E_SUCCESS;
 }
 
 result
-_SystemInfo::GetPlatformVersion(String& platformVersion)
-{
-       result r = E_SUCCESS;
-       char* pPlatformVersion = null;
-       int ret = system_info_get_value_string(SYSTEM_INFO_KEY_TIZEN_VERSION, &pPlatformVersion);
-       SysTryReturnResult(NID_SYS, ret == SYSTEM_INFO_ERROR_NONE, E_SYSTEM, "[E_SYSTEM] system_info_get_value_string : \"SYSTEM_INFO_KEY_TIZEN_VERSION_NAME\"It is failed");
-
-       r = StringUtil::Utf8ToString(pPlatformVersion, platformVersion);
-       SysTryReturn(NID_SYS, r == E_SUCCESS, E_SYSTEM, r, "[%s] StringUtil::Utf8ToString It is failed", GetErrorMessage(r));
-       free(pPlatformVersion);
-       return r;
-}
-
-result
-_SystemInfo::GetNativeApiVersion(String& nativeApiVersion)
-{
-       return GetFromRegistry(_PLATFORM_NATIVE_API_VERSION, nativeApiVersion);
-}
-
-result
-_SystemInfo::GetWebApiVersion(String& webApiVersion)
-{
-       return GetFromRegistry(_PLATFORM_WEB_API_VERSION, webApiVersion);
-}
-
-result
 _SystemInfo::OnRequestOccured(AppId appId, ArrayList* request, ArrayList* response)
 {
        result r = E_SUCCESS;
@@ -2187,72 +1263,4 @@ _SystemInfo::OnRequestOccured(AppId appId, ArrayList* request, ArrayList* respon
        return E_SUCCESS;
 }
 
-result
-_SystemInfo::GetFromRegistry(const String& key, String& value)
-{
-       result r = E_SUCCESS;
-       _RegistryImpl _reg;
-       String valStr;
-
-       r = _reg.Construct(_REGISTRY_PATH, REG_OPEN_READ_ONLY, null);
-       SysTryReturnResult(NID_SYS, !IsFailed(r), r, " RegistryImpl construct It is failed");
-
-       r = _reg.GetValue(_SYSTEM_INFO_SESSION, key, valStr);
-       SysTryReturnResult(NID_SYS, !IsFailed(r), r, " Registry GetValue[%ls] is failed", key.GetPointer());
-
-       if(valStr == L"true" || valStr == L"false")
-       {
-               return E_OBJ_NOT_FOUND;
-       }
-       else
-       {
-               value = valStr;
-       }
-
-       return E_SUCCESS;
-}
-
-result
-_SystemInfo::GetFromRegistry(const String& key, int& value)
-{
-       result r = E_SUCCESS;
-       _RegistryImpl _reg;
-       String valStr;
-       r = _reg.Construct(_REGISTRY_PATH, REG_OPEN_READ_ONLY, null);
-       SysTryReturnResult(NID_SYS, !IsFailed(r), r, " RegistryImpl construct It is failed");
-
-       r = _reg.GetValue(_SYSTEM_INFO_SESSION, key, valStr);
-       SysTryReturnResult(NID_SYS, !IsFailed(r), r, " Registry GetValue is failed");
-
-       r = Integer::Parse(valStr, value);
-       SysTryReturnResult(NID_SYS, !IsFailed(r), r, " Registry GetValue[%ls] is failed", key.GetPointer());
-       return E_SUCCESS;
-}
-
-result
-_SystemInfo::GetFromRegistry(const String& key, bool& value)
-{
-       result r = E_SUCCESS;
-       _RegistryImpl _reg;
-       String valStr;
-       r = _reg.Construct(_REGISTRY_PATH, REG_OPEN_READ_ONLY, null);
-       SysTryReturnResult(NID_SYS, !IsFailed(r), r, " RegistryImpl construct is failed");
-
-       r = _reg.GetValue(_SYSTEM_INFO_SESSION, key, valStr);
-       SysTryReturnResult(NID_SYS, !IsFailed(r), r, " Registry GetValue[%ls] is failed", key.GetPointer());
-
-       if(valStr == L"true")
-       {
-               value = true;
-       }
-       else if(valStr == L"false")
-       {
-               value = false;
-       }
-       else
-       {
-               return E_OBJ_NOT_FOUND;
-       }
-       return E_SUCCESS;
-}
 } } // Tizen::System
index 59b08f4..bc24aff 100644 (file)
@@ -53,20 +53,8 @@ public:
 
        result GetValue(const Tizen::Base::String& key, bool& value);
 
-       result GetPlatformVersion(Tizen::Base::String& platformVersion);
-
-       result GetNativeApiVersion(Tizen::Base::String& nativeApiVersion);
-
-       result GetWebApiVersion(Tizen::Base::String& webApiVersion);
-
        result OnRequestOccured(Tizen::App::AppId appId, Tizen::Base::Collection::ArrayList* request, Tizen::Base::Collection::ArrayList* response);
 
-private:
-       result GetFromRegistry(const Tizen::Base::String& key, Tizen::Base::String& value);
-
-       result GetFromRegistry(const Tizen::Base::String& key, int& value);
-
-       result GetFromRegistry(const Tizen::Base::String& key, bool& value);
 };
 
 } } // Tizen::System