Release 4.0.0-preview1-00243 accepted/tizen/4.0/unified/20170925.071905 submit/tizen_4.0/20170922.150021
authorDotnetBuild <dotnetbuild.tizen@gmail.com>
Fri, 22 Sep 2017 15:00:19 +0000 (00:00 +0900)
committerDotnetBuild <dotnetbuild.tizen@gmail.com>
Fri, 22 Sep 2017 15:00:19 +0000 (00:00 +0900)
32 files changed:
packaging/csapi-tizenfx.spec
pkg/PlatformFileList.txt
pkg/PublicModuleList.txt
src/Tizen.Account.SyncManager/Interop/Interop.Libraries.cs
src/Tizen.Account.SyncManager/Tizen.Account.SyncManager/Enumerations.cs
src/Tizen.Account.SyncManager/Tizen.Account.SyncManager/SyncAdapter.cs
src/Tizen.Account.SyncManager/Tizen.Account.SyncManager/SyncClient.cs
src/Tizen.Account.SyncManager/Tizen.Account.SyncManager/SyncJobData.cs
src/Tizen.Applications.MessagePort/Tizen.Applications.Messages/RemotePort.cs
src/Tizen.Applications.Notification/Tizen.Applications.Notifications/Notification.cs
src/Tizen.Content.MediaContent/Tizen.Content.MediaContent.sln [changed mode: 0755->0644]
src/Tizen.Content.MediaContent/Tizen.Content.MediaContent/Columns.cs
src/Tizen.Multimedia.Recorder/Recorder/Recorder.Capabilities.cs
src/Tizen.Multimedia.Recorder/Recorder/VideoRecorder.Capabilities.cs
src/Tizen.Multimedia.Recorder/Recorder/VideoRecorder.cs
src/Tizen.Multimedia.Remoting/ScreenMirroring/ScreenMirroring.cs
src/Tizen.Multimedia.Util/ThumbnailExtractor/ThumbnailExtractor.cs
src/Tizen.NUI/src/internal/NUIWidgetCoreBackend.cs
src/Tizen.NUI/src/public/BaseComponents/View.cs
src/Tizen.NUI/src/public/BaseHandle.cs
src/Tizen.NUI/src/public/Container.cs
src/Tizen.NUI/src/public/Layer.cs
src/Tizen.NUI/src/public/PaddingType.cs
src/Tizen.NUI/src/public/Rectangle.cs
src/Tizen.Uix.InputMethod/Interop/Interop.InputMethod.cs
src/Tizen.Uix.InputMethod/Tizen.Uix.InputMethod/CursorPositionUpdatedEventArgs.cs
src/Tizen.Uix.InputMethod/Tizen.Uix.InputMethod/InputMethodContext.cs
src/Tizen.Uix.InputMethod/Tizen.Uix.InputMethod/InputMethodDeviceInformation.cs
src/Tizen.Uix.InputMethod/Tizen.Uix.InputMethod/InputMethodEditor.cs
src/Tizen.Uix.InputMethod/Tizen.Uix.InputMethod/OptionWindow.cs [deleted file]
src/Tizen.Uix.InputMethod/Tizen.Uix.InputMethod/OptionWindowCreatedEventArgs.cs [deleted file]
src/Tizen.Uix.InputMethod/Tizen.Uix.InputMethod/OptionWindowDestroyedEventArgs.cs [deleted file]

index 9657166..7b4548f 100644 (file)
@@ -7,7 +7,7 @@
 
 Name:       csapi-tizenfx
 Summary:    Assemblies of Tizen .NET
-Version:    4.0.0.235
+Version:    4.0.0.243
 Release:    1
 Group:      Development/Libraries
 License:    Apache-2.0
@@ -132,7 +132,7 @@ rm -fr %{_tizenfx_bin_path}
 export DOTNET_SKIP_FIRST_TIME_EXPERIENCE=true
 ./build.sh --full
 ./build.sh --dummy
-./build.sh --pack 4.0.0-preview1-00235
+./build.sh --pack 4.0.0-preview1-00243
 
 %install
 mkdir -p %{buildroot}%{DOTNET_ASSEMBLY_PATH}
index 19b1eea..4ce840b 100644 (file)
@@ -5,7 +5,7 @@ res/maps_marker_pin_72.png                         #mobile #mobile-emul #tv
 res/maps_marker_sticker_48.png                     #mobile #mobile-emul #tv
 res/maps_marker_sticker_72.png                     #mobile #mobile-emul #tv
 Tizen.Account.AccountManager.dll                   #mobile #mobile-emul #ivi #wearable
-Tizen.Account.FidoClient.dll                       #mobile #mobile-emul #wearable
+Tizen.Account.FidoClient.dll                       #mobile #mobile-emul #wearable #tv
 Tizen.Account.OAuth2.dll                           #mobile #mobile-emul #ivi #wearable
 Tizen.Account.SyncManager.dll                      #mobile #mobile-emul #wearable
 Tizen.Applications.Alarm.dll                       #common #mobile #mobile-emul #tv #ivi #wearable
index a7ddc1b..0327770 100755 (executable)
@@ -75,6 +75,8 @@ Tizen.Tracer
 Tizen.Uix.InputMethod
 Tizen.Uix.InputMethodManager
 Tizen.Uix.Stt
+Tizen.Uix.SttEngine
 Tizen.Uix.Tts
+Tizen.Uix.TtsEngine
 Tizen.Uix.VoiceControl
 Tizen.WebView
index a1d3410..8e62734 100755 (executable)
@@ -19,6 +19,7 @@ internal static partial class Interop
     /// <summary>
     /// The Wrapper class for maintaining names of dependent native libraries.
     /// </summary>
+    /// <since_tizen> 4 </since_tizen>
     internal static partial class Libraries
     {
         public const string SyncManager = "libcore-sync-client.so.1";
index 7bfb265..4ce919d 100755 (executable)
@@ -21,63 +21,75 @@ namespace Tizen.Account.SyncManager
        /// <summary>
        /// Enumeration for the sync option.
        /// </summary>
+       /// <since_tizen> 4 </since_tizen>
     [Flags]
     public enum SyncOption
     {
         /// <summary>
         /// The sync job will be operated normally.
         /// </summary>
+        /// <since_tizen> 4 </since_tizen>
         None = 0,
 
         /// <summary>
         /// The sync job will be operated as soon as possible.
         /// </summary>
+        /// <since_tizen> 4 </since_tizen>
         Expedited = 0X01,
 
         /// <summary>
         /// The sync job will not be performed again when it fails.
         /// </summary>
+        /// <since_tizen> 4 </since_tizen>
         NoRetry = 0X02,
     }
 
        /// <summary>
        /// Enumeration for the sync period.
        /// </summary>
+       /// <since_tizen> 4 </since_tizen>
     public enum SyncPeriod
     {
         /// <summary>
         /// Sync within 30 minutes.
         /// </summary>
+        /// <since_tizen> 4 </since_tizen>
         ThirtyMin = 0,
 
         /// <summary>
         /// Sync within 1 hour.
         /// </summary>
+        /// <since_tizen> 4 </since_tizen>
         OneHour,
 
         /// <summary>
         /// Sync within 2 hours.
         /// </summary>
+        /// <since_tizen> 4 </since_tizen>
         TwoHours,
 
         /// <summary>
         /// Sync within 3 hours.
         /// </summary>
+        /// <since_tizen> 4 </since_tizen>
         ThreeHours,
 
         /// <summary>
         /// Sync within 6 hours.
         /// </summary>
+        /// <since_tizen> 4 </since_tizen>
         SixHours,
 
         /// <summary>
         /// Sync within 12 hours.
         /// </summary>
+        /// <since_tizen> 4 </since_tizen>
         TwelveHours,
 
         /// <summary>
         /// Sync within 1 day.
         /// </summary>
+        /// <since_tizen> 4 </since_tizen>
         OneDay,
     }
 }
