[Usb] Change internal Dispose functions from protected to internal
[platform/core/csapi/tizenfx.git] / src / Tizen.System.Usb / Usb / UsbConfiguration.cs
index 53acadb..dd4fc66 100755 (executable)
@@ -23,7 +23,7 @@ namespace Tizen.System.Usb
     /// <summary>
     /// Class to manage USB Configuration.
     /// </summary>
-    /// <since_tizen> 4 </since_tizen>
+    /// <since_tizen> 5 </since_tizen>
     public class UsbConfiguration : IDisposable
     {
         internal readonly Interop.UsbConfigHandle _handle;
@@ -39,7 +39,9 @@ namespace Tizen.System.Usb
         /// <summary>
         /// Checks if device is self-powered in given configuration.
         /// </summary>
-        /// <since_tizen> 4 </since_tizen>
+        /// <feature>http://tizen.org/feature/usb.host</feature>
+        /// <exception cref="NotSupportedException">The required feature is not supported.</exception>
+        /// <since_tizen> 5 </since_tizen>
         public bool IsSelfPowered
         {
             get
@@ -52,7 +54,9 @@ namespace Tizen.System.Usb
         /// <summary>
         /// Checks if device in given configuration supports remote wakeup.
         /// </summary>
-        /// <since_tizen> 4 </since_tizen>
+        /// <feature>http://tizen.org/feature/usb.host</feature>
+        /// <exception cref="NotSupportedException">The required feature is not supported.</exception>
+        /// <since_tizen> 5 </since_tizen>
         public bool SupportRemoteWakeup
         {
             get
@@ -65,7 +69,9 @@ namespace Tizen.System.Usb
         /// <summary>
         /// Gets maximum power required in given configuration, in mA.
         /// </summary>
-        /// <since_tizen> 4 </since_tizen>
+        /// <feature>http://tizen.org/feature/usb.host</feature>
+        /// <exception cref="NotSupportedException">The required feature is not supported.</exception>
+        /// <since_tizen> 5 </since_tizen>
         public int MaximumPowerRequired
         {
             get
@@ -78,7 +84,9 @@ namespace Tizen.System.Usb
         /// <summary>
         /// Dictionary mapping interfaces Ids to interface instances for given configuration.
         /// </summary>
-        /// <since_tizen> 4 </since_tizen>
+        /// <feature>http://tizen.org/feature/usb.host</feature>
+        /// <exception cref="NotSupportedException">The required feature is not supported.</exception>
+        /// <since_tizen> 5 </since_tizen>
         public IReadOnlyDictionary<int, UsbInterface> Interfaces
         {
             get
@@ -103,12 +111,18 @@ namespace Tizen.System.Usb
         /// <summary>
         /// Configuration string.
         /// </summary>
-        /// <since_tizen> 4 </since_tizen>
+        /// <feature>http://tizen.org/feature/usb.host</feature>
+        /// <exception cref="NotSupportedException">The required feature is not supported.</exception>
+        /// <exception cref="InvalidOperationException">
+        /// Throws exception if device is disconnected or not opened for operation or busy as its interfaces are currently claimed.
+        /// </exception>
+        /// <since_tizen> 5 </since_tizen>
         public string ConfigurationString
         {
             get
             {
                 ThrowIfDisposed();
+                _parent.ThrowIfDeviceNotOpened();
                 return Interop.DescriptorString(_handle.GetConfigStr);
             }
         }
@@ -116,14 +130,15 @@ namespace Tizen.System.Usb
         /// <summary>
         /// Set this configuration as active configuration for the device.
         /// </summary>
-        /// <exception cref="InvalidOperationException">
-        /// Throws exception if device is disconnected or not opened for operation or busy as its interfaces are currently claimed.
-        /// </exception>
-        /// <since_tizen> 4 </since_tizen>
+        /// <feature>http://tizen.org/feature/usb.host</feature>
+        /// <exception cref="NotSupportedException">The required feature is not supported.</exception>
+        /// <exception cref="InvalidOperationException"> Throws exception if device is disconnected or not opened for operation. </exception>
+        /// <since_tizen> 5 </since_tizen>
         public void SetAsActive()
         {
             ThrowIfDisposed();
-            _handle.SetAsActive();
+            _parent.ThrowIfDeviceNotOpened();
+            _handle.SetAsActive().ThrowIfFailed("Failed to activate this configuration");
         }
 
         internal void ThrowIfDisposed()
@@ -132,14 +147,19 @@ namespace Tizen.System.Usb
             _parent.ThrowIfDisposed();
         }
 
+        internal void ThrowIfDeviceNotOpened()
+        {
+            _parent.ThrowIfDeviceNotOpened();
+        }
+
         #region IDisposable Support
         private bool disposedValue = false;
 
         /// <summary>
         /// Releases all resources used by the ConnectionProfile.
         /// It should be called after finished using of the object.</summary>
-        /// <since_tizen> 4 </since_tizen>
-        protected virtual void Dispose(bool disposing)
+        /// <since_tizen> 5 </since_tizen>
+        internal virtual void Dispose(bool disposing)
         {
             if (!disposedValue)
             {
@@ -151,6 +171,7 @@ namespace Tizen.System.Usb
         /// <summary>
         /// Finalizes an instance of the UsbConfiguration class.
         /// </summary>
+        /// <since_tizen> 5 </since_tizen>
         ~UsbConfiguration()
         {
             Dispose(false);
@@ -159,7 +180,7 @@ namespace Tizen.System.Usb
         /// <summary>
         /// Releases all resources used by the ConnectionProfile.
         /// It should be called after finished using of the object.</summary>
-        /// <since_tizen> 4 </since_tizen>
+        /// <since_tizen> 5 </since_tizen>
         public void Dispose()
         {
             Dispose(true);
@@ -167,4 +188,4 @@ namespace Tizen.System.Usb
         }
         #endregion
     }
-}
\ No newline at end of file
+}