From: pr.jung Date: Wed, 8 Feb 2017 09:14:10 +0000 (+0900) Subject: Remove RuntimeInformation and SystemInformation APIs X-Git-Tag: accepted/tizen/common/20170216.094257^0 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=2b3a7d35735b9d266881cfe2a12872bc6e7aa33e;p=platform%2Fcore%2Fcsapi%2Fsystem.git Remove RuntimeInformation and SystemInformation APIs Change-Id: Ic5e1944131d005b60e8ff48d3e62cb68f6f0dd6b Signed-off-by: pr.jung --- diff --git a/Tizen.System/Interop/Interop.Device.cs b/Tizen.System/Interop/Interop.Device.cs index 6824092..3862edd 100644 --- a/Tizen.System/Interop/Interop.Device.cs +++ b/Tizen.System/Interop/Interop.Device.cs @@ -33,69 +33,69 @@ internal static partial class Interop internal static partial class Device { // Battery - [DllImport("libcapi-system-device.so.0", EntryPoint = "device_battery_get_percent", CallingConvention = CallingConvention.Cdecl)] + [DllImport(Libraries.Device, EntryPoint = "device_battery_get_percent", CallingConvention = CallingConvention.Cdecl)] public static extern int DeviceBatteryGetPercent(out int percent); - [DllImport("libcapi-system-device.so.0", EntryPoint = "device_battery_is_charging", CallingConvention = CallingConvention.Cdecl)] + [DllImport(Libraries.Device, EntryPoint = "device_battery_is_charging", CallingConvention = CallingConvention.Cdecl)] public static extern int DeviceBatteryIsCharging(out bool charging); - [DllImport("libcapi-system-device.so.0", EntryPoint = "device_battery_get_level_status", CallingConvention = CallingConvention.Cdecl)] + [DllImport(Libraries.Device, EntryPoint = "device_battery_get_level_status", CallingConvention = CallingConvention.Cdecl)] public static extern int DeviceBatteryGetLevelStatus(out int status); // Display - [DllImport("libcapi-system-device.so.0", EntryPoint = "device_display_get_numbers", CallingConvention = CallingConvention.Cdecl)] + [DllImport(Libraries.Device, EntryPoint = "device_display_get_numbers", CallingConvention = CallingConvention.Cdecl)] public static extern int DeviceDisplayGetNumbers(out int device_number); - [DllImport("libcapi-system-device.so.0", EntryPoint = "device_display_get_max_brightness", CallingConvention = CallingConvention.Cdecl)] + [DllImport(Libraries.Device, EntryPoint = "device_display_get_max_brightness", CallingConvention = CallingConvention.Cdecl)] public static extern int DeviceDisplayGetMaxBrightness(int index, out int max_brightness); - [DllImport("libcapi-system-device.so.0", EntryPoint = "device_display_get_brightness", CallingConvention = CallingConvention.Cdecl)] + [DllImport(Libraries.Device, EntryPoint = "device_display_get_brightness", CallingConvention = CallingConvention.Cdecl)] public static extern int DeviceDisplayGetBrightness(int index, out int status); - [DllImport("libcapi-system-device.so.0", EntryPoint = "device_display_set_brightness", CallingConvention = CallingConvention.Cdecl)] + [DllImport(Libraries.Device, EntryPoint = "device_display_set_brightness", CallingConvention = CallingConvention.Cdecl)] public static extern int DeviceDisplaySetBrightness(int index, int brightness); - [DllImport("libcapi-system-device.so.0", EntryPoint = "device_display_get_state", CallingConvention = CallingConvention.Cdecl)] + [DllImport(Libraries.Device, EntryPoint = "device_display_get_state", CallingConvention = CallingConvention.Cdecl)] public static extern int DeviceDisplayGetState(out int state); - [DllImport("libcapi-system-device.so.0", EntryPoint = "device_display_change_state", CallingConvention = CallingConvention.Cdecl)] + [DllImport(Libraries.Device, EntryPoint = "device_display_change_state", CallingConvention = CallingConvention.Cdecl)] public static extern int DeviceDisplayChangeState(int state); // Haptic - [DllImport("libcapi-system-device.so.0", EntryPoint = "device_haptic_get_count", CallingConvention = CallingConvention.Cdecl)] + [DllImport(Libraries.Device, EntryPoint = "device_haptic_get_count", CallingConvention = CallingConvention.Cdecl)] internal static extern int DeviceHapticGetCount(out int device_number); - [DllImport("libcapi-system-device.so.0", EntryPoint = "device_haptic_open", CallingConvention = CallingConvention.Cdecl)] + [DllImport(Libraries.Device, EntryPoint = "device_haptic_open", CallingConvention = CallingConvention.Cdecl)] internal static extern int DeviceHapticOpen(int index, out IntPtr handle); - [DllImport("libcapi-system-device.so.0", EntryPoint = "device_haptic_close", CallingConvention = CallingConvention.Cdecl)] + [DllImport(Libraries.Device, EntryPoint = "device_haptic_close", CallingConvention = CallingConvention.Cdecl)] internal static extern int DeviceHapticClose(IntPtr handle); - [DllImport("libcapi-system-device.so.0", EntryPoint = "device_haptic_vibrate", CallingConvention = CallingConvention.Cdecl)] + [DllImport(Libraries.Device, EntryPoint = "device_haptic_vibrate", CallingConvention = CallingConvention.Cdecl)] internal static extern int DeviceHapticVibrate(IntPtr handle, int duration, int feedback, out IntPtr effect); - [DllImport("libcapi-system-device.so.0", EntryPoint = "device_haptic_stop", CallingConvention = CallingConvention.Cdecl)] + [DllImport(Libraries.Device, EntryPoint = "device_haptic_stop", CallingConvention = CallingConvention.Cdecl)] internal static extern int DeviceHapticStop(IntPtr handle, IntPtr effect); // Led - [DllImport("libcapi-system-device.so.0", EntryPoint = "device_flash_get_max_brightness", CallingConvention = CallingConvention.Cdecl)] + [DllImport(Libraries.Device, EntryPoint = "device_flash_get_max_brightness", CallingConvention = CallingConvention.Cdecl)] internal static extern int DeviceFlashGetMaxBrightness(out int max_brightness); - [DllImport("libcapi-system-device.so.0", EntryPoint = "device_flash_get_brightness", CallingConvention = CallingConvention.Cdecl)] + [DllImport(Libraries.Device, EntryPoint = "device_flash_get_brightness", CallingConvention = CallingConvention.Cdecl)] internal static extern int DeviceFlashGetBrightness(out int brightness); - [DllImport("libcapi-system-device.so.0", EntryPoint = "device_flash_set_brightness", CallingConvention = CallingConvention.Cdecl)] + [DllImport(Libraries.Device, EntryPoint = "device_flash_set_brightness", CallingConvention = CallingConvention.Cdecl)] internal static extern int DeviceFlashSetBrightness(int brightness); - [DllImport("libcapi-system-device.so.0", EntryPoint = "device_led_play_custom", CallingConvention = CallingConvention.Cdecl)] + [DllImport(Libraries.Device, EntryPoint = "device_led_play_custom", CallingConvention = CallingConvention.Cdecl)] internal static extern int DeviceLedPlayCustom(int on, int off, uint color, uint flags); - [DllImport("libcapi-system-device.so.0", EntryPoint = "device_led_stop_custom", CallingConvention = CallingConvention.Cdecl)] + [DllImport(Libraries.Device, EntryPoint = "device_led_stop_custom", CallingConvention = CallingConvention.Cdecl)] internal static extern int DeviceLedStopCustom(); // Power - [DllImport("libcapi-system-device.so.0", EntryPoint = "device_power_request_lock", CallingConvention = CallingConvention.Cdecl)] + [DllImport(Libraries.Device, EntryPoint = "device_power_request_lock", CallingConvention = CallingConvention.Cdecl)] internal static extern int DevicePowerRequestLock(int type, int timeout_ms); - [DllImport("libcapi-system-device.so.0", EntryPoint = "device_power_release_lock", CallingConvention = CallingConvention.Cdecl)] + [DllImport(Libraries.Device, EntryPoint = "device_power_release_lock", CallingConvention = CallingConvention.Cdecl)] internal static extern int DevicePowerReleaseLock(int type); //IR - [DllImport("libcapi-system-device.so.0", EntryPoint = "device_ir_is_available", CallingConvention = CallingConvention.Cdecl)] + [DllImport(Libraries.Device, EntryPoint = "device_ir_is_available", CallingConvention = CallingConvention.Cdecl)] internal static extern int DeviceIRIsAvailable(out bool available); - [DllImport("libcapi-system-device.so.0", EntryPoint = "device_ir_transmit", CallingConvention = CallingConvention.Cdecl)] + [DllImport(Libraries.Device, EntryPoint = "device_ir_transmit", CallingConvention = CallingConvention.Cdecl)] internal static extern int DeviceIRTransmit(int carrierFreequency, int[] pattern, int size); // Callback [UnmanagedFunctionPointer(CallingConvention.Cdecl)] internal delegate bool deviceCallback(int type, IntPtr value, IntPtr data); - [DllImport("libcapi-system-device.so.0", EntryPoint = "device_add_callback", CallingConvention = CallingConvention.Cdecl)] + [DllImport(Libraries.Device, EntryPoint = "device_add_callback", CallingConvention = CallingConvention.Cdecl)] internal static extern int DeviceAddCallback(Tizen.System.EventType type, deviceCallback cb, IntPtr data); - [DllImport("libcapi-system-device.so.0", EntryPoint = "device_remove_callback", CallingConvention = CallingConvention.Cdecl)] + [DllImport(Libraries.Device, EntryPoint = "device_remove_callback", CallingConvention = CallingConvention.Cdecl)] internal static extern int DeviceRemoveCallback(Tizen.System.EventType type, deviceCallback cb); } } diff --git a/Tizen.System/Interop/Interop.Libraries.cs b/Tizen.System/Interop/Interop.Libraries.cs index ddb1884..a2252c4 100644 --- a/Tizen.System/Interop/Interop.Libraries.cs +++ b/Tizen.System/Interop/Interop.Libraries.cs @@ -18,7 +18,6 @@ internal static partial class Interop { internal static partial class Libraries { - internal const string RuntimeInfo = "libcapi-system-runtime-info.so.0"; - internal const string SystemInfo = "libcapi-system-info.so.0"; + internal const string Device = "libcapi-system-device.so.0"; } } diff --git a/Tizen.System/Interop/Interop.RuntimeInfo.cs b/Tizen.System/Interop/Interop.RuntimeInfo.cs deleted file mode 100644 index 21ab05e..0000000 --- a/Tizen.System/Interop/Interop.RuntimeInfo.cs +++ /dev/null @@ -1,104 +0,0 @@ -/* -* Copyright (c) 2016 Samsung Electronics Co., Ltd All Rights Reserved -* -* Licensed under the Apache License, Version 2.0 (the License); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an AS IS BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ - -using System; -using System.Runtime.InteropServices; -using Tizen.System; - -internal static partial class Interop -{ - internal static partial class RuntimeInfo - { - public delegate void RuntimeInformationChangedCallback(RuntimeInformationKey key, IntPtr userData); - - [StructLayout(LayoutKind.Sequential)] - public struct MemoryInfo - { - public readonly int Total; - public readonly int Used; - public readonly int Free; - public readonly int Cache; - public readonly int Swap; - } - - [StructLayout(LayoutKind.Sequential)] - public struct ProcessMemoryInfo - { - public readonly int Vsz; - public readonly int Rss; - public readonly int Pss; - public readonly int SharedClean; - public readonly int SharedDirty; - public readonly int PrivateClean; - public readonly int PrivateDirty; - } - - [StructLayout(LayoutKind.Sequential)] - public struct CpuUsage - { - public readonly double User; - public readonly double System; - public readonly double Nice; - public readonly double IoWait; - } - - [StructLayout(LayoutKind.Sequential)] - public struct ProcessCpuUsage - { - public readonly uint UTime; - public readonly uint STime; - } - - [DllImport(Libraries.RuntimeInfo, EntryPoint = "runtime_info_get_value_int")] - public static extern int GetValue(RuntimeInformationKey key, out int status); - - [DllImport(Libraries.RuntimeInfo, EntryPoint = "runtime_info_get_value_bool")] - public static extern int GetValue(RuntimeInformationKey key, out bool status); - - [DllImport(Libraries.RuntimeInfo, EntryPoint = "runtime_info_get_value_double")] - public static extern int GetValue(RuntimeInformationKey key, out double status); - - [DllImport(Libraries.RuntimeInfo, EntryPoint = "runtime_info_get_value_string")] - public static extern int GetValue(RuntimeInformationKey key, out string status); - - [DllImport(Libraries.RuntimeInfo, EntryPoint = "runtime_info_get_system_memory_info")] - public static extern int GetSystemMemoryInfo(out MemoryInfo memoryInfo); - - [DllImport(Libraries.RuntimeInfo, EntryPoint = "runtime_info_get_process_memory_info")] - public static extern int GetProcessMemoryInfo(int[] pid, int size, out ProcessMemoryInfo[] array); - - [DllImport(Libraries.RuntimeInfo, EntryPoint = "runtime_info_get_cpu_usage")] - public static extern int GetCpuUsage(out CpuUsage cpuUsage); - - [DllImport(Libraries.RuntimeInfo, EntryPoint = "runtime_info_get_process_cpu_usage")] - public static extern int GetProcessCpuUsage(int[] pid, int size, out ProcessCpuUsage[] array); - - [DllImport(Libraries.RuntimeInfo, EntryPoint = "runtime_info_get_processor_count")] - public static extern int GetProcessorCount(out int processorCount); - - [DllImport(Libraries.RuntimeInfo, EntryPoint = "runtime_info_get_processor_current_frequency")] - public static extern int GetProcessorCurrentFrequency(int coreId, out int cpuFreq); - - [DllImport(Libraries.RuntimeInfo, EntryPoint = "runtime_info_get_processor_max_frequency")] - public static extern int GetProcessorMaxFrequency(int coreId, out int cpuFreq); - - [DllImport(Libraries.RuntimeInfo, EntryPoint = "runtime_info_set_changed_cb")] - public static extern int SetRuntimeInfoChangedCallback(RuntimeInformationKey runtimeInfoKey, RuntimeInformationChangedCallback cb, IntPtr userData); - - [DllImport(Libraries.RuntimeInfo, EntryPoint = "runtime_info_unset_changed_cb")] - public static extern int UnsetRuntimeInfoChangedCallback(RuntimeInformationKey runtimeInfoKey); - } -} diff --git a/Tizen.System/Interop/Interop.SystemInfo.cs b/Tizen.System/Interop/Interop.SystemInfo.cs deleted file mode 100644 index de7282e..0000000 --- a/Tizen.System/Interop/Interop.SystemInfo.cs +++ /dev/null @@ -1,79 +0,0 @@ -/* -* Copyright (c) 2016 Samsung Electronics Co., Ltd All Rights Reserved -* -* Licensed under the Apache License, Version 2.0 (the License); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an AS IS BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ - -using System; -using System.Runtime.InteropServices; - -internal static partial class Interop -{ - internal static partial class SystemInfo - { - internal enum ErrorCode - { - None = Tizen.Internals.Errors.ErrorCode.None, - InvalidParameter = Tizen.Internals.Errors.ErrorCode.InvalidParameter, - OutOfMemory = Tizen.Internals.Errors.ErrorCode.OutOfMemory, - IoError = Tizen.Internals.Errors.ErrorCode.IoError, - PermissionDenied = Tizen.Internals.Errors.ErrorCode.PermissionDenied, - NotSupported = Tizen.Internals.Errors.ErrorCode.NoSuchDevice, - } - - internal enum SystemInfoValueType - { - Bool = 0, - Int = 1, - Double = 2, - String = 3, - } - - internal enum SystemInfoType - { - platform, - Custom, - None, - } - - [DllImport(Libraries.SystemInfo, EntryPoint = "system_info_get_platform_type")] - internal static extern ErrorCode SystemInfoGetPlatformType(string key, out SystemInfoValueType type); - - [DllImport(Libraries.SystemInfo, EntryPoint = "system_info_get_custom_type")] - internal static extern ErrorCode SystemInfoGetCustomType(string key, out SystemInfoValueType type); - - [DllImport(Libraries.SystemInfo, EntryPoint = "system_info_get_platform_bool")] - internal static extern ErrorCode SystemInfoGetPlatformBool(string key, out bool value); - - [DllImport(Libraries.SystemInfo, EntryPoint = "system_info_get_platform_int")] - internal static extern ErrorCode SystemInfoGetPlatformInt(string key, out int value); - - [DllImport(Libraries.SystemInfo, EntryPoint = "system_info_get_platform_double")] - internal static extern ErrorCode SystemInfoGetPlatformDouble(string key, out double value); - - [DllImport(Libraries.SystemInfo, EntryPoint = "system_info_get_platform_string")] - internal static extern ErrorCode SystemInfoGetPlatformString(string key, out string value); - - [DllImport(Libraries.SystemInfo, EntryPoint = "system_info_get_custom_bool")] - internal static extern ErrorCode SystemInfoGetCustomBool(string key, out bool value); - - [DllImport(Libraries.SystemInfo, EntryPoint = "system_info_get_custom_int")] - internal static extern ErrorCode SystemInfoGetCustomInt(string key, out int value); - - [DllImport(Libraries.SystemInfo, EntryPoint = "system_info_get_custom_double")] - internal static extern ErrorCode SystemInfoGetCustomDouble(string key, out double value); - - [DllImport(Libraries.SystemInfo, EntryPoint = "system_info_get_custom_string")] - internal static extern ErrorCode SystemInfoGetCustomString(string key, out string value); - } -} diff --git a/Tizen.System/RuntimeInfo/CpuUsage.cs b/Tizen.System/RuntimeInfo/CpuUsage.cs deleted file mode 100644 index e3b28d8..0000000 --- a/Tizen.System/RuntimeInfo/CpuUsage.cs +++ /dev/null @@ -1,74 +0,0 @@ -/* -* Copyright (c) 2016 Samsung Electronics Co., Ltd All Rights Reserved -* -* Licensed under the Apache License, Version 2.0 (the License); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an AS IS BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ - -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace Tizen.System -{ - /// - /// Structure for cpu usage. - /// - public class CpuUsage - { - internal CpuUsage(Interop.RuntimeInfo.CpuUsage usage) - { - IoWait = usage.IoWait; - Nice = usage.IoWait; - System = usage.System; - User = usage.User; - } - /// - /// Time running un-niced user processes (Percent) - /// - public double User { get; internal set; } - /// - /// Time running kernel processes (Percent) - /// - public double System { get; internal set; } - /// - /// Time running niced user processes (Percent) - /// - public double Nice { get; internal set; } - /// - /// Time waiting for I/O completion (Percent) - /// - public double IoWait { get; internal set; } - } - - /// - /// Structure for cpu usage per processes - /// - public class ProcessCpuUsage - { - internal ProcessCpuUsage(Interop.RuntimeInfo.ProcessCpuUsage usage) - { - UTime = usage.UTime; - STime = usage.STime; - } - /// - /// Amount of time that this process has been scheduled in user mode (clock ticks) - /// - public uint UTime { get; internal set; } - /// - /// Amount of time that this process has been scheduled in kernel mode (clock ticks) - /// - public uint STime { get; internal set; } - } -} diff --git a/Tizen.System/RuntimeInfo/Enumerations.cs b/Tizen.System/RuntimeInfo/Enumerations.cs deleted file mode 100644 index b998d3b..0000000 --- a/Tizen.System/RuntimeInfo/Enumerations.cs +++ /dev/null @@ -1,151 +0,0 @@ -/* -* Copyright (c) 2016 Samsung Electronics Co., Ltd All Rights Reserved -* -* Licensed under the Apache License, Version 2.0 (the License); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an AS IS BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ - -using System; - -namespace Tizen.System -{ - /// - /// Enumeration for keys for runtime information - /// - public enum RuntimeInformationKey - { - /// - /// Indicates whether Bluetooth is enabled. - /// - Bluetooth = 2, - /// - /// Indicates whether Wi-Fi hotspot is enabled. - /// - /// - WifiHotspot = 3, - /// - /// Indicates whether Bluetooth tethering is enabled. - /// - BluetoothTethering = 4, - /// - /// Indicates whether USB tethering is enabled. - /// - UsbTethering = 5, - /// - /// Indicates whether the location service is allowed to use location data from GPS satellites. - /// - LocationService = 6, - /// - /// Indicates whether the location service is allowed to use location data from cellular and Wi-Fi. - /// - LocationNetworkPosition = 8, - /// - /// Indicates Whether the packet data through 3G network is enabled. - /// - PacketData = 9, - /// - /// Indicates whether data roaming is enabled. - /// - DataRoaming = 10, - /// - /// Indicates whether vibration is enabled. - /// - Vibration = 12, - /// - /// Indicates whether audio jack is connected. - /// - AudioJack = 17, - /// - /// Indicates the current status of GPS. - /// - /// - Gps = 18, - /// - /// Indicates the battery is currently charging. - /// - BatteryIsCharging = 19, - /// - /// Indicates whether TV out is connected. - /// - TvOut = 20, - /// - /// Indicates the change in audio jack connector type. - /// - /// - AudioJackConnector = 21, - /// - /// Indicates whether charger is connected. - /// - Charger = 24, - /// - /// Indicates whether auto rotation is enabled. - /// - AutoRotation = 26 - } - - /// - /// Enumeration for Wi-Fi status - /// - public enum WifiStatus - { - /// - /// Wi-Fi is disabled. - /// - Disabled, - /// - /// Wi-Fi is enabled and network connection is not established. - /// - Unconnected, - /// - /// Network connection is established in Wi-Fi network. - /// - Connected - } - - /// - /// Enumeration for GPS status. - /// - public enum GpsStatus - { - /// - /// GPS is disabled. - /// - Disabled, - /// - /// GPS is searching for satellites. - /// - Searching, - /// - /// GPS connection is established. - /// - Connected - } - - /// - /// Enumeration for type of audio jack connected. - /// - public enum AudioJackConnectionType - { - /// - /// Audio jack is not connected - /// - Unconnected, - /// - /// 3-conductor wire is connected. - /// - ThreeWireConnected, - /// - /// 4-conductor wire is connected. - /// - FourWireConnected - } -} diff --git a/Tizen.System/RuntimeInfo/MemoryInformation.cs b/Tizen.System/RuntimeInfo/MemoryInformation.cs deleted file mode 100644 index 1490f0d..0000000 --- a/Tizen.System/RuntimeInfo/MemoryInformation.cs +++ /dev/null @@ -1,104 +0,0 @@ -/* -* Copyright (c) 2016 Samsung Electronics Co., Ltd All Rights Reserved -* -* Licensed under the Apache License, Version 2.0 (the License); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an AS IS BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ - -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace Tizen.System -{ - /// - /// Memory information. - /// - public class SystemMemoryInformation - { - internal SystemMemoryInformation(Interop.RuntimeInfo.MemoryInfo info) - { - Total = info.Total; - Used = info.Used; - Cache = info.Cache; - Free = info.Free; - Swap = info.Swap; - } - /// - /// Total memory (KiB) - /// - public int Total { get; internal set; } - /// - /// Used memory (KiB) - /// - public int Used { get; internal set; } - /// - /// Free memory (KiB) - /// - public int Free { get; internal set; } - /// - /// Cache memory (KiB) - /// - public int Cache { get; internal set; } - /// - /// Swap memory (KiB) - /// - public int Swap { get; internal set; } - } - - /// - /// Memory information per processes - /// - public class ProcessMemoryInformation - { - internal ProcessMemoryInformation(Interop.RuntimeInfo.ProcessMemoryInfo info) - { - PrivateClean = info.PrivateClean; - PrivateDirty = info.PrivateDirty; - Pss = info.Pss; - Rss = info.Rss; - SharedClean = info.SharedClean; - SharedDirty = info.SharedDirty; - Vsz = info.Vsz; - } - /// - /// Virtual memory size (KiB) - /// - public int Vsz { get; internal set; } - /// - /// Resident set size (KiB) - /// - public int Rss { get; internal set; } - /// - /// Proportional set size (KiB) - /// - public int Pss { get; internal set; } - /// - /// Not modified and mapped by other processes (KiB) - /// - public int SharedClean { get; internal set; } - /// - /// Modified and mapped by other processes (KiB) - /// - public int SharedDirty { get; internal set; } - /// - /// Not modified and available only to that process (KiB) - /// - public int PrivateClean { get; internal set; } - /// - /// Modified and available only to that process (KiB) - /// - public int PrivateDirty { get; internal set; } - } -} diff --git a/Tizen.System/RuntimeInfo/RuntimeInfoErrorFactory.cs b/Tizen.System/RuntimeInfo/RuntimeInfoErrorFactory.cs deleted file mode 100755 index c21d3ec..0000000 --- a/Tizen.System/RuntimeInfo/RuntimeInfoErrorFactory.cs +++ /dev/null @@ -1,71 +0,0 @@ -/* -* Copyright (c) 2016 Samsung Electronics Co., Ltd All Rights Reserved -* -* Licensed under the Apache License, Version 2.0 (the License); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an AS IS BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ - -using System; -using Tizen.Internals.Errors; - -namespace Tizen.System -{ - internal enum RuntimeInfoError - { - None = ErrorCode.None, - InvalidParameter = ErrorCode.InvalidParameter, - OutOfMemory = ErrorCode.OutOfMemory, - Io = ErrorCode.IoError, - RemoteIo = ErrorCode.RemoteIo, - InvalidOperation = ErrorCode.InvalidOperation, - PermissionDenied = ErrorCode.PermissionDenied, - NotSupported = ErrorCode.NotSupported - } - - internal static class RuntimeInfoErrorFactory - { - internal const string LogTag = "Tizen.System.RuntimeInformation"; - - internal static void ThrowException(int err) - { - RuntimeInfoError error = (RuntimeInfoError)err; - if (error == RuntimeInfoError.OutOfMemory) - { - throw new InvalidOperationException("Out of memory"); - } - else if (error == RuntimeInfoError.InvalidParameter) - { - throw new ArgumentException("Invalid parameter"); - } - else if (error == RuntimeInfoError.Io) - { - throw new ArgumentException("I/O Error"); - } - else if (error == RuntimeInfoError.RemoteIo) - { - throw new ArgumentException("Remote I/O Error"); - } - else if (error == RuntimeInfoError.InvalidOperation) - { - throw new ArgumentException("Invalid operation"); - } - else if (error == RuntimeInfoError.PermissionDenied) - { - throw new ArgumentException("Permission denied"); - } - else if (error == RuntimeInfoError.NotSupported) - { - throw new ArgumentException("Not supported"); - } - } - } -} diff --git a/Tizen.System/RuntimeInfo/RuntimeInformation.cs b/Tizen.System/RuntimeInfo/RuntimeInformation.cs deleted file mode 100644 index b8b0c7c..0000000 --- a/Tizen.System/RuntimeInfo/RuntimeInformation.cs +++ /dev/null @@ -1,878 +0,0 @@ -/* -* Copyright (c) 2016 Samsung Electronics Co., Ltd All Rights Reserved -* -* Licensed under the Apache License, Version 2.0 (the License); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an AS IS BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ - -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace Tizen.System -{ - /// - /// The RuntimeInformation provides functions to obtain runtime information of various system preferences. - /// - public static class RuntimeInformation - { - private static event EventHandler s_bluetoothEnabled; - private static event EventHandler s_wifiHotspotEnabled; - private static event EventHandler s_bluetoothTetheringEnabled; - private static event EventHandler s_usbTetheringEnabled; - private static event EventHandler s_locationServiceEnabled; - private static event EventHandler s_locationNetworkPositionEnabled; - private static event EventHandler s_packetDataEnabled; - private static event EventHandler s_dataRoamingEnabled; - private static event EventHandler s_vibrationEnabled; - private static event EventHandler s_audioJackConnected; - private static event EventHandler s_gpsStatusChanged; - private static event EventHandler s_batteryIsCharging; - private static event EventHandler s_tvOutConnected; - private static event EventHandler s_audioJackConnectorChanged; - private static event EventHandler s_chargerConnected; - private static event EventHandler s_autoRotationEnabled; - - private static readonly Interop.RuntimeInfo.RuntimeInformationChangedCallback s_runtimeInfoChangedCallback = (RuntimeInformationKey key, IntPtr userData) => - { - RuntimeKeyStatusChangedEventArgs eventArgs = new RuntimeKeyStatusChangedEventArgs() - { - Key = key - }; - switch (key) - { - case RuntimeInformationKey.Bluetooth: - { - s_bluetoothEnabled?.Invoke(null, eventArgs); - break; - }; - case RuntimeInformationKey.WifiHotspot: - { - s_wifiHotspotEnabled?.Invoke(null, eventArgs); - break; - }; - case RuntimeInformationKey.BluetoothTethering: - { - s_bluetoothTetheringEnabled?.Invoke(null, eventArgs); - break; - }; - case RuntimeInformationKey.UsbTethering: - { - s_usbTetheringEnabled?.Invoke(null, eventArgs); - break; - }; - case RuntimeInformationKey.LocationService: - { - s_locationServiceEnabled?.Invoke(null, eventArgs); - break; - }; - case RuntimeInformationKey.LocationNetworkPosition: - { - s_locationNetworkPositionEnabled?.Invoke(null, eventArgs); - break; - }; - case RuntimeInformationKey.PacketData: - { - s_packetDataEnabled?.Invoke(null, eventArgs); - break; - }; - case RuntimeInformationKey.DataRoaming: - { - s_dataRoamingEnabled?.Invoke(null, eventArgs); - break; - }; - case RuntimeInformationKey.Vibration: - { - s_vibrationEnabled?.Invoke(null, eventArgs); - break; - }; - case RuntimeInformationKey.AudioJack: - { - s_audioJackConnected?.Invoke(null, eventArgs); - break; - }; - case RuntimeInformationKey.Gps: - { - s_gpsStatusChanged?.Invoke(null, eventArgs); - break; - }; - case RuntimeInformationKey.BatteryIsCharging: - { - s_batteryIsCharging?.Invoke(null, eventArgs); - break; - }; - case RuntimeInformationKey.TvOut: - { - s_tvOutConnected?.Invoke(null, eventArgs); - break; - }; - case RuntimeInformationKey.AudioJackConnector: - { - s_audioJackConnectorChanged?.Invoke(null, eventArgs); - break; - }; - case RuntimeInformationKey.Charger: - { - s_chargerConnected?.Invoke(null, eventArgs); - break; - }; - case RuntimeInformationKey.AutoRotation: - { - s_autoRotationEnabled?.Invoke(null, eventArgs); - break; - }; - default: - break; - }; - }; - - internal static readonly Dictionary s_keyDataTypeMapping = new Dictionary - { - [RuntimeInformationKey.Bluetooth] = typeof(bool), - [RuntimeInformationKey.WifiHotspot] = typeof(bool), - [RuntimeInformationKey.BluetoothTethering] = typeof(bool), - [RuntimeInformationKey.UsbTethering] = typeof(bool), - [RuntimeInformationKey.LocationService] = typeof(bool), - [RuntimeInformationKey.LocationNetworkPosition] = typeof(bool), - [RuntimeInformationKey.PacketData] = typeof(bool), - [RuntimeInformationKey.DataRoaming] = typeof(bool), - [RuntimeInformationKey.Vibration] = typeof(bool), - [RuntimeInformationKey.AudioJack] = typeof(bool), - [RuntimeInformationKey.BatteryIsCharging] = typeof(bool), - [RuntimeInformationKey.TvOut] = typeof(bool), - [RuntimeInformationKey.Charger] = typeof(bool), - [RuntimeInformationKey.AutoRotation] = typeof(bool), - [RuntimeInformationKey.Gps] = typeof(int), - [RuntimeInformationKey.AudioJackConnector] = typeof(int) - }; - - /// - /// This function gets current state of the given key which represents specific runtime information - /// - /// The runtime information key for which the current should be read - /// The current status of the given key - internal static object GetStatus(RuntimeInformationKey key) - { - Type value; - if (!s_keyDataTypeMapping.TryGetValue(key, out value)) - { - RuntimeInfoErrorFactory.ThrowException((int)RuntimeInfoError.InvalidParameter); - } - if (s_keyDataTypeMapping[key] == typeof(int)) - { - int status; - int ret = Interop.RuntimeInfo.GetValue(key, out status); - if (ret != (int)RuntimeInfoError.None) - { - Log.Error(RuntimeInfoErrorFactory.LogTag, "Interop failed to get value for key {0}", key.ToString()); - RuntimeInfoErrorFactory.ThrowException(ret); - } - - return status; - } - else - { - bool status; - int ret = Interop.RuntimeInfo.GetValue(key, out status); - if (ret != (int)RuntimeInfoError.None) - { - Log.Error(RuntimeInfoErrorFactory.LogTag, "Interop failed to get value for key {0}", key.ToString()); - RuntimeInfoErrorFactory.ThrowException(ret); - } - - return status; - } - } - - /// - /// Validates the data type of the status represented by Runtime Key. - /// Note that this is a generic method. - /// - /// The generic type to validate. - /// The runtime information key for which the status type is validated - /// true if the data type matches. - public static bool Is(RuntimeInformationKey key) - { - if (!s_keyDataTypeMapping.ContainsKey(key)) - { - Log.Error(RuntimeInfoErrorFactory.LogTag, "Invalid data type"); - throw new ArgumentException("Invalid parameter"); - } - - return s_keyDataTypeMapping[key] == typeof(T); - } - - /// - /// Gets the status of Runtime Key. - /// Note that this is a generic method. - /// - /// The generic type to return. - /// The runtime information key for which the current should be read - /// The current status of the given key. - public static T GetStatus(RuntimeInformationKey key) - { - return (T)GetStatus(key); - } - - /// - /// The System memory information - /// - public static SystemMemoryInformation GetSystemMemoryInformation() - { - Interop.RuntimeInfo.MemoryInfo info = new Interop.RuntimeInfo.MemoryInfo(); - int ret = Interop.RuntimeInfo.GetSystemMemoryInfo(out info); - if (ret != (int)RuntimeInfoError.None) - { - Log.Error(RuntimeInfoErrorFactory.LogTag, "Interop failed to get System memory information"); - RuntimeInfoErrorFactory.ThrowException(ret); - } - - return new SystemMemoryInformation(info); - } - - /// - /// Gets memory information per processes - /// - /// List of unique process ids - /// List of memory information per processes - public static IDictionary GetProcessMemoryInformation(IEnumerable pid) - { - int[] processArray = pid.ToArray(); - Interop.RuntimeInfo.ProcessMemoryInfo[] processMemoryArray = new Interop.RuntimeInfo.ProcessMemoryInfo[pid.Count()]; - Dictionary map = new Dictionary(); - int ret = Interop.RuntimeInfo.GetProcessMemoryInfo(processArray, pid.Count(), out processMemoryArray); - if (ret != (int)RuntimeInfoError.None) - { - Log.Error(RuntimeInfoErrorFactory.LogTag, "Interop failed to get Process memory information"); - RuntimeInfoErrorFactory.ThrowException(ret); - } - - int idx = 0; - foreach (Interop.RuntimeInfo.ProcessMemoryInfo cur in processMemoryArray) - { - ProcessMemoryInformation processMemory = new ProcessMemoryInformation(cur); - map.Add(processArray[idx], processMemory); - idx++; - } - - return map; - } - - /// - /// The CPU runtime - /// - public static CpuUsage GetCpuUsage() - { - Interop.RuntimeInfo.CpuUsage usage = new Interop.RuntimeInfo.CpuUsage(); - int ret = Interop.RuntimeInfo.GetCpuUsage(out usage); - if (ret != (int)RuntimeInfoError.None) - { - Log.Error(RuntimeInfoErrorFactory.LogTag, "Interop failed to get cpu usage"); - RuntimeInfoErrorFactory.ThrowException(ret); - } - return new CpuUsage(usage); - } - - /// - /// The CPU run time per process - /// - /// List of unique process ids - /// List of CPU usage information per processes - public static IDictionary GetProcessCpuUsage(IEnumerable pid) - { - int[] processArray = pid.ToArray(); - Interop.RuntimeInfo.ProcessCpuUsage[] processCpuUsageArray = new Interop.RuntimeInfo.ProcessCpuUsage[pid.Count()]; - Dictionary map = new Dictionary(); - int ret = Interop.RuntimeInfo.GetProcessCpuUsage(processArray, pid.Count(), out processCpuUsageArray); - if (ret != (int)RuntimeInfoError.None) - { - Log.Error(RuntimeInfoErrorFactory.LogTag, "Interop failed to get Process cpu usage"); - RuntimeInfoErrorFactory.ThrowException(ret); - } - - int idx = 0; - foreach (Interop.RuntimeInfo.ProcessCpuUsage cur in processCpuUsageArray) - { - ProcessCpuUsage processUsage = new ProcessCpuUsage(cur); - map.Add(processArray[idx], processUsage); - idx++; - } - - return map; - } - - /// - /// The number of processors - /// - public static int ProcessorCount - { - get - { - int count; - int ret = Interop.RuntimeInfo.GetProcessorCount(out count); - if (ret != (int)RuntimeInfoError.None) - { - Log.Error(RuntimeInfoErrorFactory.LogTag, "Interop failed to get Processor count"); - RuntimeInfoErrorFactory.ThrowException(ret); - } - - return count; - } - } - - /// - /// Gets the current frequency of processor - /// - /// The index (from 0) of CPU core that you want to know the frequency - /// The current frequency(MHz) of processor - public static int GetProcessorCurrentFrequency(int coreId) - { - int frequency; - int ret = Interop.RuntimeInfo.GetProcessorCurrentFrequency(coreId, out frequency); - if (ret != (int)RuntimeInfoError.None) - { - Log.Error(RuntimeInfoErrorFactory.LogTag, "Interop failed to get Processor current frequency"); - RuntimeInfoErrorFactory.ThrowException(ret); - } - return frequency; - } - - /// - /// Gets the max frequency of processor - /// - /// The index (from 0) of CPU core that you want to know the frequency - /// The max frequency(MHz) of processor - public static int GetProcessorMaxFrequency(int coreId) - { - int frequency; - int ret = Interop.RuntimeInfo.GetProcessorMaxFrequency(coreId, out frequency); - if (ret != (int)RuntimeInfoError.None) - { - Log.Error(RuntimeInfoErrorFactory.LogTag, "Interop failed to get Processor max frequency"); - RuntimeInfoErrorFactory.ThrowException(ret); - } - return frequency; - } - - /// - /// (event) BluetoothEnabled is raised when system preference for bluetooth is changed. - /// - public static event EventHandler BluetoothEnabled - { - add - { - if (s_bluetoothEnabled == null) - { - int ret = Interop.RuntimeInfo.SetRuntimeInfoChangedCallback(RuntimeInformationKey.Bluetooth, s_runtimeInfoChangedCallback, IntPtr.Zero); - if (ret != (int)RuntimeInfoError.None) - { - Log.Error(RuntimeInfoErrorFactory.LogTag, "Interop failed to add event handler"); - RuntimeInfoErrorFactory.ThrowException(ret); - } - } - s_bluetoothEnabled += value; - } - remove - { - s_bluetoothEnabled -= value; - if (s_bluetoothEnabled == null) - { - int ret = Interop.RuntimeInfo.UnsetRuntimeInfoChangedCallback(RuntimeInformationKey.Bluetooth); - if (ret != (int)RuntimeInfoError.None) - { - Log.Error(RuntimeInfoErrorFactory.LogTag, "Interop failed to add event handler"); - RuntimeInfoErrorFactory.ThrowException(ret); - } - } - } - } - /// - /// (event) WifiHotspotEnabled is raised when system preference for Wi-Fi is changed. - /// - public static event EventHandler WifiHotspotEnabled - { - add - { - if (s_wifiHotspotEnabled == null) - { - int ret = Interop.RuntimeInfo.SetRuntimeInfoChangedCallback(RuntimeInformationKey.WifiHotspot, s_runtimeInfoChangedCallback, IntPtr.Zero); - if (ret != (int)RuntimeInfoError.None) - { - Log.Error(RuntimeInfoErrorFactory.LogTag, "Interop failed to add event handler"); - RuntimeInfoErrorFactory.ThrowException(ret); - } - } - s_wifiHotspotEnabled += value; - } - remove - { - s_wifiHotspotEnabled -= value; - if (s_wifiHotspotEnabled == null) - { - int ret = Interop.RuntimeInfo.UnsetRuntimeInfoChangedCallback(RuntimeInformationKey.WifiHotspot); - if (ret != (int)RuntimeInfoError.None) - { - Log.Error(RuntimeInfoErrorFactory.LogTag, "Interop failed to add event handler"); - RuntimeInfoErrorFactory.ThrowException(ret); - } - } - } - } - /// - /// (event) BluetoothTetheringEnabled is raised when system preference for bluetooth tethering is changed. - /// - public static event EventHandler BluetoothTetheringEnabled - { - add - { - if (s_bluetoothTetheringEnabled == null) - { - int ret = Interop.RuntimeInfo.SetRuntimeInfoChangedCallback(RuntimeInformationKey.BluetoothTethering, s_runtimeInfoChangedCallback, IntPtr.Zero); - if (ret != (int)RuntimeInfoError.None) - { - Log.Error(RuntimeInfoErrorFactory.LogTag, "Interop failed to add event handler"); - RuntimeInfoErrorFactory.ThrowException(ret); - } - } - s_bluetoothTetheringEnabled += value; - } - remove - { - s_bluetoothTetheringEnabled -= value; - if (s_bluetoothTetheringEnabled == null) - { - int ret = Interop.RuntimeInfo.UnsetRuntimeInfoChangedCallback(RuntimeInformationKey.BluetoothTethering); - if (ret != (int)RuntimeInfoError.None) - { - Log.Error(RuntimeInfoErrorFactory.LogTag, "Interop failed to add event handler"); - RuntimeInfoErrorFactory.ThrowException(ret); - } - } - } - } - /// - /// (event) UsbTetheringEnabled is raised when system preference for USB terhering is changed. - /// - public static event EventHandler UsbTetheringEnabled - { - add - { - if (s_usbTetheringEnabled == null) - { - int ret = Interop.RuntimeInfo.SetRuntimeInfoChangedCallback(RuntimeInformationKey.UsbTethering, s_runtimeInfoChangedCallback, IntPtr.Zero); - if (ret != (int)RuntimeInfoError.None) - { - Log.Error(RuntimeInfoErrorFactory.LogTag, "Interop failed to add event handler"); - RuntimeInfoErrorFactory.ThrowException(ret); - } - } - s_usbTetheringEnabled += value; - } - remove - { - s_usbTetheringEnabled -= value; - if (s_usbTetheringEnabled == null) - { - int ret = Interop.RuntimeInfo.UnsetRuntimeInfoChangedCallback(RuntimeInformationKey.UsbTethering); - if (ret != (int)RuntimeInfoError.None) - { - Log.Error(RuntimeInfoErrorFactory.LogTag, "Interop failed to add event handler"); - RuntimeInfoErrorFactory.ThrowException(ret); - } - } - } - } - /// - /// (event) LocationServiceEnabled is raised when system preference for location service is changed. - /// - public static event EventHandler LocationServiceEnabled - { - add - { - if (s_locationServiceEnabled == null) - { - int ret = Interop.RuntimeInfo.SetRuntimeInfoChangedCallback(RuntimeInformationKey.LocationService, s_runtimeInfoChangedCallback, IntPtr.Zero); - if (ret != (int)RuntimeInfoError.None) - { - Log.Error(RuntimeInfoErrorFactory.LogTag, "Interop failed to add event handler"); - RuntimeInfoErrorFactory.ThrowException(ret); - } - } - s_locationServiceEnabled += value; - } - remove - { - s_locationServiceEnabled -= value; - if (s_locationServiceEnabled == null) - { - int ret = Interop.RuntimeInfo.UnsetRuntimeInfoChangedCallback(RuntimeInformationKey.LocationService); - RuntimeInfoErrorFactory.ThrowException(ret); - } - } - } - /// - /// (event) LocationNetworkPositionEnabled is raised when system preference for allowing location service to use location data from cellular and Wi-Fi is changed. - /// - public static event EventHandler LocationNetworkPositionEnabled - { - add - { - if (s_locationNetworkPositionEnabled == null) - { - int ret = Interop.RuntimeInfo.SetRuntimeInfoChangedCallback(RuntimeInformationKey.LocationNetworkPosition, s_runtimeInfoChangedCallback, IntPtr.Zero); - if (ret != (int)RuntimeInfoError.None) - { - Log.Error(RuntimeInfoErrorFactory.LogTag, "Interop failed to add event handler"); - RuntimeInfoErrorFactory.ThrowException(ret); - } - } - s_locationNetworkPositionEnabled += value; - } - remove - { - s_locationNetworkPositionEnabled -= value; - if (s_locationNetworkPositionEnabled == null) - { - int ret = Interop.RuntimeInfo.UnsetRuntimeInfoChangedCallback(RuntimeInformationKey.LocationNetworkPosition); - if (ret != (int)RuntimeInfoError.None) - { - Log.Error(RuntimeInfoErrorFactory.LogTag, "Interop failed to add event handler"); - RuntimeInfoErrorFactory.ThrowException(ret); - } - } - } - } - /// - /// (event) PacketDataEnabled is raised when system preference for package data through 3G network is changed. - /// - public static event EventHandler PacketDataEnabled - { - add - { - if (s_packetDataEnabled == null) - { - int ret = Interop.RuntimeInfo.SetRuntimeInfoChangedCallback(RuntimeInformationKey.PacketData, s_runtimeInfoChangedCallback, IntPtr.Zero); - if (ret != (int)RuntimeInfoError.None) - { - Log.Error(RuntimeInfoErrorFactory.LogTag, "Interop failed to add event handler"); - RuntimeInfoErrorFactory.ThrowException(ret); - } - } - s_packetDataEnabled += value; - } - remove - { - s_packetDataEnabled -= value; - if (s_packetDataEnabled == null) - { - int ret = Interop.RuntimeInfo.UnsetRuntimeInfoChangedCallback(RuntimeInformationKey.PacketData); - if (ret != (int)RuntimeInfoError.None) - { - Log.Error(RuntimeInfoErrorFactory.LogTag, "Interop failed to add event handler"); - RuntimeInfoErrorFactory.ThrowException(ret); - } - } - } - } - /// - /// (event) DataRoamingEnabled is raised when system preference for data roaming is changed. - - /// - public static event EventHandler DataRoamingEnabled - { - add - { - if (s_dataRoamingEnabled == null) - { - int ret = Interop.RuntimeInfo.SetRuntimeInfoChangedCallback(RuntimeInformationKey.DataRoaming, s_runtimeInfoChangedCallback, IntPtr.Zero); - if (ret != (int)RuntimeInfoError.None) - { - Log.Error(RuntimeInfoErrorFactory.LogTag, "Interop failed to add event handler"); - RuntimeInfoErrorFactory.ThrowException(ret); - } - } - s_dataRoamingEnabled += value; - } - remove - { - s_dataRoamingEnabled -= value; - if (s_dataRoamingEnabled == null) - { - int ret = Interop.RuntimeInfo.UnsetRuntimeInfoChangedCallback(RuntimeInformationKey.DataRoaming); - if (ret != (int)RuntimeInfoError.None) - { - Log.Error(RuntimeInfoErrorFactory.LogTag, "Interop failed to add event handler"); - RuntimeInfoErrorFactory.ThrowException(ret); - } - } - } - } - /// - /// (event) VibrationEnabled is raised when system preference for vibration is changed. - /// - public static event EventHandler VibrationEnabled - { - add - { - if (s_vibrationEnabled == null) - { - int ret = Interop.RuntimeInfo.SetRuntimeInfoChangedCallback(RuntimeInformationKey.Vibration, s_runtimeInfoChangedCallback, IntPtr.Zero); - if (ret != (int)RuntimeInfoError.None) - { - Log.Error(RuntimeInfoErrorFactory.LogTag, "Interop failed to add event handler"); - RuntimeInfoErrorFactory.ThrowException(ret); - } - } - s_vibrationEnabled += value; - } - remove - { - s_vibrationEnabled -= value; - if (s_vibrationEnabled == null) - { - int ret = Interop.RuntimeInfo.UnsetRuntimeInfoChangedCallback(RuntimeInformationKey.Vibration); - if (ret != (int)RuntimeInfoError.None) - { - Log.Error(RuntimeInfoErrorFactory.LogTag, "Interop failed to add event handler"); - RuntimeInfoErrorFactory.ThrowException(ret); - } - } - } - } - /// - /// (event) AudioJackConnected is raised when audio jack is connected/disconnected. - /// - public static event EventHandler AudioJackConnected - { - add - { - if (s_audioJackConnected == null) - { - int ret = Interop.RuntimeInfo.SetRuntimeInfoChangedCallback(RuntimeInformationKey.AudioJack, s_runtimeInfoChangedCallback, IntPtr.Zero); - if (ret != (int)RuntimeInfoError.None) - { - Log.Error(RuntimeInfoErrorFactory.LogTag, "Interop failed to add event handler"); - RuntimeInfoErrorFactory.ThrowException(ret); - } - } - s_audioJackConnected += value; - } - remove - { - s_audioJackConnected -= value; - if (s_audioJackConnected == null) - { - int ret = Interop.RuntimeInfo.UnsetRuntimeInfoChangedCallback(RuntimeInformationKey.AudioJack); - if (ret != (int)RuntimeInfoError.None) - { - Log.Error(RuntimeInfoErrorFactory.LogTag, "Interop failed to add event handler"); - RuntimeInfoErrorFactory.ThrowException(ret); - } - } - } - } - /// - /// (event) GpsStatusChanged is raised when status of GPS is changed. - /// - public static event EventHandler GpsStatusChanged - { - add - { - if (s_gpsStatusChanged == null) - { - int ret = Interop.RuntimeInfo.SetRuntimeInfoChangedCallback(RuntimeInformationKey.Gps, s_runtimeInfoChangedCallback, IntPtr.Zero); - if (ret != (int)RuntimeInfoError.None) - { - Log.Error(RuntimeInfoErrorFactory.LogTag, "Interop failed to add event handler"); - RuntimeInfoErrorFactory.ThrowException(ret); - } - } - s_gpsStatusChanged += value; - } - remove - { - s_gpsStatusChanged -= value; - if (s_gpsStatusChanged == null) - { - int ret = Interop.RuntimeInfo.UnsetRuntimeInfoChangedCallback(RuntimeInformationKey.Gps); - if (ret != (int)RuntimeInfoError.None) - { - Log.Error(RuntimeInfoErrorFactory.LogTag, "Interop failed to add event handler"); - RuntimeInfoErrorFactory.ThrowException(ret); - } - } - } - } - /// - /// (event) BatteryIsCharging is raised battery is currently charging. - /// - public static event EventHandler BatteryIsCharging - { - add - { - if (s_batteryIsCharging == null) - { - int ret = Interop.RuntimeInfo.SetRuntimeInfoChangedCallback(RuntimeInformationKey.BatteryIsCharging, s_runtimeInfoChangedCallback, IntPtr.Zero); - if (ret != (int)RuntimeInfoError.None) - { - Log.Error(RuntimeInfoErrorFactory.LogTag, "Interop failed to add event handler"); - RuntimeInfoErrorFactory.ThrowException(ret); - } - } - s_batteryIsCharging += value; - } - remove - { - s_batteryIsCharging -= value; - if (s_batteryIsCharging == null) - { - int ret = Interop.RuntimeInfo.UnsetRuntimeInfoChangedCallback(RuntimeInformationKey.BatteryIsCharging); - if (ret != (int)RuntimeInfoError.None) - { - Log.Error(RuntimeInfoErrorFactory.LogTag, "Interop failed to add event handler"); - RuntimeInfoErrorFactory.ThrowException(ret); - } - } - } - } - /// - /// (event) TvOutConnected is raised when TV out is connected/disconnected. - /// - public static event EventHandler TvOutConnected - { - add - { - if (s_tvOutConnected == null) - { - int ret = Interop.RuntimeInfo.SetRuntimeInfoChangedCallback(RuntimeInformationKey.TvOut, s_runtimeInfoChangedCallback, IntPtr.Zero); - if (ret != (int)RuntimeInfoError.None) - { - Log.Error(RuntimeInfoErrorFactory.LogTag, "Interop failed to add event handler"); - RuntimeInfoErrorFactory.ThrowException(ret); - } - } - s_tvOutConnected += value; - } - remove - { - s_tvOutConnected -= value; - if (s_tvOutConnected == null) - { - int ret = Interop.RuntimeInfo.UnsetRuntimeInfoChangedCallback(RuntimeInformationKey.TvOut); - if (ret != (int)RuntimeInfoError.None) - { - Log.Error(RuntimeInfoErrorFactory.LogTag, "Interop failed to add event handler"); - RuntimeInfoErrorFactory.ThrowException(ret); - } - } - } - } - /// - /// (event) AudioJackConnectorChanged is raised when audio jack connection changes. - /// - public static event EventHandler AudioJackConnectorChanged - { - add - { - if (s_audioJackConnectorChanged == null) - { - int ret = Interop.RuntimeInfo.SetRuntimeInfoChangedCallback(RuntimeInformationKey.AudioJackConnector, s_runtimeInfoChangedCallback, IntPtr.Zero); - if (ret != (int)RuntimeInfoError.None) - { - Log.Error(RuntimeInfoErrorFactory.LogTag, "Interop failed to add event handler"); - RuntimeInfoErrorFactory.ThrowException(ret); - } - } - s_audioJackConnectorChanged += value; - } - remove - { - s_audioJackConnectorChanged -= value; - if (s_audioJackConnectorChanged == null) - { - int ret = Interop.RuntimeInfo.UnsetRuntimeInfoChangedCallback(RuntimeInformationKey.AudioJackConnector); - if (ret != (int)RuntimeInfoError.None) - { - Log.Error(RuntimeInfoErrorFactory.LogTag, "Interop failed to add event handler"); - RuntimeInfoErrorFactory.ThrowException(ret); - } - } - } - } - /// - /// (event) ChargerConnected is raised when charger is connected/disconnected. - /// - public static event EventHandler ChargerConnected - { - add - { - if (s_chargerConnected == null) - { - int ret = Interop.RuntimeInfo.SetRuntimeInfoChangedCallback(RuntimeInformationKey.Charger, s_runtimeInfoChangedCallback, IntPtr.Zero); - if (ret != (int)RuntimeInfoError.None) - { - Log.Error(RuntimeInfoErrorFactory.LogTag, "Interop failed to add event handler"); - RuntimeInfoErrorFactory.ThrowException(ret); - } - } - s_chargerConnected += value; - } - remove - { - s_chargerConnected -= value; - if (s_chargerConnected == null) - { - int ret = Interop.RuntimeInfo.UnsetRuntimeInfoChangedCallback(RuntimeInformationKey.Charger); - if (ret != (int)RuntimeInfoError.None) - { - Log.Error(RuntimeInfoErrorFactory.LogTag, "Interop failed to add event handler"); - RuntimeInfoErrorFactory.ThrowException(ret); - } - } - } - } - /// - /// (event) AutoRotationEnabled is raised when system preference for auto rotaion is changed. - /// - public static event EventHandler AutoRotationEnabled - { - add - { - if (s_autoRotationEnabled == null) - { - int ret = Interop.RuntimeInfo.SetRuntimeInfoChangedCallback(RuntimeInformationKey.AutoRotation, s_runtimeInfoChangedCallback, IntPtr.Zero); - if (ret != (int)RuntimeInfoError.None) - { - Log.Error(RuntimeInfoErrorFactory.LogTag, "Interop failed to add event handler"); - RuntimeInfoErrorFactory.ThrowException(ret); - } - } - s_autoRotationEnabled += value; - } - remove - { - s_autoRotationEnabled -= value; - if (s_autoRotationEnabled == null) - { - int ret = Interop.RuntimeInfo.UnsetRuntimeInfoChangedCallback(RuntimeInformationKey.AutoRotation); - if (ret != (int)RuntimeInfoError.None) - { - Log.Error(RuntimeInfoErrorFactory.LogTag, "Interop failed to add event handler"); - RuntimeInfoErrorFactory.ThrowException(ret); - } - } - } - } - } -} diff --git a/Tizen.System/RuntimeInfo/RuntimeKeyStatusChangedEventArgs.cs b/Tizen.System/RuntimeInfo/RuntimeKeyStatusChangedEventArgs.cs deleted file mode 100755 index 0e1c3aa..0000000 --- a/Tizen.System/RuntimeInfo/RuntimeKeyStatusChangedEventArgs.cs +++ /dev/null @@ -1,35 +0,0 @@ -/* -* Copyright (c) 2016 Samsung Electronics Co., Ltd All Rights Reserved -* -* Licensed under the Apache License, Version 2.0 (the License); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an AS IS BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ - -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace Tizen.System -{ - /// - /// RuntimeInfoChangedEventArgs is an extended EventArgs class. This class contains event arguments for runtime event listeners - /// - public class RuntimeKeyStatusChangedEventArgs : EventArgs - { - /// - /// The key indicating the runtime system preference which was changed. - /// - public RuntimeInformationKey Key { get; internal set; } - } -} diff --git a/Tizen.System/SystemInfo/SystemInfo.cs b/Tizen.System/SystemInfo/SystemInfo.cs deleted file mode 100644 index 4d06261..0000000 --- a/Tizen.System/SystemInfo/SystemInfo.cs +++ /dev/null @@ -1,263 +0,0 @@ -/* -* Copyright (c) 2016 Samsung Electronics Co., Ltd All Rights Reserved -* -* Licensed under the Apache License, Version 2.0 (the License); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an AS IS BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ - -using System; - -namespace Tizen.System -{ - /// - /// System Information class. This class has methods which can be used to obtain device information - /// - public static class SystemInfo - { - private const string LogTag = "Tizen.System"; - - private static Interop.SystemInfo.SystemInfoType GetValueType(string key, out Interop.SystemInfo.SystemInfoValueType valueType) - { - Interop.SystemInfo.ErrorCode err = Interop.SystemInfo.SystemInfoGetPlatformType(key, out valueType); - if (err == Interop.SystemInfo.ErrorCode.None) - { - return Interop.SystemInfo.SystemInfoType.platform; - } - - Log.Debug(LogTag, string.Format("Key {0} not in platform system info", key)); - err = Interop.SystemInfo.SystemInfoGetCustomType(key, out valueType); - if (err == Interop.SystemInfo.ErrorCode.None) - { - return Interop.SystemInfo.SystemInfoType.Custom; - } - - Log.Debug(LogTag, string.Format("Key {0} not in custom system info", key)); - return Interop.SystemInfo.SystemInfoType.None; - } - - /// - /// Checks if type of value for given feature is T - /// - /// Type of value for feature key - /// The name of the feature - /// true if type of value for given feature is T, false otherwise - public static bool Is(string key) - { - Interop.SystemInfo.SystemInfoValueType valueType; - Interop.SystemInfo.SystemInfoType keyType = GetValueType(key, out valueType); - if (keyType == Interop.SystemInfo.SystemInfoType.None) - { - return false; - } - - switch (valueType) - { - case Interop.SystemInfo.SystemInfoValueType.Bool: - return typeof(T) == typeof(bool); - case Interop.SystemInfo.SystemInfoValueType.Double: - return typeof(T) == typeof(double); - case Interop.SystemInfo.SystemInfoValueType.Int: - return typeof(T) == typeof(int); - case Interop.SystemInfo.SystemInfoValueType.String: - return typeof(T) == typeof(string); - } - return false; - } - - /// - /// Checks if given key is valid feature - /// - /// The name of the feature - /// true of key is valid, false otherwise - public static bool IsValidKey(string key) - { - Interop.SystemInfo.SystemInfoValueType valueType; - return GetValueType(key, out valueType) != Interop.SystemInfo.SystemInfoType.None; - } - - /// - /// Gets the value of the feature. - /// - /// Type of key value - /// The name of the feature - /// The value of the given feature - /// return true on success otherwise false - public static bool TryGetValue(string key, out T value) - { - bool res = false; - if (typeof(T) == typeof(bool)) - { - bool val; - res = TryGetValue(key, out val); - value = (T)(object)val; - } - else if (typeof(T) == typeof(int)) - { - int val; - res = TryGetValue(key, out val); - value = (T)(object)val; - } - else if (typeof(T) == typeof(double)) - { - double val; - res = TryGetValue(key, out val); - value = (T)(object)val; - } - else if (typeof(T) == typeof(string)) - { - string val; - res = TryGetValue(key, out val); - value = (T)(object)val; - } - else - { - value = default(T); - } - return res; - } - - /// - /// Gets the bool value of the feature. - /// - /// The name of the feature - /// The value of the given feature - /// return true on success otherwise false - public static bool TryGetValue(string key, out bool value) - { - Interop.SystemInfo.SystemInfoValueType valueType; - Interop.SystemInfo.SystemInfoType keyType = GetValueType(key, out valueType); - - Interop.SystemInfo.ErrorCode err = Interop.SystemInfo.ErrorCode.InvalidParameter; - if (keyType == Interop.SystemInfo.SystemInfoType.platform) - { - err = Interop.SystemInfo.SystemInfoGetPlatformBool(key, out value); - } - else if (keyType == Interop.SystemInfo.SystemInfoType.Custom) - { - err = Interop.SystemInfo.SystemInfoGetCustomBool(key, out value); - } else - { - value = false; - } - - if (err != Interop.SystemInfo.ErrorCode.None) - { - Log.Warn(LogTag, string.Format("Failed to get value for key: {0}. err = {1}", key, err)); - return false; - } - - return true; - } - - /// - /// Gets the int value of the feature. - /// - /// The name of the feature - /// The value of the given feature - /// return true on success otherwise false - public static bool TryGetValue(string key, out int value) - { - Interop.SystemInfo.SystemInfoValueType valueType; - Interop.SystemInfo.SystemInfoType keyType = GetValueType(key, out valueType); - - Interop.SystemInfo.ErrorCode err = Interop.SystemInfo.ErrorCode.InvalidParameter; - if (keyType == Interop.SystemInfo.SystemInfoType.platform) - { - err = Interop.SystemInfo.SystemInfoGetPlatformInt(key, out value); - } - else if (keyType == Interop.SystemInfo.SystemInfoType.Custom) - { - err = Interop.SystemInfo.SystemInfoGetCustomInt(key, out value); - } - else - { - value = 0; - } - - if (err != Interop.SystemInfo.ErrorCode.None) - { - Log.Warn(LogTag, string.Format("Failed to get value for key: {0}. err = {1}", key, err)); - return false; - } - - return true; - } - - /// - /// Gets the double value of the feature. - /// - /// The name of the feature - /// The value of the given feature - /// return true on success otherwise false - public static bool TryGetValue(string key, out double value) - { - Interop.SystemInfo.SystemInfoValueType valueType; - Interop.SystemInfo.SystemInfoType keyType = GetValueType(key, out valueType); - - Interop.SystemInfo.ErrorCode err = Interop.SystemInfo.ErrorCode.InvalidParameter; - if (keyType == Interop.SystemInfo.SystemInfoType.platform) - { - err = Interop.SystemInfo.SystemInfoGetPlatformDouble(key, out value); - } - else if (keyType == Interop.SystemInfo.SystemInfoType.Custom) - { - err = Interop.SystemInfo.SystemInfoGetCustomDouble(key, out value); - } - else - { - value = 0; - } - - if (err != Interop.SystemInfo.ErrorCode.None) - { - Log.Warn(LogTag, string.Format("Failed to get value for key: {0}. err = {1}", key, err)); - return false; - } - - return true; - } - - /// - /// Gets the string value of the feature. - /// - /// The name of the feature - /// The value of the given feature - /// return true on success otherwise false - public static bool TryGetValue(string key, out string value) - { - Interop.SystemInfo.SystemInfoValueType valueType; - Interop.SystemInfo.SystemInfoType keyType = GetValueType(key, out valueType); - - Interop.SystemInfo.ErrorCode err = Interop.SystemInfo.ErrorCode.InvalidParameter; - if (keyType == Interop.SystemInfo.SystemInfoType.platform) - { - err = Interop.SystemInfo.SystemInfoGetPlatformString(key, out value); - } - else if (keyType == Interop.SystemInfo.SystemInfoType.Custom) - { - err = Interop.SystemInfo.SystemInfoGetCustomString(key, out value); - } - else - { - value = string.Empty; - } - - if (err != Interop.SystemInfo.ErrorCode.None) - { - Log.Warn(LogTag, string.Format("Failed to get value for key: {0}. err = {1}", key, err)); - return false; - } - - return true; - } - } -} diff --git a/Tizen.System/Tizen.System.Net45.csproj b/Tizen.System/Tizen.System.Net45.csproj index 2f88930..694a53a 100644 --- a/Tizen.System/Tizen.System.Net45.csproj +++ b/Tizen.System/Tizen.System.Net45.csproj @@ -54,17 +54,8 @@ - - - - - - - - - diff --git a/Tizen.System/Tizen.System.csproj b/Tizen.System/Tizen.System.csproj index 828b274..50c2754 100644 --- a/Tizen.System/Tizen.System.csproj +++ b/Tizen.System/Tizen.System.csproj @@ -51,17 +51,8 @@ - - - - - - - - - diff --git a/Tizen.System/Tizen.System.nuspec b/Tizen.System/Tizen.System.nuspec index 9b1a3e2..7550d22 100644 --- a/Tizen.System/Tizen.System.nuspec +++ b/Tizen.System/Tizen.System.nuspec @@ -9,7 +9,7 @@ https://www.tizen.org/ https://developer.tizen.org/sites/default/files/images/tizen-pinwheel-on-light-rgb_64_64.png © Samsung Electronics Co., Ltd All Rights Reserved - Provide classes for SystemInformation, RuntimeInformation, and Device API + Provide classes for Device APIs