index 4a25dee..5b95f22 100755 (executable)
@@ -23,6 +23,7 @@ namespace Tizen.Account.SyncManager
     /// <summary>
     /// This class contains the delegates to be called upon scheduling a sync operation.
     /// </summary>
+    /// <since_tizen> 4 </since_tizen>
     public class SyncAdapter
     {
         Interop.Adapter.SyncAdapterStartSyncCallback _startSyncCallback;
@@ -31,6 +32,7 @@ namespace Tizen.Account.SyncManager
         /// <summary>
         /// The callback function for the sync adapter's start sync request.
         /// </summary>
+        /// <since_tizen> 4 </since_tizen>
         /// <param name="syncParameters"> The sync job parameters corresponding to the sync request. </param>
         /// <returns> true if the sync operation is success, @c false otherwise. </returns>
         public delegate bool StartSyncCallback(SyncJobData syncParameters);
@@ -38,12 +40,14 @@ namespace Tizen.Account.SyncManager
         /// <summary>
         /// The callback function for the sync adapter's cancel sync request.
         /// </summary>
+        /// <since_tizen> 4 </since_tizen>
         /// <param name="syncParameters"> The sync job parameters corresponding to the sync request. </param>
         public delegate void CancelSyncCallback(SyncJobData syncParameters);
 
         /// <summary>
         /// Sets the client (sync adapter) callback functions.
         /// </summary>
+        /// <since_tizen> 4 </since_tizen>
         /// <param name="startSyncCb"> A callback function to be called by the sync manager for performing the sync operation. </param>
         /// <param name="cancelSyncCb"> A callback function to be called by the sync manager for cancelling the sync operation. </param>
         /// <exception cref="ArgumentNullException"> Thrown when any of the arguments are null. </exception>
@@ -100,6 +104,7 @@ namespace Tizen.Account.SyncManager
         /// <summary>
         /// Unsets the client (sync adapter) callback functions.
         /// </summary>
+        /// <since_tizen> 4 </since_tizen>
         /// <exception cref="System.Exception"> Thrown when sync manager internal error occurs. </exception>
         public void UnsetSyncEventCallbacks()
         {
index f86747b..97c739e 100755 (executable)
@@ -25,11 +25,13 @@ namespace Tizen.Account.SyncManager
     /// The SyncClient APIs for managing the sync operations. Applications will call these APIs to schedule their sync operations.
     /// The sync service maintains sync requests from all the applications and invokes their respective callback methods to perform account synchronization operations.
     /// </summary>
+    /// <since_tizen> 4 </since_tizen>
     public static class SyncClient
     {
         /// <summary>
         /// The constructor.
         /// </summary>
+        /// <since_tizen> 4 </since_tizen>
         static SyncClient()
         {
         }
@@ -37,6 +39,7 @@ namespace Tizen.Account.SyncManager
         /// <summary>
         /// Requests the sync manager to perform one time sync operation.
         /// </summary>
+        /// <since_tizen> 4 </since_tizen>
         /// <param name="request"> The sync job information of the sync job request. </param>
         /// <param name="syncOptions"> Sync options determine a way to operate the sync job and can be used as ORing. </param>
         /// <exception cref="ArgumentNullException"> Thrown when any of the arugments are null. </exception>
@@ -65,6 +68,7 @@ namespace Tizen.Account.SyncManager
         /// <summary>
         /// Requests the sync manager to perform periodic sync operations.
         /// </summary>
+        /// <since_tizen> 4 </since_tizen>
         /// <param name="request"> The sync job information of the sync job request. </param>
         /// <param name="period"> Determines the time interval of the periodic sync. The periodic sync operation can be triggered in that interval, but it does not guarantee the exact time. The minimum value is 30 minutes. </param>
         /// <param name="syncOptions"> Sync options determine a way to operate the sync job and can be used as ORing. </param>
@@ -96,6 +100,7 @@ namespace Tizen.Account.SyncManager
         /// <summary>
         /// Requests the sync manager to perform sync operations whenever the corresponding DB is changed.
         /// </summary>
+        /// <since_tizen> 4 </since_tizen>
         /// <param name="request"> The sync job information of the sync job request. </param>
         /// <param name="syncOptions"> Sync options determine a way to operate the sync job and can be used as ORing. </param>
         /// <privilege>http://tizen.org/privilege/calendar.read</privilege>
@@ -127,6 +132,7 @@ namespace Tizen.Account.SyncManager
         /// <summary>
         /// Gets all the sync jobs registered with the sync manager.
         /// </summary>
+        /// <since_tizen> 4 </since_tizen>
         /// <returns>
         /// Returns the list of SyncJobData corresponding to sync requests.
         /// </returns>
@@ -162,6 +168,7 @@ namespace Tizen.Account.SyncManager
         /// <summary>
         /// Requests the sync manager to remove the corresponding sync job based on the ID.
         /// </summary>
+        /// <since_tizen> 4 </since_tizen>
         /// <param name="id"> A unique value of each sync job, it can be used to search a specific sync job and remove it. </param>
         /// <exception cref="ArgumentException"> Thrown if the input arugments is invalid. </exception>
         public static void RemoveSyncJob(int id)
index e9f88da..08a483d 100755 (executable)
@@ -22,11 +22,13 @@ namespace Tizen.Account.SyncManager
     /// <summary>
     /// This class represents information about the sync job request.
     /// </summary>
+    /// <since_tizen> 4 </since_tizen>
     public class SyncJobData
     {
         /// <summary>
         /// Represents the calendar capability.
         /// </summary>
+        /// <since_tizen> 4 </since_tizen>
         /// <remarks>
         /// If you want to receive notification about the calendar database change, assign it to the SyncJobName property of the SyncJobData object.
         /// </remarks>
@@ -35,6 +37,7 @@ namespace Tizen.Account.SyncManager
         /// <summary>
         /// Represents the contact capability.
         /// </summary>
+        /// <since_tizen> 4 </since_tizen>
         /// <remarks>
         /// If you want to receive notification about the contact database change, assign it to the SyncJobName property of the SyncJobData object.
         /// </remarks>
@@ -43,6 +46,7 @@ namespace Tizen.Account.SyncManager
         /// <summary>
         /// Represents the image capability.
         /// </summary>
+        /// <since_tizen> 4 </since_tizen>
         /// <remarks>
         /// If you want to receive notification about the image database change, assign it to the SyncJobName property of the SyncJobData object.
         /// </remarks>
@@ -51,6 +55,7 @@ namespace Tizen.Account.SyncManager
         /// <summary>
         /// Represents the video capability.
         /// </summary>
+        /// <since_tizen> 4 </since_tizen>
         /// <remarks>
         /// If you want to receive notification about the video database change, assign it to the SyncJobName property of the SyncJobData object.
         /// </remarks>
@@ -59,6 +64,7 @@ namespace Tizen.Account.SyncManager
         /// <summary>
         /// Represents the sound capability.
         /// </summary>
+        /// <since_tizen> 4 </since_tizen>
         /// <remarks>
         /// If you want to receive notification about the sound database change, assign it to the SyncJobName property of the SyncJobData object.
         /// </remarks>
@@ -67,6 +73,7 @@ namespace Tizen.Account.SyncManager
         /// <summary>
         /// Represents the music capability.
         /// </summary>
+        /// <since_tizen> 4 </since_tizen>
         /// <remarks>
         /// If you want to receive notification about the music database change, assign it to the SyncJobName property of the SyncJobData object.
         /// </remarks>
@@ -75,16 +82,19 @@ namespace Tizen.Account.SyncManager
         /// <summary>
         /// The account instance on which the sync operation was requested or @c null in the case of the accountless sync operation.
         /// </summary>
+        /// <since_tizen> 4 </since_tizen>
         public AccountManager.Account Account { get; set; }
 
         /// <summary>
         /// User data which contains an additional information related to the registered sync job.
         /// </summary>
+        /// <since_tizen> 4 </since_tizen>
         public Bundle UserData { get; set; }
 
         /// <summary>
         /// A string representing a sync job which has been operated or capability setting to operate the data change sync job.
         /// </summary>
+        /// <since_tizen> 4 </since_tizen>
         public string SyncJobName { get; set; }
     }
 }
index 5e9f541..561948d 100755 (executable)
@@ -150,7 +150,12 @@ namespace Tizen.Applications.Messages
                 Interop.MessagePort.CheckTrustedRemotePort(_appId, _portName, out _isRunning) :
                 Interop.MessagePort.CheckRemotePort(_appId, _portName, out _isRunning);
 
-            if (ret != (int)MessagePortError.None)
+            if (ret == (int)MessagePortError.CertificateNotMatch)
+            {
+                /* Although Remote port is NotMatch, it is running */
+                _isRunning = true;
+            }
+            else if (ret != (int)MessagePortError.None)
             {
                 MessagePortErrorFactory.ThrowException(ret);
             }
@@ -167,7 +172,7 @@ namespace Tizen.Applications.Messages
         /// <code>
         /// Remote remotePort = new RemotePort("org.tizen.example", "SenderPort", true);
         /// remotePort.RemotePortStateChanged += RemotePortStateChangedCallback;
-        /// static void RemotePortStateChangedCallback(object sender, MessageReceivedEventArgs e)
+        /// static void RemotePortStateChangedCallback(object sender, RemotePortStateChangedEventArgs e)
         /// {
         ///     switch (e.Status)
         ///     {
index 3064dca..4f0a97a 100755 (executable)
@@ -411,7 +411,7 @@ namespace Tizen.Applications.Notifications
                 return;
             }
 
-            if (disposing)
+            if (disposing && Handle != null && Handle.IsInvalid == false)
             {
                 Handle.Dispose();
             }
old mode 100755 (executable)
new mode 100644 (file)
index 5a6ff40..edea6c5
@@ -1,7 +1,7 @@
 
 Microsoft Visual Studio Solution File, Format Version 12.00
 # Visual Studio 15
-VisualStudioVersion = 15.0.26430.12
+VisualStudioVersion = 15.0.26730.15
 MinimumVisualStudioVersion = 10.0.40219.1
 Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Tizen.Content.MediaContent", "Tizen.Content.MediaContent.csproj", "{45518596-2EC9-4624-9AE9-D9A0E6708B8C}"
 EndProject
@@ -9,6 +9,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Tizen", "..\Tizen\Tizen.csp
 EndProject
 Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Tizen.Log", "..\Tizen.Log\Tizen.Log.csproj", "{4FCA7B32-660F-46BF-820F-EBA7C039733F}"
 EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Tizen.System.Information", "..\Tizen.System.Information\Tizen.System.Information.csproj", "{5DC1DFF0-66E9-4FC7-AF13-51148389C8A8}"
+EndProject
 Global
        GlobalSection(SolutionConfigurationPlatforms) = preSolution
                Debug|Any CPU = Debug|Any CPU
@@ -27,8 +29,15 @@ Global
                {4FCA7B32-660F-46BF-820F-EBA7C039733F}.Debug|Any CPU.Build.0 = Debug|Any CPU
                {4FCA7B32-660F-46BF-820F-EBA7C039733F}.Release|Any CPU.ActiveCfg = Release|Any CPU
                {4FCA7B32-660F-46BF-820F-EBA7C039733F}.Release|Any CPU.Build.0 = Release|Any CPU
+               {5DC1DFF0-66E9-4FC7-AF13-51148389C8A8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {5DC1DFF0-66E9-4FC7-AF13-51148389C8A8}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {5DC1DFF0-66E9-4FC7-AF13-51148389C8A8}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {5DC1DFF0-66E9-4FC7-AF13-51148389C8A8}.Release|Any CPU.Build.0 = Release|Any CPU
        EndGlobalSection
        GlobalSection(SolutionProperties) = preSolution
                HideSolutionNode = FALSE
        EndGlobalSection
+       GlobalSection(ExtensibilityGlobals) = postSolution
+               SolutionGuid = {02786CC2-2BE4-450E-958F-FCF4BAEB0B19}
+       EndGlobalSection
 EndGlobal
index e3346d2..e6050de 100644 (file)
@@ -14,6 +14,8 @@
  * limitations under the License.
  */
 
+using System;
+
 namespace Tizen.Content.MediaContent
 {
     /// <summary>
@@ -103,10 +105,10 @@ namespace Tizen.Content.MediaContent
         /// <value>The column name for the date added of media.</value>
         /// <remarks>
         /// The value type is integer.
-        /// <see cref="System.DateTimeOffset"/> needs to be converted into the unix time.
+        /// <see cref="DateTimeOffset"/> needs to be converted into the unix time.
         /// </remarks>
         /// <seealso cref="MediaInfo.DateAdded"/>
-        /// <seealso cref="System.DateTimeOffset.ToUnixTimeSeconds"/>
+        /// <seealso cref="DateTimeOffset.ToUnixTimeSeconds"/>
         public static string DateAdded => "MEDIA_ADDED_TIME";
 
         /// <summary>
@@ -115,10 +117,10 @@ namespace Tizen.Content.MediaContent
         /// <value>The column name for the date modified of media.</value>
         /// <remarks>
         /// The value type is integer.
-        /// <see cref="System.DateTimeOffset"/> needs to be converted into the unix time.
+        /// <see cref="DateTimeOffset"/> needs to be converted into the unix time.
         /// </remarks>
         /// <seealso cref="MediaInfo.DateModified"/>
-        /// <seealso cref="System.DateTimeOffset.ToUnixTimeSeconds"/>
+        /// <seealso cref="DateTimeOffset.ToUnixTimeSeconds"/>
         public static string DateModified => "MEDIA_MODIFIED_TIME";
 
         /// <summary>
@@ -127,10 +129,10 @@ namespace Tizen.Content.MediaContent
         /// <value>The column name for the timeline of media.</value>
         /// <remarks>
         /// The value type is integer.
-        /// <see cref="System.DateTimeOffset"/> needs to be converted into the unix time.
+        /// <see cref="DateTimeOffset"/> needs to be converted into the unix time.
         /// </remarks>
         /// <seealso cref="MediaInfo.Timeline"/>
-        /// <seealso cref="System.DateTimeOffset.ToUnixTimeSeconds"/>
+        /// <seealso cref="DateTimeOffset.ToUnixTimeSeconds"/>
         public static string Timeline => "MEDIA_TIMELINE";
 
         /// <summary>
index 7bb79f7..be0b9a7 100644 (file)
@@ -68,7 +68,15 @@ namespace Tizen.Multimedia
 
         private static Capabilities LoadCapabilities()
         {
-            Native.Create(out var handle).ThrowIfError("Failed to load the capabilities"); ;
+            var ret = Native.Create(out var handle);
+
+            if (ret == RecorderErrorCode.NotSupported)
+            {
+                throw new NotSupportedException("Audio recording is not supported.");
+            }
+
+            ret.ThrowIfError("Failed to load the capabilities");
+
             using (handle)
             {
                 return new Capabilities(handle);
index 7e50b68..9c3e223 100644 (file)
@@ -73,7 +73,7 @@ namespace Tizen.Multimedia
                 return _frontResolutions ?? (_frontResolutions = LoadVideoResolutions(CameraDevice.Front));
             }
 
-            if (device == CameraDevice.Front)
+            if (device == CameraDevice.Rear)
             {
                 return _rearResolutions ?? (_rearResolutions = LoadVideoResolutions(CameraDevice.Rear));
             }
index fa8821a..23b9a83 100755 (executable)
@@ -75,7 +75,9 @@ namespace Tizen.Multimedia
         /// <exception cref="ArgumentException">
         ///     <paramref name="videoCodec"/> is not valid.\n
         ///     -or-\n
-        ///     <paramref name="fileFormat"/> is not valid.
+        ///     <paramref name="fileFormat"/> is not valid.\n
+        ///     -or-\n
+        ///     <paramref name="camera"/> is being used by another object.
         /// </exception>
         /// <exception cref="ObjectDisposedException"><paramref name="camera"/> has been disposed of.</exception>
         /// <exception cref="ArgumentNullException"><paramref name="camera"/> is null.</exception>
index 2d02dc8..4e0bd7d 100644 (file)
@@ -29,6 +29,7 @@ namespace Tizen.Multimedia.Remoting
     /// </summary>
     public class ScreenMirroring : IDisposable, IDisplayable<ScreenMirroringErrorCode>
     {
+        private const string Feature = "http://tizen.org/feature/network.wifi.direct.display";
         private const int Port = 2022;
 
         private IntPtr _handle;
@@ -47,6 +48,11 @@ namespace Tizen.Multimedia.Remoting
             }
         }
 
+        private static bool IsSupported()
+        {
+            return System.Information.TryGetValue(Feature, out bool isSupported) ? isSupported : false;
+        }
+
         /// <summary>
         /// Initializes a new instance of the ScreenMirroring class.
         /// </summary>
@@ -54,6 +60,11 @@ namespace Tizen.Multimedia.Remoting
         /// <exception cref="NotSupportedException">The feature is not supported.</exception>
         public ScreenMirroring()
         {
+            if (IsSupported() == false)
+            {
+                throw new PlatformNotSupportedException($"The feature({Feature}) is not supported on the current device");
+            }
+
             Native.Create(out _handle).ThrowIfError("Failed to create ScreenMirroring.");
 
             _state = new AtomicState();
index c9ff018..4ec117b 100755 (executable)
@@ -199,11 +199,11 @@ namespace Tizen.Multimedia.Util
                         byte[] tmpBuf = new byte[dataSize];
                         Marshal.Copy(thumbData, tmpBuf, 0, dataSize);
 
-                        tcs.SetResult(new ThumbnailExtractionResult(tmpBuf, thumbWidth, thumbHeight));
+                        tcs.TrySetResult(new ThumbnailExtractionResult(tmpBuf, thumbWidth, thumbHeight));
                     }
                     catch (Exception e)
                     {
-                        tcs.SetException(new InvalidOperationException("[" + error + "] Failed to copy data.", e));
+                        tcs.TrySetException(new InvalidOperationException("[" + error + "] Failed to copy data.", e));
                     }
                     finally
                     {
@@ -212,7 +212,7 @@ namespace Tizen.Multimedia.Util
                 }
                 else
                 {
-                    tcs.SetException(error.ToException("Failed to extract."));
+                    tcs.TrySetException(error.ToException("Failed to extract."));
                 }
             };
         }
index ec05e43..0f8ff84 100755 (executable)
@@ -145,7 +145,7 @@ namespace Tizen.NUI
         /// <summary>
         /// Region changed event callback function.
         /// </summary>
-        /// <param name="source">Application instance</param>
+        /// <param name="sender">Application instance</param>
         /// <param name="e">Event argument for RegionChanged</param>
         private void OnRegionChanged(object sender, WidgetApplication.WidgetApplicationEventArgs e)
         {
@@ -158,7 +158,7 @@ namespace Tizen.NUI
         /// <summary>
         /// Memory Low event callback function.
         /// </summary>
-        /// <param name="source">Application instance</param>
+        /// <param name="sender">Application instance</param>
         /// <param name="e">Event argument for MemoryLow</param>
         private void OnMemoryLow(object sender, WidgetApplication.WidgetApplicationEventArgs e)
         {
@@ -171,7 +171,7 @@ namespace Tizen.NUI
         /// <summary>
         /// Language changed event callback function.
         /// </summary>
-        /// <param name="source">Application instance</param>
+        /// <param name="sender">Application instance</param>
         /// <param name="e">Event argument for LanguageChanged</param>
         private void OnLanguageChanged(object sender, WidgetApplication.WidgetApplicationEventArgs e)
         {
@@ -186,7 +186,7 @@ namespace Tizen.NUI
         /// <summary>
         /// Battery low event callback function.
         /// </summary>
-        /// <param name="source">Application instance</param>
+        /// <param name="sender">Application instance</param>
         /// <param name="e">Event argument for BatteryLow</param>
         private void OnBatteryLow(object sender, WidgetApplication.WidgetApplicationEventArgs e)
         {
index 1002e87..e7f728b 100755 (executable)
@@ -43,7 +43,7 @@ namespace Tizen.NUI.BaseComponents
         /// <summary>
         /// Adds a child view to this view.
         /// </summary>
-        /// <seealso cref="Container::Add()">
+        /// <seealso cref="Container.Add()">
         /// </seealso>
         public override void Add(View child)
         {
@@ -55,7 +55,7 @@ namespace Tizen.NUI.BaseComponents
         /// <summary>
         /// Removes a child view from this View. If the view was not a child of this view, this is a no-op.
         /// </summary>
-        /// <seealso cref="Container::Remove()">
+        /// <seealso cref="Container.Remove()">
         /// </seealso>
         public override void Remove(View child)
         {
@@ -67,7 +67,7 @@ namespace Tizen.NUI.BaseComponents
         /// <summary>
         /// Retrieves a child view by index.
         /// </summary>
-        /// <seealso cref="Container::GetChildAt()">
+        /// <seealso cref="Container.GetChildAt()">
         /// </seealso>
         public override View GetChildAt(uint index)
         {
@@ -83,7 +83,7 @@ namespace Tizen.NUI.BaseComponents
         /// <summary>
         /// Retrieves the number of children held by the view.
         /// </summary>
-        /// <seealso cref="Container::GetChildCount()">
+        /// <seealso cref="Container.GetChildCount()">
         /// </seealso>
         protected override uint GetChildCount()
         {
@@ -96,7 +96,7 @@ namespace Tizen.NUI.BaseComponents
         /// <summary>
         /// Gets the views parent.
         /// </summary>
-        /// <seealso cref="Container::GetParent()">
+        /// <seealso cref="Container.GetParent()">
         protected override Container GetParent()
         {
             Container ret;
index 40ed2a1..8857779 100755 (executable)
@@ -256,6 +256,41 @@ namespace Tizen.NUI
             return true;
         }
 
+        public override bool Equals(object o)
+        {
+            if(o == null)
+            {
+                return false;
+            }
+            if(!(o is BaseHandle))
+            {
+                return false;
+            }
+            BaseHandle b = (BaseHandle)o;
+            if (!BaseHandle.ReferenceEquals(this, null) && !BaseHandle.ReferenceEquals(b, null))
+            {
+                // drop into native code to see if both handles point to the same body
+                return this.IsEqual(b);
+            }
+
+            if (BaseHandle.ReferenceEquals(this, null) && !BaseHandle.ReferenceEquals(b, null))
+            {
+                if (b.HasBody()) return false;
+                else return true;
+            }
+            if (!BaseHandle.ReferenceEquals(this, null) && BaseHandle.ReferenceEquals(b, null))
+            {
+                if (this.HasBody()) return false;
+                else return true;
+            }
+
+            return false;
+        }
+
+        public override int GetHashCode()
+        {
+            return base.GetHashCode();
+        }
 
         public BaseHandle() : this(NDalicPINVOKE.new_BaseHandle__SWIG_1())
         {
index 1078d6a..b0632c2 100755 (executable)
@@ -57,8 +57,8 @@ namespace Tizen.NUI
         /// <summary>
         /// Removes a child view from this view. If the view was not a child of this view, this is a no-op.
         /// </summary>
-        /// <pre>This view (the parent) has been initialized. The child view is not the same as the parent view.</pre>
-        /// <param name="child">The child.</param>
+        /// <pre>This View(the parent) has been initialized. The child view is not the same as the parent view.</pre>
+        /// <param name="view">The view to remove</param>
         public abstract void Remove( View view );
 
         /// <summary>
@@ -111,4 +111,4 @@ namespace Tizen.NUI
             }
         }
     }
-} // namespace Tizen.NUI
\ No newline at end of file
+} // namespace Tizen.NUI
index cc9dd25..f3b4967 100755 (executable)
@@ -41,7 +41,7 @@ namespace Tizen.NUI
         /// <summary>
         /// Adds a child view to this layer.
         /// </summary>
-        /// <seealso cref="Container::Add()">
+        /// <seealso cref="Container.Add()">
         /// </seealso>
         public override void Add(View child)
         {
@@ -53,7 +53,7 @@ namespace Tizen.NUI
         /// <summary>
         /// Removes a child view from this layer. If the view was not a child of this layer, this is a no-op.
         /// </summary>
-        /// <seealso cref="Container::Add()">
+        /// <seealso cref="Container.Remove()">
         /// </seealso>
         public override void Remove(View child)
         {
index b0e3019..f5b11af 100755 (executable)
@@ -125,6 +125,30 @@ namespace Tizen.NUI
             return !(a == b);
         }
 
+        public override bool Equals(object o)
+        {
+            if(o == null)
+            {
+                return false;
+            }
+            if(!(o is PaddingType))
+            {
+                return false;
+            }
+            PaddingType p = (PaddingType)o;
+
+            // Return true if the fields match:
+            return (System.Math.Abs(Left - p.Left) < NDalic.GetRangedEpsilon(Left, p.Left)) &&
+                   (System.Math.Abs(Right - p.Right) < NDalic.GetRangedEpsilon(Right, p.Right)) &&
+                   (System.Math.Abs(Bottom - p.Bottom) < NDalic.GetRangedEpsilon(Bottom, p.Bottom)) &&
+                   (System.Math.Abs(Top - p.Top) < NDalic.GetRangedEpsilon(Top, p.Top));
+        }
+
+        public override int GetHashCode()
+        {
+            return base.GetHashCode();
+        }
+
         ///< The Left value
         public float Left
         {
index 0452847..e408d55 100755 (executable)
@@ -124,7 +124,37 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// The Inequality operator.
+        /// Equality operator.
+        /// </summary>
+        /// <param name="o">The object to compare with the current object.</param>
+        /// <returns>True if boxes are exactly same.</returns>
+        public override bool Equals(object o)
+        {
+            if(o == null)
+            {
+                return false;
+            }
+            if(!(o is Rectangle))
+            {
+                return false;
+            }
+            Rectangle r = (Rectangle)o;
+
+            // Return true if the fields match:
+            return X == r.X && Y == r.Y && Width == r.Width && Height == r.Height;
+        }
+
+        /// <summary>
+        /// Serves as the default hash function.
+        /// </summary>
+        /// <returns>A hash code for the current object.</returns>
+        public override int GetHashCode()
+        {
+            return base.GetHashCode();
+        }
+
+        /// <summary>
+        /// Inequality operator.
         /// </summary>
         /// <param name="a">The first rectangle.</param>
         /// <param name="b">The second rectangle.</param>
index ba421a0..5c7d227 100755 (executable)
@@ -120,7 +120,7 @@ internal static partial class Interop
         internal static extern ErrorCode ImeEventSetInputContextResetCb(ImeInputContextResetCb callbackFunction, IntPtr userData);
 
         [DllImport(Libraries.InputMethod, EntryPoint = "ime_event_set_cursor_position_updated_cb")]
-        internal static extern ErrorCode ImeEventSetCursorPositionitionUpdatedCb(ImeCursorPositionitionUpdatedCb callbackFunction, IntPtr userData);
+        internal static extern ErrorCode ImeEventSetCursorPositionUpdatedCb(ImeCursorPositionUpdatedCb callbackFunction, IntPtr userData);
 
         [DllImport(Libraries.InputMethod, EntryPoint = "ime_event_set_language_requested_cb")]
         internal static extern ErrorCode ImeEventSetLanguageRequestedCallbackCb(ImeLanguageRequestedCb callbackFunction, IntPtr userData);
@@ -158,12 +158,6 @@ internal static partial class Interop
         [DllImport(Libraries.InputMethod, EntryPoint = "ime_event_set_accessibility_state_changed_cb")]
         internal static extern ErrorCode ImeEventSetAccessibilityStateChangedCb(ImeAccessibilityStateChangedCb callbackFunction, IntPtr userData);
 
-        [DllImport(Libraries.InputMethod, EntryPoint = "ime_event_set_option_window_created_cb")]
-        internal static extern ErrorCode ImeEventSetOptionWindowCreatedCb(ImeOptionWindowCreatedCb callbackFunction, IntPtr userData);
-
-        [DllImport(Libraries.InputMethod, EntryPoint = "ime_event_set_option_window_destroyed_cb")]
-        internal static extern ErrorCode ImeEventSetOptionWindowDestroyedCb(ImeOptionWindowDestroyedCb callbackFunction, IntPtr userData);
-
         [DllImport(Libraries.InputMethod, EntryPoint = "ime_send_key_event")]
         internal static extern ErrorCode ImeSendKeyEvent(KeyCode keycode, KeyMask keymask, bool forwardKey);
 
@@ -206,12 +200,6 @@ internal static partial class Interop
         [DllImport(Libraries.InputMethod, EntryPoint = "ime_set_size")]
         internal static extern ErrorCode ImeSetSize(int portraitWidth, int portraitHeight, int landscapeWidth, int landscapeHeight);
 
-        [DllImport(Libraries.InputMethod, EntryPoint = "ime_create_option_window")]
-        internal static extern ErrorCode ImeCreateOptionWindow();
-
-        [DllImport(Libraries.InputMethod, EntryPoint = "ime_destroy_option_window")]
-        internal static extern ErrorCode ImeDestroyOptionWindow(IntPtr window);
-
         [DllImport(Libraries.InputMethod, EntryPoint = "ime_context_get_layout")]
         internal static extern ErrorCode ImeContextGetLayout(IntPtr context, out InputPanelLayout layout);
 
@@ -219,7 +207,7 @@ internal static partial class Interop
         internal static extern ErrorCode ImeContextGetLayoutVariation(IntPtr context, out LayoutVariation layoutVariation);
 
         [DllImport(Libraries.InputMethod, EntryPoint = "ime_context_get_cursor_position")]
-        internal static extern ErrorCode ImeContextGetCursorPositionition(IntPtr context, out int cursorPos);
+        internal static extern ErrorCode ImeContextGetCursorPosition(IntPtr context, out int cursorPos);
 
         [DllImport(Libraries.InputMethod, EntryPoint = "ime_context_get_autocapital_type")]
         internal static extern ErrorCode ImeContextGetAutocapitalType(IntPtr context, out AutoCapitalization autocapitalType);
@@ -280,7 +268,7 @@ internal static partial class Interop
         internal delegate void ImeInputContextResetCb(IntPtr userData);
 
         [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-        internal delegate void ImeCursorPositionitionUpdatedCb(int cursorPos, IntPtr userData);
+        internal delegate void ImeCursorPositionUpdatedCb(int cursorPos, IntPtr userData);
 
         [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
         internal delegate void ImeLanguageRequestedCb(IntPtr userData, out IntPtr langCode);
@@ -317,11 +305,5 @@ internal static partial class Interop
 
         [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
         internal delegate void ImeAccessibilityStateChangedCb(bool state, IntPtr userData);
-
-        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-        internal delegate void ImeOptionWindowCreatedCb(IntPtr window, OptionWindowType type, IntPtr userData);
-
-        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-        internal delegate void ImeOptionWindowDestroyedCb(IntPtr window, IntPtr userData);
     }
 }
index afbf445..55e818e 100755 (executable)
 namespace Tizen.Uix.InputMethod
 {
     /// <summary>
-    /// This Class contains data related to CursorPositionitionUpdated Event
+    /// This Class contains data related to CursorPositionUpdated Event
     /// </summary>
-    public class CursorPositionitionUpdatedEventArgs
+    public class CursorPositionUpdatedEventArgs
     {
-        internal CursorPositionitionUpdatedEventArgs(int cursorPos)
+        internal CursorPositionUpdatedEventArgs(int cursorPos)
         {
             CursorPosition = cursorPos;
         }
@@ -35,4 +35,4 @@ namespace Tizen.Uix.InputMethod
             internal set;
         }
     }
-}
\ No newline at end of file
+}
index d5e4ba0..6b573c7 100755 (executable)
@@ -331,15 +331,15 @@ namespace Tizen.Uix.InputMethod
         /// <summary>
         /// Gets the cursor position information.
         /// </summary>
-        public int CursorPositionition
+        public int CursorPosition
         {
             get
             {
                 int cursorPosition;
-                ErrorCode error = ImeContextGetCursorPositionition(_handle, out cursorPosition);
+                ErrorCode error = ImeContextGetCursorPosition(_handle, out cursorPosition);
                 if (error != ErrorCode.None)
                 {
-                    Log.Error(LogTag, "GetCursorPositionition Failed with error " + error);
+                    Log.Error(LogTag, "GetCursorPosition Failed with error " + error);
                     return -1;
                 }
                 return cursorPosition;
index 6f3d788..242e291 100755 (executable)
@@ -122,10 +122,10 @@ namespace Tizen.Uix.InputMethod
     /// <summary>
     /// this class gives the device information, like the name, class and subclass
     /// </summary>
-    public class VoiceControlDeviceInformation
+    public class InputMethodDeviceInformation
     {
         private IntPtr _handle;
-        internal VoiceControlDeviceInformation(IntPtr handle)
+        internal InputMethodDeviceInformation(IntPtr handle)
         {
             _handle = handle;
         }
index 1473c8c..dc48ce4 100755 (executable)
@@ -966,8 +966,8 @@ namespace Tizen.Uix.InputMethod
         private static ImeSurroundingTextUpdatedCb _imeSurroundingTextUpdatedDelegate;
         private static event EventHandler<EventArgs> _inputContextReset;
         private static ImeInputContextResetCb _imeInputContextResetDelegate;
-        private static event EventHandler<CursorPositionitionUpdatedEventArgs> _cursorPositionUpdated;
-        private static ImeCursorPositionitionUpdatedCb _imeCursorPositionitionUpdatedDelegate;
+        private static event EventHandler<CursorPositionUpdatedEventArgs> _cursorPositionUpdated;
+        private static ImeCursorPositionUpdatedCb _imeCursorPositionUpdatedDelegate;
         private static event EventHandler<LanguageSetEventArgs> _langaugeSet;
         private static ImeLanguageSetCb _imeLanguageSetDelegate;
         private static event EventHandler<SetDataEventArgs> _imDataSet;
@@ -985,13 +985,9 @@ namespace Tizen.Uix.InputMethod
         private static ImeRotationChangedCb _imeRotationChangedDelegate;
         private static event EventHandler<AccessibilityStateChangedEventArgs> _accessibilityStateChanged;
         private static ImeAccessibilityStateChangedCb _imeAccessibilityStateChangedDelegate;
-        private static event EventHandler<OptionWindowCreatedEventArgs> _optionWindowCreated;
-        private static ImeOptionWindowCreatedCb _imeOptionWindowCreatedDelegate;
-        private static event EventHandler<OptionWindowDestroyedEventArgs> _optionWindowDestroyed;
-        private static ImeOptionWindowDestroyedCb _imeOptionWindowDestroyedDelegate;
         private static ImeLanguageRequestedCb _imeLanguageRequestedDelegate;
         private static OutAction<string> _languageRequestedDelegate;
-        private static BoolAction<KeyCode, KeyMask, VoiceControlDeviceInformation> _processKeyDelagate;
+        private static BoolAction<KeyCode, KeyMask, InputMethodDeviceInformation> _processKeyDelagate;
         private static ImeImdataRequestedCb _imeImDataRequestedDelegate;
         private static OutArrayAction<byte> _imDataRequestedDelegate;
         private static ImeGeometryRequestedCb _imeGeometryRequestedDelegate;
@@ -1234,21 +1230,21 @@ namespace Tizen.Uix.InputMethod
         /// <summary>
         /// Called when the position of the cursor in an associated text input UI control changes.
         /// </summary>
-        public static event EventHandler<CursorPositionitionUpdatedEventArgs> CursorPositionitionUpdated
+        public static event EventHandler<CursorPositionUpdatedEventArgs> CursorPositionUpdated
         {
             add
             {
                 lock (thisLock)
                 {
-                    _imeCursorPositionitionUpdatedDelegate = (int cursorPos, IntPtr userData) =>
+                    _imeCursorPositionUpdatedDelegate = (int cursorPos, IntPtr userData) =>
                     {
-                        CursorPositionitionUpdatedEventArgs args = new CursorPositionitionUpdatedEventArgs(cursorPos);
+                        CursorPositionUpdatedEventArgs args = new CursorPositionUpdatedEventArgs(cursorPos);
                         _cursorPositionUpdated?.Invoke(null, args);
                     };
-                    ErrorCode error = ImeEventSetCursorPositionitionUpdatedCb(_imeCursorPositionitionUpdatedDelegate, IntPtr.Zero);
+                    ErrorCode error = ImeEventSetCursorPositionUpdatedCb(_imeCursorPositionUpdatedDelegate, IntPtr.Zero);
                     if (error != ErrorCode.None)
                     {
-                        Log.Error(LogTag, "Add CursorPositionitionUpdated Failed with error " + error);
+                        Log.Error(LogTag, "Add CursorPositionUpdated Failed with error " + error);
                     }
                     else
                     {
@@ -1543,80 +1539,6 @@ namespace Tizen.Uix.InputMethod
         }
 
         /// <summary>
-        /// Called to create the option window.
-        /// </summary>
-        /// <remarks>
-        /// if Input panel requests to open the option window, type will be OptionWindowType.Keyboard.
-        /// And if Settings application requests to open it, type will be OptionWindowType.SettingApplication.
-        /// </remarks>
-        public static event EventHandler<OptionWindowCreatedEventArgs> OptionWindowCreated
-        {
-            add
-            {
-                lock (thisLock)
-                {
-                    _imeOptionWindowCreatedDelegate = (IntPtr window, OptionWindowType type, IntPtr userData) =>
-                    {
-                        OptionWindow._handle = window;
-                        OptionWindowCreatedEventArgs args = new OptionWindowCreatedEventArgs(new OptionWindow(), type);
-                        _optionWindowCreated?.Invoke(null, args);
-                    };
-                    ErrorCode error = ImeEventSetOptionWindowCreatedCb(_imeOptionWindowCreatedDelegate, IntPtr.Zero);
-                    if (error != ErrorCode.None)
-                    {
-                        Log.Error(LogTag, "Add OptionWindowCreated Failed with error " + error);
-                    }
-                    else
-                    {
-                        _optionWindowCreated += value;
-                    }
-                }
-            }
-            remove
-            {
-                lock (thisLock)
-                {
-                    _optionWindowCreated -= value;
-                }
-            }
-        }
-
-        /// <summary>
-        /// Called to destroy the option window.
-        /// </summary>
-        public static event EventHandler<OptionWindowDestroyedEventArgs> OptionWindowDestroyed
-        {
-            add
-            {
-                lock (thisLock)
-                {
-                    _imeOptionWindowDestroyedDelegate = (IntPtr window, IntPtr userData) =>
-                    {
-                        OptionWindow._handle = window;
-                        OptionWindowDestroyedEventArgs args = new OptionWindowDestroyedEventArgs(new OptionWindow());
-                        _optionWindowDestroyed?.Invoke(null, args);
-                    };
-                    ErrorCode error = ImeEventSetOptionWindowDestroyedCb(_imeOptionWindowDestroyedDelegate, IntPtr.Zero);
-                    if (error != ErrorCode.None)
-                    {
-                        Log.Error(LogTag, "Add OptionWindowDestroyed Failed with error " + error);
-                    }
-                    else
-                    {
-                        _optionWindowDestroyed += value;
-                    }
-                }
-            }
-            remove
-            {
-                lock (thisLock)
-                {
-                    _optionWindowDestroyed -= value;
-                }
-            }
-        }
-
-        /// <summary>
         /// Sets the languageRequested Action
         /// </summary>
         /// <param name="languageRequested">
@@ -1648,11 +1570,11 @@ namespace Tizen.Uix.InputMethod
         /// The Action is alled when the key event is received from the external devices or SendKey function.
         /// This Event processes the key event before an associated text input UI control does.
         /// </param>
-        public static void SetProcessKeyCallback(BoolAction<KeyCode, KeyMask, VoiceControlDeviceInformation> processKey)
+        public static void SetProcessKeyCallback(BoolAction<KeyCode, KeyMask, InputMethodDeviceInformation> processKey)
         {
             _imeProcessKeyDelegate = (KeyCode keyCode, KeyMask keyMask, IntPtr devInfo, IntPtr userData) =>
             {
-                return _processKeyDelagate(keyCode, keyMask, new VoiceControlDeviceInformation(devInfo));
+                return _processKeyDelagate(keyCode, keyMask, new InputMethodDeviceInformation(devInfo));
             };
             ErrorCode error = ImeEventSetProcessKeyEventCb(_imeProcessKeyDelegate, IntPtr.Zero);
             if (error != ErrorCode.None)
@@ -2072,62 +1994,5 @@ namespace Tizen.Uix.InputMethod
                 throw InputMethodExceptionFactory.CreateException(error);
             }
         }
-
-        /// <summary>
-        /// Requests to create an option window from the input panel.
-        /// The input panel can call this function to open the option window. This function calls OptionWindowCreated Event with OptionWindowType.Keyboard.
-        /// </summary>
-        /// <privilege>
-        /// http://tizen.org/privilege/ime
-        /// </privilege>
-        /// <exception cref="InvalidOperationException">
-        /// This can occur due to the following reasons:
-        /// 1) The application does not have the privilege to call this function
-        /// 2) Operation failed
-        /// 3) IME main loop isn't started yet
-        /// 4) OptionWindowCreated event has not been set
-        /// </exception>
-        /// <precondition>
-        /// OptionWindowCreated and OptionWindowDestroyed event should be set
-        /// </precondition>
-        public static void CreateOptionWindow()
-        {
-            ErrorCode error = ImeCreateOptionWindow();
-            if (error != ErrorCode.None)
-            {
-                Log.Error(LogTag, "CreapteOptionWindow Failed with error " + error);
-                throw InputMethodExceptionFactory.CreateException(error);
-            }
-        }
-
-        /// <summary>
-        /// Requests to destroy an option window.
-        /// The input panel can call this function to close the option window which is created from either the input panel or Settings application.
-        /// </summary>
-        /// <privilege>
-        /// http://tizen.org/privilege/ime
-        /// </privilege>
-        /// <param name="window">The option window to destroy</param>
-        /// <exception cref="InvalidOperationException">
-        /// This can occur due to the following reasons:
-        /// 1) The application does not have the privilege to call this function
-        /// 2) Invalid Parameter
-        /// 3) IME main loop isn't started yet
-        /// </exception>
-        /// <precondition>
-        /// OptionWindowDestroyed Event must be set.
-        /// </precondition>
-        /// <postcondition>
-        /// This function triggers the OptionWindowDestroyed Event if it is set.
-        /// </postcondition>
-        public static void DestroyOptionWindow(OptionWindow window)
-        {
-            ErrorCode error = ImeDestroyOptionWindow(window);
-            if (error != ErrorCode.None)
-            {
-                Log.Error(LogTag, "DestroyOptionWindow Failed with error " + error);
-                throw InputMethodExceptionFactory.CreateException(error);
-            }
-        }
     }
 }
diff --git a/src/Tizen.Uix.InputMethod/Tizen.Uix.InputMethod/OptionWindow.cs b/src/Tizen.Uix.InputMethod/Tizen.Uix.InputMethod/OptionWindow.cs
deleted file mode 100755 (executable)
index ca7510e..0000000
+++ /dev/null
@@ -1,51 +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 Tizen;
-using System;
-using ElmSharp;
-using static Interop.InputMethod;
-
-namespace Tizen.Uix.InputMethod
-{
-    /// <summary>
-    /// Option window Class
-    /// </summary>
-    public class OptionWindow : Window
-    {
-        internal static IntPtr _handle = IntPtr.Zero;
-        private IntPtr _realHandle = IntPtr.Zero;
-
-        internal OptionWindow():base("Option")
-        {
-            _realHandle = _handle;
-        }
-
-        protected override IntPtr CreateHandle(EvasObject parent)
-        {
-            return _handle;
-        }
-
-        /// <summary>
-        /// The type of option window
-        /// </summary>
-        public OptionWindowType Type
-        {
-            get;
-            internal set;
-        }
-    }
-}
\ No newline at end of file
diff --git a/src/Tizen.Uix.InputMethod/Tizen.Uix.InputMethod/OptionWindowCreatedEventArgs.cs b/src/Tizen.Uix.InputMethod/Tizen.Uix.InputMethod/OptionWindowCreatedEventArgs.cs
deleted file mode 100755 (executable)
index 0a32723..0000000
+++ /dev/null
@@ -1,54 +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.
-*/
-
-namespace Tizen.Uix.InputMethod
-{
-    /// <summary>
-    /// Enumeration of the option window type.
-    /// </summary>
-    public enum OptionWindowType
-    {
-        /// <summary>
-        /// Open from Keyboard
-        /// </summary>
-        Keyboard,
-        /// <summary>
-        /// Open from Setting application
-        /// </summary>
-        SettingApplication
-    };
-
-    /// <summary>
-    /// This class contains information related to OptionWindowCreated event
-    /// </summary>
-    public class OptionWindowCreatedEventArgs
-    {
-        internal OptionWindowCreatedEventArgs(OptionWindow window, OptionWindowType type)
-        {
-            Window = window;
-            Window.Type = type;
-        }
-
-        /// <summary>
-        /// The created window object
-        /// </summary>
-        public OptionWindow Window
-        {
-            get;
-            internal set;
-        }
-    }
-}
\ No newline at end of file
diff --git a/src/Tizen.Uix.InputMethod/Tizen.Uix.InputMethod/OptionWindowDestroyedEventArgs.cs b/src/Tizen.Uix.InputMethod/Tizen.Uix.InputMethod/OptionWindowDestroyedEventArgs.cs
deleted file mode 100755 (executable)
index 975f661..0000000
+++ /dev/null
@@ -1,38 +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.
-*/
-
-namespace Tizen.Uix.InputMethod
-{
-    /// <summary>
-    /// This class contains information related to the OptionWindowDestroyed event
-    /// </summary>
-    public class OptionWindowDestroyedEventArgs
-    {
-        internal OptionWindowDestroyedEventArgs(OptionWindow window)
-        {
-            Window = window;
-        }
-
-        /// <summary>
-        /// The window object to destroy
-        /// </summary>
-        public OptionWindow Window
-        {
-            get;
-            internal set;
-        }
-    }
-}
\ No newline at end of file