/// <summary>
/// Enumeration for the state of account secrecy.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public enum AccountSecrecyState
{
/// <summary>
/// <summary>
/// Same user name exists in your application.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
Duplicated = -0x01000000 | 0x01,
/// <summary>
/// Empty data.
/// <summary>
/// Represents a wrapper class for a unmanaged Account handle.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public sealed class SafeAccountHandle : SafeHandle
{
/// <summary>
/// Initializes a new instance of the SafeAppControlHandle class.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public SafeAccountHandle() : base(IntPtr.Zero, true)
{
}
/// </summary>
/// <param name="existingHandle">An IntPtr object that represents the pre-existing handle to use.</param>
/// <param name="ownsHandle">true to reliably release the handle during the finalization phase; false to prevent reliable release.</param>
+ /// <since_tizen> 4 </since_tizen>
public SafeAccountHandle(IntPtr existingHandle, bool ownsHandle) : base(IntPtr.Zero, ownsHandle)
{
SetHandle(existingHandle);
/// <summary>
/// Gets a value that indicates whether the handle is invalid.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public override bool IsInvalid
{
get { return this.handle == IntPtr.Zero; }
/// }
/// </code>
/// </example>
+ /// <since_tizen> 3 </since_tizen>
public static async Task<IEnumerable<AuthenticatorInformation>> DiscoverAuthenticatorsAsync()
{
IEnumerable<AuthenticatorInformation> result = null;
/// The class contains request parameters for retreiving authorization code in Authorization Code Grant flow.
/// Please refer https://tools.ietf.org/html/rfc6749#section-4.1.1 for more details
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class CodeGrantAuthorizationRequest : AuthorizationRequest
{
/// <summary>
/// <summary>
/// The class contains request parameters for retreiving access token in Implicit Grant flow.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class ImplicitGrantAuthorizationRequest : AuthorizationRequest
{
/// <summary>
/// <summary>
/// Exception wrapper for OAuth2 related exception
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class OAuth2Exception : Exception
{
internal OAuth2Exception()
/// <summary>
/// The constructor
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public ResourceOwnerPwdCredentialsTokenRequest()
{
/// }
/// </code>
/// </example>
+ /// <since_tizen> 3 </since_tizen>
public class Alarm
{
private const string _logTag = "Tizen.Applications.Alarm";
/// <summary>
/// The alarm ID uniquely identifies an alarm.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public int AlarmId
{
get; private set;
/// <remarks>
/// week_flag may be a combination of days, like Tuesday | Friday.
/// </remarks>
+ /// <since_tizen> 3 </since_tizen>
public AlarmWeekFlag WeekFlag
{
get
/// Gets the scheduled time.
/// </summary>
/// <privilege>http://tizen.org/privilege/alarm.get</privilege>
+ /// <since_tizen> 3 </since_tizen>
public DateTime ScheduledDate
{
get
/// Gets the period of time between the recurrent alarms.
/// </summary>
/// <privilege>http://tizen.org/privilege/alarm.get</privilege>
+ /// <since_tizen> 3 </since_tizen>
public int Period
{
get
/// Gets the AppControl to be invoked when the the alarm is triggered.
/// </summary>
/// <privilege>http://tizen.org/privilege/alarm.get</privilege>
+ /// <since_tizen> 3 </since_tizen>
public AppControl AlarmAppControl
{
get
/// </summary>
/// <privilege>http://tizen.org/privilege/alarm.set</privilege>
/// <privilege>http://tizen.org/privilege/alarm.get</privilege>
+ /// <since_tizen> 3 </since_tizen>
public bool Global
{
get
/// <exception cref="UnauthorizedAccessException">Thrown in case of a permission denied due to insufficient privileges.</exception>
/// <exception cref="InvalidOperationException">Thrown in case of any internal error.</exception>
/// <privilege>http://tizen.org/privilege/alarm.set</privilege>
+ /// <since_tizen> 3 </since_tizen>
public void Cancel()
{
AlarmError ret = (AlarmError)Interop.Alarm.CancelAlarm(AlarmId);
/// <summary>
/// Enumeration for alarm week flag, the days of the week.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
[Flags]
public enum AlarmWeekFlag
{
/// }
/// </code>
/// </example>
+ /// <since_tizen> 3 </since_tizen>
public static class AlarmManager
{
/// <exception cref="UnauthorizedAccessException">Thrown in case of a permission denied.</exception>
/// <exception cref="InvalidOperationException">Thrown in case of any internal error.</exception>
/// <privilege>http://tizen.org/privilege/alarm.set</privilege>
+ /// <since_tizen> 3 </since_tizen>
public static Alarm CreateAlarm(int delay, int period, AppControl appControl)
{
Alarm alarm = null;
/// <exception cref="UnauthorizedAccessException">Thrown in case of a permission denied.</exception>
/// <exception cref="InvalidOperationException">Thrown in case of any internal error.</exception>
/// <privilege>http://tizen.org/privilege/alarm.set</privilege>
+ /// <since_tizen> 3 </since_tizen>
public static Alarm CreateAlarm(int delay, AppControl appControl)
{
Alarm alarm = null;
/// <exception cref="UnauthorizedAccessException">Thrown in case of a permission denied.</exception>
/// <exception cref="InvalidOperationException">Thrown in case of any internal error.</exception>
/// <privilege>http://tizen.org/privilege/alarm.set</privilege>
+ /// <since_tizen> 3 </since_tizen>
public static Alarm CreateAlarm(DateTime value, AppControl appControl)
{
Alarm alarm = null;
/// <exception cref="UnauthorizedAccessException">Thrown in case of a permission denied.</exception>
/// <exception cref="InvalidOperationException">Thrown in case of any internal error.</exception>
/// <privilege>http://tizen.org/privilege/alarm.set</privilege>
+ /// <since_tizen> 3 </since_tizen>
public static Alarm CreateAlarm(DateTime value, AlarmWeekFlag weekFlag, AppControl appControl)
{
Alarm alarm = null;
/// <exception cref="InvalidOperationException">Thrown in case of any internal error.</exception>
/// <privilege>http://tizen.org/privilege/alarm.set</privilege>
/// <privilege>http://tizen.org/privilege/notification</privilege>
+ /// <since_tizen> 3 </since_tizen>
public static Alarm CreateAlarm(DateTime dateTime, Notification notification)
{
Alarm alarm = null;
/// <exception cref="InvalidOperationException">Thrown in case of any internal error.</exception>
/// <privilege>http://tizen.org/privilege/alarm.set</privilege>
/// <privilege>http://tizen.org/privilege/notification</privilege>
+ /// <since_tizen> 3 </since_tizen>
public static Alarm CreateAlarm(int delay, int period, Notification notification)
{
Alarm alarm = null;
/// <exception cref="InvalidOperationException">Thrown in case of any internal error.</exception>
/// <privilege>http://tizen.org/privilege/alarm.set</privilege>
/// <privilege>http://tizen.org/privilege/notification</privilege>
+ /// <since_tizen> 3 </since_tizen>
public static Alarm CreateAlarm(DateTime dateTime, AlarmWeekFlag weekFlag, Notification notification)
{
Alarm alarm = null;
/// <exception cref="InvalidOperationException">Thrown in case of any internal error.</exception>
/// <privilege>http://tizen.org/privilege/alarm.set</privilege>
/// <privilege>http://tizen.org/privilege/notification</privilege>
+ /// <since_tizen> 3 </since_tizen>
public static Alarm CreateAlarm(int delay, Notification notification)
{
Alarm alarm = null;
/// <exception cref="UnauthorizedAccessException">Thrown in case of a permission denied.</exception>
/// <exception cref="InvalidOperationException">Thrown in case of any internal error.</exception>
/// <privilege>http://tizen.org/privilege/alarm.set</privilege>
+ /// <since_tizen> 3 </since_tizen>
public static void CancelAll()
{
AlarmError ret = (AlarmError)Interop.Alarm.CancelAllAlarms();
/// <exception cref="UnauthorizedAccessException">Thrown in case of a permission denied.</exception>
/// <exception cref="InvalidOperationException">Thrown in case of any internal error.</exception>
/// <privilege>http://tizen.org/privilege/alarm.get</privilege>
+ /// <since_tizen> 4 </since_tizen>
public static IEnumerable<Alarm> GetAllScheduledAlarms()
{
List<Alarm> alarms = new List<Alarm>();
/// </summary>
/// <returns>The current system time.</returns>
/// <exception cref="InvalidOperationException">Thrown in case of any internal error.</exception>
+ /// <since_tizen> 3 </since_tizen>
public static DateTime GetCurrentTime()
{
DateTime time;
/// <summary>
/// Represents immutable class for attach panel.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
/// <param name="conformant">The caller's conformant</param>
/// <exception cref="OutOfMemoryException">Thrown when an attempt to allocate memory fails.</exception>
/// <exception cref="InvalidOperationException">Thrown when the AttachPanel is already exist or the <paramref name="conformant"/> is not a conformant object</exception>
/// <summary>
/// Represents immutable class for attach panel.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
/// <param name="conformant">The caller's conformant</param>
/// <exception cref="OutOfMemoryException">Thrown when an attempt to allocate memory fails.</exception>
/// <exception cref="InvalidOperationException">Thrown when the AttachPanel is already exist or the <paramref name="conformant"/> is not a conformant object</exception>
/// Gets the state of the AttachPanel.
/// </summary>
/// <value>The AttachPanel window state</value>
+ /// <since_tizen> 4 </since_tizen>
public StateType State
{
get
/// Gets the value that indicates whether the AttachPanel is visible.
/// </summary>
/// <value>visible value of AttachPanel state</value>
+ /// <since_tizen> 4 </since_tizen>
public bool Visible
{
get
/// <exception cref="UnauthorizedAccessException">Thrown when application does not have privilege to access this method</exception>
/// <exception cref="NotSupportedException">Thrown when the device does not supported the <paramref name="category"/> feature </exception>
/// <exception cref="InvalidOperationException">Thrown when the AttachPanel is not created yet or already destroyed</exception>
+ /// <since_tizen> 4 </since_tizen>
public void AddCategory(ContentCategory category, Bundle extraData)
{
IntPtr bundle = IntPtr.Zero;
/// <param name="category">The ContentCategory adding in the AttachPanel</param>
/// <exception cref="ArgumentOutOfRangeException">Thrown when the <paramref name="category"/> is not a valid category</exception>
/// <exception cref="InvalidOperationException">Thrown when the AttachPanel is not created yet or already destroyed</exception>
+ /// <since_tizen> 4 </since_tizen>
public void RemoveCategory(ContentCategory category)
{
Interop.AttachPanel.ErrorCode err = Interop.AttachPanel.RemoveCategory(_attachPanel, (int)category);
/// <exception cref="ArgumentOutOfRangeException">Thrown when the <paramref name="category"/> is not a valid category</exception>
/// <exception cref="InvalidOperationException">Thrown when the AttachPanel is destroyed</exception>
/// <exception cref="OutOfMemoryException">Thrown when an attempt to allocate memory fails.</exception>
+ /// <since_tizen> 4 </since_tizen>
public void SetExtraData(ContentCategory category, Bundle extraData)
{
if (extraData == null)
/// Shows the attach panel with animations
/// </summary>
/// <exception cref="InvalidOperationException">Thrown when the AttachPanel is destroyed</exception>
+ /// <since_tizen> 4 </since_tizen>
public void Show()
{
Interop.AttachPanel.ErrorCode err = Interop.AttachPanel.Show(_attachPanel);
/// </summary>
/// <param name="animation">A flag which turn on or turn off the animation while attach panel showing.</param>
/// <exception cref="InvalidOperationException">Thrown when the AttachPanel is destroyed</exception>
+ /// <since_tizen> 4 </since_tizen>
public void Show(bool animation)
{
if (animation)
/// Hides the attach panel with animations
/// </summary>
/// <exception cref="InvalidOperationException">Thrown when the AttachPanel is destroyed</exception>
+ /// <since_tizen> 4 </since_tizen>
public void Hide()
{
Interop.AttachPanel.ErrorCode err = Interop.AttachPanel.Hide(_attachPanel);
/// </summary>
/// <param name="animation">A flag which turn on or turn off the animation while attach panel hiding.</param>
/// <exception cref="InvalidOperationException">Thrown when the AttachPanel is destroyed</exception>
+ /// <since_tizen> 4 </since_tizen>
public void Hide(bool animation)
{
if (animation)
/// <summary>
/// Occurs when reserved events are published from the panel-side.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public event EventHandler<StateEventArgs> EventChanged
{
add
/// <summary>
/// Occurs when an user selects and confirms something to attach in the AttachPanel
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public event EventHandler<ResultEventArgs> ResultCallback
{
add
/// <summary>
/// Attach panel internal implementation
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public partial class AttachPanel
{
private static IntPtr _attachPanel;
/// <summary>
/// Enumeration for the attach panel content category.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public enum ContentCategory
{
/// <summary>
/// <summary>
/// Enumeration for the attach panel event.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public enum EventType
{
/// <summary>
/// <summary>
/// Class for event arguments of the result event
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public class ResultEventArgs : EventArgs
{
private readonly ContentCategory _category;
/// <summary>
/// Results are from the content category.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public ContentCategory Category
{
get
/// Property for result
/// The caller app has to use ExtraData property to get received data.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public AppControl Result
{
get
/// <summary>
/// Property for result of AppControl
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public AppControlReplyResult ResultCode
{
get
/// <summary>
/// Class for event arguments of the state event
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public class StateEventArgs : EventArgs
{
private readonly EventType _eventType;
/// <summary>
/// Property for event type.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public EventType EventType
{
get
/// <summary>
/// Enumeration for the attach panel's window state.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public enum StateType
{
/// <summary>
/// <summary>
/// The class containing common properties of the Badge.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class Badge
{
private int count = 0;
/// <summary>
/// Property for display visibility. True if the badge display visible, otherwise false..
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public bool Visible{ get; set; }
private bool IsNegativeNumber(int number)
/// <summary>
/// The class for badge operation.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public static class BadgeControl
{
private static event EventHandler<BadgeEventArgs> s_changed;
/// <summary>
/// Removes the badge information.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
/// <param name="badge">The Badge object.</param>
/// <feature>http://tizen.org/feature/badge</feature>
/// <privilege>http://tizen.org/privilege/notification</privilege>
/// <summary>
/// Adds the badge information.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
/// <param name="badge">The Badge object.</param>
/// <feature>http://tizen.org/feature/badge</feature>
/// <privilege>http://tizen.org/privilege/notification</privilege>
/// <summary>
/// Updates the badge information.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
/// <param name="badge">The Badge object.</param>
/// <feature>http://tizen.org/feature/badge</feature>
/// <privilege>http://tizen.org/privilege/notification</privilege>
/// <summary>
/// The class for event arguments of the badge event.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class BadgeEventArgs : EventArgs
{
internal BadgeEventArgs()
/// <summary>
/// An abstract class to provide default event handlers for apps.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public abstract class DefaultCoreBackend : ICoreBackend
{
/// <summary>
/// Low level event types.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public enum AppEventType
{
/// <summary>
/// Tag string for this class.
/// </summary>
[EditorBrowsable(EditorBrowsableState.Never)]
+ /// <since_tizen> 3 </since_tizen>
protected static readonly string LogTag = typeof(DefaultCoreBackend).Namespace;
/// <summary>
/// Data structure for event handlers.
/// </summary>
[EditorBrowsable(EditorBrowsableState.Never)]
+ /// <since_tizen> 3 </since_tizen>
protected IDictionary<EventType, object> Handlers = new Dictionary<EventType, object>();
/// <summary>
/// Constructor of DefaultCoreBackend class.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public DefaultCoreBackend()
{
}
/// </summary>
/// <param name="evType">The type of event.</param>
/// <param name="handler">The handler method without arguments.</param>
+ /// <since_tizen> 3 </since_tizen>
public virtual void AddEventHandler(EventType evType, Action handler)
{
Handlers.Add(evType, handler);
/// <typeparam name="TEventArgs">The EventArgs type used in arguments of the handler method.</typeparam>
/// <param name="evType">The type of event.</param>
/// <param name="handler">The handler method with a TEventArgs type argument.</param>
+ /// <since_tizen> 3 </since_tizen>
public virtual void AddEventHandler<TEventArgs>(EventType evType, Action<TEventArgs> handler) where TEventArgs : EventArgs
{
Handlers.Add(evType, handler);
/// Runs the mainloop of the backend.
/// </summary>
/// <param name="args"></param>
+ /// <since_tizen> 3 </since_tizen>
public virtual void Run(string[] args)
{
TizenSynchronizationContext.Initialize();
/// <summary>
/// Exits the mainloop of the backend.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public abstract void Exit();
/// <summary>
/// Releases all resources.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public void Dispose()
{
Dispose(true);
/// Releases any unmanaged resources used by this object. Can also dispose any other disposable objects.
/// </summary>
/// <param name="disposing">If true, disposes any disposable objects. If false, does not dispose disposable objects.</param>
+ /// <since_tizen> 3 </since_tizen>
protected abstract void Dispose(bool disposing);
/// <summary>
/// </summary>
/// <param name="infoHandle"></param>
/// <param name="data"></param>
+ /// <since_tizen> 3 </since_tizen>
[EditorBrowsable(EditorBrowsableState.Never)]
protected virtual void OnLowMemoryNative(IntPtr infoHandle, IntPtr data)
{
/// </summary>
/// <param name="infoHandle"></param>
/// <param name="data"></param>
+ /// <since_tizen> 3 </since_tizen>
[EditorBrowsable(EditorBrowsableState.Never)]
protected virtual void OnLowBatteryNative(IntPtr infoHandle, IntPtr data)
{
/// </summary>
/// <param name="infoHandle"></param>
/// <param name="data"></param>
+ /// <since_tizen> 3 </since_tizen>
[EditorBrowsable(EditorBrowsableState.Never)]
protected virtual void OnLocaleChangedNative(IntPtr infoHandle, IntPtr data)
{
/// </summary>
/// <param name="infoHandle"></param>
/// <param name="data"></param>
+ /// <since_tizen> 3 </since_tizen>
[EditorBrowsable(EditorBrowsableState.Never)]
protected virtual void OnRegionChangedNative(IntPtr infoHandle, IntPtr data)
{
/// </summary>
/// <param name="infoHandle"></param>
/// <param name="data"></param>
+ /// <since_tizen> 3 </since_tizen>
[EditorBrowsable(EditorBrowsableState.Never)]
protected virtual void OnDeviceOrientationChangedNative(IntPtr infoHandle, IntPtr data)
{
/// <summary>
/// This class represents the type of event for backends. This class can be converted from the string type.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class EventType
{
/// <summary>
/// Pre-defined event type "PreCreated".
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public static readonly EventType PreCreated = "PreCreated";
/// <summary>
/// Pre-defined event type "Created".
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public static readonly EventType Created = "Created";
/// <summary>
/// Pre-defined event type "Terminated".
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public static readonly EventType Terminated = "Terminated";
/// <summary>
/// Pre-defined event type "AppControlReceived".
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public static readonly EventType AppControlReceived = "AppControlReceived";
/// <summary>
/// Pre-defined event type "Resumed".
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public static readonly EventType Resumed = "Resumed";
/// <summary>
/// Pre-defined event type "Paused".
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public static readonly EventType Paused = "Paused";
/// <summary>
/// Pre-defined event type "LowMemory".
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public static readonly EventType LowMemory = "LowMemory";
/// <summary>
/// Pre-defined event type "LowBattery".
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public static readonly EventType LowBattery = "LowBattery";
/// <summary>
/// Pre-defined event type "LocaleChanged".
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public static readonly EventType LocaleChanged = "LocaleChanged";
/// <summary>
/// Pre-defined event type "RegionFormatChanged".
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public static readonly EventType RegionFormatChanged = "RegionFormatChanged";
/// <summary>
/// Pre-defined event type "DeviceOrientationChanged".
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public static readonly EventType DeviceOrientationChanged = "DeviceOrientationChanged";
private string _typeName;
/// Initializes the EventType class.
/// </summary>
/// <param name="name">The name of event type.</param>
+ /// <since_tizen> 3 </since_tizen>
public EventType(string name)
{
_typeName = name;
/// <summary>
/// Returns the name of event type.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public override string ToString()
{
return _typeName;
/// <summary>
/// Returns the hash code for event type string.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public override int GetHashCode()
{
if (_typeName == null) return 0;
/// <summary>
/// Determines whether this instance and a specified object.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public override bool Equals(object obj)
{
EventType other = obj as EventType;
/// <summary>
/// Converts a string to EventType instance.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public static implicit operator EventType(string value)
{
return new EventType(value);
/// <summary>
/// An interface that represents the backend lifecycles.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public interface ICoreBackend : IDisposable
{
/// <summary>
/// </summary>
/// <param name="evType">The type of event.</param>
/// <param name="handler">The handler method without arguments.</param>
+ /// <since_tizen> 3 </since_tizen>
void AddEventHandler(EventType evType, Action handler);
/// <summary>
/// <typeparam name="TEventArgs">The EventArgs type used in arguments of the handler method.</typeparam>
/// <param name="evType">The type of event.</param>
/// <param name="handler">The handler method with a TEventArgs type argument.</param>
+ /// <since_tizen> 3 </since_tizen>
void AddEventHandler<TEventArgs>(EventType evType, Action<TEventArgs> handler) where TEventArgs : EventArgs;
/// <summary>
/// Runs the mainloop of the backend.
/// </summary>
/// <param name="args"></param>
+ /// <since_tizen> 3 </since_tizen>
void Run(string[] args);
/// <summary>
/// Exits the mainloop of the backend.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
void Exit();
}
}
/// <summary>
/// The class that represents the exception which will be thrown when the application to run is not found
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public class AppNotFoundException : InvalidOperationException
{
/// <summary>
/// Constructor
/// </summary>
/// <param name="message">The localized error message string</param>
+ /// <since_tizen> 4 </since_tizen>
public AppNotFoundException(string message) : base(message)
{
}
/// <summary>
/// The class that represents the exception which will be thrown when the request failed to launch the application
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public class LaunchFailedException : InvalidOperationException
{
/// <summary>
/// Constructor
/// </summary>
/// <param name="message">The localized error message string</param>
+ /// <since_tizen> 4 </since_tizen>
public LaunchFailedException(string message) : base(message)
{
}
/// <summary>
/// The class that represents the exception which will be thrown when the launch request is rejected
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public class LaunchRejectedException : InvalidOperationException
{
/// <summary>
/// Constructor
/// </summary>
/// <param name="message">The localized error message string</param>
+ /// <since_tizen> 4 </since_tizen>
public LaunchRejectedException(string message) : base(message)
{
}
/// <summary>
/// The class that represents the exception which will be thrown when the memory is insufficient
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public class OutOfMemoryException : InvalidOperationException
{
/// <summary>
/// Constructor
/// </summary>
/// <param name="message">The localized error message string</param>
+ /// <since_tizen> 4 </since_tizen>
public OutOfMemoryException(string message) : base(message)
{
}
/// <summary>
/// The class that represents the exception which will be thrown when the permission is denied
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public class PermissionDeniedException : InvalidOperationException
{
/// <summary>
/// Constructor
/// </summary>
/// <param name="message">The localized error message string</param>
+ /// <since_tizen> 4 </since_tizen>
public PermissionDeniedException(string message) : base(message)
{
}
/// }
/// </code>
/// </example>
+ /// <since_tizen> 3 </since_tizen>
public class AppControl
{
private const string LogTag = "Tizen.Applications";
/// Initializes the instance of the AppControl class.
/// </summary>
/// <exception cref="InvalidOperationException">Thrown when failed to create the AppControl handle.</exception>
+ /// <since_tizen> 3 </since_tizen>
public AppControl()
{
Interop.AppControl.ErrorCode err = Interop.AppControl.Create(out _handle);
/// </summary>
/// <param name="enableAppStartedResultEvent">The flag value to receive an additional launch result event on the launch request.</param>
/// <exception cref="InvalidOperationException">Thrown when failed to create the AppControl handle.</exception>
+ /// <since_tizen> 3 </since_tizen>
public AppControl(bool enableAppStartedResultEvent)
{
Interop.AppControl.ErrorCode err = Interop.AppControl.Create(out _handle);
/// Initializes the instance of the AppControl class with the SafeAppControlHandle.
/// </summary>
/// <param name="handle"></param>
+ /// <since_tizen> 3 </since_tizen>
public AppControl(SafeAppControlHandle handle)
{
if (handle == null)
/// <summary>
/// Gets the SafeAppControlHandle instance.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public SafeAppControlHandle SafeAppControlHandle
{
get
/// Log.Debug(LogTag, "Operation: " + appControl.Operation);
/// </code>
/// </example>
+ /// <since_tizen> 3 </since_tizen>
public string Operation
{
get
/// Log.Debug(LogTag, "Mime: " + appControl.Mime);
/// </code>
/// </example>
+ /// <since_tizen> 3 </since_tizen>
public string Mime
{
get
/// }
/// </code>
/// </example>
+ /// <since_tizen> 3 </since_tizen>
public string Uri
{
get
/// <value>
/// (if the category is null for setter, it clears the previous value.)
/// </value>
+ /// <since_tizen> 3 </since_tizen>
public string Category
{
get
/// Log.Debug(LogTag, "ApplicationId: " + appControl.ApplicationId);
/// </code>
/// </example>
+ /// <since_tizen> 3 </since_tizen>
public string ApplicationId
{
get
/// appControl.LaunchMode = AppControlLaunchMode.Group;
/// </code>
/// </example>
+ /// <since_tizen> 3 </since_tizen>
public AppControlLaunchMode LaunchMode
{
get
/// ...
/// </code>
/// </example>
+ /// <since_tizen> 3 </since_tizen>
public ExtraDataCollection ExtraData
{
get
/// }
/// </code>
/// </example>
+ /// <since_tizen> 3 </since_tizen>
public static IEnumerable<string> GetMatchedApplicationIds(AppControl control)
{
if (control == null)
/// AppControl.SendLaunchRequest(appControl);
/// </code>
/// </example>
+ /// <since_tizen> 3 </since_tizen>
public static void SendLaunchRequest(AppControl launchRequest)
{
SendLaunchRequest(launchRequest, null);
/// });
/// </code>
/// </example>
+ /// <since_tizen> 3 </since_tizen>
public static void SendLaunchRequest(AppControl launchRequest, AppControlReplyCallback replyAfterLaunching)
{
if (launchRequest == null)
/// AppControl.SendTerminateRequest(terminateRequest);
/// </code>
/// </example>
+ /// <since_tizen> 3 </since_tizen>
public static void SendTerminateRequest(AppControl terminateRequest)
{
if (terminateRequest == null)
/// <summary>
/// Class for extra data.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class ExtraDataCollection
{
private readonly SafeAppControlHandle _handle;
/// appControl.ExtraData.Add("myKey", "myValue");
/// </code>
/// </example>
+ /// <since_tizen> 3 </since_tizen>
public void Add(string key, string value)
{
if (string.IsNullOrEmpty(key))
/// appControl.ExtraData.Add("myKey", myValues);
/// </code>
/// </example>
+ /// <since_tizen> 3 </since_tizen>
public void Add(string key, IEnumerable<string> value)
{
if (string.IsNullOrEmpty(key))
/// string myValue = appControl.ExtraData.Get<string>("myKey");
/// </code>
/// </example>
+ /// <since_tizen> 3 </since_tizen>
public T Get<T>(string key)
{
object ret = Get(key);
/// }
/// </code>
/// </example>
+ /// <since_tizen> 3 </since_tizen>
public object Get(string key)
{
if (IsCollection(key))
/// }
/// </code>
/// </example>
+ /// <since_tizen> 3 </since_tizen>
public IEnumerable<string> GetKeys()
{
List<string> keys = new List<string>();
/// }
/// </code>
/// </example>
+ /// <since_tizen> 3 </since_tizen>
public bool TryGet(string key, out string value)
{
if (string.IsNullOrEmpty(key))
/// }
/// </code>
/// </example>
+ /// <since_tizen> 3 </since_tizen>
public bool TryGet(string key, out IEnumerable<string> value)
{
if (string.IsNullOrEmpty(key))
/// appControl.ExtraData.Remove("myKey");
/// </code>
/// </example>
+ /// <since_tizen> 3 </since_tizen>
public void Remove(string key)
{
if (string.IsNullOrEmpty(key))
/// int numberOfKeys = appControl.ExtraData.Count();
/// </code>
/// </example>
+ /// <since_tizen> 3 </since_tizen>
public int Count()
{
return GetKeys().Count();
/// bool result = appControl.ExtraData.IsCollection("myKey");
/// </code>
/// </example>
+ /// <since_tizen> 3 </since_tizen>
public bool IsCollection(string key)
{
if (string.IsNullOrEmpty(key))
/// <summary>
/// Data of the AppControl.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public static class AppControlData
{
/// <summary>
/// Subject.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public const string Subject = "http://tizen.org/appcontrol/data/subject";
/// <summary>
/// Recipients.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public const string To = "http://tizen.org/appcontrol/data/to";
/// <summary>
/// E-mail addresses that should be carbon copied.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public const string Cc = "http://tizen.org/appcontrol/data/cc";
/// <summary>
/// E-mail addresses that should be blind carbon copied.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public const string Bcc = "http://tizen.org/appcontrol/data/bcc";
/// <summary>
/// Text.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public const string Text = "http://tizen.org/appcontrol/data/text";
/// <summary>
/// Title.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public const string Title = "http://tizen.org/appcontrol/data/title";
/// <summary>
/// Selected items.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public const string Selected = "http://tizen.org/appcontrol/data/selected";
/// <summary>
/// Paths of items.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public const string Path = "http://tizen.org/appcontrol/data/path";
/// <summary>
/// Selection mode ("single" or "multiple").
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public const string SectionMode = "http://tizen.org/appcontrol/data/selection_mode";
/// <summary>
/// All-day mode of the event ("true" or "false").
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public const string AllDay = "http://tizen.org/appcontrol/data/calendar/all_day";
/// <summary>
/// Start time of the event (format: YYYY-MM-DD HH:MM:SS).
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public const string StartTime = "http://tizen.org/appcontrol/data/calendar/start_time";
/// <summary>
/// End time of the event (format: YYYY-MM-DD HH:MM:SS).
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public const string Endtime = "http://tizen.org/appcontrol/data/calendar/end_time";
/// <summary>
/// E-mail addressed.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public const string Email = "http://tizen.org/appcontrol/data/email";
/// <summary>
/// Phone numbers.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public const string Phone = "http://tizen.org/appcontrol/data/phone";
/// <summary>
/// URLs.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public const string Url = "http://tizen.org/appcontrol/data/url";
/// <summary>
/// IDs.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public const string Ids = "http://tizen.org/appcontrol/data/id";
/// <summary>
/// Type.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public const string Type = "http://tizen.org/appcontrol/data/type";
/// <summary>
/// Total count.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public const string TotalCount = "http://tizen.org/appcontrol/data/total_count";
/// <summary>
/// Total size (unit : bytes).
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public const string TotalSize = "http://tizen.org/appcontrol/data/total_size";
/// <summary>
/// Name.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public const string Name = "http://tizen.org/appcontrol/data/name";
/// <summary>
/// Location.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public const string Location = "http://tizen.org/appcontrol/data/location";
/// <summary>
/// Select the type of input method.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public const string InputType = "http://tizen.org/appcontrol/data/input_type";
/// <summary>
/// Send the pre inputted text, such as "http://" in web.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public const string InputDefaultText = "http://tizen.org/appcontrol/data/input_default_text";
/// <summary>
/// Send guide text to show to the user, such as "Input user name".
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public const string InputGuideText = "http://tizen.org/appcontrol/data/input_guide_text";
/// <summary>
/// Send text to receive answer result from smart reply.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public const string InputPredictionHint = "http://tizen.org/appcontrol/data/input_prediction_hint";
}
}
/// <summary>
/// Enumeration for the application control launch mode.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public enum AppControlLaunchMode
{
/// <summary>
/// <summary>
/// Operations of the AppControl.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public static class AppControlOperations
{
/// <summary>
/// An explicit launch for a homescreen application.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public const string Main = "http://tizen.org/appcontrol/operation/main";
/// <summary>
/// An explicit launch for an application that excludes a homescreen application.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public const string Default = "http://tizen.org/appcontrol/operation/default";
/// <summary>
/// Provides an editable access to the given data.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public const string Edit = "http://tizen.org/appcontrol/operation/edit";
/// <summary>
/// Displays the data.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public const string View = "http://tizen.org/appcontrol/operation/view";
/// <summary>
/// Picks items.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public const string Pick = "http://tizen.org/appcontrol/operation/pick";
/// <summary>
/// Creates contents.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public const string CreateContent = "http://tizen.org/appcontrol/operation/create_content";
/// <summary>
/// Performs a call to someone.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public const string Call = "http://tizen.org/appcontrol/operation/call";
/// <summary>
/// Delivers some data to someone else.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public const string Send = "http://tizen.org/appcontrol/operation/send";
/// <summary>
/// Delivers text data to someone else.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public const string SendText = "http://tizen.org/appcontrol/operation/send_text";
/// <summary>
/// Shares an item with someone else.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public const string Share = "http://tizen.org/appcontrol/operation/share";
/// <summary>
/// Shares multiple items with someone else.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public const string MultiShare = "http://tizen.org/appcontrol/operation/multi_share";
/// <summary>
/// Shares text data with someone else.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public const string ShareText = "http://tizen.org/appcontrol/operation/share_text";
/// <summary>
/// Dials a number. This shows an UI with the number to be dialed, allowing the user to explicitly initiate the call.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public const string Dial = "http://tizen.org/appcontrol/operation/dial";
/// <summary>
/// Performs a search.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public const string Search = "http://tizen.org/appcontrol/operation/search";
/// <summary>
/// Downloads items.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public const string Download = "http://tizen.org/appcontrol/operation/download";
/// <summary>
/// Prints contents.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public const string Print = "http://tizen.org/appcontrol/operation/print";
/// <summary>
/// Composes a message.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public const string Compose = "http://tizen.org/appcontrol/operation/compose";
/// <summary>
/// Can be launched by interested System-Event.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public const string LaunchOnEvent = "http://tizen.org/appcontrol/operation/launch_on_event";
/// <summary>
/// Adds an item.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public const string Add = "http://tizen.org/appcontrol/operation/add";
/// <summary>
/// Captures images by camera applications.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public const string ImageCapture = "http://tizen.org/appcontrol/operation/image_capture";
/// <summary>
/// Captures videos by camera applications.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public const string VideoCapture = "http://tizen.org/appcontrol/operation/video_capture";
/// <summary>
/// Shows system settings.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public const string Setting = "http://tizen.org/appcontrol/operation/setting";
/// <summary>
/// Shows settings to enable Bluetooth.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public const string SettingBluetoothEnable = "http://tizen.org/appcontrol/operation/setting/bt_enable";
/// <summary>
/// Shows settings to configure the Bluetooth visibility.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public const string SettingBluetoothVisibility = "http://tizen.org/appcontrol/operation/setting/bt_visibility";
/// <summary>
/// Shows settings to allow configuration of current location sources.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public const string SettingLocation = "http://tizen.org/appcontrol/operation/setting/location";
/// <summary>
/// Shows NFC settings.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public const string SettingNfc = "http://tizen.org/appcontrol/operation/setting/nfc";
/// <summary>
/// Shows settings to allow configuration of Wi-Fi.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public const string SettingWifi = "http://tizen.org/appcontrol/operation/setting/wifi";
}
}
/// <summary>
/// Arguments for the event that raised when the application receives the AppControl.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class AppControlReceivedEventArgs : EventArgs
{
/// <summary>
/// Initializes the AppControlReceivedEventArgs class.
/// </summary>
/// <param name="appControl"></param>
+ /// <since_tizen> 3 </since_tizen>
public AppControlReceivedEventArgs(ReceivedAppControl appControl)
{
ReceivedAppControl = appControl;
/// <summary>
/// The received AppControl.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public ReceivedAppControl ReceivedAppControl { get; private set; }
}
}
/// <param name="launchRequest">The AppControl of the launch request that has been sent</param>
/// <param name="replyRequest">The AppControl in which the results of the callee are contained</param>
/// <param name="result">The result of the launch request</param>
+ /// <since_tizen> 3 </since_tizen>
public delegate void AppControlReplyCallback(AppControl launchRequest, AppControl replyRequest, AppControlReplyResult result);
}
/// <summary>
/// Enumeration for the application control result.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public enum AppControlReplyResult
{
/// <summary>
/// <summary>
/// The class that represents a Tizen application.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public abstract class Application : IDisposable
{
internal const string LogTag = "Tizen.Applications";
/// <summary>
/// Gets the instance of the current application.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public static Application Current { get { return s_CurrentApplication; } }
/// <summary>
/// Gets the class representing directory information of the current application.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public DirectoryInfo DirectoryInfo
{
get
/// <summary>
/// Gets the class representing information of the current application.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public ApplicationInfo ApplicationInfo
{
get
/// Runs the application's main loop.
/// </summary>
/// <param name="args">Arguments from commandline.</param>
+ /// <since_tizen> 3 </since_tizen>
public virtual void Run(string[] args)
{
if (args == null)
/// <summary>
/// Exits the main loop of the application.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public abstract void Exit();
#region IDisposable Support
/// Releases any unmanaged resources used by this object. Can also dispose any other disposable objects.
/// </summary>
/// <param name="disposing">If true, disposes any disposable objects. If false, does not dispose disposable objects.</param>
+ /// <since_tizen> 3 </since_tizen>
protected virtual void Dispose(bool disposing)
{
if (!_disposedValue)
/// <summary>
/// Releases all resources used by the application class.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public void Dispose()
{
Dispose(true);
/// <summary>
/// Arguments for the event raised when the application is disabled.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class ApplicationDisabledEventArgs : EventArgs
{
private readonly ApplicationEventState _eventState;
/// <summary>
/// The ID of the application.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public string ApplicationId { get { return _applicationId; } }
/// <summary>
/// The event state of the application.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public ApplicationEventState EventState { get { return _eventState; } }
}
}
/// <summary>
/// Arguments for the event raised when the application is enabled.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class ApplicationEnabledEventArgs : EventArgs
{
private readonly ApplicationEventState _eventState;
/// <summary>
/// The ID of the application.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public string ApplicationId { get { return _applicationId; } }
/// <summary>
/// The event state of the application.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public ApplicationEventState EventState { get { return _eventState; } }
}
}
/// <summary>
/// Enumeration for the application event state.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public enum ApplicationEventState
{
/// <summary>
/// <summary>
/// This class provides methods and properties to get information of the application.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class ApplicationInfo : IDisposable
{
private const string LogTag = "Tizen.Applications";
/// A constructor of ApplicationInfo that takes the application ID.
/// </summary>
/// <param name="applicationId">Application ID.</param>
+ /// <since_tizen> 3 </since_tizen>
public ApplicationInfo(string applicationId)
{
_applicationId = applicationId;
/// <summary>
/// Gets the application ID.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public string ApplicationId
{
get
/// <summary>
/// Gets the package ID of the application.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public string PackageId
{
get
/// <summary>
/// Gets the label of the application.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public string Label
{
get
/// <summary>
/// Gets the executable path of the application.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public string ExecutablePath
{
get
/// <summary>
/// Gets the absolute path to the icon image.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public string IconPath
{
get
/// <summary>
/// Gets the application type name.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public string ApplicationType
{
get
/// <summary>
/// Gets the application's metadata.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public IDictionary<String, String> Metadata
{
get
/// <summary>
/// Checks whether the application information is nodisplay. If the application icon is not displayed on the menu screen, true; otherwise, false.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public bool IsNoDisplay
{
get
/// <summary>
/// Checks whether the application is launched on booting time. If the application automatically starts on boot, true; otherwise, false.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public bool IsOnBoot
{
get
/// <summary>
/// Checks whether the application is preloaded. If the application is preloaded, true; otherwise, false.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public bool IsPreload
{
get
/// <summary>
/// Gets the shared data path.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public string SharedDataPath
{
get
/// <summary>
/// Gets the shared resource path.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public string SharedResourcePath
{
get
/// <summary>
/// Gets the shared trust path.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public string SharedTrustedPath
{
get
/// <summary>
/// Gets the external shared data path.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public string ExternalSharedDataPath
{
get
/// Gets the localized label of the application for the given locale.
/// </summary>
/// <param name="locale">Locale.</param>
+ /// <since_tizen> 3 </since_tizen>
public string GetLocalizedLabel(string locale)
{
string label = string.Empty;
/// <summary>
/// Releases all resources used by the ApplicationInfo class.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public void Dispose()
{
Dispose(true);
/// <summary>
/// This class is a parameter of the GetInstalledApplicationsAsync method.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class ApplicationInfoFilter
{
/// <summary>
///
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public ApplicationInfoFilter()
{
Filter = new Dictionary<string, string>();
/// <summary>
/// This class is a possible key to use in the InstalledApplicationFilter.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public static class Keys
{
/// <summary>
///
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public const string Id = "PACKAGE_INFO_PROP_APP_ID";
/// <summary>
///
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public const string Type = "PACKAGE_INFO_PROP_APP_TYPE";
/// <summary>
///
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public const string Category = "PACKAGE_INFO_PROP_APP_CATEGORY";
/// <summary>
///
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public const string NoDisplay = "PACKAGE_INFO_PROP_APP_NODISPLAY";
/// <summary>
///
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public const string TaskManage = "PACKAGE_INFO_PROP_APP_TASKMANAGE";
}
/// <summary>
///
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public IDictionary<string, string> Filter
{
get; private set;
/// <summary>
/// This class is a parameter of the GetInstalledApplicationsAsync method.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class ApplicationInfoMetadataFilter : ApplicationInfoFilter
{
}
/// <summary>
/// Arguments for the event raised when the application is launched.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class ApplicationLaunchedEventArgs : EventArgs
{
/// <summary>
/// The information of the application.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public ApplicationRunningContext ApplicationRunningContext { get; internal set; }
}
}
\ No newline at end of file
/// <summary>
/// This class has the methods and events of the ApplicationManager.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public static class ApplicationManager
{
private const string LogTag = "Tizen.Applications";
/// <summary>
/// Occurs whenever the installed application is enabled.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public static event EventHandler<ApplicationEnabledEventArgs> ApplicationEnabled
{
add
/// <summary>
/// Occurs whenever the installed application is disabled.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public static event EventHandler<ApplicationDisabledEventArgs> ApplicationDisabled
{
add
/// <summary>
/// Occurs whenever the installed applications get launched.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public static event EventHandler<ApplicationLaunchedEventArgs> ApplicationLaunched
{
add
/// <summary>
/// Occurs whenever the installed applications get terminated.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public static event EventHandler<ApplicationTerminatedEventArgs> ApplicationTerminated
{
add
/// <summary>
/// Gets the information of the installed applications asynchronously.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public static async Task<IEnumerable<ApplicationInfo>> GetInstalledApplicationsAsync()
{
return await Task.Run(() =>
/// Gets the information of the installed applications with the ApplicationInfoFilter asynchronously.
/// </summary>
/// <param name="filter">Key-value pairs for filtering.</param>
+ /// <since_tizen> 3 </since_tizen>
public static async Task<IEnumerable<ApplicationInfo>> GetInstalledApplicationsAsync(ApplicationInfoFilter filter)
{
return await Task.Run(() =>
/// Gets the information of the installed applications with the ApplicationInfoMetadataFilter asynchronously.
/// </summary>
/// <param name="filter">Key-value pairs for filtering.</param>
+ /// <since_tizen> 3 </since_tizen>
public static async Task<IEnumerable<ApplicationInfo>> GetInstalledApplicationsAsync(ApplicationInfoMetadataFilter filter)
{
return await Task.Run(() =>
/// <summary>
/// Gets the information of the running applications asynchronously.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public static async Task<IEnumerable<ApplicationRunningContext>> GetRunningApplicationsAsync()
{
return await Task.Run(() =>
/// <summary>
/// Gets the information of the running applications including subapp asynchronously.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public static async Task<IEnumerable<ApplicationRunningContext>> GetAllRunningApplicationsAsync()
{
return await Task.Run(() =>
/// Gets the information of the specified application with the application ID.
/// </summary>
/// <param name="applicationId">Application ID.</param>
+ /// <since_tizen> 3 </since_tizen>
public static ApplicationInfo GetInstalledApplication(string applicationId)
{
IntPtr infoHandle = IntPtr.Zero;
/// <param name="applicationId">The application ID.</param>
/// <returns>Returns true if the given application is running, otherwise false.</returns>
/// <exception cref="ArgumentException">Thrown when the given parameter is invalid.</exception>
+ /// <since_tizen> 3 </since_tizen>
public static bool IsRunning(string applicationId)
{
bool isRunning = false;
/// </summary>
/// <returns>Returns a dictionary containing all the recent application info.</returns>
/// <exception cref="InvalidOperationException">Thrown when failed because of an invalid operation.</exception>
+ /// <since_tizen> 3 </since_tizen>
[EditorBrowsable(EditorBrowsableState.Never)]
public static IEnumerable<RecentApplicationInfo> GetRecentApplications()
{
/// <summary>
/// This class provides methods and properties to get information of the application.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class ApplicationRunningContext : IDisposable
{
private const string LogTag = "Tizen.Applications";
/// <exception cref="ArgumentException">Thrown when failed because of an invalid argument.</exception>
/// <exception cref="InvalidOperationException">Thrown when failed because of the "application not exist" error or the system error.</exception>
/// <exception cref="OutOfMemoryException">Thrown when failed because of out of memory.</exception>
+ /// <since_tizen> 3 </since_tizen>
public ApplicationRunningContext(string applicationId)
{
IntPtr contextHandle = IntPtr.Zero;
/// <exception cref="ArgumentException">Thrown when failed of invalid argument.</exception>
/// <exception cref="InvalidOperationException">Thrown when failed because of application not exist error or system error.</exception>
/// <exception cref="OutOfMemoryException">Thrown when failed because of out of memory.</exception>
+ /// <since_tizen> 4 </since_tizen>
[EditorBrowsable(EditorBrowsableState.Never)]
public ApplicationRunningContext(string applicationId, string instanceId)
{
/// <summary>
/// Enumeration for the application state.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public enum AppState
{
/// <summary>
/// <summary>
/// Gets the application ID.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public string ApplicationId
{
get
/// <summary>
/// Gets the package ID of the application.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public string PackageId
{
get
/// <summary>
/// Gets the application's process ID.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public int ProcessId
{
get
/// <summary>
/// Gets the state of the application.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public AppState State
{
get
/// <summary>
/// Gets whether the application is sub application of the application group.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public bool IsSubApp
{
get
/// <exception cref="UnauthorizedAccessException">Thrown when failed because of permission denied.</exception>
/// <exception cref="InvalidOperationException">Thrown when failed because of system error.</exception>
/// <privilege>http://tizen.org/privilege/appmanager.kill</privilege>
+ /// <since_tizen> 4 </since_tizen>
[EditorBrowsable(EditorBrowsableState.Never)]
public void Terminate()
{
/// <exception cref="UnauthorizedAccessException">Thrown when failed because of permission denied.</exception>
/// <exception cref="InvalidOperationException">Thrown when failed because of system error.</exception>
/// <privilege>http://tizen.org/privilege/appmanager.launch</privilege>
+ /// <since_tizen> 4 </since_tizen>
public void Resume()
{
err = Interop.ApplicationManager.AppManagerResumeApp(_contextHandle);
/// <summary>
/// Releases all resources used by the ApplicationRunningContext class.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public void Dispose()
{
Dispose(true);
/// <summary>
/// Arguments for the event raised when the application is terminated.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class ApplicationTerminatedEventArgs : EventArgs
{
/// <summary>
/// The information of the application.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public ApplicationRunningContext ApplicationRunningContext { get; internal set; }
}
}
\ No newline at end of file
/// <summary>
/// Enumeration for the applications type.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public enum ApplicationType
{
/// <summary>
/// This class is accessed by using a constructor to create a new instance of this object.
/// A bundle instance is not guaranteed to be thread safe if the instance is modified by multiple threads.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class Bundle : IDisposable
{
private SafeBundleHandle _handle;
/// Tizen.Applications.Bundle bundle = new Tizen.Applications.Bundle();
/// </code>
/// </example>
+ /// <since_tizen> 3 </since_tizen>
public Bundle()
{
_handle = Interop.Bundle.Create();
/// </summary>
/// <param name="handle">The SafeBundleHandle instance.</param>
/// <exception cref="System.ArgumentNullException">Thrown when the handle is null or invalid.</exception>
+ /// <since_tizen> 3 </since_tizen>
public Bundle(SafeBundleHandle handle)
{
if (handle == null || handle.IsInvalid)
/// Console.WriteLine("There are {0} items in the bundle", bundle.Count);
/// </code>
/// </example>
+ /// <since_tizen> 3 </since_tizen>
public int Count
{
get
/// }
/// </code>
/// </example>
+ /// <since_tizen> 3 </since_tizen>
public IEnumerable<string> Keys
{
get
/// <summary>
/// Gets the SafeBundleHandle instance.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public SafeBundleHandle SafeBundleHandle
{
get { return _handle; }
/// <summary>
/// Releases any unmanaged resources used by this object.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public void Dispose()
{
Dispose(true);
/// }
/// </code>
/// </example>
+ /// <since_tizen> 3 </since_tizen>
public bool Contains(string key)
{
return _keys.Contains(key);
/// bundle.AddItem("byte_array", byteArray);
/// </code>
/// </example>
+ /// <since_tizen> 3 </since_tizen>
public void AddItem(string key, byte[] value)
{
if (value == null)
/// bundle.AddItem("byte_array", byteArray, 2, 3);
/// </code>
/// </example>
+ /// <since_tizen> 3 </since_tizen>
public void AddItem(string key, byte[] value, int offset, int count)
{
if (!_keys.Contains(key))
/// bundle.AddItem("string", "a_string");
/// </code>
/// </example>
+ /// <since_tizen> 3 </since_tizen>
public void AddItem(string key, string value)
{
if (!_keys.Contains(key))
/// bundle.AddItem("string_array", stringArray);
/// </code>
/// </example>
+ /// <since_tizen> 3 </since_tizen>
public void AddItem(string key, IEnumerable<string> value)
{
if (!_keys.Contains(key))
/// }
/// </code>
/// </example>
+ /// <since_tizen> 3 </since_tizen>
public object GetItem(string key)
{
if (_keys.Contains(key))
/// }
/// </code>
/// </example>
+ /// <since_tizen> 3 </since_tizen>
public T GetItem<T>(string key)
{
return (T)GetItem(key);
/// }
/// </code>
/// </example>
+ /// <since_tizen> 3 </since_tizen>
public bool TryGetItem(string key, out byte[] value)
{
if (_keys.Contains(key) && Interop.Bundle.GetType(_handle, key) == (int)BundleType.Byte)
/// }
/// </code>
/// </example>
+ /// <since_tizen> 3 </since_tizen>
public bool TryGetItem(string key, out string value)
{
if (_keys.Contains(key) && Interop.Bundle.GetType(_handle, key) == (int)BundleType.String)
/// }
/// </code>
/// </example>
+ /// <since_tizen> 3 </since_tizen>
public bool TryGetItem(string key, out IEnumerable<string> value)
{
if (_keys.Contains(key) && Interop.Bundle.GetType(_handle, key) == (int)BundleType.StringArray)
/// }
/// </code>
/// </example>
+ /// <since_tizen> 3 </since_tizen>
public bool Is<T>(string key)
{
if (_keys.Contains(key))
/// }
/// </code>
/// </example>
+ /// <since_tizen> 3 </since_tizen>
public bool RemoveItem(string key)
{
if (_keys.Contains(key))
/// Bundle data = bundle.Decode(bundleRaw);
/// </code>
/// </example>
+ /// <since_tizen> 3 </since_tizen>
public static Bundle Decode(string bundleRaw)
{
SafeBundleHandle handle;
/// string bundleRaw = bundle.Encode();
/// </code>
/// </example>
+ /// <since_tizen> 3 </since_tizen>
public string Encode()
{
string bundleRaw;
/// Releases any unmanaged resources used by this object. Can also dispose any other disposable objects.
/// </summary>
/// <param name="disposing">If true, disposes any disposable objects. If false, does not dispose disposable objects.</param>
+ /// <since_tizen> 3 </since_tizen>
protected virtual void Dispose(bool disposing)
{
if (!_disposed)
/// <summary>
/// This class represents an application controlled lifecycles by the backend system.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class CoreApplication : Application
{
private readonly ICoreBackend _backend;
/// Initializes the CoreApplication class.
/// </summary>
/// <param name="backend">The backend instance implementing ICoreBacked interface.</param>
+ /// <since_tizen> 3 </since_tizen>
public CoreApplication(ICoreBackend backend)
{
_backend = backend;
/// <summary>
/// Occurs when the application is launched.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public event EventHandler Created;
/// <summary>
/// Occurs when the application is about to shutdown.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public event EventHandler Terminated;
/// <summary>
/// Occurs whenever the application receives the appcontrol message.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public event EventHandler<AppControlReceivedEventArgs> AppControlReceived;
/// <summary>
/// Occurs when the system memory is low.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public event EventHandler<LowMemoryEventArgs> LowMemory;
/// <summary>
/// Occurs when the system battery is low.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public event EventHandler<LowBatteryEventArgs> LowBattery;
/// <summary>
/// Occurs when the system language is chagned.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public event EventHandler<LocaleChangedEventArgs> LocaleChanged;
/// <summary>
/// Occurs when the region format is changed.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public event EventHandler<RegionFormatChangedEventArgs> RegionFormatChanged;
/// <summary>
/// Occurs when the device orientation is changed.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public event EventHandler<DeviceOrientationEventArgs> DeviceOrientationChanged;
/// <summary>
/// The backend instance.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
protected ICoreBackend Backend { get { return _backend; } }
/// <summary>
/// Runs the application's main loop.
/// </summary>
/// <param name="args">Arguments from commandline.</param>
+ /// <since_tizen> 3 </since_tizen>
public override void Run(string[] args)
{
base.Run(args);
/// <summary>
/// Exits the main loop of the application.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public override void Exit()
{
_backend.Exit();
/// Overrides this method if want to handle behavior when the application is launched.
/// If base.OnCreated() is not called, the event 'Created' will not be emitted.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
protected virtual void OnCreate()
{
Created?.Invoke(this, EventArgs.Empty);
/// Overrides this method if want to handle behavior when the application is terminated.
/// If base.OnTerminate() is not called, the event 'Terminated' will not be emitted.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
protected virtual void OnTerminate()
{
Terminated?.Invoke(this, EventArgs.Empty);
/// If base.OnAppControlReceived() is not called, the event 'AppControlReceived' will not be emitted.
/// </summary>
/// <param name="e"></param>
+ /// <since_tizen> 3 </since_tizen>
protected virtual void OnAppControlReceived(AppControlReceivedEventArgs e)
{
AppControlReceived?.Invoke(this, e);
/// Overrides this method if want to handle behavior when the system memory is low.
/// If base.OnLowMemory() is not called, the event 'LowMemory' will not be emitted.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
protected virtual void OnLowMemory(LowMemoryEventArgs e)
{
LowMemory?.Invoke(this, e);
/// Overrides this method if want to handle behavior when the system battery is low.
/// If base.OnLowBattery() is not called, the event 'LowBattery' will not be emitted.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
protected virtual void OnLowBattery(LowBatteryEventArgs e)
{
LowBattery?.Invoke(this, e);
/// Overrides this method if want to handle behavior when the system language is changed.
/// If base.OnLocaleChanged() is not called, the event 'LocaleChanged' will not be emitted.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
protected virtual void OnLocaleChanged(LocaleChangedEventArgs e)
{
LocaleChanged?.Invoke(this, e);
/// Overrides this method if want to handle behavior when the region format is changed.
/// If base.OnRegionFormatChanged() is not called, the event 'RegionFormatChanged' will not be emitted.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
protected virtual void OnRegionFormatChanged(RegionFormatChangedEventArgs e)
{
RegionFormatChanged?.Invoke(this, e);
/// Overrides this method if want to handle behavior when the device orientation is changed.
/// If base.OnRegionFormatChanged() is not called, the event 'RegionFormatChanged' will not be emitted.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
protected virtual void OnDeviceOrientationChanged(DeviceOrientationEventArgs e)
{
DeviceOrientationChanged?.Invoke(this, e);
/// Releases any unmanaged resources used by this object. Can also dispose any other disposable objects.
/// </summary>
/// <param name="disposing">If true, disposes any disposable objects. If false, does not dispose disposable objects.</param>
+ /// <since_tizen> 3 </since_tizen>
protected override void Dispose(bool disposing)
{
if (!_disposedValue)
/// <summary>
/// Enumeration for the device orientation.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public enum DeviceOrientation
{
/// <summary>
/// <summary>
/// The class for event arguments of the DeviceOrientationChanged.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class DeviceOrientationEventArgs : EventArgs
{
/// <summary>
/// Initializes the DeviceOrientationEventArgs class.
/// </summary>
/// <param name="orientation">The information of the DeviceOrientation</param>
+ /// <since_tizen> 3 </since_tizen>
public DeviceOrientationEventArgs(DeviceOrientation orientation)
{
DeviceOrientation = orientation;
/// <summary>
/// The received DeviceOrientation.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public DeviceOrientation DeviceOrientation { get; private set; }
}
}
/// <summary>
/// Represents directory information of the application.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class DirectoryInfo
{
private string _dataPath;
/// <summary>
/// Gets the absolute path to the application's data directory, which is used to store private data of the application.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public string Data
{
get
/// <summary>
/// Gets the absolute path to the application's cache directory, which is used to store temporary data of the application.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public string Cache
{
get
/// <summary>
/// Gets the absolute path to the application resource directory. The resource files are delivered with the application package.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public string Resource
{
get
/// <summary>
/// Gets the absolute path to the application's shared data directory, which is used to share data with other applications.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public string SharedData
{
get
/// <summary>
/// Gets the absolute path to the application's shared resource directory, which is used to share resources with other applications.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public string SharedResource
{
get
/// <summary>
/// Gets the absolute path to the application's shared trusted directory, which is used to share data with a family of trusted applications.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public string SharedTrusted
{
get
/// <summary>
/// Gets the absolute path to the application's external data directory, which is used to store data of the application.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public string ExternalData
{
get
/// <summary>
/// Gets the absolute path to the application's external cache directory, which is used to store temporary data of the application.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public string ExternalCache
{
get
/// <summary>
/// Gets the absolute path to the application's external shared data directory, which is used to share data with other applications.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public string ExternalSharedData
{
get
/// <summary>
/// Gets the absolute path to the application's TEP(Tizen Expansion Package) directory. The resource files are delivered with the expansion package.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public string ExpansionPackageResource
{
get
/// <summary>
/// The class for the argument of the LocaleChanged EventHandler
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class LocaleChangedEventArgs : EventArgs
{
/// Initializes LocaleChangedEventArgs class
/// </summary>
/// <param name="locale">The information of the Locale</param>
+ /// <since_tizen> 3 </since_tizen>
public LocaleChangedEventArgs(string locale)
{
Locale = locale;
/// <summary>
/// The property to get the intformation of the Locale
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public string Locale { get; private set; }
}
/// <summary>
/// The class for the argument of the LowBattery EventHandler
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class LowBatteryEventArgs : EventArgs
{
/// <summary>
/// Initializes LowBatteryEventArgs class
/// </summary>
/// <param name="status">The information of the LowBatteryEventArgs</param>
+ /// <since_tizen> 3 </since_tizen>
public LowBatteryEventArgs(LowBatteryStatus status)
{
LowBatteryStatus = status;
/// <summary>
/// The property to get the intformation of the LowBatteryStatus
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public LowBatteryStatus LowBatteryStatus { get; private set; }
}
}
/// <summary>
/// Enumeration for the low battery status.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public enum LowBatteryStatus
{
/// <summary>
/// <summary>
/// The class for the argument of the LowMemory EventHandler
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class LowMemoryEventArgs : EventArgs
{
/// <summary>
/// Initializes LowMemoryEventArgs class
/// </summary>
/// <param name="status">The information of the LowMemoryStatus</param>
+ /// <since_tizen> 3 </since_tizen>
public LowMemoryEventArgs(LowMemoryStatus status)
{
LowMemoryStatus = status;
/// <summary>
/// The property to get the intformation of the LowMemoryStatus
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public LowMemoryStatus LowMemoryStatus { get; private set; }
}
}
/// <summary>
/// Enumeration for the low memory status.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public enum LowMemoryStatus
{
/// <summary>
/// }
/// </code>
/// </example>
+ /// <since_tizen> 3 </since_tizen>
public class ReceivedAppControl : AppControl
{
private const string LogTag = "Tizen.Applications";
/// <summary>
/// Initializes a ReceivedAppControl class.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public ReceivedAppControl(SafeAppControlHandle handle) : base(handle)
{
}
/// }
/// </code>
/// </example>
+ /// <since_tizen> 3 </since_tizen>
public string CallerApplicationId
{
get
/// }
/// </code>
/// </example>
+ /// <since_tizen> 3 </since_tizen>
public bool IsReplyRequest
{
get
/// }
/// </code>
/// </example>
+ /// <since_tizen> 3 </since_tizen>
public void ReplyToLaunchRequest(AppControl replyRequest, AppControlReplyResult result)
{
if (replyRequest == null)
/// <summary>
/// This class provides methods and properties to get information of the recent application.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
[EditorBrowsable(EditorBrowsableState.Never)]
public class RecentApplicationControl
{
/// Deletes the application from the recent application list.
/// </summary>
/// <privlevel>platform</privlevel>
+ /// <since_tizen> 3 </since_tizen>
public void Delete()
{
Interop.ApplicationManager.ErrorCode err = Interop.ApplicationManager.ErrorCode.None;
/// Deletes all recent applications from the recent application list.
/// </summary>
/// <privlevel>platform</privlevel>
+ /// <since_tizen> 3 </since_tizen>
public static void DeleteAll()
{
Interop.ApplicationManager.ErrorCode err = Interop.ApplicationManager.ErrorCode.None;
/// <summary>
/// This class provides methods and properties to get information of the recent application.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
[EditorBrowsable(EditorBrowsableState.Never)]
public class RecentApplicationInfo : ApplicationInfo
{
/// <summary>
/// Gets the instance ID.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public string InstanceId { get; private set; }
/// <summary>
/// Gets the instance name.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public string InstanceName { get; private set; }
/// <summary>
/// Gets the arguements.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public string Arg { get; private set; }
/// <summary>
/// Gets the URI.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public string Uri { get; private set; }
/// <summary>
/// Gets the launchTime.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public DateTime LaunchTime { get; private set; }
/// <summary>
/// Gets the recent application controller.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public RecentApplicationControl Controller { get; private set; }
internal RecentApplicationInfo(Interop.ApplicationManager.RuaRec record) : base(Marshal.PtrToStringAnsi(record.pkgName))
/// <summary>
/// The class for the argument of the RegionFormatChanged EventHandler
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class RegionFormatChangedEventArgs : EventArgs
{
/// Initializes RegionFormatChangedEventArgs class
/// </summary>
/// <param name="region">The information of the Region</param>
+ /// <since_tizen> 3 </since_tizen>
public RegionFormatChangedEventArgs(string region)
{
Region = region;
/// <summary>
/// The property to get the intformation of the Region
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public string Region { get; private set; }
}
}
/// <summary>
/// The class for getting the resource path.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public static class ResourceManager
{
/// <summary>
/// Enumeration for the resource category.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public enum Category : int
{
/// <summary>
/// <param name="id">ID to search.</param>
/// <returns>Found resource path.</returns>
/// <exception cref="InvalidOperationException">Thrown in case of failed conditions.</exception>
+ /// <since_tizen> 3 </since_tizen>
public static string GetPath(Category category, string id)
{
string path;
/// <param name="id">ID to search.</param>
/// <returns>Found resource path or null when the resource doesn't exist.</returns>
/// <exception cref="InvalidOperationException">Thrown in case of failed conditions.</exception>
+ /// <since_tizen> 3 </since_tizen>
public static string TryGetPath(Category category, string id)
{
string path;
/// <summary>
/// Represents a wrapper class for an unmanaged AppControl handle.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public sealed class SafeAppControlHandle : SafeHandle
{
/// <summary>
/// Initializes a new instance of the SafeAppControlHandle class.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public SafeAppControlHandle() : base(IntPtr.Zero, true)
{
}
/// </summary>
/// <param name="existingHandle">An IntPtr object that represents the pre-existing handle to use.</param>
/// <param name="ownsHandle">true to reliably release the handle during the finalization phase; false to prevent reliable release.</param>
+ /// <since_tizen> 3 </since_tizen>
public SafeAppControlHandle(IntPtr existingHandle, bool ownsHandle) : base(IntPtr.Zero, ownsHandle)
{
SetHandle(existingHandle);
/// <summary>
/// Gets a value that indicates whether the handle is invalid.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public override bool IsInvalid
{
get { return this.handle == IntPtr.Zero; }
/// <summary>
/// Represents a wrapper class for an unmanaged bundle handle.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public sealed class SafeBundleHandle : SafeHandle
{
/// <summary>
/// Initializes a new instance of the SafeBundleHandle class.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public SafeBundleHandle() : base(IntPtr.Zero, true)
{
}
/// </summary>
/// <param name="existingHandle">An IntPtr object that represents the pre-existing handle to use.</param>
/// <param name="ownsHandle">true to reliably release the handle during the finalization phase; false to prevent reliable release.</param>
+ /// <since_tizen> 3 </since_tizen>
public SafeBundleHandle(IntPtr existingHandle, bool ownsHandle) : base(IntPtr.Zero, ownsHandle)
{
SetHandle(existingHandle);
/// <summary>
/// Gets a value that indicates whether the handle is invalid.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public override bool IsInvalid
{
get { return this.handle == IntPtr.Zero; }
/// <summary>
/// Provides a synchronization context for the Tizen application model.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class TizenSynchronizationContext : SynchronizationContext
{
private readonly Interop.Glib.GSourceFunc _wrapperHandler;
/// <summary>
/// Initializes a new instance of the TizenSynchronizationContext class.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public TizenSynchronizationContext()
{
_wrapperHandler = new Interop.Glib.GSourceFunc(Handler);
/// SetSynchronizationContext(new TizenSynchronizationContext());
/// </code>
/// </remarks>
+ /// <since_tizen> 3 </since_tizen>
public static void Initialize()
{
SetSynchronizationContext(new TizenSynchronizationContext());
/// <param name="state"><see cref="System.Object"/>The object passed to the delegate.</param>
/// <remarks>
/// The post method starts an asynchronous request to post a message.</remarks>
+ /// <since_tizen> 3 </since_tizen>
public override void Post(SendOrPostCallback d, object state)
{
Post(() =>
/// <param name="state"><see cref="System.Object"/>The object passed to the delegate.</param>
/// <remarks>
/// The send method starts a synchronous request to send a message.</remarks>
+ /// <since_tizen> 3 </since_tizen>
public override void Send(SendOrPostCallback d, object state)
{
var mre = new ManualResetEvent(false);
/// <summary>
/// Represents the BulkData class for the DataControl bulk request.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class BulkData : IDisposable
{
private bool _disposed = false;
/// Initializes the BulkData class.
/// </summary>
/// <exception cref="InvalidOperationException">Thrown in case of any internal error.</exception>
+ /// <since_tizen> 3 </since_tizen>
public BulkData()
{
ResultType ret;
/// </summary>
/// <param name="data">Bulk data</param>
/// <exception cref="ArgumentException">Thrown in case of an invalid parameter.</exception>
+ /// <since_tizen> 3 </since_tizen>
public void Add(Bundle data)
{
ResultType ret;
/// <summary>
/// Gets the current data count.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public int GetCount()
{
int count;
/// </summary>
/// <param name="index">The target data index.</param>
/// <exception cref="ArgumentException">Thrown in case of an invalid parameter.</exception>
+ /// <since_tizen> 3 </since_tizen>
public Bundle GetData(int index)
{
IntPtr bundlePtr;
/// <summary>
/// Releases all the resources used by the BulkData class.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public void Dispose()
{
Dispose(true);
/// Releases any unmanaged resources used by this object. Can also dispose any other disposable objects.
/// </summary>
/// <param name="disposing">If true, disposes any disposable objects. If false, does not dispose disposable objects.</param>
+ /// <since_tizen> 3 </since_tizen>
protected virtual void Dispose(bool disposing)
{
if (!_disposed)
/// <summary>
/// Represents the BulkResultData class for the DataControl bulk request.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class BulkResultData : IDisposable
{
private const string LogTag = "Tizen.Applications.DataControl";
/// Initializes the BulkResultData class.
/// </summary>
/// <exception cref="InvalidOperationException">Thrown in case of any internal error.</exception>
+ /// <since_tizen> 3 </since_tizen>
public BulkResultData()
{
ResultType ret;
/// <param name="data">The result data.</param>
/// <param name="result">Result.</param>
/// <exception cref="ArgumentException">Thrown in case of an invalid parameter.</exception>
+ /// <since_tizen> 3 </since_tizen>
public void Add(Bundle data, int result)
{
ResultType ret;
/// <summary>
/// Gets the current result data count.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public int GetCount()
{
int count;
/// </summary>
/// <param name="index">The target result data index.</param>
/// <exception cref="ArgumentException">Thrown in case of an invalid parameter.</exception>
+ /// <since_tizen> 3 </since_tizen>
public Bundle GetData(int index)
{
IntPtr bundlePtr;
/// </summary>
/// <param name="index">The target result index.</param>
/// <exception cref="ArgumentException">Thrown in case of an invalid parameter.</exception>
+ /// <since_tizen> 3 </since_tizen>
public int GetResult(int index)
{
IntPtr bundlePtr;
/// <summary>
/// Releases all the resources used by the BulkResultData class.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public void Dispose()
{
Dispose(true);
/// Releases any unmanaged resources used by this object. Can also dispose any other disposable objects.
/// </summary>
/// <param name="disposing">If true, disposes any disposable objects. If false, does not dispose disposable objects.</param>
+ /// <since_tizen> 3 </since_tizen>
protected virtual void Dispose(bool disposing)
{
if (!_disposed)
/// <summary>
/// Represents the Consumer class for the DataControl consumer application.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public abstract class Consumer : IDisposable
{
/// <exception cref="InvalidOperationException">Thrown in case of any internal error.</exception>
/// <privilege>http://tizen.org/privilege/datasharing</privilege>
/// <privilege>http://tizen.org/privilege/appmanager.launch</privilege>
+ /// <since_tizen> 3 </since_tizen>
public void Insert(Bundle insertData)
{
int reqId;
/// <exception cref="InvalidOperationException">Thrown in case of any internal error.</exception>
/// <privilege>http://tizen.org/privilege/datasharing</privilege>
/// <privilege>http://tizen.org/privilege/appmanager.launch</privilege>
+ /// <since_tizen> 3 </since_tizen>
public void Select(string[] columnList, string where, string order, int pageNumber = 1, int countPerPage = 20)
{
int reqId, i;
/// <exception cref="InvalidOperationException">Thrown in case of any internal error.</exception>
/// <privilege>http://tizen.org/privilege/datasharing</privilege>
/// <privilege>http://tizen.org/privilege/appmanager.launch</privilege>
+ /// <since_tizen> 3 </since_tizen>
public void Delete(string where)
{
int reqId;
/// <exception cref="InvalidOperationException">Thrown in case of any internal error.</exception>
/// <privilege>http://tizen.org/privilege/datasharing</privilege>
/// <privilege>http://tizen.org/privilege/appmanager.launch</privilege>
+ /// <since_tizen> 3 </since_tizen>
public void Update(Bundle updateData, string where)
{
int reqId;
/// <exception cref="InvalidOperationException">Thrown in case of any internal error.</exception>
/// <privilege>http://tizen.org/privilege/datasharing</privilege>
/// <privilege>http://tizen.org/privilege/appmanager.launch</privilege>
+ /// <since_tizen> 3 </since_tizen>
public void BulkInsert(BulkData insertData)
{
int reqId;
/// <exception cref="InvalidOperationException">Thrown in case of any internal error.</exception>
/// <privilege>http://tizen.org/privilege/datasharing</privilege>
/// <privilege>http://tizen.org/privilege/appmanager.launch</privilege>
+ /// <since_tizen> 3 </since_tizen>
public void MapAdd(string key, string value)
{
int reqId;
/// <exception cref="InvalidOperationException">Thrown in case of any internal error.</exception>
/// <privilege>http://tizen.org/privilege/datasharing</privilege>
/// <privilege>http://tizen.org/privilege/appmanager.launch</privilege>
+ /// <since_tizen> 3 </since_tizen>
public void MapGet(string key, int pageNumber = 1, int countPerPage = 20)
{
int reqId;
/// <exception cref="InvalidOperationException">Thrown in case of any internal error.</exception>
/// <privilege>http://tizen.org/privilege/datasharing</privilege>
/// <privilege>http://tizen.org/privilege/appmanager.launch</privilege>
+ /// <since_tizen> 3 </since_tizen>
public void MapRemove(string key, string value)
{
int reqId;
/// <exception cref="InvalidOperationException">Thrown in case of any internal error.</exception>
/// <privilege>http://tizen.org/privilege/datasharing</privilege>
/// <privilege>http://tizen.org/privilege/appmanager.launch</privilege>
+ /// <since_tizen> 3 </since_tizen>
public void MapSet(string key, string oldValue, string newValue)
{
int reqId;
/// <exception cref="InvalidOperationException">Thrown in case of any internal error.</exception>
/// <privilege>http://tizen.org/privilege/datasharing</privilege>
/// <privilege>http://tizen.org/privilege/appmanager.launch</privilege>
+ /// <since_tizen> 3 </since_tizen>
public void MapBulkAdd(BulkData addData)
{
int reqId;
/// <exception cref="InvalidOperationException">Thrown in case of any internal error.</exception>
/// <privilege>http://tizen.org/privilege/datasharing</privilege>
/// <privilege>http://tizen.org/privilege/appmanager.launch</privilege>
+ /// <since_tizen> 3 </since_tizen>
public void DataChangeListen()
{
ResultType ret;
/// <param name="dataId">The DataControl Data ID.</param>
/// <exception cref="ArgumentException">Thrown in case of an invalid parmaeter.</exception>
/// <exception cref="InvalidOperationException">Thrown in case of any internal error.</exception>
+ /// <since_tizen> 3 </since_tizen>
public Consumer(string providerId, string dataId)
{
ResultType ret;
/// <summary>
/// Overrides this method if you want to handle the behavior when the DataChangeListen result is received.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
protected virtual void OnDataChangeListenResult(DataChangeListenResult result)
{
Log.Info(LogTag, "The OnDataChangeListenResult is not implemented.");
/// <summary>
/// Overrides this method if you want to handle the behavior when the data change event is received.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
protected virtual void OnDataChange(ChangeType type, Bundle data)
{
Log.Info(LogTag, "The OnDataChange is not implemented.");
/// <summary>
/// Overrides this method if you want to handle the behavior when the select response is received.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
protected abstract void OnSelectResult(SelectResult result);
/// <summary>
/// Overrides this method if you want to handle the behavior when the insert response is received.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
protected abstract void OnInsertResult(InsertResult result);
/// <summary>
/// Overrides this method if you want to handle the behavior when the update response is received.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
protected abstract void OnUpdateResult(UpdateResult result);
/// <summary>
/// Overrides this method if want to handle the behavior when the delete response is received.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
protected abstract void OnDeleteResult(DeleteResult result);
/// <summary>
/// Overrides this method if you want to handle the behavior when the BulkInsert response is received.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
protected virtual void OnBulkInsertResult(BulkInsertResult result)
{
Log.Info(LogTag, "The OnBulkInsertResult is not implemented.");
/// <summary>
/// Overrides this method if you want to handle the behavior when the map get response is received.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
protected virtual void OnMapGetResult(MapGetResult result)
{
Log.Info(LogTag, "The OnMapGetResult is not implemented.");
/// <summary>
/// Overrides this method if you want to handle the behavior when the map add response is received.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
protected virtual void OnMapAddResult(MapAddResult result)
{
Log.Info(LogTag, "The OnMapAddResult is not implemented.");
/// <summary>
/// Overrides this method if you want to handle the behavior when the map set response is received.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
protected virtual void OnMapSetResult(MapSetResult result)
{
Log.Info(LogTag, "The OnMapSetResult is not implemented.");
/// <summary>
/// Overrides this method if you want to handle the behavior when the map remove response is received.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
protected virtual void OnMapRemoveResult(MapRemoveResult result)
{
Log.Info(LogTag, "The OnMapRemoveResult is not implemented.");
/// <summary>
/// Overrides this method if you want to handle the behavior when the BulkAdd response is received.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
protected virtual void OnMapBulkAddResult(MapBulkAddResult result)
{
Log.Info(LogTag, "The OnMapBulkAddResult is not implemented.");
/// Releases the unmanaged resources used by the Consumer class specifying whether to perform a normal dispose operation.
/// </summary>
/// <param name="disposing">true for a normal dispose operation; false to finalize the handle.</param>
+ /// <since_tizen> 3 </since_tizen>
protected virtual void Dispose(bool disposing)
{
if (!_disposed)
/// <summary>
/// Releases all resources used by the Consumer class.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public void Dispose()
{
Dispose(true);
/// <summary>
/// This interface is for the DataControl cursor.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public interface ICursor
{
/// <summary>
/// Gets a column count.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
int GetColumnCount();
/// <summary>
/// Gets a column type.
/// </summary>
/// <param name="index">The index of column.</param>
+ /// <since_tizen> 3 </since_tizen>
ColumnType GetColumnType(int index);
/// <summary>
/// Gets a column name.
/// </summary>
/// <param name="index">The index of column.</param>
+ /// <since_tizen> 3 </since_tizen>
string GetColumnName(int index);
/// <summary>
/// Gets the numbers of rows in the cursor.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
long GetRowCount();
/// <summary>
/// Gets a next row.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
bool Next();
/// <summary>
/// Gets a prev row.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
bool Prev();
/// <summary>
/// Gets a first row.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
bool Reset();
/// <summary>
/// Gets an integer value.
/// </summary>
/// <param name="index">The index of row.</param>
+ /// <since_tizen> 3 </since_tizen>
int GetIntValue(int index);
/// <summary>
/// Gets an int64 value.
/// </summary>
/// <param name="index">The index of row.</param>
+ /// <since_tizen> 3 </since_tizen>
Int64 GetInt64Value(int index);
/// <summary>
/// Gets a double value.
/// </summary>
/// <param name="index">The index of row.</param>
+ /// <since_tizen> 3 </since_tizen>
double GetDoubleValue(int index);
/// <summary>
/// Gets a string value.
/// </summary>
/// <param name="index">The index of row.</param>
+ /// <since_tizen> 3 </since_tizen>
string GetStringValue(int index);
/// <summary>
/// Gets a BLOB value.
/// </summary>
/// <param name="index">The index of row.</param>
+ /// <since_tizen> 3 </since_tizen>
byte[] GetBlobValue(int index);
}
}
\ No newline at end of file
/// <summary>
/// Represents the MatrixCursor class for the DataControl provider's matrix cursor.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class MatrixCursor : IDisposable, ICursor
{
private const string LogTag = "Tizen.Applications.DataControl";
/// <summary>
/// Gets the column count of the MatrixCursor.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public int GetColumnCount()
{
return _columnTypes.Length;
/// </summary>
/// <param name="index">Target column index</param>
/// <exception cref="ArgumentException">Thrown in case of an invalid parameter.</exception>
+ /// <since_tizen> 3 </since_tizen>
public ColumnType GetColumnType(int index)
{
if (index < 0 || index >= _columnTypes.Length)
/// </summary>
/// <param name="index">The target column index.</param>
/// <exception cref="ArgumentException">Thrown in case of an invalid parameter.</exception>
+ /// <since_tizen> 3 </since_tizen>
public string GetColumnName(int index)
{
if (index < 0 || index >= _columnTypes.Length)
/// <summary>
/// Gets the MatrixCursor's row count.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public long GetRowCount()
{
return _rowCount;
/// <summary>
/// Move the MatrixCursor to the next row.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public bool Next()
{
if (_currentRowIndex >= _rowCount - 1)
/// <summary>
/// Move the MatrixCursor to the previous row.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public bool Prev()
{
if (_currentRowIndex <= 0)
/// <summary>
/// Move the MatrixCursor to the first row.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public bool Reset()
{
_currentRowIndex = 0;
/// Returns the value of the requested column as an integer.
/// </summary>
/// <exception cref="ArgumentException">Thrown in case of an invalid parameter.</exception>
+ /// <since_tizen> 3 </since_tizen>
public int GetIntValue(int index)
{
int ret;
/// Returns the value of the requested column as int64.
/// </summary>
/// <exception cref="ArgumentException">Thrown in case of an invalid parameter.</exception>
+ /// <since_tizen> 3 </since_tizen>
public Int64 GetInt64Value(int index)
{
Int64 ret;
/// Returns the value of the requested column as a double.
/// </summary>
/// <exception cref="ArgumentException">Thrown in case of an invalid parameter.</exception>
+ /// <since_tizen> 3 </since_tizen>
public double GetDoubleValue(int index)
{
double ret;
/// Returns the value of the requested column as a string.
/// </summary>
/// <exception cref="ArgumentException">Thrown in case of an invalid parameter.</exception>
+ /// <since_tizen> 3 </since_tizen>
public string GetStringValue(int index)
{
string ret;
/// Returns the value of the requested column as a BLOB.
/// </summary>
/// <exception cref="ArgumentException">Thrown in case of an invalid parameter.</exception>
+ /// <since_tizen> 3 </since_tizen>
public byte[] GetBlobValue(int index)
{
byte[] byte_array;
/// <param name="columnTypes">The MatrixCursor's column type list.</param>
/// <exception cref="ArgumentException">Thrown in case of an invalid parameter.</exception>
/// <exception cref="InvalidOperationException">Thrown in case of any internal error.</exception>
+ /// <since_tizen> 3 </since_tizen>
public MatrixCursor(string[] columnNames, ColumnType[] columnTypes)
{
byte[] byte_tmp, length_tmp, string_tmp;
/// </summary>
/// <param name="columnValues">New column values</param>
/// <exception cref="ArgumentException">Thrown in case of an invalid parameter.</exception>
+ /// <since_tizen> 3 </since_tizen>
public void AddRow(object[] columnValues)
{
int i, size = 0;
/// <summary>
/// Releases all the resources used by the MatrixCursor class.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public void Dispose()
{
Dispose(true);
/// Releases the unmanaged resources used by the MatrixCursor class specifying whether to perform a normal dispose operation.
/// </summary>
/// <param name="disposing">true for a normal dispose operation; false to finalize the handle.</param>
+ /// <since_tizen> 3 </since_tizen>
protected virtual void Dispose(bool disposing)
{
if (!_disposed)
/// <summary>
/// Represents the Provider class for the DataControl provider application.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public abstract class Provider : IDisposable
{
private const string LogTag = "Tizen.Applications.DataControl";
/// <summary>
/// Gets the data ID.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public string DataID
{
get;
/// <exception cref="UnauthorizedAccessException">Thrown in case a permission is denied.</exception>
/// <exception cref="InvalidOperationException">Thrown in case of any internal error.</exception>
/// <privilege>http://tizen.org/privilege/datasharing</privilege>
+ /// <since_tizen> 3 </since_tizen>
public void SendDataChange(ChangeType type, Bundle changedData)
{
ResultType ret;
/// </summary>
/// <param name="dataID">The DataControl Data ID.</param>
/// <exception cref="ArgumentException">Thrown in case of an invalid parameter.</exception>
+ /// <since_tizen> 3 </since_tizen>
public Provider(string dataID)
{
if (string.IsNullOrEmpty(dataID))
/// <exception cref="UnauthorizedAccessException">Thrown in case a permission is denied.</exception>
/// <exception cref="InvalidOperationException">Thrown in case of any internal error.</exception>
/// <privilege>http://tizen.org/privilege/datasharing</privilege>
+ /// <since_tizen> 3 </since_tizen>
public void Run()
{
ResultType ret;
/// <summary>
/// Stops the Provider service.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public void Stop()
{
if (_isRunning == true)
/// <summary>
/// Overrides this method if you want to handle the behavior when the select request is received.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
protected abstract SelectResult OnSelect(string query, string where, string[] columList, int columnCount, string order, int pageNum, int countPerPage);
/// <summary>
/// Overrides this method if you want to handle the behavior when the insert request is received.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
protected abstract InsertResult OnInsert(string query, Bundle insertData);
/// <summary>
/// Overrides this method if you want to handle the behavior when the update request is received.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
protected abstract UpdateResult OnUpdate(string query, string where, Bundle updateData);
/// <summary>
/// Overrides this method if you want to handle the behavior when the delete request is received.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
protected abstract DeleteResult OnDelete(string query, string where);
/// <summary>
/// Overrides this method if you want to handle the behavior when the bulk insert request is received.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
protected virtual BulkInsertResult OnBulkInsert(IEnumerable<string> query, BulkData bulkInsertData)
{
Log.Info(LogTag, "The OnBulkInsert is not implemented.");
/// <summary>
/// Overrides this method if you want to handle the behavior when the map get request is received.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
protected virtual MapGetResult OnMapGet(string key)
{
Log.Info(LogTag, "The OnMapGet is not implemented.");
/// <summary>
/// Overrides this method if you want to handle the behavior when the map add request is received.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
protected virtual MapAddResult OnMapAdd(string key, string value)
{
Log.Info(LogTag, "The OnMapAdd is not implemented.");
/// <summary>
/// Overrides this method if you want to handle the behavior when the update request is received.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
protected virtual MapSetResult OnMapSet(string key, string oldValue, string newValue)
{
Log.Info(LogTag, "The OnMapSet is not implemented.");
/// <summary>
/// Overrides this method if you want to handle the behavior when the delete request is received.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
protected virtual MapRemoveResult OnMapRemove(string key, string value)
{
Log.Info(LogTag, "The OnMapRemove is not implemented.");
/// <summary>
/// Overrides this method if you want to handle the behavior when the bulk add request is received.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
protected virtual MapBulkAddResult OnMapBulkAdd(BulkData bulkAddData)
{
Log.Info(LogTag, "The OnMapBulkAdd is not implemented.");
/// <summary>
/// Overrides this method if you want to handle the behavior when the data change listen request is received.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
protected virtual DataChangeListenResult OnDataChangeListenRequest(string requestAppID)
{
Log.Info(LogTag, "The OnDataChangeListenRequest is not implemented.");
/// Releases unmanaged resources used by the Provider class specifying whether to perform a normal dispose operation.
/// </summary>
/// <param name="disposing">true for a normal dispose operation; false to finalize the handle.</param>
+ /// <since_tizen> 3 </since_tizen>
protected virtual void Dispose(bool disposing)
{
if (!_disposed)
/// <summary>
/// Releases all the resources used by the Provider class.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public void Dispose()
{
Dispose(true);
/// <summary>
/// This class contains the insert operation result.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class InsertResult
{
/// <summary>
/// Gets the insert data's row ID.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public long RowID
{
get;
/// <summary>
/// Gets the insert operation result.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public bool Result
{
get;
/// </summary>
/// <param name="rowID">The inserted row ID.</param>
/// <param name="result">The insert request result.</param>
+ /// <since_tizen> 3 </since_tizen>
public InsertResult(long rowID, bool result)
{
RowID = rowID;
/// <summary>
/// This class contains the bulk insert operation result.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class BulkInsertResult
{
/// <summary>
/// Gets the bulk insert operation result data.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public BulkResultData BulkResultData
{
get;
/// <summary>
/// Gets the bulk insert operation result.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public bool Result
{
get;
/// <param name="bulkResultData">The bulk insert request result data.</param>
/// <param name="result">The bulk insert request result.</param>
/// <exception cref="ArgumentException">Thrown in case of an invalid parameter.</exception>
+ /// <since_tizen> 3 </since_tizen>
public BulkInsertResult(BulkResultData bulkResultData, bool result)
{
if (result == true && (bulkResultData == null || bulkResultData.SafeBulkDataHandle.IsInvalid))
/// <summary>
/// This class contains the update operation result.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class UpdateResult
{
/// <summary>
/// Gets the update operation result.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public bool Result
{
get;
/// Initializes the UpdateResult class with the result.
/// </summary>
/// <param name="result">The update request result.</param>
+ /// <since_tizen> 3 </since_tizen>
public UpdateResult(bool result)
{
Result = result;
/// <summary>
/// This class contains the delete operation result.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class DeleteResult
{
/// <summary>
/// Gets the delete operation result.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public bool Result
{
get;
/// Initializes the DeleteResult class with the result.
/// </summary>
/// <param name="result">The delete request result.</param>
+ /// <since_tizen> 3 </since_tizen>
public DeleteResult(bool result)
{
Result = result;
/// <summary>
/// This class contains the select operation result.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class SelectResult
{
/// <summary>
/// Gets the select operation result cursor.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public ICursor ResultCursor
{
get;
/// <summary>
/// Gets the select operation result.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public bool Result
{
get;
/// <param name="cursor">The cursor with the selected data.</param>
/// <param name="result">The select request result.</param>
/// <exception cref="ArgumentException">Thrown in case of an invalid parameter.</exception>
+ /// <since_tizen> 3 </since_tizen>
public SelectResult(ICursor cursor, bool result)
{
int i;
/// <summary>
/// This class contains the MapAdd operation result.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class MapAddResult
{
/// <summary>
/// Gets the MapAdd operation result.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public bool Result
{
get;
/// Initializes the MapAddResult class with the result.
/// </summary>
/// <param name="result">The MapAdd request result.</param>
+ /// <since_tizen> 3 </since_tizen>
public MapAddResult(bool result)
{
Result = result;
/// <summary>
/// This class contains the MapBulkAdd operation result.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class MapBulkAddResult
{
/// <summary>
/// Gets the MapBulkAdd operation result data.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public BulkResultData BulkResultData
{
get;
/// <summary>
/// Gets the MapBulkAdd operation result.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public bool Result
{
get;
/// <param name="bulkResultData">The MapBulkAdd request result data.</param>
/// <param name="result">The MapBulkAdd request result.</param>
/// <exception cref="ArgumentException">Thrown in case of an invalid parameter.</exception>
+ /// <since_tizen> 3 </since_tizen>
public MapBulkAddResult(BulkResultData bulkResultData, bool result)
{
if (result == true && (bulkResultData == null || bulkResultData.SafeBulkDataHandle.IsInvalid))
/// <summary>
/// This class contains the MapSet operation result.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class MapSetResult
{
/// <summary>
/// Gets the MapSet operation result.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public bool Result
{
get;
/// Initializes the MapSetResult class with the result.
/// </summary>
/// <param name="result">MapSet request result</param>
+ /// <since_tizen> 3 </since_tizen>
public MapSetResult(bool result)
{
Result = result;
/// <summary>
/// This class contains the MapRemove operation result.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class MapRemoveResult
{
/// <summary>
/// Gets the MapRemove operation result.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public bool Result
{
get;
/// Initializes the MapRemoveResult class with the result.
/// </summary>
/// <param name="result">The MapRemove request result.</param>
+ /// <since_tizen> 3 </since_tizen>
public MapRemoveResult(bool result)
{
Result = result;
/// <summary>
/// This class contains the MapGet operation result.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class MapGetResult
{
/// <summary>
/// Gets the result value list of the MapGet operation.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public string[] ValueList
{
get;
/// <summary>
/// Gets the MapGet operation result.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public bool Result
{
get;
/// <param name="valueLIst">The MapGet request result data.</param>
/// <param name="result">The MapGet request result.</param>
/// <exception cref="ArgumentException">Thrown in case of an invalid parameter.</exception>
+ /// <since_tizen> 3 </since_tizen>
public MapGetResult(string[] valueLIst, bool result)
{
if (result == true && valueLIst == null)
/// <summary>
/// This class contains the DataChangeListen operation result.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class DataChangeListenResult
{
/// <summary>
/// Gets the DataChangeListen operation result.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public ResultType Result
{
get;
/// Initializes the DataChangeListenResult class with the result.
/// </summary>
/// <param name="result">The DataChangeListen request result.</param>
+ /// <since_tizen> 3 </since_tizen>
public DataChangeListenResult(ResultType result)
{
Result = result;
/// <summary>
/// Enumeration for the DataControl column types.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public enum ColumnType : short
{
/// <summary>
/// <summary>
/// Enumeration for the DataControl column types.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public enum ChangeType : short
{
/// <summary>
/// <summary>
/// Enumeration for the DataControl result types.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public enum ResultType : int
{
/// <summary>
/// If a remote application sends a message, the registered callback function of the local port is called.
/// The trusted message-port API allows communications between applications that are signed by the same developer(author) certificate.
/// </remarks>
+ /// <since_tizen> 3 </since_tizen>
public class MessagePort : IDisposable
{
private static readonly object s_lock = new object();
/// MessagePort messagePort = new MessagePort("SenderPort", true);
/// </code>
/// </example>
+ /// <since_tizen> 3 </since_tizen>
public MessagePort(string portName, bool trusted)
{
if (String.IsNullOrEmpty(portName))
/// }
/// </code>
/// </example>
+ /// <since_tizen> 3 </since_tizen>
public event EventHandler<MessageReceivedEventArgs> MessageReceived;
/// <summary>
/// The name of the local message port.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public string PortName
{
get
/// <summary>
/// If true, the message port is a trusted port, otherwise false.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public bool Trusted
{
get
/// <summary>
/// If true, the message port is listening, otherwise false.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public bool Listening
{
get
/// messagePort.Listen();
/// </code>
/// </example>
+ /// <since_tizen> 3 </since_tizen>
public void Listen()
{
lock (s_lock)
/// messagePort.StopListening();
/// </code>
/// </example>
+ /// <since_tizen> 3 </since_tizen>
public void StopListening()
{
if (!_listening)
/// }
/// </code>
/// </example>
+ /// <since_tizen> 3 </since_tizen>
public void Send(Bundle message, string remoteAppId, string remotePortName)
{
Send(message, remoteAppId, remotePortName, false);
/// }
/// </code>
/// </example>
+ /// <since_tizen> 3 </since_tizen>
public void Send(Bundle message, string remoteAppId, string remotePortName, bool trusted)
{
if (!_listening)
/// Releases the unmanaged resources used by the MessagePort class specifying whether to perform a normal dispose operation.
/// </summary>
/// <param name="disposing">true for a normal dispose operation; false to finalize the handle.</param>
+ /// <since_tizen> 3 </since_tizen>
protected virtual void Dispose(bool disposing)
{
if (_listening)
/// <summary>
/// Releases all resources used by the MessagePort class.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public void Dispose()
{
Dispose(true);
/// <summary>
/// An extended EventArgs class, which contains remote message port information and message.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class MessageReceivedEventArgs : EventArgs
{
/// <summary>
/// Contains AppId, port name, and trusted.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public RemoteValues Remote { get; internal set; }
/// <summary>
/// The message passed from the remote application.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public Bundle Message { get; internal set; }
}
}
/// Releases the unmanaged resources used by the RemotePort class specifying whether to perform a normal dispose operation.
/// </summary>
/// <param name="disposing">true for a normal dispose operation; false to finalize the handle.</param>
+ /// <since_tizen> 4 </since_tizen>
protected virtual void Dispose(bool disposing)
{
if (_disposed)
/// <summary>
/// Value representing Remote Port state is unregistered
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
Unregistered = 0,
/// <summary>
/// Value representing Remote Port state is registered
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
Registered = 1
}
}
/// <summary>
/// Contains AppId, port name, and trusted.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class RemoteValues
{
/// <summary>
/// The ID of the remote application that sent this message.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public string AppId { get; set; }
/// <summary>
/// The name of the remote message port.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public string PortName { get; set; }
/// <summary>
/// If true, the remote port is a trusted port, otherwise, if false, it is not.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public bool Trusted { get; set; }
}
}
/// <summary>
/// Initializes a new instance of the <see cref="Notification"/> class.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public Notification()
{
styleDictionary = new Dictionary<string, StyleBase>();
/// <summary>
/// Gets or sets the tag of notification.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public string Tag { get; set; } = string.Empty;
/// <summary>
/// Gets or sets the title of notification.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public string Title { get; set; } = string.Empty;
/// <summary>
/// Gets or sets the icon of notification.
/// You should set an absolute path for an image file.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public string Icon { get; set; } = string.Empty;
/// <summary>
/// This SubIcon is displayed in Icon you set.
/// You should set an absolute path for an image file.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public string SubIcon { get; set; } = string.Empty;
/// <summary>
/// Gets or sets the content of notification.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public string Content { get; set; } = string.Empty;
/// <summary>
/// Gets or sets a value indicating whether TimeStamp of the notification is Visible or not.
/// Default to true.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public bool IsTimeStampVisible { get; set; } = true;
/// <summary>
/// TimeStamp requires NotificationManager.Post() to be called.
/// If you set IsVisibleTimeStamp property to false, TimeStamp is not visible in notification.
/// </remarks>
+ /// <since_tizen> 3 </since_tizen>
public DateTime TimeStamp { get; set; }
/// <summary>
/// If you set it to null, the already set AppControl will be removed and nothing will happen when you click on notification.
/// </remarks>
/// <seealso cref="Tizen.Applications.AppControl"></seealso>
+ /// <since_tizen> 3 </since_tizen>
public AppControl Action { get; set; }
/// <summary>
/// If you set count to negative number, this property throws exception.
/// </remarks>
/// <exception cref="ArgumentException">Thrown when argument is invalid.</exception>
+ /// <since_tizen> 3 </since_tizen>
public int Count
{
get
/// Gets or sets a value indicating whether the notification is Onging or not.
/// Default value is false.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
[EditorBrowsable(EditorBrowsableState.Never)]
public bool IsOngoing { get; set; } = false;
/// Gets or sets property.
/// </summary>
/// <seealso cref="Tizen.Applications.Notifications.NotificationProperty"></seealso>
+ /// <since_tizen> 3 </since_tizen>
public NotificationProperty Property { get; set; } = NotificationProperty.None;
/// <summary>
/// Gets or sets <see cref="Notification.ProgressType"/> object for display at notification.
/// </summary>
/// <seealso cref="Tizen.Applications.Notifications.Notification.ProgressType"></seealso>
+ /// <since_tizen> 3 </since_tizen>
public ProgressType Progress { get; set; }
/// <summary>
/// NotificationManager.Post(notification);
/// </code>
/// </example>
+ /// <since_tizen> 3 </since_tizen>
public AccessorySet Accessory { get; set; }
/// <summary>
/// Gets or sets a value indicating whether notification is displayed on the default viewer.
/// If you set false and add style, you can see only style notification.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public bool IsVisible { get; set; } = true;
/// <summary>
/// NotificationManager.Post(notification);
/// </code>
/// </example>
+ /// <since_tizen> 3 </since_tizen>
public void AddStyle(StyleBase style)
{
if (style == null)
/// </summary>
/// <typeparam name="T">Type of notification style to be queried.</typeparam>
/// <exception cref="ArgumentException">Thrown when argument is invalid.</exception>
+ /// <since_tizen> 3 </since_tizen>
public void RemoveStyle<T>() where T : Notification.StyleBase, new()
{
T type = new T();
/// The Notification.Style object associated with the given style.
/// </returns>
/// <exception cref="ArgumentException">Thrown when argument is invalid.</exception>
+ /// <since_tizen> 3 </since_tizen>
public T GetStyle<T>() where T : Notification.StyleBase, new()
{
T type = new T();
/// notification.SetExtraData("firstKey", bundle);
/// </code>
/// </example>
+ /// <since_tizen> 4 </since_tizen>
public void SetExtraData(string key, Bundle value)
{
if (value == null || value.SafeBundleHandle.IsInvalid || string.IsNullOrEmpty(key))
/// </remarks>
/// <param name="key">The key of the extra data to add.</param>
/// <exception cref="ArgumentException">Thrown when argument is invalid.</exception>
+ /// <since_tizen> 4 </since_tizen>
public void RemoveExtraData(string key)
{
if (string.IsNullOrEmpty(key))
/// <param name="key">The key of the extra data to get.</param>
/// <returns>Bundle Object that include extra data</returns>
/// <exception cref="ArgumentException">Thrown when argument is invalid.</exception>
+ /// <since_tizen> 4 </since_tizen>
public Bundle GetExtraData(string key)
{
if (string.IsNullOrEmpty(key))
/// <summary>
/// Releases any unmanaged resources used by this object.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public void Dispose()
{
Dispose(true);
/// <summary>
/// Class for notification AccessorySet, which includes vibration, LED, and sound option.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public sealed class AccessorySet : MakerBase
{
/// <summary>
/// <remarks>
/// If you set AccessoryOption.Custom, you must the SoundPath. Otherwise, an exception is thrown.
/// </remarks>
+ /// <since_tizen> 3 </since_tizen>
public AccessoryOption SoundOption { get; set; } = AccessoryOption.Off;
/// <summary>
/// Gets or sets the sound path, It will play on the sound file you set.
/// You should set an absolute path for a sound file.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public string SoundPath { get; set; }
/// <summary>
/// Gets or sets a value indicating whether vibration is operated. Default is false.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public bool CanVibrate { get; set; } = false;
/// <summary>
/// <remarks>
/// If you set AccessoryOption.Custom and not set LedColor, the LED will show default color.
/// </remarks>
+ /// <since_tizen> 3 </since_tizen>
public AccessoryOption LedOption { get; set; } = AccessoryOption.Off;
/// <summary>
/// The rate is specified in terms of the number of Milliseconds to be on.
/// You must set the on and off times at the same time. Otherwise, it may not operate normally.
/// </remarks>
+ /// <since_tizen> 3 </since_tizen>
public int LedOnMillisecond { get; set; }
/// <summary>
/// The rate is specified in terms of the number of Milliseconds to be off.
/// You must set the on and off times at the same time. Otherwise, it may not operate normally.
/// </remarks>
+ /// <since_tizen> 3 </since_tizen>
public int LedOffMillisecond { get; set; }
/// <summary>
/// <remarks>
/// If you want to set LedColor, you should always set LedOption as AccessoryOption.Custom, otherwise, it may operate default LED color.
/// </remarks>
+ /// <since_tizen> 3 </since_tizen>
public Color LedColor { get; set; }
internal override void Make(Notification notification)
/// It is created to notify information to the user through the application.
/// This class helps you to provide method and property for creating notification object.
/// </remarks>
+ /// <since_tizen> 3 </since_tizen>
public sealed partial class Notification
{
/// <summary>
/// Class for generating active style notification.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public sealed class ActiveStyle : StyleBase
{
private IDictionary<ButtonIndex, ButtonAction> buttonDictionary;
/// <summary>
/// Initializes a new instance of the <see cref="ActiveStyle"/> class.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public ActiveStyle()
{
buttonDictionary = new Dictionary<ButtonIndex, ButtonAction>();
/// <summary>
/// Gets or sets an absolute path for an image file to display on the background of active notification.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public string BackgroundImage { get; set; }
/// <summary>
/// When 'IsAutoRemove' is set as false, the active notification will not be removed as long as the user removes
/// it or the application, which posted the active notification.
/// </remarks>>
+ /// <since_tizen> 3 </since_tizen>
public bool IsAutoRemove { get; set; } = true;
/// <summary>
/// The default button for display highlight is only reflected on the Tizen TV.
/// If you use this property on other profile, this value has no effect.
/// </remarks>
+ /// <since_tizen> 3 </since_tizen>
public ButtonIndex DefaultButton { get; set; } = ButtonIndex.None;
/// <summary>
/// active.AddButtonAction(button);
/// </code>
/// </example>
+ /// <since_tizen> 3 </since_tizen>
public ReplyAction ReplyAction { get; set; }
/// <summary>
/// If you use this API on other profile, this action have no effect
/// </remarks>
/// <seealso cref="Tizen.Applications.AppControl"></seealso>
+ /// <since_tizen> 4 </since_tizen>
public AppControl HiddenByUserAction { get; set; }
/// <summary>
/// If you use this API on other profile, this action settings have no effect
/// </remarks>
/// <seealso cref="Tizen.Applications.AppControl"></seealso>
+ /// <since_tizen> 4 </since_tizen>
public AppControl HiddenByTimeoutAction { get; set; }
/// <summary>
/// If you use this API on other profile, this action settings have no effect
/// </remarks>
/// <seealso cref="Tizen.Applications.AppControl"></seealso>
+ /// <since_tizen> 4 </since_tizen>
public AppControl HiddenByExternalAction { get; set; }
/// <summary>
/// <param name="hideTime">The value in seconds when the notification can be hidden from the notification viewer after the notification is posted.</param>
/// <param name="deleteTime">The value in seconds when the notification can be deleted from the notification list in setting application after notification is posted.</param>
/// <exception cref="ArgumentException">Thrown when argument is invalid.</exception>
+ /// <since_tizen> 3 </since_tizen>
public void SetRemoveTime(int hideTime, int deleteTime)
{
if (hideTime < 0 || deleteTime < 0)
/// </summary>
/// <param name="hideTime">The value in seconds when the notification can be hidden from the notification viewer after notification is posted.</param>
/// <param name="deleteTime">The value in seconds when the notification can be deleted from the notification list in setting application after notification is posted.</param>
+ /// <since_tizen> 3 </since_tizen>
public void GetRemoveTime(out int hideTime, out int deleteTime)
{
hideTime = hideTimeout;
///
/// </code>
/// </example>
+ /// <since_tizen> 3 </since_tizen>
public void AddButtonAction(ButtonAction button)
{
if (button == null)
/// </summary>
/// <param name="index">The index to remove a button.</param>
/// <returns>true if the element is successfully found and removed; otherwise, false.</returns>
+ /// <since_tizen> 3 </since_tizen>
public bool RemoveButtonAction(ButtonIndex index)
{
bool ret = buttonDictionary.Remove(index);
/// <param name="index">The index to get a button you already added.</param>
/// <returns>The ButtonAction object, which you already added.</returns>
/// <exception cref="ArgumentException">Thrown when an argument is invalid.</exception>
+ /// <since_tizen> 3 </since_tizen>
public ButtonAction GetButtonAction(ButtonIndex index)
{
ButtonAction button = null;
/// <remarks>
/// It must include a text, an index, an ImagePath, and an action to be invoked when the user selects the button.
/// </remarks>>
+ /// <since_tizen> 3 </since_tizen>
public sealed class ButtonAction : MakerBase
{
/// <summary>
/// Gets or sets the index of the button, which appeares as notification.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public ButtonIndex Index { get; set; } = ButtonIndex.None;
/// <summary>
/// Gets or sets the text describing the button.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public string Text { get; set; }
/// <summary>
/// Gets or sets the image path that represents the button.
/// You should provide an absolute path for an image file.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public string ImagePath { get; set; }
/// <summary>
/// </code>
/// </example>
/// <seealso cref="Tizen.Applications.AppControl"></seealso>
+ /// <since_tizen> 3 </since_tizen>
public AppControl Action { get; set; }
internal override void Make(Notification notification)
/// <summary>
/// Enumeration for the progress category.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public enum ProgressCategory
{
/// <summary>
/// <summary>
/// Enumeration for the accessory option.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public enum AccessoryOption
{
/// <summary>
/// <summary>
/// Enumeration for the button index.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public enum ButtonIndex
{
/// <summary>
/// <summary>
/// Enumeration for the notification particular property.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
[Flags]
public enum NotificationProperty
{
/// <summary>
/// Value for display only SIM card inserted.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
DisplayOnlySimMode = 0x01,
/// <summary>
/// <summary>
/// Enumeration for the block state.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public enum NotificationBlockState
{
/// <summary>
/// <summary>
/// Class for generating indicator style notification.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public sealed class IndicatorStyle : StyleBase
{
/// <summary>
/// Gets or sets an absolute path for an image file.
/// If you set IconPath, you can see the icon on the right side of indicator.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public string IconPath { get; set; }
/// <summary>
/// Gets or sets a sub text for displaying indicator style.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public string SubText { get; set; }
/// <summary>
/// <summary>
/// Class for generating lock style notification.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public sealed class LockStyle : StyleBase
{
/// <summary>
/// Gets or sets an absolute path for an image file to display the icon of lock style.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public string IconPath { get; set; }
/// <summary>
/// Gets or sets an absolute path for a thumbnail image file to display on lock style.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public string ThumbnailPath { get; set; }
/// <summary>
/// <summary>
/// An object that helps notification to make to SafeHandle.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
[EditorBrowsable(EditorBrowsableState.Never)]
public abstract class MakerBase
{
/// <summary>
/// NotificationManager class to post, update, delete, and get notification.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public static class NotificationManager
{
/// <summary>
/// </code>
/// </example>
/// <privilege>http://tizen.org/privilege/notification</privilege>
+ /// <since_tizen> 3 </since_tizen>
public static void Post(Notification notification)
{
if (notification == null)
/// <pre>
/// Post method should be called on the notification object.
/// </pre>
+ /// <since_tizen> 3 </since_tizen>
public static void Update(Notification notification)
{
if (notification == null || notification.Handle == null || notification.Handle.IsInvalid)
/// <pre>
/// Post method should be called on the notification object.
/// </pre>
+ /// <since_tizen> 3 </since_tizen>
public static void Delete(Notification notification)
{
if (notification == null || notification.Handle == null || notification.Handle.IsInvalid)
/// </code>
/// </example>
/// <privilege>http://tizen.org/privilege/notification</privilege>
+ /// <since_tizen> 3 </since_tizen>
public static void DeleteAll()
{
NotificationError ret;
/// </code>
/// </example>
/// <privilege>http://tizen.org/privilege/notification</privilege>
+ /// <since_tizen> 3 </since_tizen>
public static Notification Load(string tag)
{
IntPtr ptr = IntPtr.Zero;
/// </code>
/// </example>
/// <privilege>http://tizen.org/privilege/notification</privilege>
+ /// <since_tizen> 3 </since_tizen>
public static void SaveTemplate(Notification notification, string name)
{
if (notification == null || string.IsNullOrEmpty(name))
/// </code>
/// </example>
/// <privilege>http://tizen.org/privilege/notification</privilege>
+ /// <since_tizen> 3 </since_tizen>
public static Notification LoadTemplate(string name)
{
IntPtr handle = IntPtr.Zero;
/// <exception cref="UnauthorizedAccessException">Thrown in case of a permission is denied.</exception>
/// <exception cref="InvalidOperationException">Thrown in case of any internal error.</exception>
/// <privilege>http://tizen.org/privilege/notification</privilege>
+ /// <since_tizen> 3 </since_tizen>
public static NotificationBlockState GetBlockState()
{
NotificationBlockState state;
/// <param name="notification">The Notification class.</param>
/// <returns>The NotificationSafeHandle class.</returns>
/// <exception cref="ArgumentException">Thrown when an argument is invalid.</exception>
+ /// <since_tizen> 3 </since_tizen>
[EditorBrowsable(EditorBrowsableState.Never)]
public static NotificationSafeHandle MakeNotificationSafeHandle(Notification notification)
{
/// <param name="handle">The NotificationSafeHandle class.</param>
/// <returns>The Notification class.</returns>
/// <exception cref="ArgumentException">Thrown when an argument is invalid.</exception>
+ /// <since_tizen> 3 </since_tizen>
[EditorBrowsable(EditorBrowsableState.Never)]
public static Notification MakeNotification(NotificationSafeHandle handle)
{
/// Class for displaying progress notification.
/// You must initialize progress category, current, and max value when you create an object.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public sealed class ProgressType : MakerBase
{
private double progressCurrent;
/// <param name="current">The current value of the progress.</param>
/// <param name="max">The max value of the progress.</param>
/// <exception cref="ArgumentException">Thrown when an argument is invalid.</exception>
+ /// <since_tizen> 3 </since_tizen>
public ProgressType(ProgressCategory category, double current, double max)
{
if (IsNegativeNumber(current))
/// Gets or sets category of ProgressType.
/// </summary>
/// <seealso cref="Tizen.Applications.Notifications.ProgressCategory"></seealso>
+ /// <since_tizen> 3 </since_tizen>
public ProgressCategory Category { get; set; }
/// <summary>
/// Gets or sets current value of ProgressType.
/// </summary>
/// <exception cref="ArgumentException">Thrown when argument is invalid.</exception>
+ /// <since_tizen> 3 </since_tizen>
public double ProgressCurrent
{
get
/// Gets or sets max value of ProgressType.
/// </summary>
/// <exception cref="ArgumentException">Thrown when argument is invalid.</exception>
+ /// <since_tizen> 3 </since_tizen>
public double ProgressMax
{
get
/// Class for displaying direct-reply on notification.
/// You must set a ReplyMax and Button. Otherwise, user can't send written text to application which is set by AppControl.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public sealed class ReplyAction : MakerBase
{
/// <summary>
/// If you set ParentIndex, ReplyAction is displayed when button matches with ParentIndex that is clicked by the user.
/// If you don't set ParentIndex, it appears as notification directly.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public ButtonIndex ParentIndex { get; set; } = ButtonIndex.None;
/// <summary>
/// Gets or sets the PlaceHolderText of ReplyAction which appears at notification.
/// If you set PlaceHolderText, it is displayed to placeholder in notification.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public string PlaceHolderText { get; set; }
/// <summary>
/// <value>
/// Default value is 160.
/// </value>
+ /// <since_tizen> 3 </since_tizen>
public int ReplyMax { get; set; } = 160;
/// <summary>
/// };
/// </code>
/// </example>
+ /// <since_tizen> 3 </since_tizen>
public ButtonAction Button { get; set; }
internal override void Make(Notification notification)
/// <summary>
/// This class manages the notification handle resources.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
[EditorBrowsable(EditorBrowsableState.Never)]
public sealed class NotificationSafeHandle : SafeHandle
{
/// <summary>
/// Initializes a new instance of the NotificationSafeHandle class.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
[EditorBrowsable(EditorBrowsableState.Never)]
public NotificationSafeHandle()
: base(IntPtr.Zero, true)
/// <summary>
/// Gets a value that indicates whether the handle is invalid.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
[EditorBrowsable(EditorBrowsableState.Never)]
public override bool IsInvalid
{
/// An object can apply a rich notification style to a notification object.
/// If the platform does not provide rich notification, styles in this class have no effect.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public abstract class StyleBase : MakerBase
{
internal abstract string Key { get; }
/// <summary>
/// This class provides the property to get information about the deleted notification.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public class NotificationDeleteEventArgs : EventArgs
{
/// <summary>
/// Gets the unique number of the notification.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public int UniqueNumber { get; internal set; }
}
}
/// <summary>
/// Initializes a new instance of the <see cref="NotificationEventArgs"/> class.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public NotificationEventArgs()
{
Style = new Dictionary<string, StyleArgs>();
/// <summary>
/// Gets the unique ID of the notification.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public int UniqueNumber { get; internal set; }
/// <summary>
/// Gets the appId of the notification.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public string AppID { get; internal set; }
/// <summary>
/// Gets the title of the notification.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public string Title { get; internal set; }
/// <summary>
/// Gets the content text of the notification.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public string Content { get; internal set; }
/// <summary>
/// Gets the icon's path of the notification.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public string Icon { get; internal set; }
/// <summary>
/// Gets the sub icon path of the notification.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public string SubIcon { get; internal set; }
/// <summary>
/// Gets the timestamp if the notification is visible or not.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public bool IsTimeStampVisible { get; internal set; }
/// <summary>
/// <remarks>
/// If IsTimeStampVisible property is set false, this TimeStamp property is meaningless.
/// </remarks>
+ /// <since_tizen> 4 </since_tizen>
public DateTime TimeStamp { get; internal set; }
/// <summary>
/// Gets the count, which is displayed at the right side of notification.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public int Count { get; internal set; }
/// <summary>
/// Gets the tag of notification.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public string Tag { get; internal set; }
/// <summary>
/// Gets a value indicating whether the notification is Onging or not.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
[EditorBrowsable(EditorBrowsableState.Never)]
public bool IsOngoing { get; internal set; } = false;
/// Gets a value that determines whether notification is displayed on the default viewer.
/// If IsDisplay property is set as false and add style, you can see only style notification.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public bool IsVisible { get; internal set; } = true;
/// <summary>
/// Gets the event flag.
/// If this flag is true, you can do SendEvent.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
[EditorBrowsable(EditorBrowsableState.Never)]
public bool HasEventFlag { get; internal set; } = false;
/// <summary>
/// Gets the AppControl, which is invoked when notification is clicked.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public AppControl Action { get; internal set; }
/// <summary>
/// Gets the object of the progress notification.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public ProgressArgs Progress { get; internal set; }
/// <summary>
/// Gets the AccessoryArgs, which has option of sound, vibration, and LED.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public AccessoryArgs Accessory { get; internal set; }
/// <summary>
/// Gets the key for extra data.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public ICollection<string> ExtraDataKey
{
get
/// <summary>
/// Gets the property.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public NotificationProperty Property { get; internal set; }
/// <summary>
/// <typeparam name="T">Type of notification style to be queried.</typeparam>
/// <returns>The NotificationEventListener.StyleArgs object associated with the given style.</returns>
/// <exception cref="ArgumentException">Thrown when an argument is invalid.</exception>
+ /// <since_tizen> 4 </since_tizen>
public T GetStyle<T>() where T : StyleArgs, new()
{
T type = new T();
/// </summary>
/// <param name="key">The key that specifies which extra data.</param>
/// <returns>Returns the bundle for key.</returns>
+ /// <since_tizen> 4 </since_tizen>
public Bundle GetExtraData(string key)
{
Bundle bundle;
/// <summary>
/// Class to get infomation about notification accessory.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public class AccessoryArgs
{
/// <summary>
/// Gets the sound option.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public AccessoryOption SoundOption { get; internal set; }
/// <summary>
/// Gets the sound path.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public string SoundPath { get; internal set; }
/// <summary>
/// Gets the vibration option.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public bool CanVibrate { get; internal set; }
/// <summary>
/// Gets the LED option.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public AccessoryOption LedOption { get; internal set; }
/// <summary>
/// Default value of LedOnMilliseconds is 0.
/// The rate is specified in terms of the number of milliseconds to be on.
/// </value>
+ /// <since_tizen> 4 </since_tizen>
public int LedOnMillisecond { get; internal set; }
/// <summary>
/// Default value of LedOffMillisecond is 0.
/// The rate is specified in terms of the number of millisecond to be off.
/// </value>
+ /// <since_tizen> 4 </since_tizen>
public int LedOffMillisecond { get; internal set; }
/// <summary>
/// Gets LED color that you would like the LED on the device to blink.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public Color LedColor { get; internal set; }
}
}
/// <summary>
/// Class to get infomation about notification active style.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public class ActiveStyleArgs : StyleArgs
{
/// <summary>
/// Initializes a new instance of the <see cref="ActiveStyleArgs"/> class.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public ActiveStyleArgs()
{
Button = new List<ButtonActionArgs>();
/// When 'IsAutoRemove' is set as false, the active notification will not be removed as long as the user removes
/// the active notification, or the app which posted the active notification removes the active notification.
/// </value>
+ /// <since_tizen> 4 </since_tizen>
public bool IsAutoRemove { get; internal set; }
/// <summary>
/// Gets an absolute path for an image file to display on the background of active notification.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public string BackgroundImage { get; internal set; }
/// <summary>
/// Gets the default button to display highlight on the active notification.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public ButtonIndex DefaultButton { get; internal set; }
/// <summary>
/// Gets timeout value in seconds when the notification can be hidden from the viewer.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public int HideTimeout { get; internal set; }
/// <summary>
/// Gets timeout value in seconds when the notification can be deleted from the viewer.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public int DeleteTimeout { get; internal set; }
/// <summary>
/// The property is only reflected on Tizen TV.
/// If you use this API on other profile, this action have no effect
/// </remarks>
+ /// <since_tizen> 4 </since_tizen>
public AppControl HiddenByUserAction { get; internal set; }
/// <summary>
/// The property is only reflected on Tizen TV.
/// If you use this API on other profile, this action settings have no effect
/// </remarks>
+ /// <since_tizen> 4 </since_tizen>
public AppControl HiddenByTimeoutAction { get; internal set; }
/// <summary>
/// <remarks>
/// If you use this API on other profile, this action settings have no effect
/// </remarks>
+ /// <since_tizen> 4 </since_tizen>
public AppControl HiddenByExternalAction { get; internal set; }
/// <summary>
/// Gets a button to this active notification style.
/// Buttons are displayed in the notification content.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public IList<ButtonActionArgs> Button { get; internal set; }
/// <summary>
/// Gets a ReplyAction to this active notification style.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public ReplyActionArgs Reply { get; internal set; }
internal override string Key
/// <summary>
/// Class to get infomation about notification ButtonAction.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public class ButtonActionArgs
{
/// <summary>
/// Gets the index of the button, which appears at notification.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public ButtonIndex Index { get; internal set; }
/// <summary>
/// Gets the text that describes the button.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public string Text { get; internal set; }
/// <summary>
/// Gets the image's path that represents the button.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public string ImagePath { get; internal set; }
/// <summary>
/// Gets the AppControl that is invoked when the button is clicked.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public AppControl Action { get; internal set; }
}
}
/// <summary>
/// Enumeration for the progress category.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public enum ProgressCategory
{
/// <summary>
/// <summary>
/// Enumeration for the accessory option.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public enum AccessoryOption
{
/// <summary>
/// <summary>
/// Enumeration for the button index.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public enum ButtonIndex
{
/// <summary>
/// <summary>
/// Enumeration for the notification particular property.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
[Flags]
public enum NotificationProperty
{
/// <summary>
/// Enumeration for event type on notification.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
[EditorBrowsable(EditorBrowsableState.Never)]
public enum UserEventType
{
/// <summary>
/// Class to generate the indicator style notification.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public class IndicatorStyleArgs : StyleArgs
{
/// <summary>
/// Gets the path of the image file to display on the icon of indicator style.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public string IconPath { get; internal set; }
/// <summary>
/// Gets the sub text to display indicator style.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public string SubText { get; internal set; }
internal override string Key
/// <summary>
/// This class provides methods and properties to get information about the posted or updated notification.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public partial class NotificationEventArgs
{
/// <summary>
/// Class to get infomation about notification lock style.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public class LockStyleArgs : StyleArgs
{
/// <summary>
/// Gets the path of the image file to display on the icon of lock style.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public string IconPath { get; internal set; }
/// <summary>
/// Gets the path of the thumbnail image file to display on the icon of lock style.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public string Thumbnail { get; internal set; }
internal override string Key
/// <summary>
/// Class to get infomation about progress notification.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public class ProgressArgs
{
/// <summary>
/// Gets category of ProgressType.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public ProgressCategory Category { get; internal set; }
/// <summary>
/// Gets current value of ProgressType.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public double Current { get; internal set; }
/// <summary>
/// Gets max value of ProgressType.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public double Max { get; internal set; }
}
}
/// <summary>
/// Class to get infomation about notification ReplyAction.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public class ReplyActionArgs
{
/// <summary>
/// Gets index of button, which appears at notification.
/// If there is no ParentIndex, the ReplyAction should be displayed directly on the active notification.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public ButtonIndex ParentIndex { get; internal set; } = ButtonIndex.None;
/// <summary>
/// Gets the PlaceHolderText of ReplyAction, which appears at notification.
/// It will be displayed to the text input box on the active notification.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public string PlaceHolderText { get; internal set; }
/// <summary>
/// Gets a max length of text input.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public int ReplyMax { get; internal set; }
/// <summary>
/// Gets the button displayed in the replyaction.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public ButtonActionArgs Button { get; internal set; }
}
}
/// <summary>
/// An object can get a rich notification style to a notification object.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public abstract class StyleArgs
{
internal abstract string Key { get; }
/// <remarks>
/// The event listener can use this class to get a list of notifications or to clear notifications.
/// </remarks>
+ /// <since_tizen> 4 </since_tizen>
public partial class NotificationListenerManager
{
private const string LogTag = "Tizen.Applications.NotificationEventListener";
/// <exception cref="UnauthorizedAccessException"> Thrown in case of a permission is denied.</exception>
/// <exception cref="InvalidOperationException">Thrown in case of any internal error.</exception>
/// <privilege>http://tizen.org/privilege/notification</privilege>
+ /// <since_tizen> 4 </since_tizen>
public static event EventHandler<NotificationEventArgs> Added
{
add
/// <exception cref="UnauthorizedAccessException"> Thrown in case of a permission is denied.</exception>
/// <exception cref="InvalidOperationException">Thrown in case of any internal error.</exception>
/// <privilege>http://tizen.org/privilege/notification</privilege>
+ /// <since_tizen> 4 </since_tizen>
public static event EventHandler<NotificationEventArgs> Updated
{
add
/// <exception cref="UnauthorizedAccessException"> Thrown in case of a permission is denied.</exception>
/// <exception cref="InvalidOperationException">Thrown in case of any internal error.</exception>
/// <privilege>http://tizen.org/privilege/notification</privilege>
+ /// <since_tizen> 4 </since_tizen>
public static event EventHandler<NotificationDeleteEventArgs> Deleted
{
add
/// <exception cref="UnauthorizedAccessException"> Thrown in case of a permission is denied.</exception>
/// <exception cref="InvalidOperationException">Thrown in case of any internal error.</exception>
/// <privilege>http://tizen.org/privilege/notification</privilege>
+ /// <since_tizen> 4 </since_tizen>
public static void Delete(string appId, int uniqueNumber)
{
Interop.NotificationEventListener.ErrorCode err;
/// <exception cref="UnauthorizedAccessException"> Thrown in case of a permission is denied.</exception>
/// <exception cref="InvalidOperationException">Thrown in case of any internal error.</exception>
/// <privilege>http://tizen.org/privilege/notification</privilege>
+ /// <since_tizen> 4 </since_tizen>
public static void DeleteAll()
{
Interop.NotificationEventListener.ErrorCode err;
/// <exception cref="UnauthorizedAccessException"> Thrown in case of a permission is denied.</exception>
/// <exception cref="InvalidOperationException">Thrown in case of any internal error.</exception>
/// <privilege>http://tizen.org/privilege/notification</privilege>
+ /// <since_tizen> 4 </since_tizen>
public static IList<NotificationEventArgs> GetList()
{
Interop.NotificationEventListener.ErrorCode err;
/// <exception cref="UnauthorizedAccessException"> Thrown in case of a permission is denied.</exception>
/// <exception cref="InvalidOperationException">Thrown in case of any internal error.</exception>
/// <privilege>http://tizen.org/privilege/notification</privilege>
+ /// <since_tizen> 4 </since_tizen>
[EditorBrowsable(EditorBrowsableState.Never)]
public static void SendEvent(int uniqueNumber, UserEventType type)
{
/// <exception cref="UnauthorizedAccessException"> Thrown in case of a permission is denied.</exception>
/// <exception cref="InvalidOperationException">Thrown in case of any internal error.</exception>
/// <privilege>http://tizen.org/privilege/notification</privilege>
+ /// <since_tizen> 4 </since_tizen>
[EditorBrowsable(EditorBrowsableState.Never)]
public static NotificationEventArgs GetNotificationEventArgs(int uniqueNumber)
{
/// <summary>
/// Enumeration for the certificate compare result type.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public enum CertCompareResultType
{
/// <summary>
/// <summary>
/// Enumeration for the certification types.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public enum CertificateType
{
/// <summary>
/// <summary>
/// Enumeration for installation mode.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public enum InstallationMode
{
/// <summary>
/// <summary>
/// This class provides the methods and properties to get information about the packages.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class Package
{
private const string LogTag = "Tizen.Applications";
/// <summary>
/// The package ID.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public string Id { get { return _id; } }
/// <summary>
/// Label of the package.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public string Label { get { return _label; } }
/// <summary>
/// Absolute path to the icon image.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public string IconPath { get { return _iconPath; } }
/// <summary>
/// Version of the package.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public string Version { get { return _version; } }
/// <summary>
/// Type of the package.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public PackageType PackageType { get { return _type; } }
/// <summary>
/// Installed storage type for the package.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public StorageType InstalledStorageType { get { return (StorageType)_installedStorageType; } }
/// <summary>
/// Root path for the package.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public string RootPath { get { return _rootPath; } }
/// <summary>
/// </summary>
/// <privilege>http://tizen.org/privilege/packagemanager.admin</privilege>
/// <privlevel>platform</privlevel>
+ /// <since_tizen> 3 </since_tizen>
public string TizenExpansionPackageName { get { return _expansionPackageName; } }
/// <summary>
/// Checks whether the package is a system package.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public bool IsSystemPackage { get { return _isSystemPackage; } }
/// <summary>
/// Checks whether the package is removable.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public bool IsRemovable { get { return _isRemovable; } }
/// <summary>
/// Checks whether the package is preloaded.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public bool IsPreloaded { get { return _isPreloaded; } }
/// <summary>
/// Checks whether the current package is accessible.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public bool IsAccessible { get { return _isAccessible; } }
/// <summary>
/// Certificate information for the package.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public IReadOnlyDictionary<CertificateType, PackageCertificate> Certificates { get { return _certificates; } }
/// <summary>
/// Requested privilege for the package.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public IEnumerable<string> Privileges { get { return _privileges; } }
/// <summary>
/// Installed time of the package.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public int InstalledTime { get { return _installedTime; } }
/// <summary>
/// Retrieves all the application IDs of this package.
/// </summary>
/// <returns>Returns a dictionary containing all the application information for a given application type.</returns>
+ /// <since_tizen> 3 </since_tizen>
public IEnumerable<ApplicationInfo> GetApplications()
{
return GetApplications(ApplicationType.All);
/// </summary>
/// <param name="type">Optional: AppType enumeration value.</param>
/// <returns>Returns a dictionary containing all the application information for a given application type.</returns>
+ /// <since_tizen> 3 </since_tizen>
public IEnumerable<ApplicationInfo> GetApplications(ApplicationType type)
{
List<ApplicationInfo> appInfoList = new List<ApplicationInfo>();
/// </summary>
/// <returns>Package size information.</returns>
/// <privilege>http://tizen.org/privilege/packagemanager.info</privilege>
+ /// <since_tizen> 3 </since_tizen>
public async Task<PackageSizeInformation> GetSizeInformationAsync()
{
TaskCompletionSource<PackageSizeInformation> tcs = new TaskCompletionSource<PackageSizeInformation>();
/// <returns>Certificate comparison result.</returns>
/// <exception cref="ArgumentException">Thrown when a failed input package ID is invalid.</exception>
/// <exception cref="System.IO.IOException">Thrown when the method failed due to an internal I/O error.</exception>
+ /// <since_tizen> 3 </since_tizen>
public CertCompareResultType CompareCertInfo(string packageId)
{
Interop.PackageManager.CertCompareResultType compareResult;
/// <summary>
/// This class provides information about the package certification.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class PackageCertificate
{
private const string LogTag = "Tizen.Applications";
/// <summary>
/// Root certificate.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public string Root { get { return _root; } }
/// <summary>
/// Intermediate certificate.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public string Intermediate { get { return _intermediate; } }
/// <summary>
/// Signer certificate.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public string Signer { get { return _signer; } }
internal static IReadOnlyDictionary<CertificateType, PackageCertificate> GetPackageCertificates(IntPtr packageInfoHandle)
/// <summary>
/// This class provides the methods and properties for the DRM operation.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public class PackageDrm
{
private string _responseData;
/// Returns the response data.
/// </summary>
/// <returns>Returns the response data which is given when GenerateLicenseRequest has been invoked.</returns>
+ /// <since_tizen> 4 </since_tizen>
public string ResponseData { get { return _responseData; } }
/// <summary>
/// Returns the request data.
/// </summary>
/// <returns>Returns the request data which is generated when GenerateLicenseRequest has been invoked.</returns>
+ /// <since_tizen> 4 </since_tizen>
public string RequestData { get { return _requestData; } }
/// <summary>
/// Returns the license URL.
/// </summary>
/// <returns>Returns the license URL which is generated when GenerateLicenseRequest has been invoked.</returns>
+ /// <since_tizen> 4 </since_tizen>
public string LicenseUrl { get { return _licenseUrl; } }
internal static PackageDrm CreateDrmRequest(string responseData, string requestData, string licenseUrl)
/// <summary>
/// Enumeration for the package manager event state.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public enum PackageEventState
{
/// <summary>
/// <summary>
/// Enumeration for the package manager event types.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public enum PackageEventType
{
/// <summary>
/// <summary>
/// This class is a parameter of the PackageManager::GetPackages method.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class PackageFilter
{
private IDictionary<string, bool> _filter;
/// <summary>
/// The default constructor with an empty filter list. All the installed applications will satisfy this filter unless updated with more specific filters.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public PackageFilter()
{
_filter = new Dictionary<string, bool>();
/// <summary>
/// The constructor with specific filters. Using this will filter out the installed packages which do not meet the filter criteria.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public PackageFilter(IDictionary<string, bool> filter)
{
_filter = filter;
/// <summary>
/// Filters to be used in the GetPackages method.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public IDictionary<string, bool> Filters
{
get
/// <summary>
/// This class contains possible keys for the filter to be used in the GetPackages method.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public static class Keys
{
/// <summary>
/// Key of the boolean property for filtering if the package is removable.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public const string Removable = "PMINFO_PKGINFO_PROP_PACKAGE_REMOVABLE";
/// <summary>
/// Key of the boolean property for filtering if the package is read-only.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public const string ReadOnly = "PMINFO_PKGINFO_PROP_PACKAGE_READONLY";
/// <summary>
/// Key of the boolean property for filtering if the package supports disabling.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public const string SupportsDisable = "PMINFO_PKGINFO_PROP_PACKAGE_SUPPORT_DISABLE";
/// <summary>
/// Key of the boolean property for filtering if the package is disabled.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public const string Disable = "PMINFO_PKGINFO_PROP_PACKAGE_DISABLE";
/// <summary>
/// Key of the boolean property for filtering if the package is preloaded.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public const string Preload = "PMINFO_PKGINFO_PROP_PACKAGE_PRELOAD";
}
}
/// The package manager is one of the core modules of the Tizen application framework and responsible for getting their information.
/// You can also retrieve information related to the packages that are installed on the device.
/// </remarks>
+ /// <since_tizen> 3 </since_tizen>
public static class PackageManager
{
private const string LogTag = "Tizen.Applications.PackageManager";
/// <param name="eventType">Event type of the request.</param>
/// <param name="eventState">Current event state of the request.</param>
/// <param name="progress">Progress for the request being processed by the package manager (in percent).</param>
+ /// <since_tizen> 3 </since_tizen>
public delegate void RequestEventCallback(string type, string packageId, PackageEventType eventType, PackageEventState eventState, int progress);
private static Dictionary<int, RequestEventCallback> RequestCallbacks = new Dictionary<int, RequestEventCallback>();
/// <summary>
/// InstallProgressChanged event. This event occurs when a package is getting installed and the progress of the request to the package manager is changed.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public static event EventHandler<PackageManagerEventArgs> InstallProgressChanged
{
add
/// <summary>
/// UninstallProgressChanged event. This event occurs when a package is getting uninstalled and the progress of the request to the package manager is changed.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public static event EventHandler<PackageManagerEventArgs> UninstallProgressChanged
{
add
/// <summary>
/// UpdateProgressChanged event. This event occurs when a package is getting updated and the progress of the request to the package manager is changed.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public static event EventHandler<PackageManagerEventArgs> UpdateProgressChanged
{
add
/// <summary>
/// MoveProgressChanged event. This event occurs when a package is getting moved and the progress of the request to the package manager is changed.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public static event EventHandler<PackageManagerEventArgs> MoveProgressChanged
{
add
/// <summary>
/// ClearDataProgressChanged event. This event occurs when data directories are cleared in the given package.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public static event EventHandler<PackageManagerEventArgs> ClearDataProgressChanged
{
add
/// <exception cref="OutOfMemoryException">Thrown when there is not enough memory to continue the execution of the method.</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when an application does not have the privilege to access this method.</exception>
/// <privilege>http://tizen.org/privilege/packagemanager.info</privilege>
+ /// <since_tizen> 3 </since_tizen>
public static string GetPackageIdByApplicationId(string applicationId)
{
string packageId;
/// <exception cref="System.IO.IOException">Thrown when the method fails due to an internal I/O error.</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when an application does not have the privilege to access this method.</exception>
/// <privilege>http://tizen.org/privilege/packagemanager.info</privilege>
+ /// <since_tizen> 3 </since_tizen>
public static Package GetPackage(string packageId)
{
return Package.GetPackage(packageId);
/// <exception cref="UnauthorizedAccessException">Thrown when an application does not have the privilege to access this method.</exception>
/// <exception cref="SystemException">Thrown when the method failed due to an internal system error.</exception>
/// <privilege>http://tizen.org/privilege/packagemanager.clearcache</privilege>
+ /// <since_tizen> 3 </since_tizen>
public static void ClearCacheDirectory(string packageId)
{
Interop.PackageManager.ErrorCode err = Interop.PackageManager.PackageManagerClearCacheDir(packageId);
/// <exception cref="SystemException">Thrown when the method failed due to an internal system error.</exception>
/// <privilege>http://tizen.org/privilege/packagemanager.admin</privilege>
/// <privlevel>platform</privlevel>
+ /// <since_tizen> 3 </since_tizen>
public static void ClearAllCacheDirectory()
{
var err = Interop.PackageManager.PackageManagerClearAllCacheDir();
/// <exception cref="SystemException">Thrown when the method failed due to an internal system error.</exception>
/// <privilege>http://tizen.org/privilege/packagemanager.admin</privilege>
/// <privlevel>platform</privlevel>
+ /// <since_tizen> 3 </since_tizen>
public static void ClearDataDirectory(string packageId)
{
Interop.PackageManager.ErrorCode err = Interop.PackageManager.PackageManagerClearDataDir(packageId);
/// </summary>
/// <returns>Returns the list of packages.</returns>
/// <privilege>http://tizen.org/privilege/packagemanager.info</privilege>
+ /// <since_tizen> 3 </since_tizen>
public static IEnumerable<Package> GetPackages()
{
return GetPackages(null);
/// <param name="filter">Optional - package filters.</param>
/// <returns>Returns the list of packages.</returns>
/// <privilege>http://tizen.org/privilege/packagemanager.info</privilege>
+ /// <since_tizen> 3 </since_tizen>
public static IEnumerable<Package> GetPackages(PackageFilter filter)
{
List<Package> packageList = new List<Package>();
/// </summary>
/// <returns>Returns the total package size information asynchronously.</returns>
/// <privilege>http://tizen.org/privilege/packagemanager.info</privilege>
+ /// <since_tizen> 3 </since_tizen>
public static async Task<PackageSizeInformation> GetTotalSizeInformationAsync()
{
TaskCompletionSource<PackageSizeInformation> tcs = new TaskCompletionSource<PackageSizeInformation>();
/// </remarks>
/// <privilege>http://tizen.org/privilege/packagemanager.admin</privilege>
/// <privlevel>platform</privlevel>
+ /// <since_tizen> 3 </since_tizen>
public static bool Install(string packagePath, InstallationMode installMode = InstallationMode.Normal)
{
return Install(packagePath, null, PackageType.UNKNOWN, null, installMode);
/// </remarks>
/// <privilege>http://tizen.org/privilege/packagemanager.admin</privilege>
/// <privlevel>platform</privlevel>
+ /// <since_tizen> 3 </since_tizen>
public static bool Install(string packagePath, RequestEventCallback eventCallback, InstallationMode installMode = InstallationMode.Normal)
{
return Install(packagePath, null, PackageType.UNKNOWN, eventCallback, installMode);
/// </remarks>
/// <privilege>http://tizen.org/privilege/packagemanager.admin</privilege>
/// <privlevel>platform</privlevel>
+ /// <since_tizen> 3 </since_tizen>
public static bool Install(string packagePath, PackageType type, InstallationMode installMode = InstallationMode.Normal)
{
return Install(packagePath, null, type, null, installMode);
/// </remarks>
/// <privilege>http://tizen.org/privilege/packagemanager.admin</privilege>
/// <privlevel>platform</privlevel>
+ /// <since_tizen> 3 </since_tizen>
public static bool Install(string packagePath, string expansionPackagePath, InstallationMode installMode = InstallationMode.Normal)
{
return Install(packagePath, expansionPackagePath, PackageType.UNKNOWN, null, installMode);
/// </remarks>
/// <privilege>http://tizen.org/privilege/packagemanager.admin</privilege>
/// <privlevel>platform</privlevel>
+ /// <since_tizen> 3 </since_tizen>
public static bool Install(string packagePath, PackageType type, RequestEventCallback eventCallback, InstallationMode installMode = InstallationMode.Normal)
{
return Install(packagePath, null, type, eventCallback, installMode);
/// </remarks>
/// <privilege>http://tizen.org/privilege/packagemanager.admin</privilege>
/// <privlevel>platform</privlevel>
+ /// <since_tizen> 3 </since_tizen>
public static bool Install(string packagePath, string expansionPackagePath, RequestEventCallback eventCallback, InstallationMode installMode = InstallationMode.Normal)
{
return Install(packagePath, expansionPackagePath, PackageType.UNKNOWN, eventCallback, installMode);
/// </remarks>
/// <privilege>http://tizen.org/privilege/packagemanager.admin</privilege>
/// <privlevel>platform</privlevel>
+ /// <since_tizen> 3 </since_tizen>
public static bool Install(string packagePath, string expansionPackagePath, PackageType type, InstallationMode installMode = InstallationMode.Normal)
{
return Install(packagePath, expansionPackagePath, type, null, installMode);
/// </remarks>
/// <privilege>http://tizen.org/privilege/packagemanager.admin</privilege>
/// <privlevel>platform</privlevel>
+ /// <since_tizen> 3 </since_tizen>
public static bool Install(string packagePath, string expansionPackagePath, PackageType type, RequestEventCallback eventCallback, InstallationMode installMode = InstallationMode.Normal)
{
SafePackageManagerRequestHandle RequestHandle;
/// </remarks>
/// <privilege>http://tizen.org/privilege/packagemanager.admin</privilege>
/// <privlevel>platform</privlevel>
+ /// <since_tizen> 3 </since_tizen>
public static bool Uninstall(string packageId)
{
return Uninstall(packageId, PackageType.UNKNOWN, null);
/// </remarks>
/// <privilege>http://tizen.org/privilege/packagemanager.admin</privilege>
/// <privlevel>platform</privlevel>
+ /// <since_tizen> 3 </since_tizen>
public static bool Uninstall(string packageId, PackageType type)
{
return Uninstall(packageId, type, null);
/// </remarks>
/// <privilege>http://tizen.org/privilege/packagemanager.admin</privilege>
/// <privlevel>platform</privlevel>
+ /// <since_tizen> 3 </since_tizen>
public static bool Uninstall(string packageId, RequestEventCallback eventCallback)
{
return Uninstall(packageId, PackageType.UNKNOWN, eventCallback);
/// </remarks>
/// <privilege>http://tizen.org/privilege/packagemanager.admin</privilege>
/// <privlevel>platform</privlevel>
+ /// <since_tizen> 3 </since_tizen>
public static bool Uninstall(string packageId, PackageType type, RequestEventCallback eventCallback)
{
SafePackageManagerRequestHandle RequestHandle;
/// </remarks>
/// <privilege>http://tizen.org/privilege/packagemanager.admin</privilege>
/// <privlevel>platform</privlevel>
+ /// <since_tizen> 3 </since_tizen>
public static bool Move(string packageId, StorageType newStorage)
{
return Move(packageId, PackageType.UNKNOWN, newStorage, null);
/// </remarks>
/// <privilege>http://tizen.org/privilege/packagemanager.admin</privilege>
/// <privlevel>platform</privlevel>
+ /// <since_tizen> 3 </since_tizen>
public static bool Move(string packageId, PackageType type, StorageType newStorage)
{
return Move(packageId, type, newStorage, null);
/// </remarks>
/// <privilege>http://tizen.org/privilege/packagemanager.admin</privilege>
/// <privlevel>platform</privlevel>
+ /// <since_tizen> 3 </since_tizen>
public static bool Move(string packageId, StorageType newStorage, RequestEventCallback eventCallback)
{
return Move(packageId, PackageType.UNKNOWN, newStorage, eventCallback);
/// </remarks>
/// <privilege>http://tizen.org/privilege/packagemanager.admin</privilege>
/// <privlevel>platform</privlevel>
+ /// <since_tizen> 3 </since_tizen>
public static bool Move(string packageId, PackageType type, StorageType newStorage, RequestEventCallback eventCallback)
{
SafePackageManagerRequestHandle RequestHandle;
/// <privilege>http://tizen.org/privilege/packagemanager.info</privilege>
/// <exception cref="ArgumentException">Thrown when the failed input package ID is invalid.</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when an application does not have the privilege to access this method.</exception>
+ /// <since_tizen> 3 </since_tizen>
public static PermissionType GetPermissionTypeByApplicationId(string applicationId)
{
Interop.PackageManager.PackageManagerPermissionType permissionType;
/// <privilege>http://tizen.org/privilege/packagemanager.info</privilege>
/// <exception cref="ArgumentException">Thrown when the failed input package ID is invalid.</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when an application does not have the privilege to access this method.</exception>
+ /// <since_tizen> 3 </since_tizen>
public static bool IsPreloadPackageByApplicationId(string applicationId)
{
bool isPreloadPackage;
/// <returns>Returns certificate comparison result.</returns>
/// <exception cref="ArgumentException">Thrown when the failed input package ID is invalid.</exception>
/// <exception cref="System.IO.IOException">Thrown when the method failed due to an internal I/O error.</exception>
+ /// <since_tizen> 3 </since_tizen>
public static CertCompareResultType CompareCertInfo(string lhsPackageId, string rhsPackageId)
{
Interop.PackageManager.CertCompareResultType compareResult;
/// <returns>Returns certificate comparison result.</returns>
/// <exception cref="ArgumentException">Thrown when the failed input package ID is invalid.</exception>
/// <exception cref="System.IO.IOException">Thrown when the method failed due to an internal I/O error.</exception>
+ /// <since_tizen> 3 </since_tizen>
public static CertCompareResultType CompareCertInfoByApplicationId(string lhsApplicationId, string rhsApplicationId)
{
Interop.PackageManager.CertCompareResultType compareResult;
/// <summary>
/// Drm nested class. This class has the PackageManager's drm related methods.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public static class Drm
{
/// <summary>
/// <exception cref="OutOfMemoryException">Thrown when there is not enough memory to continue the execution of the method.</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when an application does not have the privilege to access this method.</exception>
/// <exception cref="SystemException">Thrown when the method failed due to an internal system error.</exception>
+ /// <since_tizen> 3 </since_tizen>
public static PackageDrm GenerateLicenseRequest(string responseData)
{
return PackageDrm.GenerateLicenseRequest(responseData);
/// <exception cref="OutOfMemoryException">Thrown when there is not enough memory to continue the execution of the method.</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when an application does not have the privilege to access this method.</exception>
/// <exception cref="SystemException">Thrown when the method failed due to internal system error.</exception>
+ /// <since_tizen> 3 </since_tizen>
public static bool RegisterLicense(string responseData)
{
Interop.PackageManager.ErrorCode err = Interop.PackageManager.PackageManagerDrmRegisterLicense(responseData);
/// <exception cref="OutOfMemoryException">Thrown when there is not enough memory to continue the execution of the method.</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when an application does not have the privilege to access this method.</exception>
/// <exception cref="SystemException">Thrown when the method failed due to an internal system error.</exception>
+ /// <since_tizen> 3 </since_tizen>
public static bool DecryptPackage(string drmFilePath, string decryptedFilePath)
{
Interop.PackageManager.ErrorCode err = Interop.PackageManager.PackageManagerDrmDecryptPackage(drmFilePath, decryptedFilePath);
/// <summary>
/// PackageManagerEventArgs class. This class is an event arguments of the InstallProgressChanged, UninstallProgressChanged, and UpdateProgressChanged events.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class PackageManagerEventArgs : EventArgs
{
private readonly PackageType _packageType;
/// <summary>
/// Type of the package to be installed, uninstalled, or updated.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public PackageType PackageType { get { return _packageType; } }
/// <summary>
/// Package ID to be installed, uninstalled, or updated.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public string PackageId { get { return _packageId; } }
/// <summary>
/// Current state of the request to the package manager.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public PackageEventState State { get { return _state; } }
/// <summary>
/// Progress for the request being processed by the package manager (in percent).
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public int Progress { get { return _progress; } }
}
}
/// <summary>
/// This class has read-only properties to get the package size information.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class PackageSizeInformation
{
private long _dataSize;
/// <summary>
/// Data size for the package.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public long DataSize { get { return _dataSize; } }
/// <summary>
/// Cache size for the package.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public long CacheSize { get { return _cacheSize; } }
/// <summary>
/// Application size for the package.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public long AppSize { get { return _appSize; } }
/// <summary>
/// External data size for the package.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public long ExternalDataSize { get { return _externalDataSize; } }
/// <summary>
/// External cache size for the package.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public long ExternalCacheSize { get { return _externalCacheSize; } }
/// <summary>
/// External application size for the package.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public long ExternalAppSize { get { return _externalAppSize; } }
// This method assumes that pass handle is already validated
/// <summary>
/// Enumeration for the package types.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public enum PackageType
{
/// <summary>
/// <summary>
/// Enumeration for the permission types.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public enum PermissionType
{
/// <summary>
/// <summary>
/// Enumeration for the storage types.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public enum StorageType
{
/// <summary>
/// The preference class provides APIs to store and retrieve an application specific data/preference. A preference is saved in the form of a key-value pair.
/// Keys are always text strings and the value can be any one of the four types: integer, double, string, and boolean.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public static class Preference
{
private const string LogTag = "Tizen.Applications";
/// }
/// </code>
/// </example>
+ /// <since_tizen> 3 </since_tizen>
public static IEnumerable<string> Keys
{
get
/// }
/// </code>
/// </example>
+ /// <since_tizen> 3 </since_tizen>
public static WeakReference<EventContext> GetEventContext(string key)
{
if (!s_eventMap.ContainsKey(key))
/// }
/// </code>
/// </example>
+ /// <since_tizen> 3 </since_tizen>
public static bool Contains(string key)
{
bool contains;
/// Preference.Set("brightness", "0.6");
/// </code>
/// </example>
+ /// <since_tizen> 3 </since_tizen>
public static void Set(string key, object value)
{
int ret = 0;
/// }
/// </code>
/// </example>
+ /// <since_tizen> 3 </since_tizen>
public static T Get<T>(string key)
{
object result = null;
/// }
/// </code>
/// </example>
+ /// <since_tizen> 3 </since_tizen>
public static void Remove(string key)
{
int ret = Interop.Preference.Remove(key);
/// Preference.RemoveAll();
/// </code>
/// </example>
+ /// <since_tizen> 3 </since_tizen>
public static void RemoveAll()
{
int ret = Interop.Preference.RemoveAll();
/// <summary>
/// The class manages event handlers of the preference keys. The class enables having event handlers for individual preference keys.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class EventContext
{
private string _key;
/// }
/// </code>
/// </example>
+ /// <since_tizen> 3 </since_tizen>
public event EventHandler<PreferenceChangedEventArgs> Changed
{
add
/// <summary>
/// This class is an event argument of the PreferenceChanged event.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class PreferenceChangedEventArgs : EventArgs
{
/// <summary>
/// The key of the preference whose value is changed.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public string Key { get; internal set; }
}
}
/// <summary>
/// Represents the proxy class for the widget application.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class RemoteView
{
/// <summary>
/// The event types to send.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public enum Event
{
/// <summary>
/// Layout object including preview image, overlay text, loading text, and remote screen image.
/// </summary>
/// <privilege>http://tizen.org/privilege/widget.viewer</privilege>
+ /// <since_tizen> 3 </since_tizen>
public Layout Layout { get; internal set; }
/// <summary>
/// The widget ID.
/// </summary>
/// <privilege>http://tizen.org/privilege/widget.viewer</privilege>
+ /// <since_tizen> 3 </since_tizen>
public string Id
{
get
/// The update period.
/// </summary>
/// <privilege>http://tizen.org/privilege/widget.viewer</privilege>
+ /// <since_tizen> 3 </since_tizen>
public double Period
{
get
/// This string can be used for creating contents of the widget again after rebooting a device or it can be recovered from a crash (abnormal status).
/// </remarks>
/// <privilege>http://tizen.org/privilege/widget.viewer</privilege>
+ /// <since_tizen> 3 </since_tizen>
public string Content
{
get
/// Summarized string of the widget content for accessibility.
/// </summary>
/// <privilege>http://tizen.org/privilege/widget.viewer</privilege>
+ /// <since_tizen> 3 </since_tizen>
public string Title
{
get
/// <exception cref="InvalidOperationException">Thrown when this operation failed.</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when this operation is denied.</exception>
/// <exception cref="NotSupportedException">Thrown when this operation is not supported for this device.</exception>
+ /// <since_tizen> 3 </since_tizen>
public static void PauseAll()
{
CheckException(Interop.WidgetViewerEvas.NotifyPausedStatusOfViewer());
/// <exception cref="InvalidOperationException">Thrown when this operation failed.</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when this operation is denied.</exception>
/// <exception cref="NotSupportedException">Thrown when this operation is not supported for this device.</exception>
+ /// <since_tizen> 3 </since_tizen>
public static void ResumeAll()
{
CheckException(Interop.WidgetViewerEvas.NotifyResumedStatusOfViewer());
/// <exception cref="InvalidOperationException">Thrown when this operation failed.</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when this operation is denied.</exception>
/// <exception cref="NotSupportedException">Thrown when this operation is not supported for this device.</exception>
+ /// <since_tizen> 3 </since_tizen>
public void Pause()
{
CheckException(Interop.WidgetViewerEvas.PauseWidget(Layout));
/// <exception cref="InvalidOperationException">Thrown when this operation failed.</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when this operation is denied.</exception>
/// <exception cref="NotSupportedException">Thrown when this operation is not supported for this device.</exception>
+ /// <since_tizen> 3 </since_tizen>
public void Resume()
{
CheckException(Interop.WidgetViewerEvas.ResumeWidget(Layout));
/// <privilege>http://tizen.org/privilege/widget.viewer</privilege>
/// <exception cref="UnauthorizedAccessException">Thrown when this operation is denied.</exception>
/// <exception cref="NotSupportedException">Thrown when this operation is not supported for this device.</exception>
+ /// <since_tizen> 3 </since_tizen>
public void SendEvent(Event ev)
{
switch (ev)
/// <summary>
/// Represents a factory class for making the RemoteView objects.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public static class RemoteViewFactory
{
private static bool _ready;
/// <exception cref="InvalidOperationException">Thrown when this operation failed.</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when this operation is denied.</exception>
/// <exception cref="NotSupportedException">Thrown when this operation is not supported for this device.</exception>
+ /// <since_tizen> 3 </since_tizen>
public static void Init(EvasObject win)
{
if (_ready)
/// <exception cref="InvalidOperationException">Thrown when this operation failed.</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when this operation is denied.</exception>
/// <exception cref="NotSupportedException">Thrown when this operation is not supported for this device.</exception>
+ /// <since_tizen> 3 </since_tizen>
public static RemoteView Create(EvasObject parent, string widgetId, string content, double period,
bool previewImage = true, bool overlayText = true, bool loadingMessage = true)
{
/// <exception cref="InvalidOperationException">Thrown when this operation failed.</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when this operation is denied.</exception>
/// <exception cref="NotSupportedException">Thrown when this operation is not supported for this device.</exception>
+ /// <since_tizen> 3 </since_tizen>
public static void Shutdown()
{
if (!_ready)
/// <summary>
/// Represents the service applications.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class ServiceApplication : CoreApplication
{
/// <summary>
/// Initializes the ServiceApplication class.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public ServiceApplication() : base(new ServiceCoreBackend())
{
}
/// Runs the service application's main loop.
/// </summary>
/// <param name="args">Arguments from commandline.</param>
+ /// <since_tizen> 3 </since_tizen>
public override void Run(string[] args)
{
base.Run(args);
/// <summary>
/// A class that contains shortcut information.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public class HomeShortcutInfo : ShortcutInfo
{
/// <summary>
/// Gets or sets the specific information for delivering to the viewer for creating a shortcut.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public string Uri { get; set; } = string.Empty;
}
}
\ No newline at end of file
/// <summary>
/// Enumeration for sizes of shortcut widget.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public enum ShortcutWidgetSize
{
/// <summary>
/// <summary>
/// A class to get information of the Shortcut.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public class ShortcutInfo
{
/// <summary>
/// Gets or sets the name of the created shortcut icon.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public string ShortcutName { get; set; } = string.Empty;
/// <summary>
/// Gets or sets the absolute path of an icon file for this shortcut.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public string IconPath { get; set; } = string.Empty;
/// <summary>
/// Gets or sets a value indicating whether to allow or not to allow duplication.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public bool IsAllowDuplicate { get; set; }
}
}
\ No newline at end of file
/// <summary>
/// This class provides the some functions to add, delete shortcut.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public static class ShortcutManager
{
private const string LogTag = "Tizen.Applications.Shortcut";
/// <summary>
/// Adds a shortcut on home-screen.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
/// <param name="shortcut">Object that contain shortcut info.</param>
/// <feature>http://tizen.org/feature/shortcut</feature>
/// <privilege>http://tizen.org/privilege/shortcut</privilege>
/// <summary>
/// Adds a shortcut on home-screen.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
/// <param name="shortcut">Object that contain shortcut info.</param>
/// <feature>http://tizen.org/feature/shortcut</feature>
/// <privilege>http://tizen.org/privilege/shortcut</privilege>
/// <summary>
/// Removes a shortcut from home by ShortcutName.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
/// <param name="shortcutName">Shortcut name string.</param>
/// <feature>http://tizen.org/feature/shortcut</feature>
/// <privilege>http://tizen.org/privilege/shortcut</privilege>
/// <summary>
/// Removes a shortcut from home by ShortcutInfo.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
/// <param name="shortcut">Object that contain shortcut info.</param>
/// <feature>http://tizen.org/feature/shortcut</feature>
/// <privilege>http://tizen.org/privilege/shortcut</privilege>
/// <summary>
/// A class that contains information about the widget.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public class WidgetShortcutInfo : ShortcutInfo
{
/// <summary>
/// Gets or sets the Widget ID.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public string WidgetId { get; set; } = string.Empty;
/// <summary>
/// Gets or sets the size of widget.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public ShortcutWidgetSize WidgetSize { get; set; }
/// <summary>
/// Gets or sets the Update period in seconds.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public double Period { get; set; }
}
}
\ No newline at end of file
/// <summary>
/// A class that contains shortcut information.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public class HomeShortcutAddedInfo : ShortcutAddedInfo
{
/// <summary>
/// Gets the name of application.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public string AppId { get; internal set; }
/// <summary>
/// Gets the specific information for creating a new shortcut.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public string Uri { get; internal set; }
}
}
\ No newline at end of file
/// <summary>
/// A class for getting information of the Shortcut.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public class ShortcutAddedInfo
{
/// <summary>
/// Gets the name of the created shortcut icon.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public string ShortcutName { get; internal set; }
/// <summary>
/// Gets the absolute path of an icon file for this shortcut.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public string IconPath { get; internal set; }
/// <summary>
/// Gets a value indicating whether to allow or not to allow duplication.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public bool IsAllowDuplicate { get; internal set; }
}
}
\ No newline at end of file
/// <summary>
/// A class for getting information of the Shortcut.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public class ShortcutDeletedInfo
{
/// <summary>
/// Gets the name of package.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public string AppId { get; internal set; }
/// <summary>
/// Gets the name of the created shortcut icon.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public string ShortcutName { get; internal set; }
}
}
\ No newline at end of file
/// <summary>
/// Enumeration for values of shortcut response types.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public enum ShortcutError
{
/// <summary>
/// </summary>
/// <param name="args">Object that contain shortcut info to add.</param>
/// <returns>The result of handling a shortcut add request</returns>
+ /// <since_tizen> 4 </since_tizen>
public delegate ShortcutError ShortcutAdded(ShortcutAddedInfo args);
/// <summary>
/// </summary>
/// <param name="args">Object that contain shortcut info to delete.</param>
/// <returns>The result of handling a shortcut delete request</returns>
+ /// <since_tizen> 4 </since_tizen>
public delegate ShortcutError ShortcutDeleted(ShortcutDeletedInfo args);
/// <summary>
/// This class provides a way to register callback function for shortcut add, delete events.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public static class ShortcutEventManager
{
private static Interop.Shortcut.AddCallback shortcutAddCallback;
/// <summary>
/// Registers a callback function to listen requests from applications.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
/// <param name="addedEvent">The callback function pointer that is invoked when Add() is requested</param>
/// <feature>http://tizen.org/feature/shortcut</feature>
/// <privilege>http://tizen.org/privilege/shortcut</privilege>
/// <summary>
/// Registers a callback function to listen requests from applications.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
/// <param name="deletedEvent">The callback function pointer that is invoked when Delete() is requested</param>
/// <feature>http://tizen.org/feature/shortcut</feature>
/// <privilege>http://tizen.org/privilege/shortcut</privilege>
/// <summary>
/// Unregisters a callback for the shortcut request.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
/// <param name="addedEvent">The callback function pointer that used for RegisterCallback</param>
/// <feature>http://tizen.org/feature/shortcut</feature>
/// <privilege>http://tizen.org/privilege/shortcut</privilege>
/// <summary>
/// Unregisters a callback for the shortcut request.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
/// <param name="deletedEvent">The callback function pointer that used for RegisterCallback</param>
/// <feature>http://tizen.org/feature/shortcut</feature>
/// <privilege>http://tizen.org/privilege/shortcut</privilege>
/// <summary>
/// Gets the preset list of shortcut template from the installed package.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
/// <param name="appId">Application ID.</param>
/// <returns>The List of ShortcutTemplate.</returns>
/// <feature>http://tizen.org/feature/shortcut</feature>
/// <summary>
/// A class that contains the preset list of shortcut template from the installed package.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public class ShortcutTemplate
{
/// <summary>
/// Gets the Application ID.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public string AppId { get; internal set; }
/// <summary>
/// Gets the name of the created shortcut icon.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public string ShortcutName { get; internal set; }
/// <summary>
/// Gets the absolute path of an icon file for this shortcut.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public string IconPath { get; internal set; }
/// <summary>
/// Gets the user data. A property of shortcut element in manifest file.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public string ExtraKey { get; internal set; }
/// <summary>
/// Gets the user data. A property of shortcut element in manifest file.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public string ExtraData { get; internal set; }
}
}
\ No newline at end of file
/// <summary>
/// A class that contains information about the widget.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public class WidgetShortcutAddedInfo : ShortcutAddedInfo
{
/// <summary>
/// Gets the Widget ID.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public string WidgetId { get; internal set; }
/// <summary>
/// Gets the size of widget.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public ShortcutWidgetSize WidgetSize { get; internal set; }
/// <summary>
/// Gets the Update period in seconds.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public double Period { get; internal set; }
}
}
\ No newline at end of file
/// <summary>
/// The class helps you to create and show the ToastMessage which is a view quick message for the user.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public sealed class ToastMessage
{
/// <summary>
/// Gets and sets a message to post the ToastMessage.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public string Message { get; set; }
/// <summary>
/// toast.Post();
/// </code>
/// </example>
+ /// <since_tizen> 4 </since_tizen>
public void Post()
{
int ret = Interop.ToastMessage.ToastMessagePost(Message);
/// <summary>
/// Represents an application that has an UI screen. The events for resuming and pausing are provided.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class CoreUIApplication : CoreApplication
{
/// <summary>
/// <remarks>
/// The default backend for the UI application will be used.
/// </remarks>
+ /// <since_tizen> 3 </since_tizen>
public CoreUIApplication() : base(new UICoreBackend())
{
}
/// If you want to change the backend, use this constructor.
/// </remarks>
/// <param name="backend">The backend instance implementing the ICoreBacked interface.</param>
+ /// <since_tizen> 3 </since_tizen>
public CoreUIApplication(ICoreBackend backend) : base(backend)
{
}
/// <summary>
/// Occurs whenever the application is resumed.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public event EventHandler Resumed;
/// <summary>
/// Occurs whenever the application is paused.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public event EventHandler Paused;
/// <summary>
/// Runs the UI application's main loop.
/// </summary>
/// <param name="args">Arguments from the commandline.</param>
+ /// <since_tizen> 3 </since_tizen>
public override void Run(string[] args)
{
Backend.AddEventHandler(EventType.PreCreated, OnPreCreate);
/// <summary>
/// Overrides this method if you want to handle the behavior before calling OnCreate().
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
protected virtual void OnPreCreate()
{
}
/// Overrides this method if you want to handle the behavior when the application is resumed.
/// If base.OnResume() is not called, the event 'Resumed' will not be emitted.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
protected virtual void OnResume()
{
Resumed?.Invoke(this, EventArgs.Empty);
/// Overrides this method if you want to handle the behavior when the application is paused.
/// If base.OnPause() is not called, the event 'Paused' will not be emitted.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
protected virtual void OnPause()
{
Paused?.Invoke(this, EventArgs.Empty);
/// <summary>
/// Class that represents the type of event for backends. This class can be converted from string type.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public class WatchEventType : EventType
{
/// <summary>
/// Pre-defined event type. "Created"
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public static readonly WatchEventType TimeTick = "TimeTick";
/// <summary>
/// Pre-defined event type. "AmbientTick"
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public static readonly WatchEventType AmbientTick = "AmbientTick";
/// <summary>
/// Pre-defined event type. "AmbientChanged"
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public static readonly WatchEventType AmbientChanged = "AmbientChanged";
/// <summary>
/// Initializes the WatchEventType class.
/// </summary>
/// <param name="name">The name of watch event type.</param>
+ /// <since_tizen> 4 </since_tizen>
public WatchEventType(string name) : base(name)
{
}
/// <summary>
/// Converts a string to WatchEventType instance.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public static implicit operator WatchEventType(string value)
{
return new WatchEventType(value);
/// <summary>
/// Arguments for the event that reaised when the device enters or exits the ambient mode.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public class AmbientEventArgs : EventArgs
{
/// <summary>
/// The received Ambient mode
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public bool Enabled { get; internal set; }
internal AmbientEventArgs()
/// <summary>
/// Enumeration for Ambient tick type.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public enum AmbientTickType
{
/// <summary>
/// <summary>
/// Arguments for the event that reaised when the time tick comes.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public class TimeEventArgs : EventArgs
{
/// <summary>
/// The received WatchTime.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public WatchTime Time { get; internal set; }
internal TimeEventArgs()
/// <summary>
/// Enumeration for Time tick resolution.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public enum TimeTickResolution
{
/// <summary>
/// <summary>
/// The class that represents a Tizen watch application.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public class WatchApplication : CoreApplication
{
/// <summary>
/// <remarks>
/// Default backend for Watch application will be used.
/// </remarks>
+ /// <since_tizen> 4 </since_tizen>
public WatchApplication() : base(new WatchCoreBackend())
{
}
/// If want to change the backend , use this constructor
/// </remarks>
/// <param name="backend">The backend instance implementing ICoreBackend interface.</param>
+ /// <since_tizen> 4 </since_tizen>
public WatchApplication(ICoreBackend backend) : base(backend)
{
}
/// <summary>
/// Instance for the window
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
protected Window Window;
/// <summary>
/// Occurs whenever the application is resumed.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public event EventHandler Resumed;
/// <summary>
/// Occurs whenever the application is paused.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public event EventHandler Paused;
/// <summary>
/// Occurs whenever the time tick comes.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public event EventHandler<TimeEventArgs> TimeTick;
/// <summary>
/// Occurs whenever the time tick comes in ambient mode.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public event EventHandler<TimeEventArgs> AmbientTick;
/// <summary>
/// Occurs when the ambient mode is changed.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public event EventHandler<AmbientEventArgs> AmbientChanged;
/// <summary>
/// Runs the UI applications' main loop.
/// </summary>
/// <param name="args">Arguments from commandline.</param>
+ /// <since_tizen> 4 </since_tizen>
public override void Run(string[] args)
{
Backend.AddEventHandler(EventType.Resumed, OnResume);
/// Overrides this method if want to handle behavior when the application is launched.
/// If base.OnCreate() is not called, the event 'Created' will not be emitted.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
protected override void OnCreate()
{
base.OnCreate();
/// Overrides this method if want to handle behavior when the application is resumed.
/// If base.OnResume() is not called, the event 'Resumed' will not be emitted.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
protected virtual void OnResume()
{
Resumed?.Invoke(this, EventArgs.Empty);
/// Overrides this method if want to handle behavior when the application is paused.
/// If base.OnPause() is not called, the event 'Paused' will not be emitted.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
protected virtual void OnPause()
{
Paused?.Invoke(this, EventArgs.Empty);
/// If base.OnTick() is not called, the event 'TimeTick' will not be emitted.
/// </summary>
/// <param name="time">The received TimeEventArgs to get time information.</param>
+ /// <since_tizen> 4 </since_tizen>
protected virtual void OnTick(TimeEventArgs time)
{
TimeTick?.Invoke(this, time);
/// </summary>
/// <param name="time">The received TimeEventArgs to get time information.</param>
/// <privilege>http://tizen.org/privilege/alarm.set</privilege>
+ /// <since_tizen> 4 </since_tizen>
protected virtual void OnAmbientTick(TimeEventArgs time)
{
AmbientTick?.Invoke(this, time);
/// If base.OnAmbientChanged() is not called, the event 'AmbientChanged' will not be emitted.
/// </summary>
/// <param name="mode">The received AmbientEventArgs</param>
+ /// <since_tizen> 4 </since_tizen>
protected virtual void OnAmbientChanged(AmbientEventArgs mode)
{
AmbientChanged?.Invoke(this, mode);
/// }
/// </code>
/// </example>
+ /// <since_tizen> 4 </since_tizen>
protected WatchTime GetCurrentTime()
{
SafeWatchTimeHandle handle;
/// }
/// </code>
/// </example>
+ /// <since_tizen> 4 </since_tizen>
protected AmbientTickType GetAmbientTickType()
{
AmbientTickType ambientTickType;
/// }
/// </code>
/// </example>
+ /// <since_tizen> 4 </since_tizen>
protected void SetAmbientTickType(AmbientTickType ambientTickType)
{
Interop.Watch.ErrorCode err = Interop.Watch.SetAmbientTickType(ambientTickType);
/// }
/// </code>
/// </example>
+ /// <since_tizen> 4 </since_tizen>
protected void SetTimeTickFrequency(int ticks, TimeTickResolution type)
{
Interop.Watch.ErrorCode err = Interop.Watch.SetTimeTickFrequency(ticks, type);
/// }
/// </code>
/// </example>
+ /// <since_tizen> 4 </since_tizen>
protected void GetTimeTickFrequency(out int ticks, out TimeTickResolution type)
{
Interop.Watch.ErrorCode err = Interop.Watch.GetTimeTickFrequency(out ticks, out type);
/// <summary>
/// The information of Watch Time
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public class WatchTime
{
private readonly SafeWatchTimeHandle _handle;
/// </summary>
/// <feature>http://tizen.org/feature/watch_app</feature>
/// <exception cref="NotSupportedException">Thrown when the property is not supported.</exception>
+ /// <since_tizen> 4 </since_tizen>
public int Year
{
get
/// </summary>
/// <feature>http://tizen.org/feature/watch_app</feature>
/// <exception cref="NotSupportedException">Thrown when the property is not supported.</exception>
+ /// <since_tizen> 4 </since_tizen>
public int Month
{
get
/// </summary>
/// <feature>http://tizen.org/feature/watch_app</feature>
/// <exception cref="NotSupportedException">Thrown when the property is not supported.</exception>
+ /// <since_tizen> 4 </since_tizen>
public int Day
{
get
/// </summary>
/// <feature>http://tizen.org/feature/watch_app</feature>
/// <exception cref="NotSupportedException">Thrown when the property is not supported.</exception>
+ /// <since_tizen> 4 </since_tizen>
public int DayOfWeek
{
get
/// </summary>
/// <feature>http://tizen.org/feature/watch_app</feature>
/// <exception cref="NotSupportedException">Thrown when the property is not supported.</exception>
+ /// <since_tizen> 4 </since_tizen>
public int Hour
{
get
/// </summary>
/// <feature>http://tizen.org/feature/watch_app</feature>
/// <exception cref="NotSupportedException">Thrown when the property is not supported.</exception>
+ /// <since_tizen> 4 </since_tizen>
public int Hour24
{
get
/// </summary>
/// <feature>http://tizen.org/feature/watch_app</feature>
/// <exception cref="NotSupportedException">Thrown when the property is not supported.</exception>
+ /// <since_tizen> 4 </since_tizen>
public int Minute
{
get
/// </summary>
/// <feature>http://tizen.org/feature/watch_app</feature>
/// <exception cref="NotSupportedException">Thrown when the property is not supported.</exception>
+ /// <since_tizen> 4 </since_tizen>
public int Second
{
get
/// </summary>
/// <feature>http://tizen.org/feature/watch_app</feature>
/// <exception cref="NotSupportedException">Thrown when the property is not supported.</exception>
+ /// <since_tizen> 4 </since_tizen>
public int Millisecond
{
get
/// </summary>
/// <feature>http://tizen.org/feature/watch_app</feature>
/// <exception cref="NotSupportedException">Thrown when the property is not supported.</exception>
+ /// <since_tizen> 4 </since_tizen>
public string TimeZone
{
get
/// </summary>
/// <feature>http://tizen.org/feature/watch_app</feature>
/// <exception cref="NotSupportedException">Thrown when the property is not supported.</exception>
+ /// <since_tizen> 4 </since_tizen>
public DateTime UtcTimestamp
{
get
/// <summary>
/// Represents a widget application.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class WidgetApplication : CoreApplication
{
/// <summary>
/// Initializes the WidgetApplication class with the type and application ID.
/// </summary>
/// <param name="typeInfo">Map structure for the derived class type and widget ID.</param>
+ /// <since_tizen> 3 </since_tizen>
public WidgetApplication(IDictionary<Type, string> typeInfo) : base(new WidgetCoreBackend())
{
WidgetCoreBackend core = Backend as WidgetCoreBackend;
/// </summary>
/// <remarks>Widget ID will be replaced as the application ID.</remarks>
/// <param name="type">Derived class type.</param>
+ /// <since_tizen> 3 </since_tizen>
public WidgetApplication(Type type) : base(new WidgetCoreBackend())
{
WidgetCoreBackend core = Backend as WidgetCoreBackend;
/// Gets all instances of the widget associated with the type.
/// </summary>
/// <param name="type">Class type for the widget.</param>
+ /// <since_tizen> 3 </since_tizen>
public IEnumerable<WidgetBase> GetInstances(Type type)
{
WidgetCoreBackend core = Backend as WidgetCoreBackend;
/// Runs the widget application's main loop.
/// </summary>
/// <param name="args">Arguments from the commandline.</param>
+ /// <since_tizen> 3 </since_tizen>
public override void Run(string[] args)
{
base.Run(args);
/// <summary>
/// The abstract class for widget instances.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public abstract class WidgetBase
{
internal IntPtr Handle;
/// Window object for this widget instance.
/// It will be created after OnCreate method is invoked.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
protected Window Window;
/// <summary>
/// Delete type.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public enum WidgetDestroyType
{
/// <summary>
/// <summary>
/// Constructor.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public WidgetBase()
{
}
/// <exception cref="ArgumentException">Thrown when failed because of an invalid argument.</exception>
/// <exception cref="NotSupportedException">Thrown when the API is not supported in this device.</exception>
/// <exception cref="InvalidOperationException">Thrown in case of an unrecoverable error.</exception>
+ /// <since_tizen> 3 </since_tizen>
public void SetContent(Bundle info)
{
Interop.Widget.ErrorCode err = Interop.Widget.SetContent(Handle, info.SafeBundleHandle);
/// <exception cref="ArgumentException">Thrown when failed because of an invalid argument.</exception>
/// <exception cref="NotSupportedException">Thrown when the API is not supported in this device.</exception>
/// <exception cref="InvalidOperationException">Thrown in case of an unrecoverable error.</exception>
+ /// <since_tizen> 3 </since_tizen>
public void SetTitle(string title)
{
Interop.Widget.ErrorCode err = Interop.Widget.SetTitle(Handle, title);
/// </summary>
/// <exception cref="NotSupportedException">Thrown when the API is not supported in this device.</exception>
/// <exception cref="InvalidOperationException">Thrown in case of an unrecoverable error.</exception>
+ /// <since_tizen> 3 </since_tizen>
public void Exit()
{
Interop.Widget.ErrorCode err = Interop.Widget.TerminateContext(Handle);
/// <param name="content">The data set for the previous status.</param>
/// <param name="w">The pixel value for the widget width.</param>
/// <param name="h">The pixel value for the widget height.</param>
+ /// <since_tizen> 3 </since_tizen>
public virtual void OnCreate(Bundle content, int w, int h)
{
IntPtr win;
/// </summary>
/// <param name="reason">The reason for destruction.</param>
/// <param name="content">The data set to save.</param>
+ /// <since_tizen> 3 </since_tizen>
public virtual void OnDestroy(WidgetDestroyType reason, Bundle content)
{
}
/// <summary>
/// Overrides this method if want to handle the behavior when the widget instance is paused.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public virtual void OnPause()
{
}
/// <summary>
/// Overrides this method if want to handle the behavior when the widget instance is resumed.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public virtual void OnResume()
{
}
/// </summary>
/// <param name="w">Widget width.</param>
/// <param name="h">Widget height.</param>
+ /// <since_tizen> 3 </since_tizen>
public virtual void OnResize(int w, int h)
{
}
/// </summary>
/// <param name="content">The data set for updating this widget will be provided by the requester.</param>
/// <param name="isForce">Although the widget is paused, if it is true, the widget can be updated.</param>
+ /// <since_tizen> 3 </since_tizen>
public virtual void OnUpdate(Bundle content, bool isForce)
{
}
/// <summary>
/// The class for receiving widget events and sending data to the widget.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class WidgetControl : IDisposable
{
private const string LogTag = "Tizen.Applications.WidgetControl";
/// <summary>
/// Class for the widget instance.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class Instance
{
private string _widgetId;
/// <summary>
/// The class for the widget size information.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class Scale
{
/// <summary>
/// The class for event arguments of the widget lifecycle.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class WidgetLifecycleEventArgs : EventArgs
{
internal WidgetLifecycleEventArgs()
/// <summary>
/// Enumeration for the event type.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public enum EventType
{
/// <summary>
/// <summary>
/// The widget ID.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public string WidgetId { get; internal set; }
/// <summary>
/// The widget instance ID.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public string InstanceId { get; internal set; }
/// <summary>
/// The event type.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public EventType Type { get; internal set; }
}
}
/// Represents a logical collection grouping of related media information.
/// </summary>
/// <seealso cref="AlbumCommand"/>
+ /// <since_tizen> 3 </since_tizen>
public class Album
{
internal Album(IntPtr handle)
/// Gets the ID of the album.
/// </summary>
/// <value>The unique ID of the album.</value>
+ /// <since_tizen> 3 </since_tizen>
public int Id { get; }
/// <summary>
/// Gets the artist name of the album.
/// </summary>
/// <value>The artist name.</value>
+ /// <since_tizen> 3 </since_tizen>
public string Artist { get; }
/// <summary>
/// Gets the path to the album art.
/// </summary>
/// <value>The path to the album art.</value>
+ /// <since_tizen> 4 </since_tizen>
public string AlbumArtPath { get; }
/// <summary>
/// Gets the name of the album.
/// </summary>
/// <value>The album name.</value>
+ /// <since_tizen> 3 </since_tizen>
public string Name { get; }
/// <summary>
/// Returns a string representation of the album.
/// </summary>
/// <returns>A string representation of the current album.</returns>
+ /// <since_tizen> 4 </since_tizen>
public override string ToString() =>
$"Id={Id}, Name={Name}, Artist={Artist}, AlbumArtPath={AlbumArtPath}";
}
/// Provides commands to manage albums in the database.
/// </summary>
/// <seealso cref="Album"/>
+ /// <since_tizen> 4 </since_tizen>
public class AlbumCommand : MediaCommand
{
/// <summary>
/// <param name="database">The <see cref="MediaDatabase"/> that the commands run on.</param>
/// <exception cref="ArgumentNullException"><paramref name="database"/> is null.</exception>
/// <exception cref="ObjectDisposedException"><paramref name="database"/> has already been disposed of.</exception>
+ /// <since_tizen> 4 </since_tizen>
public AlbumCommand(MediaDatabase database) : base(database)
{
}
/// <exception cref="InvalidOperationException">The <see cref="MediaDatabase"/> is disconnected.</exception>
/// <exception cref="ObjectDisposedException">The <see cref="MediaDatabase"/> has already been disposed of.</exception>
/// <exception cref="MediaDatabaseException">An error occurred while executing the command.</exception>
+ /// <since_tizen> 4 </since_tizen>
public int Count()
{
return Count(null);
/// <exception cref="InvalidOperationException">The <see cref="MediaDatabase"/> is disconnected.</exception>
/// <exception cref="ObjectDisposedException">The <see cref="MediaDatabase"/> has already been disposed of.</exception>
/// <exception cref="MediaDatabaseException">An error occurred while executing the command.</exception>
+ /// <since_tizen> 4 </since_tizen>
public int Count(CountArguments arguments)
{
ValidateDatabase();
/// <exception cref="InvalidOperationException">The <see cref="MediaDatabase"/> is disconnected.</exception>
/// <exception cref="ObjectDisposedException">The <see cref="MediaDatabase"/> has already been disposed of.</exception>
/// <exception cref="MediaDatabaseException">An error occurred while executing the command.</exception>
+ /// <since_tizen> 4 </since_tizen>
public MediaDataReader<Album> Select()
{
return Select(null);
/// <exception cref="InvalidOperationException">The <see cref="MediaDatabase"/> is disconnected.</exception>
/// <exception cref="ObjectDisposedException">The <see cref="MediaDatabase"/> has already been disposed of.</exception>
/// <exception cref="MediaDatabaseException">An error occurred while executing the command.</exception>
+ /// <since_tizen> 4 </since_tizen>
public MediaDataReader<Album> Select(SelectArguments filter)
{
ValidateDatabase();
/// <exception cref="ObjectDisposedException">The <see cref="MediaDatabase"/> has already been disposed of.</exception>
/// <exception cref="ArgumentOutOfRangeException"><paramref name="albumId"/> is equal to or less than zero.</exception>
/// <exception cref="MediaDatabaseException">An error occurred while executing the command.</exception>
+ /// <since_tizen> 4 </since_tizen>
public Album Select(int albumId)
{
ValidateDatabase();
/// <exception cref="ObjectDisposedException">The <see cref="MediaDatabase"/> has already been disposed of.</exception>
/// <exception cref="ArgumentOutOfRangeException"><paramref name="albumId"/> is equal to or less than zero.</exception>
/// <exception cref="MediaDatabaseException">An error occurred while executing the command.</exception>
+ /// <since_tizen> 4 </since_tizen>
public int CountMember(int albumId)
{
return CountMember(albumId, null);
/// <exception cref="ObjectDisposedException">The <see cref="MediaDatabase"/> has already been disposed of.</exception>
/// <exception cref="ArgumentOutOfRangeException"><paramref name="albumId"/> is equal to or less than zero.</exception>
/// <exception cref="MediaDatabaseException">An error occurred while executing the command.</exception>
+ /// <since_tizen> 4 </since_tizen>
public int CountMember(int albumId, CountArguments arguments)
{
ValidateDatabase();
/// <exception cref="InvalidOperationException">The <see cref="MediaDatabase"/> is disconnected.</exception>
/// <exception cref="ObjectDisposedException">The <see cref="MediaDatabase"/> has already been disposed of.</exception>
/// <exception cref="MediaDatabaseException">An error occurred while executing the command.</exception>
+ /// <since_tizen> 4 </since_tizen>
public MediaDataReader<MediaInfo> SelectMember(int albumId)
{
return SelectMember(albumId, null);
/// <exception cref="InvalidOperationException">The <see cref="MediaDatabase"/> is disconnected.</exception>
/// <exception cref="ObjectDisposedException">The <see cref="MediaDatabase"/> has already been disposed of.</exception>
/// <exception cref="MediaDatabaseException">An error occurred while executing the command.</exception>
+ /// <since_tizen> 4 </since_tizen>
public MediaDataReader<MediaInfo> SelectMember(int albumId, SelectArguments filter)
{
ValidateDatabase();
/// <summary>
/// Represents the audio media information.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public class AudioInfo : MediaInfo
{
internal AudioInfo(Interop.MediaInfoHandle handle) : base(handle)
/// Gets the album name.
/// </summary>
/// <value>The album from the metadata.</value>
+ /// <since_tizen> 4 </since_tizen>
public string Album { get; }
/// <summary>
/// Gets the artist name.
/// </summary>
/// <value>The artist from the metadata.</value>
+ /// <since_tizen> 4 </since_tizen>
public string Artist { get; }
/// <summary>
/// Gets the album artist name.
/// </summary>
/// <value>The album artist from the metadata.</value>
+ /// <since_tizen> 4 </since_tizen>
public string AlbumArtist { get; }
/// <summary>
/// Gets the genre.
/// </summary>
/// <value>The genre from the metadata.</value>
+ /// <since_tizen> 4 </since_tizen>
public string Genre { get; }
/// <summary>
/// Gets the composer.
/// </summary>
/// <value>The composer from the metadata.</value>
+ /// <since_tizen> 4 </since_tizen>
public string Composer { get; }
/// <summary>
/// Gets the year.
/// </summary>
/// <value>The year from the metadata.</value>
+ /// <since_tizen> 4 </since_tizen>
public string Year { get; }
/// <summary>
/// Gets the recorded date.
/// </summary>
/// <value>The recorded date from the metadata.</value>
+ /// <since_tizen> 4 </since_tizen>
public string DateRecorded { get; }
/// <summary>
/// Gets the copyright.
/// </summary>
/// <value>The copyright from the metadata.</value>
+ /// <since_tizen> 4 </since_tizen>
public string Copyright { get; }
/// <summary>
/// Gets the track number.
/// </summary>
/// <value>The track number from the metadata.</value>
+ /// <since_tizen> 4 </since_tizen>
public string TrackNumber { get; }
/// <summary>
/// Gets the bit rate in bit per second.
/// </summary>
/// <value>The bit rate in bit per second.</value>
+ /// <since_tizen> 4 </since_tizen>
public int BitRate { get; }
/// <summary>
/// Gets the bit per sample.
/// </summary>
/// <value>The bit per sample.</value>
+ /// <since_tizen> 4 </since_tizen>
public int BitPerSample { get; }
/// <summary>
/// Gets the sample rate in hertz.
/// </summary>
/// <value>The sample rate in hertz.</value>
+ /// <since_tizen> 4 </since_tizen>
public int SampleRate { get; }
/// <summary>
/// Gets the number of channels.
/// </summary>
/// <value>The number of channels.</value>
+ /// <since_tizen> 4 </since_tizen>
public int Channels { get; }
/// <summary>
/// Gets the track duration in milliseconds.
/// </summary>
/// <value>The track duration in milliseconds.</value>
+ /// <since_tizen> 4 </since_tizen>
public int Duration { get; }
}
}
/// Represents the media bookmark that allows you to mark an interesting moment
/// in media (video and audio) to enable fast searching.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public class Bookmark
{
internal Bookmark(IntPtr handle)
/// Gets the ID of the bookmark.
/// </summary>
/// <value>The ID of the bookmark.</value>
+ /// <since_tizen> 4 </since_tizen>
public int Id { get; }
/// <summary>
/// Gets the thumbnail path of the bookmark.
/// </summary>
/// <value>The thumbnail path of the bookmark.</value>
+ /// <since_tizen> 4 </since_tizen>
public string ThumbnailPath { get; }
/// <summary>
/// Gets the offset in milliseconds.
/// </summary>
/// <value>The offset of the bookmark in media in milliseconds.</value>
+ /// <since_tizen> 4 </since_tizen>
public int Offset { get; }
/// <summary>
/// Gets the name of the bookmark.
/// </summary>
/// <value>The name of the bookmark.</value>
+ /// <since_tizen> 4 </since_tizen>
public string Name { get; }
internal static Bookmark FromHandle(IntPtr handle) => new Bookmark(handle);
/// Returns a string representation of the bookmark.
/// </summary>
/// <returns>A string representation of the current bookmark.</returns>
+ /// <since_tizen> 4 </since_tizen>
public override string ToString() =>
$"Id={Id}, Name={Name}, ThumbnailPath={ThumbnailPath}, Offset={Offset}";
}
/// Provides commands to manage bookmarks in the database.
/// </summary>
/// <seealso cref="Bookmark"/>
+ /// <since_tizen> 4 </since_tizen>
public class BookmarkCommand : MediaCommand
{
/// <summary>
/// <param name="database">The <see cref="MediaDatabase"/> that the commands run on.</param>
/// <exception cref="ArgumentNullException"><paramref name="database"/> is null.</exception>
/// <exception cref="ObjectDisposedException"><paramref name="database"/> has already been disposed of.</exception>
+ /// <since_tizen> 4 </since_tizen>
public BookmarkCommand(MediaDatabase database) : base(database)
{
}
/// <exception cref="InvalidOperationException">The <see cref="MediaDatabase"/> is disconnected.</exception>
/// <exception cref="ObjectDisposedException">The <see cref="MediaDatabase"/> has already been disposed of.</exception>
/// <exception cref="MediaDatabaseException">An error occurred while executing the command.</exception>
+ /// <since_tizen> 4 </since_tizen>
public int Count()
{
return Count(null);
/// <exception cref="InvalidOperationException">The <see cref="MediaDatabase"/> is disconnected.</exception>
/// <exception cref="ObjectDisposedException">The <see cref="MediaDatabase"/> has already been disposed of.</exception>
/// <exception cref="MediaDatabaseException">An error occurred while executing the command.</exception>
+ /// <since_tizen> 4 </since_tizen>
public int Count(CountArguments arguments)
{
ValidateDatabase();
/// <exception cref="ArgumentNullException"><paramref name="mediaId"/> is null.</exception>
/// <exception cref="ArgumentException"><paramref name="mediaId"/> is a zero-length string, contains only white space.</exception>
/// <exception cref="UnauthorizedAccessException">The caller has no required privilege.</exception>
+ /// <since_tizen> 4 </since_tizen>
public Bookmark Insert(string mediaId, int offset)
{
return Insert(mediaId, offset, null);
/// <exception cref="ArgumentNullException"><paramref name="mediaId"/> is null.</exception>
/// <exception cref="ArgumentException"><paramref name="mediaId"/> is a zero-length string, contains only white space.</exception>
/// <exception cref="UnauthorizedAccessException">The caller has no required privilege.</exception>
+ /// <since_tizen> 4 </since_tizen>
public Bookmark Insert(string mediaId, int offset, string name)
{
return Insert(mediaId, offset, name, null);
/// <exception cref="ArgumentNullException"><paramref name="mediaId"/> is null.</exception>
/// <exception cref="ArgumentException"><paramref name="mediaId"/> is a zero-length string, contains only white space.</exception>
/// <exception cref="UnauthorizedAccessException">The caller has no required privilege.</exception>
+ /// <since_tizen> 4 </since_tizen>
public Bookmark Insert(string mediaId, int offset, string name, string thumbnailPath)
{
ValidateDatabase();
/// <exception cref="MediaDatabaseException">An error occurred while executing the command.</exception>
/// <exception cref="ArgumentOutOfRangeException"><paramref name="bookmarkId"/> is less than zero.</exception>
/// <exception cref="UnauthorizedAccessException">The caller has no required privilege.</exception>
+ /// <since_tizen> 4 </since_tizen>
public bool Delete(int bookmarkId)
{
ValidateDatabase();
/// <exception cref="InvalidOperationException">The <see cref="MediaDatabase"/> is disconnected.</exception>
/// <exception cref="ObjectDisposedException">The <see cref="MediaDatabase"/> has already been disposed of.</exception>
/// <exception cref="MediaDatabaseException">An error occurred while executing the command.</exception>
+ /// <since_tizen> 4 </since_tizen>
public MediaDataReader<Bookmark> Select()
{
return Select(null);
/// <exception cref="InvalidOperationException">The <see cref="MediaDatabase"/> is disconnected.</exception>
/// <exception cref="ObjectDisposedException">The <see cref="MediaDatabase"/> has already been disposed of.</exception>
/// <exception cref="MediaDatabaseException">An error occurred while executing the command.</exception>
+ /// <since_tizen> 4 </since_tizen>
public MediaDataReader<Bookmark> Select(SelectArguments filter)
{
ValidateDatabase();
/// <seealso cref="TagCommand.CountMedia(int, CountArguments)"/>
/// <seealso cref="TagCommand.Select(SelectArguments)"/>
/// <seealso cref="TagCommand.SelectMedia(int, SelectArguments)"/>
+ /// <since_tizen> 4 </since_tizen>
public static class MediaInfoColumns
{
/// <summary>
/// <value>The column name for the ID of media.</value>
/// <remarks>The value type is string.</remarks>
/// <seealso cref="MediaInfo.Id"/>
+ /// <since_tizen> 4 </since_tizen>
public static string Id => "MEDIA_ID";
/// <summary>
/// <value>The column name for the file path of media.</value>
/// <remarks>The value type is string.</remarks>
/// <seealso cref="MediaInfo.Path"/>
+ /// <since_tizen> 4 </since_tizen>
public static string Path => "MEDIA_PATH";
/// <summary>
/// <value>The column name for the display name of media.</value>
/// <remarks>The value type is string.</remarks>
/// <seealso cref="MediaInfo.DisplayName"/>
+ /// <since_tizen> 4 </since_tizen>
public static string DisplayName => "MEDIA_DISPLAY_NAME";
/// <summary>
/// The value should be an integer that is one of the <see cref="MediaContent.MediaType"/> values.
/// </remarks>
/// <seealso cref="MediaInfo.MediaType"/>
+ /// <since_tizen> 4 </since_tizen>
public static string MediaType => "MEDIA_TYPE";
/// <summary>
/// <value>The column name for the mime type of media.</value>
/// <remarks>The value type is string.</remarks>
/// <seealso cref="MediaInfo.MimeType"/>
+ /// <since_tizen> 4 </since_tizen>
public static string MimeType => "MEDIA_MIME_TYPE";
/// <summary>
/// <value>The column name for the file size of media.</value>
/// <remarks>The value type is integer.</remarks>
/// <seealso cref="MediaInfo.FileSize"/>
+ /// <since_tizen> 4 </since_tizen>
public static string FileSize => "MEDIA_SIZE";
/// <summary>
/// </remarks>
/// <seealso cref="MediaInfo.DateAdded"/>
/// <seealso cref="DateTimeOffset.ToUnixTimeSeconds"/>
+ /// <since_tizen> 4 </since_tizen>
public static string DateAdded => "MEDIA_ADDED_TIME";
/// <summary>
/// </remarks>
/// <seealso cref="MediaInfo.DateModified"/>
/// <seealso cref="DateTimeOffset.ToUnixTimeSeconds"/>
+ /// <since_tizen> 4 </since_tizen>
public static string DateModified => "MEDIA_MODIFIED_TIME";
/// <summary>
/// </remarks>
/// <seealso cref="MediaInfo.Timeline"/>
/// <seealso cref="DateTimeOffset.ToUnixTimeSeconds"/>
+ /// <since_tizen> 4 </since_tizen>
public static string Timeline => "MEDIA_TIMELINE";
/// <summary>
/// The value type is string.
/// </remarks>
/// <seealso cref="MediaInfo.ThumbnailPath"/>
+ /// <since_tizen> 4 </since_tizen>
public static string ThumbnailPath => "MEDIA_THUMBNAIL_PATH";
/// <summary>
/// The value type is string.
/// </remarks>
/// <seealso cref="MediaInfo.Title"/>
+ /// <since_tizen> 4 </since_tizen>
public static string Title => "MEDIA_TITLE";
/// <summary>
/// The value type is string.
/// </remarks>
/// <seealso cref="AudioInfo.Album"/>
+ /// <since_tizen> 4 </since_tizen>
public static string Album => "MEDIA_ALBUM";
/// <summary>
/// </remarks>
/// <seealso cref="AudioInfo.Artist"/>
/// <seealso cref="VideoInfo.Artist"/>
+ /// <since_tizen> 4 </since_tizen>
public static string Artist => "MEDIA_ARTIST";
/// <summary>
/// </remarks>
/// <seealso cref="AudioInfo.AlbumArtist"/>
/// <seealso cref="VideoInfo.AlbumArtist"/>
+ /// <since_tizen> 4 </since_tizen>
public static string AlbumArtist => "MEDIA_ALBUM_ARTIST";
/// <summary>
/// </remarks>
/// <seealso cref="AudioInfo.Genre"/>
/// <seealso cref="VideoInfo.Genre"/>
+ /// <since_tizen> 4 </since_tizen>
public static string Genre => "MEDIA_GENRE";
/// <summary>
/// </remarks>
/// <seealso cref="AudioInfo.Composer"/>
/// <seealso cref="VideoInfo.Composer"/>
+ /// <since_tizen> 4 </since_tizen>
public static string Composer => "MEDIA_COMPOSER";
/// <summary>
/// </remarks>
/// <seealso cref="AudioInfo.Year"/>
/// <seealso cref="VideoInfo.Year"/>
+ /// <since_tizen> 4 </since_tizen>
public static string Year => "MEDIA_YEAR";
/// <summary>
/// </remarks>
/// <seealso cref="AudioInfo.DateRecorded"/>
/// <seealso cref="VideoInfo.DateRecorded"/>
+ /// <since_tizen> 4 </since_tizen>
public static string DateRecorded => "MEDIA_RECORDED_DATE";
/// <summary>
/// </remarks>
/// <seealso cref="AudioInfo.Copyright"/>
/// <seealso cref="VideoInfo.Copyright"/>
+ /// <since_tizen> 4 </since_tizen>
public static string Copyright => "MEDIA_COPYRIGHT";
/// <summary>
/// </remarks>
/// <seealso cref="AudioInfo.TrackNumber"/>
/// <seealso cref="VideoInfo.TrackNumber"/>
+ /// <since_tizen> 4 </since_tizen>
public static string TrackNumber => "MEDIA_TRACK_NUM";
/// <summary>
/// The value type is string.
/// </remarks>
/// <seealso cref="MediaInfo.Description"/>
+ /// <since_tizen> 4 </since_tizen>
public static string Description => "MEDIA_DESCRIPTION";
/// <summary>
/// </remarks>
/// <seealso cref="AudioInfo.BitRate"/>
/// <seealso cref="VideoInfo.BitRate"/>
+ /// <since_tizen> 4 </since_tizen>
public static string BitRate => "MEDIA_BITRATE";
/// <summary>
/// The value type is integer.
/// </remarks>
/// <seealso cref="AudioInfo.BitPerSample"/>
+ /// <since_tizen> 4 </since_tizen>
public static string BitPerSample => "MEDIA_BITPERSAMPLE";
/// <summary>
/// The value type is integer.
/// </remarks>
/// <seealso cref="AudioInfo.SampleRate"/>
+ /// <since_tizen> 4 </since_tizen>
public static string SampleRate => "MEDIA_SAMPLERATE";
/// <summary>
/// The value type is integer.
/// </remarks>
/// <seealso cref="AudioInfo.Channels"/>
+ /// <since_tizen> 4 </since_tizen>
public static string Channels => "MEDIA_CHANNEL";
/// <summary>
/// </remarks>
/// <seealso cref="AudioInfo.Duration"/>
/// <seealso cref="VideoInfo.Duration"/>
+ /// <since_tizen> 4 </since_tizen>
public static string Duration => "MEDIA_DURATION";
/// <summary>
/// The value type is real.
/// </remarks>
/// <seealso cref="MediaInfo.Longitude"/>
+ /// <since_tizen> 4 </since_tizen>
public static string Longitude => "MEDIA_LONGITUDE";
/// <summary>
/// The value type is real.
/// </remarks>
/// <seealso cref="MediaInfo.Latitude"/>
+ /// <since_tizen> 4 </since_tizen>
public static string Latitude => "MEDIA_LATITUDE";
/// <summary>
/// The value type is real.
/// </remarks>
/// <seealso cref="MediaInfo.Altitude"/>
+ /// <since_tizen> 4 </since_tizen>
public static string Altitude => "MEDIA_ALTITUDE";
/// <summary>
/// </remarks>
/// <seealso cref="ImageInfo.Width"/>
/// <seealso cref="VideoInfo.Width"/>
+ /// <since_tizen> 4 </since_tizen>
public static string Width => "MEDIA_WIDTH";
/// <summary>
/// </remarks>
/// <seealso cref="ImageInfo.Height"/>
/// <seealso cref="VideoInfo.Height"/>
+ /// <since_tizen> 4 </since_tizen>
public static string Height => "MEDIA_HEIGHT";
/// <summary>
/// The value type is integer.
/// </remarks>
/// <seealso cref="ImageInfo.DateTaken"/>
+ /// <since_tizen> 4 </since_tizen>
public static string DateTaken => "MEDIA_DATETAKEN";
/// <summary>
/// </remarks>
/// <seealso cref="MediaContent.Orientation"/>
/// <seealso cref="ImageInfo.Orientation"/>
+ /// <since_tizen> 4 </since_tizen>
public static string Orientation => "MEDIA_ORIENTATION";
/// <summary>
/// The value type is integer.
/// </remarks>
/// <seealso cref="MediaInfo.Rating"/>
+ /// <since_tizen> 4 </since_tizen>
public static string Rating => "MEDIA_RATING";
/// <summary>
/// The value type is integer (1 : true, 0 : false).
/// </remarks>
/// <seealso cref="MediaInfo.IsFavorite"/>
+ /// <since_tizen> 4 </since_tizen>
public static string Favorite => "MEDIA_FAVOURITE";
/// <summary>
/// The value type is integer (1 : true, 0 : false).
/// </remarks>
/// <seealso cref="MediaInfo.IsDrm"/>
+ /// <since_tizen> 4 </since_tizen>
public static string IsDrm => "MEDIA_IS_DRM";
/// <summary>
/// The value should be an integer that is one of the <see cref="MediaContent.StorageType"/> values.
/// </remarks>
/// <seealso cref="MediaInfo.StorageType"/>
+ /// <since_tizen> 4 </since_tizen>
public static string StorageType => "MEDIA_STORAGE_TYPE";
/// <summary>
/// The value type is integer.
/// </remarks>
/// <seealso cref="ImageInfo.ExposureTime"/>
+ /// <since_tizen> 4 </since_tizen>
public static string ExposureTime => "MEDIA_EXPOSURE_TIME";
/// <summary>
/// The value type is integer.
/// </remarks>
/// <seealso cref="ImageInfo.FNumber"/>
+ /// <since_tizen> 4 </since_tizen>
public static string FNumber => "MEDIA_FNUMBER";
/// <summary>
/// The value type is integer.
/// </remarks>
/// <seealso cref="ImageInfo.Iso"/>
+ /// <since_tizen> 4 </since_tizen>
public static string Iso => "MEDIA_ISO";
/// <summary>
/// The value type is string.
/// </remarks>
/// <seealso cref="ImageInfo.Model"/>
+ /// <since_tizen> 4 </since_tizen>
public static string Model => "MEDIA_MODEL";
}
/// <seealso cref="SelectArguments.SortOrder"/>
/// <seealso cref="AlbumCommand.Count(CountArguments)"/>
/// <seealso cref="AlbumCommand.Select(SelectArguments)"/>
+ /// <since_tizen> 4 </since_tizen>
public static class AlbumColumns
{
/// <summary>
/// The value type is string.
/// </remarks>
/// <seealso cref="Album.Name"/>
+ /// <since_tizen> 4 </since_tizen>
public static string Name => "MEDIA_ALBUM";
/// <summary>
/// The value type is string.
/// </remarks>
/// <seealso cref="Album.Artist"/>
+ /// <since_tizen> 4 </since_tizen>
public static string Artist => "MEDIA_ARTIST";
}
/// <seealso cref="SelectArguments.SortOrder"/>
/// <seealso cref="FolderCommand.Count(CountArguments)"/>
/// <seealso cref="FolderCommand.Select(SelectArguments)"/>
+ /// <since_tizen> 4 </since_tizen>
public static class FolderColumns
{
/// <summary>
/// The value type is string.
/// </remarks>
/// <seealso cref="Folder.Id"/>
+ /// <since_tizen> 4 </since_tizen>
public static string Id => "FOLDER_ID";
/// <summary>
/// The value type is string.
/// </remarks>
/// <seealso cref="Folder.Path"/>
+ /// <since_tizen> 4 </since_tizen>
public static string Path => "FOLDER_PATH";
/// <summary>
/// The value type is string.
/// </remarks>
/// <seealso cref="Folder.Name"/>
+ /// <since_tizen> 4 </since_tizen>
public static string Name => "FOLDER_NAME";
/// <summary>
/// The value should be an integer that is one of the <see cref="MediaContent.StorageType"/> values.
/// </remarks>
/// <seealso cref="Folder.StorageType"/>
+ /// <since_tizen> 4 </since_tizen>
public static string StorageType => "FOLDER_STORAGE_TYPE";
}
/// <seealso cref="SelectArguments.SortOrder"/>
/// <seealso cref="PlaylistCommand.Count(CountArguments)"/>
/// <seealso cref="PlaylistCommand.Select(SelectArguments)"/>
+ /// <since_tizen> 4 </since_tizen>
public static class PlaylistColumns
{
/// <summary>
/// The value type is string.
/// </remarks>
/// <seealso cref="Playlist.Name"/>
+ /// <since_tizen> 4 </since_tizen>
public static string Name => "PLAYLIST_NAME";
/// <summary>
/// The value type is integer.
/// </remarks>
/// <seealso cref="Playlist.Id"/>
+ /// <since_tizen> 4 </since_tizen>
public static string Id => "PLAYLIST_ID";
/// <summary>
/// The value type is integer.
/// </remarks>
/// <seealso cref="PlaylistCommand.UpdatePlayOrder(int, PlayOrder)"/>
+ /// <since_tizen> 4 </since_tizen>
public static string MemberOrder => "PLAYLIST_MEMBER_ORDER";
/// <summary>
/// </remarks>
/// <seealso cref="PlaylistCommand.AddMember(int, string)"/>
/// <seealso cref="PlaylistCommand.RemoveMember(int, int)"/>
+ /// <since_tizen> 4 </since_tizen>
public static string Count => "PLAYLIST_MEDIA_COUNT";
}
/// <seealso cref="TagCommand.CountMedia(int, CountArguments)"/>
/// <seealso cref="TagCommand.Select(SelectArguments)"/>
/// <seealso cref="TagCommand.SelectMedia(int, SelectArguments)"/>
+ /// <since_tizen> 4 </since_tizen>
public static class TagColumns
{
/// <summary>
/// The value type is string.
/// </remarks>
/// <seealso cref="Tag.Name"/>
+ /// <since_tizen> 4 </since_tizen>
public static string Name => "TAG_NAME";
/// <summary>
/// </remarks>
/// <seealso cref="TagCommand.AddMedia(int, string)"/>
/// <seealso cref="TagCommand.RemoveMedia(int, string)"/>
+ /// <since_tizen> 4 </since_tizen>
public static string Count => "TAG_MEDIA_COUNT";
/// <summary>
/// The value type is integer.
/// </remarks>
/// <seealso cref="Tag.Id"/>
+ /// <since_tizen> 4 </since_tizen>
public static string Id => "TAG_ID";
}
/// <seealso cref="BookmarkCommand.Select(SelectArguments)"/>
/// <seealso cref="MediaInfoCommand.CountBookmark(string, CountArguments)"/>
/// <seealso cref="MediaInfoCommand.SelectBookmark(string, SelectArguments)"/>
+ /// <since_tizen> 4 </since_tizen>
public static class BookmarkColumns
{
/// <summary>
/// The value type is integer.
/// </remarks>
/// <seealso cref="Bookmark.Offset"/>
+ /// <since_tizen> 4 </since_tizen>
public static string Offset => "BOOKMARK_MARKED_TIME";
/// <summary>
/// The value type is integer.
/// </remarks>
/// <seealso cref="Bookmark.Id"/>
+ /// <since_tizen> 4 </since_tizen>
public static string Id => "BOOKMARK_ID";
/// <summary>
/// The value type is string.
/// </remarks>
/// <seealso cref="Bookmark.Name"/>
+ /// <since_tizen> 4 </since_tizen>
public static string Name => "BOOKMARK_NAME";
}
/// <seealso cref="FaceInfoCommand.Select(SelectArguments)"/>
/// <seealso cref="MediaInfoCommand.CountFaceInfo(string, CountArguments)"/>
/// <seealso cref="MediaInfoCommand.SelectFaceInfo(string, SelectArguments)"/>
+ /// <since_tizen> 4 </since_tizen>
public static class FaceInfoColumns
{
/// <summary>
/// The value type is string.
/// </remarks>
/// <seealso cref="FaceInfo.Tag"/>
+ /// <since_tizen> 4 </since_tizen>
public static string Tag => "MEDIA_FACE_TAG";
/// <summary>
/// The value type is string.
/// </remarks>
/// <seealso cref="FaceInfo.Id"/>
+ /// <since_tizen> 4 </since_tizen>
public static string Id => "MEDIA_FACE_ID";
}
/// <seealso cref="SelectArguments.SortOrder"/>
/// <seealso cref="StorageCommand.Count(CountArguments)"/>
/// <seealso cref="StorageCommand.Select(SelectArguments)"/>
+ /// <since_tizen> 4 </since_tizen>
public static class StorageColumns
{
/// <summary>
/// The value type is string.
/// </remarks>
/// <seealso cref="Storage.Id"/>
+ /// <since_tizen> 4 </since_tizen>
public static string Id => "STORAGE_ID";
/// <summary>
/// The value type is string.
/// </remarks>
/// <seealso cref="Storage.Path"/>
+ /// <since_tizen> 4 </since_tizen>
public static string Path => "STORAGE_PATH";
/// <summary>
/// The value should be an integer that is one of the <see cref="MediaContent.StorageType"/> values.
/// </remarks>
/// <seealso cref="Storage.Type"/>
+ /// <since_tizen> 4 </since_tizen>
public static string Type => "MEDIA_STORAGE_TYPE";
}
}
/// <summary>
/// Specifies the storage types.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public enum StorageType
{
/// <summary>
/// <summary>
/// Specifies database operation types.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public enum OperationType
{
/// <summary>
/// <summary>
/// Specifies types of the <see cref="MediaInfo"/>.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public enum MediaType
{
/// <summary>
/// <summary>
/// Specifies orientation types of media.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public enum Orientation
{
/// <summary>
/// <summary>
/// Provides data for the <see cref="MediaDatabase.MediaInfoUpdated"/> event.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public class MediaInfoUpdatedEventArgs : EventArgs
{
internal MediaInfoUpdatedEventArgs(int pid,
/// Gets the process ID which triggers the event.
/// </summary>
/// <value>The process ID which triggers the event.</value>
+ /// <since_tizen> 4 </since_tizen>
public int ProcessId
{
get;
/// Gets the operation type.
/// </summary>
/// <value>The operation type which triggers the event.</value>
+ /// <since_tizen> 4 </since_tizen>
public OperationType OperationType
{
get;
/// Gets the ID of the media updated.
/// </summary>
/// <value>The ID of the media updated.</value>
+ /// <since_tizen> 4 </since_tizen>
public string Id
{
get;
/// Gets the path of the media updated.
/// </summary>
/// <value>The path of the media updated.</value>
+ /// <since_tizen> 4 </since_tizen>
public string Path
{
get;
/// Gets the type of the media updated.
/// </summary>
/// <value>The <see cref="MediaContent.MediaType"/> of the media updated.</value>
+ /// <since_tizen> 4 </since_tizen>
public MediaType MediaType
{
get;
/// The MIME type of the media updated.
/// </summary>
/// <value>The MIME type of the media updated.</value>
+ /// <since_tizen> 4 </since_tizen>
public string MimeType
{
get;
/// <summary>
/// Provides data for the <see cref="MediaDatabase.FolderUpdated"/> event.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public class FolderUpdatedEventArgs : EventArgs
{
internal FolderUpdatedEventArgs(OperationType operationType, string id, string path)
/// Gets the operation type.
/// </summary>
/// <value>The operation type which triggers the event.</value>
+ /// <since_tizen> 4 </since_tizen>
public OperationType OperationType
{
get;
/// Gets the ID of the folder updated.
/// </summary>
/// <value>The ID of the folder updated.</value>
+ /// <since_tizen> 4 </since_tizen>
public string Id
{
get;
/// Gets the path of the folder updated.
/// </summary>
/// <value>The path of the folder updated.</value>
+ /// <since_tizen> 4 </since_tizen>
public string Path
{
get;
/// <summary>
/// Represents the face information for the media.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public class FaceInfo
{
internal FaceInfo(IntPtr handle)
/// <remarks>
/// The coordinates of the rectangle are orientation-applied values.
/// </remarks>
+ /// <since_tizen> 4 </since_tizen>
public Rectangle Rect { get; }
/// <summary>
/// Gets the ID of face information.
/// </summary>
/// <value>The unique ID of face information.</value>
+ /// <since_tizen> 4 </since_tizen>
public string Id { get; }
/// <summary>
/// Gets the media ID that the face information is added.
/// </summary>
/// <value>The media ID that the face information is added.</value>
+ /// <since_tizen> 4 </since_tizen>
public string MediaInfoId { get; }
/// <summary>
/// Gets the tag.
/// </summary>
/// <value>The tag of face information.</value>
+ /// <since_tizen> 4 </since_tizen>
public string Tag { get; }
/// <summary>
/// Gets the orientation of face information.
/// </summary>
/// <value>The orientation of face information.</value>
+ /// <since_tizen> 4 </since_tizen>
public Orientation Orientation { get; }
internal static FaceInfo FromHandle(IntPtr handle)
/// Returns a string representation of the face information.
/// </summary>
/// <returns>A string representation of the current face info.</returns>
+ /// <since_tizen> 4 </since_tizen>
public override string ToString() =>
$"Id={Id}, MediaInfoId={MediaInfoId}, Rect=({Rect}), Tag={Tag}";
}
/// Provides commands to manage face information in the database.
/// </summary>
/// <seealso cref="Album"/>
+ /// <since_tizen> 4 </since_tizen>
public class FaceInfoCommand : MediaCommand
{
/// <summary>
/// <param name="database">The <see cref="MediaDatabase"/> that the commands run on.</param>
/// <exception cref="ArgumentNullException"><paramref name="database"/> is null.</exception>
/// <exception cref="ObjectDisposedException"><paramref name="database"/> has already been disposed of.</exception>
+ /// <since_tizen> 4 </since_tizen>
public FaceInfoCommand(MediaDatabase database) : base(database)
{
}
/// <exception cref="ArgumentNullException"><paramref name="faceInfoId"/> is null.</exception>
/// <exception cref="ArgumentException"><paramref name="faceInfoId"/> is a zero-length string, contains only white space.</exception>
/// <exception cref="UnauthorizedAccessException">The caller has no required privilege.</exception>
+ /// <since_tizen> 4 </since_tizen>
public bool Delete(string faceInfoId)
{
ValidateDatabase();
/// <exception cref="InvalidOperationException">The <see cref="MediaDatabase"/> is disconnected.</exception>
/// <exception cref="ObjectDisposedException">The <see cref="MediaDatabase"/> has already been disposed of.</exception>
/// <exception cref="MediaDatabaseException">An error occurred while executing the command.</exception>
+ /// <since_tizen> 4 </since_tizen>
public MediaDataReader<FaceInfo> Select()
{
return Select(null);
/// <exception cref="InvalidOperationException">The <see cref="MediaDatabase"/> is disconnected.</exception>
/// <exception cref="ObjectDisposedException">The <see cref="MediaDatabase"/> has already been disposed of.</exception>
/// <exception cref="MediaDatabaseException">An error occurred while executing the command.</exception>
+ /// <since_tizen> 4 </since_tizen>
public MediaDataReader<FaceInfo> Select(SelectArguments filter)
{
ValidateDatabase();
/// <exception cref="ArgumentNullException"><paramref name="faceInfoId"/> is null.</exception>
/// <exception cref="ArgumentException"><paramref name="faceInfoId"/> is a zero-length string, contains only white space.</exception>
/// <exception cref="UnauthorizedAccessException">The caller has no required privilege.</exception>
+ /// <since_tizen> 4 </since_tizen>
public bool UpdateTag(string faceInfoId, string tag)
{
ValidateDatabase();
/// The <see cref="Folder"/> is used to organize media content files, i.e., image, audio, and video files,
/// in the physical storage of the device.
/// </remarks>
+ /// <since_tizen> 4 </since_tizen>
public class Folder
{
internal Folder(IntPtr handle)
/// Gets the ID of the folder.
/// </summary>
/// <value>The unique ID of the folder.</value>
+ /// <since_tizen> 4 </since_tizen>
public string Id { get; }
/// <summary>
/// Gets the path of the folder.
/// </summary>
/// <value>The path of the folder.</value>
+ /// <since_tizen> 4 </since_tizen>
public string Path { get; }
/// <summary>
/// Gets the name of the folder.
/// </summary>
/// <value>The name of the folder.</value>
+ /// <since_tizen> 4 </since_tizen>
public string Name { get; }
/// <summary>
/// Gets the <see cref="StorageType"/> of the storage that the folder exists.
/// </summary>
/// <value>The <see cref="StorageType"/> of the storage that the folder exists.</value>
+ /// <since_tizen> 4 </since_tizen>
public StorageType StorageType { get; }
/// <summary>
/// Gets the storage ID of the storage that the folder exists.
/// </summary>
/// <value>The storage ID of the storage that the folder exists.</value>
+ /// <since_tizen> 4 </since_tizen>
public string StorageId { get; }
/// <summary>
/// Returns a string representation of the folder.
/// </summary>
/// <returns>A string representation of the current folder.</returns>
+ /// <since_tizen> 4 </since_tizen>
public override string ToString() =>
$"Id={Id}, Name={Name}, Path={Path}, StorageType={StorageType}, StorageId={StorageType}";
}
/// <summary>
/// Provides commands to manage folders and query related media items in the database.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public class FolderCommand : MediaCommand
{
/// <summary>
/// <param name="database">The <see cref="MediaDatabase"/> that the commands run on.</param>
/// <exception cref="ArgumentNullException"><paramref name="database"/> is null.</exception>
/// <exception cref="ObjectDisposedException"><paramref name="database"/> has already been disposed of.</exception>
+ /// <since_tizen> 4 </since_tizen>
public FolderCommand(MediaDatabase database) : base(database)
{
}
/// <exception cref="InvalidOperationException">The <see cref="MediaDatabase"/> is disconnected.</exception>
/// <exception cref="ObjectDisposedException">The <see cref="MediaDatabase"/> has already been disposed of.</exception>
/// <exception cref="MediaDatabaseException">An error occurred while executing the command.</exception>
+ /// <since_tizen> 4 </since_tizen>
public int Count()
{
return Count(null);
/// <exception cref="InvalidOperationException">The <see cref="MediaDatabase"/> is disconnected.</exception>
/// <exception cref="ObjectDisposedException">The <see cref="MediaDatabase"/> has already been disposed of.</exception>
/// <exception cref="MediaDatabaseException">An error occurred while executing the command.</exception>
+ /// <since_tizen> 4 </since_tizen>
public int Count(CountArguments arguments)
{
ValidateDatabase();
/// <exception cref="InvalidOperationException">The <see cref="MediaDatabase"/> is disconnected.</exception>
/// <exception cref="ObjectDisposedException">The <see cref="MediaDatabase"/> has already been disposed of.</exception>
/// <exception cref="MediaDatabaseException">An error occurred while executing the command.</exception>
+ /// <since_tizen> 4 </since_tizen>
public MediaDataReader<Folder> Select()
{
return Select(arguments: null);
/// <exception cref="InvalidOperationException">The <see cref="MediaDatabase"/> is disconnected.</exception>
/// <exception cref="ObjectDisposedException">The <see cref="MediaDatabase"/> has already been disposed of.</exception>
/// <exception cref="MediaDatabaseException">An error occurred while executing the command.</exception>
+ /// <since_tizen> 4 </since_tizen>
public MediaDataReader<Folder> Select(SelectArguments arguments)
{
ValidateDatabase();
/// <exception cref="MediaDatabaseException">An error occurred while executing the command.</exception>
/// <exception cref="ArgumentNullException"><paramref name="folderId"/> is null.</exception>
/// <exception cref="ArgumentException"><paramref name="folderId"/> is a zero-length string, contains only white space.</exception>
+ /// <since_tizen> 4 </since_tizen>
public Folder Select(string folderId)
{
ValidateDatabase();
/// <exception cref="MediaDatabaseException">An error occurred while executing the command.</exception>
/// <exception cref="ArgumentNullException"><paramref name="folderId"/> is null.</exception>
/// <exception cref="ArgumentException"><paramref name="folderId"/> is a zero-length string, contains only white space.</exception>
+ /// <since_tizen> 4 </since_tizen>
public int CountMedia(string folderId)
{
return CountMedia(folderId, null);
/// <exception cref="MediaDatabaseException">An error occurred while executing the command.</exception>
/// <exception cref="ArgumentNullException"><paramref name="folderId"/> is null.</exception>
/// <exception cref="ArgumentException"><paramref name="folderId"/> is a zero-length string, contains only white space.</exception>
+ /// <since_tizen> 4 </since_tizen>
public int CountMedia(string folderId, CountArguments arguments)
{
ValidateDatabase();
/// <exception cref="MediaDatabaseException">An error occurred while executing the command.</exception>
/// <exception cref="ArgumentNullException"><paramref name="folderId"/> is null.</exception>
/// <exception cref="ArgumentException"><paramref name="folderId"/> is a zero-length string, contains only white space.</exception>
+ /// <since_tizen> 4 </since_tizen>
public MediaDataReader<MediaInfo> SelectMedia(string folderId)
{
return SelectMedia(folderId, null);
/// <exception cref="MediaDatabaseException">An error occurred while executing the command.</exception>
/// <exception cref="ArgumentNullException"><paramref name="folderId"/> is null.</exception>
/// <exception cref="ArgumentException"><paramref name="folderId"/> is a zero-length string, contains only white space.</exception>
+ /// <since_tizen> 4 </since_tizen>
public MediaDataReader<MediaInfo> SelectMedia(string folderId, SelectArguments filter)
{
ValidateDatabase();
/// <summary>
/// Represents the image media stored in the device.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public class ImageInfo : MediaInfo
{
internal ImageInfo(Interop.MediaInfoHandle handle) : base(handle)
/// Gets the image width in pixels.
/// </summary>
/// <value>The image width in pixels.</value>
+ /// <since_tizen> 4 </since_tizen>
public int Width { get; }
/// <summary>
/// Gets the image height in pixels.
/// </summary>
/// <value>The image height in pixels.</value>
+ /// <since_tizen> 4 </since_tizen>
public int Height { get; }
/// <summary>
/// Gets the orientation of image.
/// </summary>
/// <value>The orientation of image.</value>
+ /// <since_tizen> 4 </since_tizen>
public Orientation Orientation { get; }
/// <summary>
/// Gets the date of the creation time as a formatted string.
/// </summary>
/// <value>The date of the creation time as a formatted string.</value>
+ /// <since_tizen> 4 </since_tizen>
public string DateTaken { get; }
/// <summary>
/// Gets the exposure time from EXIF.
/// </summary>
/// <value>The exposure time from EXIF.</value>
+ /// <since_tizen> 4 </since_tizen>
public string ExposureTime { get; }
/// <summary>
/// Gets the FNumber from EXIF.
/// </summary>
/// <value>The FNumber from EXIF.</value>
+ /// <since_tizen> 4 </since_tizen>
public double FNumber { get; }
/// <summary>
/// Gets the ISO from EXIF.
/// </summary>
/// <value>The iso from EXIF.</value>
+ /// <since_tizen> 4 </since_tizen>
public int Iso { get; }
/// <summary>
/// Gets the model from EXIF.
/// </summary>
/// <value>The model from EXIF.</value>
+ /// <since_tizen> 4 </since_tizen>
public string Model { get; }
}
}
/// <summary>
/// The <see cref="MediaCommand"/> is a base class for command classes.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public abstract class MediaCommand
{
/// <summary>
/// <param name="database">The <see cref="MediaDatabase"/> that the commands run on.</param>
/// <exception cref="ArgumentNullException"><paramref name="database"/> is null.</exception>
/// <exception cref="ObjectDisposedException"><paramref name="database"/> has already been disposed of.</exception>
+ /// <since_tizen> 4 </since_tizen>
protected MediaCommand(MediaDatabase database)
{
Database = database ?? throw new ArgumentNullException(nameof(database));
/// Gets the <see cref="MediaDatabase"/>.
/// </summary>
/// <value>The <see cref="MediaDatabase"/> which commands execute on.</value>
+ /// <since_tizen> 4 </since_tizen>
public MediaDatabase Database { get; }
}
/// <summary>
/// Provides a means of reading results obtained by executing a query.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public interface IMediaDataReader
{
/// <summary>
/// Advances to the next record.
/// </summary>
/// <returns>true if there are more rows; otherwise false.</returns>
+ /// <since_tizen> 4 </since_tizen>
bool Read();
/// <summary>
/// Gets the current record.
/// </summary>
/// <value>The current record object.</value>
+ /// <since_tizen> 4 </since_tizen>
object Current { get; }
}
/// Provides a means of reading results obtained by executing a query.
/// </summary>
/// <typeparam name="TRecord"></typeparam>
+ /// <since_tizen> 4 </since_tizen>
public class MediaDataReader<TRecord> : IMediaDataReader, IDisposable
{
private readonly IEnumerator<TRecord> _enumerator;
/// Gets the current record.
/// </summary>
/// <value>The current record if the position is valid; otherwise null.</value>
+ /// <since_tizen> 4 </since_tizen>
public TRecord Current
{
get
/// Advances to the next record.
/// </summary>
/// <returns>true if there are more rows; otherwise false.</returns>
+ /// <since_tizen> 4 </since_tizen>
public bool Read()
{
ValidateNotDisposed();
/// Disposes of the resources (other than memory) used by the MediaDataReader.
/// </summary>
/// <param name="disposing">true to release both managed and unmanaged resources; false to release only unmanaged resources.</param>
+ /// <since_tizen> 4 </since_tizen>
protected virtual void Dispose(bool disposing)
{
if (!_disposed)
/// <summary>
/// Releases all resources used by the current instance.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public void Dispose()
{
Dispose(true);
/// <summary>
/// Provides the ability to connect to and manage the database.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public class MediaDatabase : IDisposable
{
/// <summary>
/// Initializes a new instance of the <see cref="MediaDatabase"/> class.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public MediaDatabase()
{
}
/// <exception cref="InvalidOperationException">The database is already connected.</exception>
/// <exception cref="ObjectDisposedException">The <see cref="MediaDatabase"/> has already been disposed of.</exception>
/// <exception cref="MediaDatabaseException">An error occurred while connecting.</exception>
+ /// <since_tizen> 4 </since_tizen>
public void Connect()
{
ValidateNotDisposed();
/// <exception cref="InvalidOperationException">The database is not connected.</exception>
/// <exception cref="ObjectDisposedException">The <see cref="MediaDatabase"/> has already been disposed of.</exception>
/// <exception cref="MediaDatabaseException">An error occurred while connecting.</exception>
+ /// <since_tizen> 4 </since_tizen>
public void Disconnect()
{
ValidateNotDisposed();
/// <summary>
/// Occurs when there is a change for media in the database.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public static event EventHandler<MediaInfoUpdatedEventArgs> MediaInfoUpdated
{
add
/// <summary>
/// Occurs when there is a change for the folder in the database.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public static event EventHandler<FolderUpdatedEventArgs> FolderUpdated
{
add
/// <paramref name="path"/> contains a directory containing the ".scan_ignore" file.
/// </exception>
/// <exception cref="UnauthorizedAccessException">The caller has no required privilege.</exception>
+ /// <since_tizen> 4 </since_tizen>
public void ScanFile(string path)
{
ValidateState();
/// -or-<br/>
/// <paramref name="folderPath"/> contains a directory containing the ".scan_ignore" file.
/// </exception>
+ /// <since_tizen> 4 </since_tizen>
public Task ScanFolderAsync(string folderPath)
{
return ScanFolderAsync(folderPath, true);
/// -or-<br/>
/// <paramref name="folderPath"/> contains a directory containing the ".scan_ignore" file.
/// </exception>
+ /// <since_tizen> 4 </since_tizen>
public Task ScanFolderAsync(string folderPath, bool recursive)
{
return ScanFolderAsync(folderPath, recursive, CancellationToken.None);
/// -or-<br/>
/// <paramref name="folderPath"/> contains a directory containing the ".scan_ignore" file.
/// </exception>
+ /// <since_tizen> 4 </since_tizen>
public Task ScanFolderAsync(string folderPath, CancellationToken cancellationToken)
{
return ScanFolderAsync(folderPath, true, cancellationToken);
/// -or-<br/>
/// <paramref name="folderPath"/> contains a directory containing the ".scan_ignore" file.
/// </exception>
+ /// <since_tizen> 4 </since_tizen>
public Task ScanFolderAsync(string folderPath, bool recursive, CancellationToken cancellationToken)
{
ValidateState();
/// Disposes of the resources (other than memory) used by the MediaDatabase.
/// </summary>
/// <param name="disposing">true to release both managed and unmanaged resources; false to release only unmanaged resources.</param>
+ /// <since_tizen> 4 </since_tizen>
protected virtual void Dispose(bool disposing)
{
if (!_disposed)
/// <summary>
/// Releases all the resources.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public void Dispose()
{
Dispose(true);
/// Gets the value indicating whether the database has been disposed of.
/// </summary>
/// <value>true if the database has been disposed of; otherwise, false.</value>
+ /// <since_tizen> 4 </since_tizen>
public bool IsDisposed => _disposed;
#endregion
/// <summary>
/// Specifies the database errors.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public enum MediaDatabaseError
{
/// <summary>
/// <summary>
/// The exception that is thrown when a database operation failed.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public class MediaDatabaseException : Exception
{
internal MediaDatabaseException(MediaDatabaseError error) : this(error, error.ToString())
/// Gets the error that causes the exception.
/// </summary>
/// <value>The <see cref="MediaDatabaseError"/> that causes the exception.</value>
+ /// <since_tizen> 4 </since_tizen>
public MediaDatabaseError Error { get; }
}
}
/// Represents the information related to the media stored.
/// </summary>
/// <seealso cref="MediaInfoCommand"/>
+ /// <since_tizen> 4 </since_tizen>
public class MediaInfo
{
internal MediaInfo(Interop.MediaInfoHandle handle)
/// Gets the ID of media.
/// </summary>
/// <value>The unique ID of media.</value>
+ /// <since_tizen> 4 </since_tizen>
public string Id { get; }
/// <summary>
/// Gets the path to media.
/// </summary>
/// <value>The full path of the media file.</value>
+ /// <since_tizen> 4 </since_tizen>
public string Path { get; }
/// <summary>
/// Gets the name of media.
/// </summary>
/// <value>The base name of the media file.</value>
+ /// <since_tizen> 4 </since_tizen>
public string DisplayName { get; }
/// <summary>
/// Gets the <see cref="MediaContent.MediaType"/> of media.
/// </summary>
/// <value>The <see cref="MediaContent.MediaType"/> of media.</value>
+ /// <since_tizen> 4 </since_tizen>
public MediaType MediaType { get; }
/// <summary>
/// Gets the mime type from media.
/// </summary>
/// <value>The mime type of media.</value>
+ /// <since_tizen> 4 </since_tizen>
public string MimeType { get; }
/// <summary>
/// Gets the file size of media in bytes.
/// </summary>
/// <value>The file size of media in bytes.</value>
+ /// <since_tizen> 4 </since_tizen>
public long FileSize { get; }
/// <summary>
/// Gets the date of addition of media.
/// </summary>
/// <value>The date of addition of media.</value>
+ /// <since_tizen> 4 </since_tizen>
public DateTimeOffset DateAdded { get; }
/// <summary>
/// Gets the date of modification of media.
/// </summary>
/// <value>The date of modification of media.</value>
+ /// <since_tizen> 4 </since_tizen>
public DateTimeOffset DateModified { get; }
/// <summary>
/// The creation date if the file has the creation information (like recorded date or image creation date),
/// otherwise the modified date.
/// </value>
+ /// <since_tizen> 4 </since_tizen>
public DateTimeOffset Timeline { get; }
/// <summary>
/// Gets the thumbnail of media.
/// </summary>
/// <value>The thumbnail path of media.</value>
+ /// <since_tizen> 4 </since_tizen>
public string ThumbnailPath { get; }
/// <summary>
/// Gets the description of media.
/// </summary>
/// <value>The description from the metadata.</value>
+ /// <since_tizen> 4 </since_tizen>
public string Description { get; }
/// <summary>
/// Gets the longitude of media.
/// </summary>
/// <value>The longitude.</value>
+ /// <since_tizen> 4 </since_tizen>
public double Longitude { get; }
/// <summary>
/// Gets the latitude of media.
/// </summary>
/// <value>The latitude.</value>
+ /// <since_tizen> 4 </since_tizen>
public double Latitude { get; }
/// <summary>
/// Gets the altitude of media.
/// </summary>
/// <value>The altitude.</value>
+ /// <since_tizen> 4 </since_tizen>
public double Altitude { get; }
/// <summary>
/// Gets the rating of media.
/// </summary>
/// <value>The rating from the metadata.</value>
+ /// <since_tizen> 4 </since_tizen>
public int Rating { get; }
/// <summary>
/// Gets the favorite status of media.
/// </summary>
/// <value>true if media is set as favorite, otherwise false.</value>
+ /// <since_tizen> 4 </since_tizen>
public bool IsFavorite { get; }
/// <summary>
/// Gets the title of media.
/// </summary>
/// <value>The title of media.</value>
+ /// <since_tizen> 4 </since_tizen>
public string Title { get; }
/// <summary>
/// Gets the storage ID of the storage that the media is stored on.
/// </summary>
/// <value>The storage ID of the storage that the media is stored on.</value>
+ /// <since_tizen> 4 </since_tizen>
public string StorageId { get; }
/// <summary>
/// Gets the value indicating whether the media is DRM-protected.
/// </summary>
/// <value>A bool value indicating whether the media is DRM-protected.</value>
+ /// <since_tizen> 4 </since_tizen>
public bool IsDrm { get; }
/// <summary>
/// Gets the storage type of the storage that the media is stored on.
/// </summary>
/// <value>The storage type of the storage that the media is stored on.</value>
+ /// <since_tizen> 4 </since_tizen>
public StorageType StorageType { get; }
/// <summary>
/// Returns a string representation of the media information.
/// </summary>
/// <returns>A string representation of the current media information.</returns>
+ /// <since_tizen> 4 </since_tizen>
public override string ToString() => $"Id={Id}, Path={Path}, MediaType={MediaType}";
internal static MediaInfo FromHandle(Interop.MediaInfoHandle handle)
/// <summary>
/// Specifies the group keys for <see cref="MediaInfo"/>.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public enum MediaInfoColumnKey
{
/// <summary>
/// <summary>
/// Provides commands to manage the media information and query related items in the database.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public class MediaInfoCommand : MediaCommand
{
/// <summary>
/// <param name="database">The <see cref="MediaDatabase"/> that the commands run on.</param>
/// <exception cref="ArgumentNullException"><paramref name="database"/> is null.</exception>
/// <exception cref="ObjectDisposedException"><paramref name="database"/> has already been disposed of.</exception>
+ /// <since_tizen> 4 </since_tizen>
public MediaInfoCommand(MediaDatabase database) : base(database)
{
}
/// <exception cref="MediaDatabaseException">An error occurred while executing the command.</exception>
/// <exception cref="ArgumentNullException"><paramref name="mediaId"/> is null.</exception>
/// <exception cref="ArgumentException"><paramref name="mediaId"/> is a zero-length string, contains only white space.</exception>
+ /// <since_tizen> 4 </since_tizen>
public int CountBookmark(string mediaId)
{
return CountBookmark(mediaId, null);
/// <exception cref="MediaDatabaseException">An error occurred while executing the command.</exception>
/// <exception cref="ArgumentNullException"><paramref name="mediaId"/> is null.</exception>
/// <exception cref="ArgumentException"><paramref name="mediaId"/> is a zero-length string, contains only white space.</exception>
+ /// <since_tizen> 4 </since_tizen>
public int CountBookmark(string mediaId, CountArguments arguments)
{
ValidateDatabase();
/// <exception cref="MediaDatabaseException">An error occurred while executing the command.</exception>
/// <exception cref="ArgumentNullException"><paramref name="mediaId"/> is null.</exception>
/// <exception cref="ArgumentException"><paramref name="mediaId"/> is a zero-length string, contains only white space.</exception>
+ /// <since_tizen> 4 </since_tizen>
public MediaDataReader<Bookmark> SelectBookmark(string mediaId)
{
return SelectBookmark(mediaId, null);
/// <exception cref="MediaDatabaseException">An error occurred while executing the command.</exception>
/// <exception cref="ArgumentNullException"><paramref name="mediaId"/> is null.</exception>
/// <exception cref="ArgumentException"><paramref name="mediaId"/> is a zero-length string, contains only white space.</exception>
+ /// <since_tizen> 4 </since_tizen>
public MediaDataReader<Bookmark> SelectBookmark(string mediaId, SelectArguments filter)
{
ValidateDatabase();
/// <exception cref="MediaDatabaseException">An error occurred while executing the command.</exception>
/// <exception cref="ArgumentNullException"><paramref name="mediaId"/> is null.</exception>
/// <exception cref="ArgumentException"><paramref name="mediaId"/> is a zero-length string, contains only white space.</exception>
+ /// <since_tizen> 4 </since_tizen>
public int CountFaceInfo(string mediaId)
{
return CountFaceInfo(mediaId, null);
/// <exception cref="MediaDatabaseException">An error occurred while executing the command.</exception>
/// <exception cref="ArgumentNullException"><paramref name="mediaId"/> is null.</exception>
/// <exception cref="ArgumentException"><paramref name="mediaId"/> is a zero-length string, contains only white space.</exception>
+ /// <since_tizen> 4 </since_tizen>
public int CountFaceInfo(string mediaId, CountArguments arguments)
{
ValidateDatabase();
/// <exception cref="MediaDatabaseException">An error occurred while executing the command.</exception>
/// <exception cref="ArgumentNullException"><paramref name="mediaId"/> is null.</exception>
/// <exception cref="ArgumentException"><paramref name="mediaId"/> is a zero-length string, contains only white space.</exception>
+ /// <since_tizen> 4 </since_tizen>
public MediaDataReader<FaceInfo> SelectFaceInfo(string mediaId)
{
return SelectFaceInfo(mediaId, null);
/// <exception cref="MediaDatabaseException">An error occurred while executing the command.</exception>
/// <exception cref="ArgumentNullException"><paramref name="mediaId"/> is null.</exception>
/// <exception cref="ArgumentException"><paramref name="mediaId"/> is a zero-length string, contains only white space.</exception>
+ /// <since_tizen> 4 </since_tizen>
public MediaDataReader<FaceInfo> SelectFaceInfo(string mediaId, SelectArguments arguments)
{
ValidateDatabase();
/// <exception cref="MediaDatabaseException">An error occurred while executing the command.</exception>
/// <exception cref="ArgumentNullException"><paramref name="mediaId"/> is null.</exception>
/// <exception cref="ArgumentException"><paramref name="mediaId"/> is a zero-length string, contains only white space.</exception>
+ /// <since_tizen> 4 </since_tizen>
public int CountTag(string mediaId)
{
return CountTag(mediaId, null);
/// <exception cref="MediaDatabaseException">An error occurred while executing the command.</exception>
/// <exception cref="ArgumentNullException"><paramref name="mediaId"/> is null.</exception>
/// <exception cref="ArgumentException"><paramref name="mediaId"/> is a zero-length string, contains only white space.</exception>
+ /// <since_tizen> 4 </since_tizen>
public int CountTag(string mediaId, CountArguments arguments)
{
ValidateDatabase();
/// <exception cref="MediaDatabaseException">An error occurred while executing the command.</exception>
/// <exception cref="ArgumentNullException"><paramref name="mediaId"/> is null.</exception>
/// <exception cref="ArgumentException"><paramref name="mediaId"/> is a zero-length string, contains only white space.</exception>
+ /// <since_tizen> 4 </since_tizen>
public MediaDataReader<Tag> SelectTag(string mediaId)
{
return SelectTag(mediaId, null);
/// <exception cref="MediaDatabaseException">An error occurred while executing the command.</exception>
/// <exception cref="ArgumentNullException"><paramref name="mediaId"/> is null.</exception>
/// <exception cref="ArgumentException"><paramref name="mediaId"/> is a zero-length string, contains only white space.</exception>
+ /// <since_tizen> 4 </since_tizen>
public MediaDataReader<Tag> SelectTag(string mediaId, SelectArguments filter)
{
ValidateDatabase();
/// <exception cref="InvalidOperationException">The <see cref="MediaDatabase"/> is disconnected.</exception>
/// <exception cref="ObjectDisposedException">The <see cref="MediaDatabase"/> has already been disposed of.</exception>
/// <exception cref="MediaDatabaseException">An error occurred while executing the command.</exception>
+ /// <since_tizen> 4 </since_tizen>
public int CountMedia()
{
return CountMedia(null);
/// <exception cref="InvalidOperationException">The <see cref="MediaDatabase"/> is disconnected.</exception>
/// <exception cref="ObjectDisposedException">The <see cref="MediaDatabase"/> has already been disposed of.</exception>
/// <exception cref="MediaDatabaseException">An error occurred while executing the command.</exception>
+ /// <since_tizen> 4 </since_tizen>
public int CountMedia(CountArguments arguments)
{
ValidateDatabase();
/// <exception cref="MediaDatabaseException">An error occurred while executing the command.</exception>
/// <exception cref="ArgumentNullException"><paramref name="mediaId"/> is null.</exception>
/// <exception cref="ArgumentException"><paramref name="mediaId"/> is a zero-length string, contains only white space.</exception>
+ /// <since_tizen> 4 </since_tizen>
public MediaInfo SelectMedia(string mediaId)
{
ValidateDatabase();
/// <exception cref="ObjectDisposedException">The <see cref="MediaDatabase"/> has already been disposed of.</exception>
/// <exception cref="MediaDatabaseException">An error occurred while executing the command.</exception>
/// <exception cref="ArgumentException"><paramref name="columnKey"/> is invalid.</exception>
+ /// <since_tizen> 4 </since_tizen>
public int CountGroupBy(MediaInfoColumnKey columnKey)
{
return CountGroupBy(columnKey, null);
/// <exception cref="ObjectDisposedException">The <see cref="MediaDatabase"/> has already been disposed of.</exception>
/// <exception cref="MediaDatabaseException">An error occurred while executing the command.</exception>
/// <exception cref="ArgumentException"><paramref name="columnKey"/> is invalid.</exception>
+ /// <since_tizen> 4 </since_tizen>
public int CountGroupBy(MediaInfoColumnKey columnKey, CountArguments arguments)
{
ValidateDatabase();
/// <exception cref="ObjectDisposedException">The <see cref="MediaDatabase"/> has already been disposed of.</exception>
/// <exception cref="MediaDatabaseException">An error occurred while executing the command.</exception>
/// <exception cref="ArgumentException"><paramref name="columnKey"/> is invalid.</exception>
+ /// <since_tizen> 4 </since_tizen>
public MediaDataReader<string> SelectGroupBy(MediaInfoColumnKey columnKey)
{
return SelectGroupBy(columnKey, null);
/// <exception cref="ObjectDisposedException">The <see cref="MediaDatabase"/> has already been disposed of.</exception>
/// <exception cref="MediaDatabaseException">An error occurred while executing the command.</exception>
/// <exception cref="ArgumentException"><paramref name="columnKey"/> is invalid.</exception>
+ /// <since_tizen> 4 </since_tizen>
public MediaDataReader<string> SelectGroupBy(MediaInfoColumnKey columnKey, SelectArguments arguments)
{
ValidateDatabase();
/// <exception cref="InvalidOperationException">The <see cref="MediaDatabase"/> is disconnected.</exception>
/// <exception cref="ObjectDisposedException">The <see cref="MediaDatabase"/> has already been disposed of.</exception>
/// <exception cref="MediaDatabaseException">An error occurred while executing the command.</exception>
+ /// <since_tizen> 4 </since_tizen>
public MediaDataReader<MediaInfo> SelectMedia()
{
return SelectMedia(arguments: null);
/// <exception cref="InvalidOperationException">The <see cref="MediaDatabase"/> is disconnected.</exception>
/// <exception cref="ObjectDisposedException">The <see cref="MediaDatabase"/> has already been disposed of.</exception>
/// <exception cref="MediaDatabaseException">An error occurred while executing the command.</exception>
+ /// <since_tizen> 4 </since_tizen>
public MediaDataReader<MediaInfo> SelectMedia(SelectArguments arguments)
{
ValidateDatabase();
/// <exception cref="ArgumentNullException"><paramref name="mediaId"/> is null.</exception>
/// <exception cref="ArgumentException"><paramref name="mediaId"/> is a zero-length string, contains only white space.</exception>
/// <exception cref="UnauthorizedAccessException">The caller has no required privilege.</exception>
+ /// <since_tizen> 4 </since_tizen>
public bool Delete(string mediaId)
{
ValidateDatabase();
/// </exception>
/// <exception cref="FileNotFoundException"><paramref name="path"/> does not exists.</exception>
/// <exception cref="UnauthorizedAccessException">The caller has no required privilege.</exception>
+ /// <since_tizen> 4 </since_tizen>
public MediaInfo Add(string path)
{
ValidateDatabase();
/// </exception>
/// <exception cref="FileNotFoundException"><paramref name="paths"/> contains a path that does not exist.</exception>
/// <exception cref="UnauthorizedAccessException">The caller has no required privilege.</exception>
+ /// <since_tizen> 4 </since_tizen>
public async Task AddAsync(IEnumerable<string> paths)
{
ValidateDatabase();
/// <exception cref="ArgumentNullException"><paramref name="mediaId"/> is null.</exception>
/// <exception cref="ArgumentException"><paramref name="mediaId"/> is a zero-length string, contains only white space.</exception>
/// <exception cref="UnauthorizedAccessException">The caller has no required privilege.</exception>
+ /// <since_tizen> 4 </since_tizen>
public bool UpdateFavorite(string mediaId, bool value)
{
ValidateDatabase();
/// </exception>
/// <exception cref="FileNotFoundException"><paramref name="newPath"/> does not exists.</exception>
/// <exception cref="UnauthorizedAccessException">The caller has no required privilege.</exception>
+ /// <since_tizen> 4 </since_tizen>
public bool Move(string mediaId, string newPath)
{
ValidateDatabase();
/// -or-<br/>
/// The media is in the external USB storage (<see cref="MediaInfo.StorageType"/> is <see cref="StorageType.ExternalUsb"/>).
/// </exception>
+ /// <since_tizen> 4 </since_tizen>
public Task<string> CreateThumbnailAsync(string mediaId)
{
return CreateThumbnailAsync(mediaId, CancellationToken.None);
/// -or-<br/>
/// The media is in the external USB storage (<see cref="MediaInfo.StorageType"/> is <see cref="StorageType.ExternalUsb"/>).
/// </exception>
+ /// <since_tizen> 4 </since_tizen>
public Task<string> CreateThumbnailAsync(string mediaId, CancellationToken cancellationToken)
{
ValidateDatabase();
/// <exception cref="UnsupportedContentException">Face detection is not available for the given media.</exception>
/// <exception cref="NotSupportedException">The required feature is not supported.</exception>
/// <exception cref="UnauthorizedAccessException">The caller has no required privilege.</exception>
+ /// <since_tizen> 4 </since_tizen>
public Task<int> DetectFaceAsync(string mediaId)
{
return DetectFaceAsync(mediaId, CancellationToken.None);
/// The media is in the external USB storage (<see cref="MediaInfo.StorageType"/> is <see cref="StorageType.ExternalUsb"/>).
/// </exception>
/// <exception cref="NotSupportedException">The required feature is not supported.</exception>
+ /// <since_tizen> 4 </since_tizen>
public Task<int> DetectFaceAsync(string mediaId, CancellationToken cancellationToken)
{
if (Features.IsSupported(Features.FaceRecognition) == false)
/// <summary>
/// Represents the playlist that is a group of media (usually songs).
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public class Playlist
{
internal Playlist(IntPtr handle)
/// Gets the ID of the playlist.
/// </summary>
/// <value>The unique ID of the playlist.</value>
+ /// <since_tizen> 4 </since_tizen>
public int Id { get; }
/// <summary>
/// Gets the name of the playlist.
/// </summary>
/// <value>The name of the playlist.</value>
+ /// <since_tizen> 4 </since_tizen>
public string Name { get; }
/// <summary>
/// Gets the path to the thumbnail.
/// </summary>
/// <value>The path to the thumbnail.</value>
+ /// <since_tizen> 4 </since_tizen>
public string ThumbnailPath { get; }
/// <summary>
/// Returns a string representation of the playlist.
/// </summary>
/// <returns>A string representation of the current playlist.</returns>
+ /// <since_tizen> 4 </since_tizen>
public override string ToString() =>
$"Id={Id}, Name={Name}, ThumbnailPath={ThumbnailPath}";
}
/// The values only set in the object will be affected to the update command.
/// </remarks>
/// <seealso cref="PlaylistCommand.Update (int, PlaylistUpdateValues)"/>
+ /// <since_tizen> 4 </since_tizen>
public class PlaylistUpdateValues
{
/// <summary>
/// </summary>
/// <remarks>If the value is null, the update operation will have no effect on the field.</remarks>
/// <value>A string for name; the field will not be updated if null.</value>
+ /// <since_tizen> 4 </since_tizen>
public string Name { get; set; }
/// <summary>
/// </summary>
/// <remarks>If the value is null, the update operation will have no effect on the field.</remarks>
/// <value>A string for the thumbnail path; the field will not be updated if null.</value>
+ /// <since_tizen> 4 </since_tizen>
public string ThumbnailPath { get; set; }
}
/// <summary>
/// Represents an order of a member of the playlist.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public class PlayOrder
{
/// <summary>
/// -or-<br/>
/// <paramref name="orderValue"/> is less than zero.
/// </exception>
+ /// <since_tizen> 4 </since_tizen>
public PlayOrder(int memberId, int orderValue)
{
MemberId = memberId;
/// <exception cref="ArgumentOutOfRangeException">
/// <paramref name="value"/> is less than or equal to zero.
/// </exception>
+ /// <since_tizen> 4 </since_tizen>
public int MemberId
{
get => _memberId;
/// <exception cref="ArgumentOutOfRangeException">
/// <paramref name="value"/> is less than zero.
/// </exception>
+ /// <since_tizen> 4 </since_tizen>
public int Value
{
get => _value;
/// Provides the commands to manage playlists in the database.
/// </summary>
/// <seealso cref="Playlist"/>
+ /// <since_tizen> 4 </since_tizen>
public class PlaylistCommand : MediaCommand
{
/// <summary>
/// <param name="database">A <see cref="MediaDatabase"/> that the commands run on.</param>
/// <exception cref="ArgumentNullException"><paramref name="database"/> is null.</exception>
/// <exception cref="ObjectDisposedException"><paramref name="database"/> has already been disposed of.</exception>
+ /// <since_tizen> 4 </since_tizen>
public PlaylistCommand(MediaDatabase database) : base(database)
{
}
/// <exception cref="InvalidOperationException">The <see cref="MediaDatabase"/> is disconnected.</exception>
/// <exception cref="ObjectDisposedException">The <see cref="MediaDatabase"/> has already been disposed of.</exception>
/// <exception cref="MediaDatabaseException">An error occurred while executing the command.</exception>
+ /// <since_tizen> 4 </since_tizen>
public int Count()
{
return Count(null);
/// <exception cref="InvalidOperationException">The <see cref="MediaDatabase"/> is disconnected.</exception>
/// <exception cref="ObjectDisposedException">The <see cref="MediaDatabase"/> has already been disposed of.</exception>
/// <exception cref="MediaDatabaseException">An error occurred while executing the command.</exception>
+ /// <since_tizen> 4 </since_tizen>
public int Count(CountArguments arguments)
{
ValidateDatabase();
/// -or-<br/>
/// <paramref name="memberId"/> is less than or equal to zero.
/// </exception>
+ /// <since_tizen> 4 </since_tizen>
public int GetPlayOrder(int playlistId, int memberId)
{
ValidateDatabase();
/// <exception cref="MediaDatabaseException">An error occurred while executing the command.</exception>
/// <exception cref="ArgumentOutOfRangeException"><paramref name="playlistId"/> is less than or equal to zero.</exception>
/// <exception cref="UnauthorizedAccessException">The caller has no required privilege.</exception>
+ /// <since_tizen> 4 </since_tizen>
public bool Delete(int playlistId)
{
ValidateDatabase();
/// </exception>
/// <exception cref="FileNotFoundException"><paramref name="path"/> does not exists.</exception>
/// <exception cref="UnauthorizedAccessException">The caller has no required privilege.</exception>
+ /// <since_tizen> 4 </since_tizen>
public Playlist InsertFromFile(string name, string path)
{
ValidateDatabase();
/// <exception cref="ArgumentOutOfRangeException"><paramref name="playlistId"/> is less than or equal to zero.</exception>
/// <exception cref="RecordNotFoundException">No matching playlist exists.</exception>
/// <exception cref="UnauthorizedAccessException">The caller has no required privilege.</exception>
+ /// <since_tizen> 4 </since_tizen>
public void ExportToFile(int playlistId, string path)
{
ValidateDatabase();
/// <exception cref="ArgumentNullException"><paramref name="name"/> is null.</exception>
/// <exception cref="ArgumentException"><paramref name="name"/> is a zero-length string.</exception>
/// <exception cref="UnauthorizedAccessException">The caller has no required privilege.</exception>
+ /// <since_tizen> 4 </since_tizen>
public Playlist Insert(string name)
{
return Insert(name, null);
/// <exception cref="ArgumentNullException"><paramref name="name"/> is null.</exception>
/// <exception cref="ArgumentException"><paramref name="name"/> is a zero-length string.</exception>
/// <exception cref="UnauthorizedAccessException">The caller has no required privilege.</exception>
+ /// <since_tizen> 4 </since_tizen>
public Playlist Insert(string name, string thumbnailPath)
{
ValidateDatabase();
/// <exception cref="InvalidOperationException">The <see cref="MediaDatabase"/> is disconnected.</exception>
/// <exception cref="ObjectDisposedException">The <see cref="MediaDatabase"/> has already been disposed of.</exception>
/// <exception cref="MediaDatabaseException">An error occurred while executing the command.</exception>
+ /// <since_tizen> 4 </since_tizen>
public MediaDataReader<Playlist> Select()
{
return Select(null);
/// <exception cref="InvalidOperationException">The <see cref="MediaDatabase"/> is disconnected.</exception>
/// <exception cref="ObjectDisposedException">The <see cref="MediaDatabase"/> has already been disposed of.</exception>
/// <exception cref="MediaDatabaseException">An error occurred while executing the command.</exception>
+ /// <since_tizen> 4 </since_tizen>
public MediaDataReader<Playlist> Select(SelectArguments filter)
{
ValidateDatabase();
/// <exception cref="ObjectDisposedException">The <see cref="MediaDatabase"/> has already been disposed of.</exception>
/// <exception cref="MediaDatabaseException">An error occurred while executing the command.</exception>
/// <exception cref="ArgumentOutOfRangeException"><paramref name="playlistId"/> is less than or equal to zero.</exception>
+ /// <since_tizen> 4 </since_tizen>
public Playlist Select(int playlistId)
{
ValidateDatabase();
/// <exception cref="ObjectDisposedException">The <see cref="MediaDatabase"/> has already been disposed of.</exception>
/// <exception cref="MediaDatabaseException">An error occurred while executing the command.</exception>
/// <exception cref="ArgumentOutOfRangeException"><paramref name="playlistId"/> is less than or equal to zero.</exception>
+ /// <since_tizen> 4 </since_tizen>
public int CountMember(int playlistId)
{
return CountMember(playlistId, null);
/// <exception cref="ObjectDisposedException">The <see cref="MediaDatabase"/> has already been disposed of.</exception>
/// <exception cref="MediaDatabaseException">An error occurred while executing the command.</exception>
/// <exception cref="ArgumentOutOfRangeException"><paramref name="playlistId"/> is less than or equal to zero.</exception>
+ /// <since_tizen> 4 </since_tizen>
public int CountMember(int playlistId, CountArguments arguments)
{
ValidateDatabase();
/// <exception cref="ArgumentOutOfRangeException"><paramref name="playlistId"/> is less than or equal to zero.</exception>
/// <exception cref="ArgumentNullException"><paramref name="mediaId"/> is null.</exception>
/// <exception cref="ArgumentException"><paramref name="mediaId"/> is a zero-length string, contains only white space.</exception>
+ /// <since_tizen> 4 </since_tizen>
public int GetMemberId(int playlistId, string mediaId)
{
ValidateDatabase();
/// <exception cref="ObjectDisposedException">The <see cref="MediaDatabase"/> has already been disposed of.</exception>
/// <exception cref="MediaDatabaseException">An error occurred while executing the command.</exception>
/// <exception cref="ArgumentOutOfRangeException"><paramref name="playlistId"/> is less than or equal to zero.</exception>
+ /// <since_tizen> 4 </since_tizen>
public MediaDataReader<PlaylistMember> SelectMember(int playlistId)
{
return SelectMember(playlistId, null);
/// <exception cref="ObjectDisposedException">The <see cref="MediaDatabase"/> has already been disposed of.</exception>
/// <exception cref="MediaDatabaseException">An error occurred while executing the command.</exception>
/// <exception cref="ArgumentOutOfRangeException"><paramref name="playlistId"/> is less than or equal to zero.</exception>
+ /// <since_tizen> 4 </since_tizen>
public MediaDataReader<PlaylistMember> SelectMember(int playlistId, SelectArguments filter)
{
ValidateDatabase();
/// <exception cref="ArgumentNullException"><paramref name="values"/> is null.</exception>
/// <exception cref="ArgumentOutOfRangeException"><paramref name="playlistId"/> is less than or equal to zero.</exception>
/// <exception cref="UnauthorizedAccessException">The caller has no required privilege.</exception>
+ /// <since_tizen> 4 </since_tizen>
public bool Update(int playlistId, PlaylistUpdateValues values)
{
ValidateDatabase();
/// <exception cref="ArgumentNullException"><paramref name="mediaId"/> is null.</exception>
/// <exception cref="ArgumentException"><paramref name="mediaId"/> is a zero-length string, contains only white space.</exception>
/// <exception cref="ArgumentOutOfRangeException"><paramref name="playlistId"/> is less than or equal to zero.</exception>
+ /// <since_tizen> 4 </since_tizen>
public bool AddMember(int playlistId, string mediaId)
{
ValidationUtil.ValidateNotNullOrEmpty(mediaId, nameof(mediaId));
/// <paramref name="mediaIds"/> contains a zero-length string or white space.
/// </exception>
/// <exception cref="ArgumentOutOfRangeException"><paramref name="playlistId"/> is less than or equal to zero.</exception>
+ /// <since_tizen> 4 </since_tizen>
public bool AddMembers(int playlistId, IEnumerable<string> mediaIds)
{
ValidateDatabase();
/// -or-<br/>
/// <paramref name="memberId"/> is less than or equal to zero.
/// </exception>
+ /// <since_tizen> 4 </since_tizen>
public bool RemoveMember(int playlistId, int memberId)
{
if (memberId <= 0)
/// <paramref name="memberIds"/> contains a value which is less than or equal to zero.
/// </exception>
/// <exception cref="ArgumentOutOfRangeException"><paramref name="playlistId"/> is less than or equal to zero.</exception>
+ /// <since_tizen> 4 </since_tizen>
public bool RemoveMembers(int playlistId, IEnumerable<int> memberIds)
{
ValidateDatabase();
/// <exception cref="MediaDatabaseException">An error occurred while executing the command.</exception>
/// <exception cref="ArgumentNullException"><paramref name="playOrder"/> is null.</exception>
/// <exception cref="ArgumentOutOfRangeException"><paramref name="playlistId"/> is less than or equal to zero.</exception>
+ /// <since_tizen> 4 </since_tizen>
public bool UpdatePlayOrder(int playlistId, PlayOrder playOrder)
{
if (playOrder == null)
/// <paramref name="orders"/> contains a null value.
/// </exception>
/// <exception cref="ArgumentOutOfRangeException"><paramref name="playlistId"/> is less than or equal to zero.</exception>
+ /// <since_tizen> 4 </since_tizen>
public bool UpdatePlayOrders(int playlistId, IEnumerable<PlayOrder> orders)
{
ValidateDatabase();
/// <summary>
/// Represents a member of the <see cref="Playlist"/>.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public class PlaylistMember
{
/// <summary>
/// Gets the member ID.
/// </summary>
/// <value>The member ID of the playlist.</value>
+ /// <since_tizen> 4 </since_tizen>
public int MemberId { get; }
/// <summary>
/// Gets the media information of the member.
/// </summary>
/// <value>The <see cref="MediaInfo"/> of the member.</value>
+ /// <since_tizen> 4 </since_tizen>
public MediaInfo MediaInfo { get; }
internal PlaylistMember(int memberId, MediaInfo mediaInfo)
/// A filter is required for filtering information associated with Album, Folder, Tag, Bookmark, Playlist,
/// and MediaInfo on the basis of details like limit, order, and condition.
/// </remarks>
+ /// <since_tizen> 4 </since_tizen>
public class QueryArguments
{
private string _filter;
/// <seealso cref="TagColumns"/>
/// <seealso cref="BookmarkColumns"/>
/// <seealso cref="FaceInfoColumns"/>
+ /// <since_tizen> 4 </since_tizen>
public string FilterExpression
{
get => _filter;
/// </summary>
/// <value>The storage ID to restrict storage to search, or null for all storages.</value>
/// <exception cref="ArgumentException"><paramref name="value"/> is a zero-length string, contains only white space.</exception>
+ /// <since_tizen> 4 </since_tizen>
public string StorageId
{
get => _storageId;
/// A filter is required for filtering information associated with Album, Folder, Tag, Bookmark, Playlist,
/// and MediaInfo.
/// </remarks>
+ /// <since_tizen> 4 </since_tizen>
public class SelectArguments : QueryArguments
{
private int _startRowIndex;
/// </summary>
/// <value>An integer value that indicates the starting row position of a query.</value>
/// <exception cref="ArgumentOutOfRangeException"><paramref name="value"/> is less than zero.<br/></exception>
+ /// <since_tizen> 4 </since_tizen>
public int StartRowIndex
{
get => _startRowIndex;
/// </summary>
/// <value>An integer value that indicates the limit of rows of the result.</value>
/// <exception cref="ArgumentOutOfRangeException"><paramref name="value"/> is less than zero.</exception>
+ /// <since_tizen> 4 </since_tizen>
public int TotalRowCount
{
get => _totalRowCount;
/// <seealso cref="TagColumns"/>
/// <seealso cref="BookmarkColumns"/>
/// <seealso cref="FaceInfoColumns"/>
+ /// <since_tizen> 4 </since_tizen>
public string SortOrder
{
get => _sortOrder;
/// A filter is required for filtering information associated with Album, Folder, Tag, Bookmark, Playlist,
/// and MediaInfo.
/// </remarks>
+ /// <since_tizen> 4 </since_tizen>
public class CountArguments : QueryArguments
{
}
/// <summary>
/// The exception that is thrown when no record is found in the database.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public class RecordNotFoundException : Exception
{
/// <summary>
/// Initializes a new instance of the <see cref="RecordNotFoundException"/> class.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public RecordNotFoundException() : base("No record found.")
{
}
/// Initializes a new instance of the <see cref="RecordNotFoundException"/> class with a specified error message.
/// </summary>
/// <param name="message">The message that describes the error.</param>
+ /// <since_tizen> 4 </since_tizen>
public RecordNotFoundException(string message) : base(message)
{
}
/// </summary>
/// <param name="message">The message that describes the error.</param>
/// <param name="innerException">The exception that is the cause of the current exception.</param>
+ /// <since_tizen> 4 </since_tizen>
public RecordNotFoundException(string message, Exception innerException) : base(message, innerException)
{
}
/// Represents the location of the object bounded by the rectangle defined by
/// coordinates of top left corner, width, and height.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public struct Rectangle
{
/// <summary>
/// <param name="y">The y-coordinate of the upper-left corner of the rectangle.</param>
/// <param name="width">The width of the rectangle.</param>
/// <param name="height">The height of the rectangle.</param>
+ /// <since_tizen> 4 </since_tizen>
public Rectangle(int x, int y, int width, int height)
{
X = x;
/// Gets or sets the x-coordinate of the upper-left corner of the rectangle.
/// </summary>
/// <value>The x-coordinate of the upper-left edge of the rectangle.</value>
+ /// <since_tizen> 4 </since_tizen>
public int X { get; set; }
/// <summary>
/// Gets or sets the y-coordinate of the upper-left corner of the rectangle.
/// </summary>
/// <value>The y-coordinate of the upper-left edge of the rectangle.</value>
+ /// <since_tizen> 4 </since_tizen>
public int Y { get; set; }
/// <summary>
/// Gets or sets the width of the rectangle.
/// </summary>
/// <value>The width of the rectangle.</value>
+ /// <since_tizen> 4 </since_tizen>
public int Width { get; set; }
/// <summary>
/// Gets or sets the height of the rectangle.
/// </summary>
/// <value>The height of the rectangle.</value>
+ /// <since_tizen> 4 </since_tizen>
public int Height { get; set; }
/// <summary>
/// Gets the x-coordinate of the left edge of the rectangle.
/// </summary>
/// <value>The x-coordinate of the left edge of the rectangle.</value>
+ /// <since_tizen> 4 </since_tizen>
public int Left => X;
/// <summary>
/// Gets the y-coordinate of the top edge of the rectangle.
/// </summary>
/// <value>The y-coordinate of the top edge of the rectangle.</value>
+ /// <since_tizen> 4 </since_tizen>
public int Top => Y;
/// <summary>
/// Gets the x-coordinate of the right edge of the rectangle.
/// </summary>
/// <value>The x-coordinate of the right edge of the rectangle.</value>
+ /// <since_tizen> 4 </since_tizen>
public int Right => X + Width;
/// <summary>
/// Gets the y-coordinate of the bottom edge of the rectangle.
/// </summary>
/// <value>The y-coordinate of the bottom edge of the rectangle.</value>
+ /// <since_tizen> 4 </since_tizen>
public int Bottom => Y + Height;
/// <summary>
/// Returns a string representation of the rectangle.
/// </summary>
/// <returns>A string representation of the current rectangle.</returns>
+ /// <since_tizen> 4 </since_tizen>
public override string ToString() =>
$"X={X.ToString()}, Y={Y.ToString()}, Width={Width.ToString()}, Height={Height.ToString()}";
/// Returns the hash code for this rectangle structure.
/// </summary>
/// <returns>An integer that represents the hash code for this rectangle.</returns>
+ /// <since_tizen> 4 </since_tizen>
public override int GetHashCode() => new { X, Y, Width, Height }.GetHashCode();
/// <summary>
/// true if object is a rectangle structure and its x, y, width, and height properties are
/// equal to the corresponding properties of this rectangle structure; otherwise, false.
/// </returns>
+ /// <since_tizen> 4 </since_tizen>
public override bool Equals(object obj) => obj is Rectangle && this == (Rectangle)obj;
/// <summary>
/// <param name="rect1">The <see cref="Rectangle"/> to compare.</param>
/// <param name="rect2">The <see cref="Rectangle"/> to compare.</param>
/// <returns>true if the two rectangle structures have equal x, y, width, and height properties; otherwise, false.</returns>
+ /// <since_tizen> 4 </since_tizen>
public static bool operator ==(Rectangle rect1, Rectangle rect2)
=> rect1.X == rect2.X && rect1.Y == rect2.Y && rect1.Width == rect2.Width && rect1.Height == rect2.Height;
/// <param name="rect1">The <see cref="Rectangle"/> to compare.</param>
/// <param name="rect2">The <see cref="Rectangle"/> to compare.</param>
/// <returns>true if any of the x, y, width, or height properties of the two rectangle structures are unequal; otherwise false.</returns>
+ /// <since_tizen> 4 </since_tizen>
public static bool operator !=(Rectangle rect1, Rectangle rect2) => !(rect1 == rect2);
}
}
/// The system generates the storage ID when the external storage is added and manages the media information
/// in each of the storage by using the storage ID.
/// </remarks>
+ /// <since_tizen> 3 </since_tizen>
public class Storage
{
internal Storage(IntPtr handle)
/// Gets the ID of the storage.
/// </summary>
/// <value>The unique ID of the storage.</value>
+ /// <since_tizen> 3 </since_tizen>
public string Id { get; }
/// <summary>
/// Gets the path of the storage.
/// </summary>
/// <value>The path of the storage.</value>
+ /// <since_tizen> 4 </since_tizen>
public string Path { get; }
/// <summary>
/// Gets the type of the storage.
/// </summary>
/// <value>The type of the storage.</value>
+ /// <since_tizen> 4 </since_tizen>
public StorageType Type { get; }
/// <summary>
/// Returns a string representation of the storage.
/// </summary>
/// <returns>A string representation of the current storage.</returns>
+ /// <since_tizen> 4 </since_tizen>
public override string ToString() =>
$"Id={Id}, Path={Path}, Type={Type}";
}
/// The internal storage is not managed.
/// </remarks>
/// <seealso cref="Storage"/>
+ /// <since_tizen> 4 </since_tizen>
public class StorageCommand : MediaCommand
{
/// <summary>
/// <param name="database">The <see cref="MediaDatabase"/> that the commands run on.</param>
/// <exception cref="ArgumentNullException"><paramref name="database"/> is null.</exception>
/// <exception cref="ObjectDisposedException"><paramref name="database"/> has already been disposed of.</exception>
+ /// <since_tizen> 4 </since_tizen>
public StorageCommand(MediaDatabase database) : base(database)
{
}
/// <exception cref="InvalidOperationException">The <see cref="MediaDatabase"/> is disconnected.</exception>
/// <exception cref="ObjectDisposedException">The <see cref="MediaDatabase"/> has already been disposed of.</exception>
/// <exception cref="MediaDatabaseException">An error occurred while executing the command.</exception>
+ /// <since_tizen> 4 </since_tizen>
public int Count() => Count(arguments: null);
/// <summary>
/// <exception cref="InvalidOperationException">The <see cref="MediaDatabase"/> is disconnected.</exception>
/// <exception cref="ObjectDisposedException">The <see cref="MediaDatabase"/> has already been disposed of.</exception>
/// <exception cref="MediaDatabaseException">An error occurred while executing the command.</exception>
+ /// <since_tizen> 4 </since_tizen>
public int Count(CountArguments arguments)
{
ValidateDatabase();
/// <exception cref="MediaDatabaseException">An error occurred while executing the command.</exception>
/// <exception cref="ArgumentNullException"><paramref name="storageId"/> is null.</exception>
/// <exception cref="ArgumentException"><paramref name="storageId"/> is a zero-length string, contains only white space.</exception>
+ /// <since_tizen> 4 </since_tizen>
public Storage Select(string storageId)
{
ValidateDatabase();
/// <exception cref="InvalidOperationException">The <see cref="MediaDatabase"/> is disconnected.</exception>
/// <exception cref="ObjectDisposedException">The <see cref="MediaDatabase"/> has already been disposed of.</exception>
/// <exception cref="MediaDatabaseException">An error occurred while executing the command.</exception>
+ /// <since_tizen> 4 </since_tizen>
public MediaDataReader<Storage> Select() => Select(arguments: null);
/// <summary>
/// <exception cref="InvalidOperationException">The <see cref="MediaDatabase"/> is disconnected.</exception>
/// <exception cref="ObjectDisposedException">The <see cref="MediaDatabase"/> has already been disposed of.</exception>
/// <exception cref="MediaDatabaseException">An error occurred while executing the command.</exception>
+ /// <since_tizen> 4 </since_tizen>
public MediaDataReader<Storage> Select(SelectArguments arguments)
{
ValidateDatabase();
/// <exception cref="MediaDatabaseException">An error occurred while executing the command.</exception>
/// <exception cref="ArgumentNullException"><paramref name="storageId"/> is null.</exception>
/// <exception cref="ArgumentException"><paramref name="storageId"/> is a zero-length string, contains only white space.</exception>
+ /// <since_tizen> 4 </since_tizen>
public int CountMedia(string storageId) => CountMedia(storageId, null);
/// <summary>
/// <exception cref="MediaDatabaseException">An error occurred while executing the command.</exception>
/// <exception cref="ArgumentNullException"><paramref name="storageId"/> is null.</exception>
/// <exception cref="ArgumentException"><paramref name="storageId"/> is a zero-length string, contains only white space.</exception>
+ /// <since_tizen> 4 </since_tizen>
public int CountMedia(string storageId, CountArguments arguments)
{
if (Exists(storageId) == false)
/// <exception cref="MediaDatabaseException">An error occurred while executing the command.</exception>
/// <exception cref="ArgumentNullException"><paramref name="storageId"/> is null.</exception>
/// <exception cref="ArgumentException"><paramref name="storageId"/> is a zero-length string, contains only white space.</exception>
+ /// <since_tizen> 4 </since_tizen>
public MediaDataReader<MediaInfo> SelectMedia(string storageId) => SelectMedia(storageId, null);
/// <summary>
/// <exception cref="MediaDatabaseException">An error occurred while executing the command.</exception>
/// <exception cref="ArgumentNullException"><paramref name="storageId"/> is null.</exception>
/// <exception cref="ArgumentException"><paramref name="storageId"/> is a zero-length string, contains only white space.</exception>
+ /// <since_tizen> 4 </since_tizen>
public MediaDataReader<MediaInfo> SelectMedia(string storageId, SelectArguments filter)
{
if (Exists(storageId) == false)
/// Tagging allows a user to organize large number of items into logical groups providing
/// a simplified and faster way of accessing media items.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class Tag
{
internal Tag(IntPtr handle)
/// Gets the ID of the tag.
/// </summary>
/// <value>The unique ID of the tag.</value>
+ /// <since_tizen> 3 </since_tizen>
public int Id { get; }
/// <summary>
/// Gets the name of the tag.
/// </summary>
/// <value>The name of the tag.</value>
+ /// <since_tizen> 3 </since_tizen>
public string Name { get; }
internal static Tag FromHandle(IntPtr handle) => new Tag(handle);
/// Returns a string representation of the tag.
/// </summary>
/// <returns>A string representation of the current tag.</returns>
+ /// <since_tizen> 4 </since_tizen>
public override string ToString() => $"Id={Id}, Name={Name}";
}
/// Provides the commands to manage tags in the database.
/// </summary>
/// <seealso cref="Tag"/>
+ /// <since_tizen> 4 </since_tizen>
public class TagCommand : MediaCommand
{
/// <summary>
/// <param name="database">The <see cref="MediaDatabase"/> that the commands run on.</param>
/// <exception cref="ArgumentNullException"><paramref name="database"/> is null.</exception>
/// <exception cref="ObjectDisposedException"><paramref name="database"/> has already been disposed of.</exception>
+ /// <since_tizen> 4 </since_tizen>
public TagCommand(MediaDatabase database) : base(database)
{
}
/// <exception cref="InvalidOperationException">The <see cref="MediaDatabase"/> is disconnected.</exception>
/// <exception cref="ObjectDisposedException">The <see cref="MediaDatabase"/> has already been disposed of.</exception>
/// <exception cref="MediaDatabaseException">An error occurred while executing the command.</exception>
+ /// <since_tizen> 4 </since_tizen>
public int Count()
{
return Count(arguments: null);
/// <exception cref="InvalidOperationException">The <see cref="MediaDatabase"/> is disconnected.</exception>
/// <exception cref="ObjectDisposedException">The <see cref="MediaDatabase"/> has already been disposed of.</exception>
/// <exception cref="MediaDatabaseException">An error occurred while executing the command.</exception>
+ /// <since_tizen> 4 </since_tizen>
public int Count(CountArguments arguments)
{
ValidateDatabase();
/// <exception cref="MediaDatabaseException">An error occurred while executing the command.</exception>
/// <exception cref="ArgumentOutOfRangeException"><paramref name="tagId"/> is less than or equal to zero.</exception>
/// <exception cref="UnauthorizedAccessException">The caller has no required privilege.</exception>
+ /// <since_tizen> 4 </since_tizen>
public bool Delete(int tagId)
{
ValidateDatabase();
/// <exception cref="MediaDatabaseException">An error occurred while executing the command.</exception>
/// <exception cref="ArgumentNullException"><paramref name="name"/> is null.</exception>
/// <exception cref="UnauthorizedAccessException">The caller has no required privilege.</exception>
+ /// <since_tizen> 4 </since_tizen>
public Tag Insert(string name)
{
ValidateDatabase();
/// <exception cref="ArgumentNullException"><paramref name="name"/> is null.</exception>
/// <exception cref="ArgumentOutOfRangeException"><paramref name="tagId"/> is less than or equal to zero.</exception>
/// <exception cref="UnauthorizedAccessException">The caller has no required privilege.</exception>
+ /// <since_tizen> 4 </since_tizen>
public bool UpdateName(int tagId, string name)
{
ValidateDatabase();
/// <exception cref="ObjectDisposedException">The <see cref="MediaDatabase"/> has already been disposed of.</exception>
/// <exception cref="MediaDatabaseException">An error occurred while executing the command.</exception>
/// <exception cref="ArgumentOutOfRangeException"><paramref name="tagId"/> is less than or equal to zero.</exception>
+ /// <since_tizen> 4 </since_tizen>
public Tag Select(int tagId)
{
ValidateDatabase();
/// <exception cref="InvalidOperationException">The <see cref="MediaDatabase"/> is disconnected.</exception>
/// <exception cref="ObjectDisposedException">The <see cref="MediaDatabase"/> has already been disposed of.</exception>
/// <exception cref="MediaDatabaseException">An error occurred while executing the command.</exception>
+ /// <since_tizen> 4 </since_tizen>
public MediaDataReader<Tag> Select()
{
return Select(arguments: null);
/// <exception cref="InvalidOperationException">The <see cref="MediaDatabase"/> is disconnected.</exception>
/// <exception cref="ObjectDisposedException">The <see cref="MediaDatabase"/> has already been disposed of.</exception>
/// <exception cref="MediaDatabaseException">An error occurred while executing the command.</exception>
+ /// <since_tizen> 4 </since_tizen>
public MediaDataReader<Tag> Select(SelectArguments arguments)
{
ValidateDatabase();
/// <exception cref="ObjectDisposedException">The <see cref="MediaDatabase"/> has already been disposed of.</exception>
/// <exception cref="MediaDatabaseException">An error occurred while executing the command.</exception>
/// <exception cref="ArgumentOutOfRangeException"><paramref name="tagId"/> is less than or equal to zero.</exception>
+ /// <since_tizen> 4 </since_tizen>
public int CountMedia(int tagId)
{
return CountMedia(tagId, null);
/// <exception cref="ObjectDisposedException">The <see cref="MediaDatabase"/> has already been disposed of.</exception>
/// <exception cref="MediaDatabaseException">An error occurred while executing the command.</exception>
/// <exception cref="ArgumentOutOfRangeException"><paramref name="tagId"/> is less than or equal to zero.</exception>
+ /// <since_tizen> 4 </since_tizen>
public int CountMedia(int tagId, CountArguments arguments)
{
ValidateDatabase();
/// <exception cref="ObjectDisposedException">The <see cref="MediaDatabase"/> has already been disposed of.</exception>
/// <exception cref="MediaDatabaseException">An error occurred while executing the command.</exception>
/// <exception cref="ArgumentOutOfRangeException"><paramref name="tagId"/> is less than or equal to zero.</exception>
+ /// <since_tizen> 4 </since_tizen>
public MediaDataReader<MediaInfo> SelectMedia(int tagId)
{
return SelectMedia(tagId, null);
/// <exception cref="ObjectDisposedException">The <see cref="MediaDatabase"/> has already been disposed of.</exception>
/// <exception cref="MediaDatabaseException">An error occurred while executing the command.</exception>
/// <exception cref="ArgumentOutOfRangeException"><paramref name="tagId"/> is less than or equal to zero.</exception>
+ /// <since_tizen> 4 </since_tizen>
public MediaDataReader<MediaInfo> SelectMedia(int tagId, SelectArguments filter)
{
ValidateDatabase();
/// <exception cref="ArgumentNullException"><paramref name="mediaId"/> is null.</exception>
/// <exception cref="ArgumentException"><paramref name="mediaId"/> is a zero-length string, contains only white space.</exception>
/// <exception cref="ArgumentOutOfRangeException"><paramref name="tagId"/> is less than or equal to zero.</exception>
+ /// <since_tizen> 4 </since_tizen>
public bool AddMedia(int tagId, string mediaId)
{
ValidationUtil.ValidateNotNullOrEmpty(mediaId, nameof(mediaId));
/// <paramref name="mediaIds"/> contains a zero-length string, contains only white space.
/// </exception>
/// <exception cref="ArgumentOutOfRangeException"><paramref name="tagId"/> is less than or equal to zero.</exception>
+ /// <since_tizen> 4 </since_tizen>
public bool AddMedia(int tagId, IEnumerable<string> mediaIds)
{
return UpdateMember(tagId, mediaIds, Interop.Tag.AddMedia);
/// <exception cref="ArgumentNullException"><paramref name="mediaId"/> is null.</exception>
/// <exception cref="ArgumentException"><paramref name="mediaId"/> is a zero-length string, contains only white space.</exception>
/// <exception cref="ArgumentOutOfRangeException"><paramref name="tagId"/> is less than or equal to zero.</exception>
+ /// <since_tizen> 4 </since_tizen>
public bool RemoveMedia(int tagId, string mediaId)
{
ValidationUtil.ValidateNotNullOrEmpty(mediaId, nameof(mediaId));
/// <paramref name="mediaIds"/> contains a zero-length string or white space.
/// </exception>
/// <exception cref="ArgumentOutOfRangeException"><paramref name="tagId"/> is less than or equal to zero.</exception>
+ /// <since_tizen> 4 </since_tizen>
public bool RemoveMedia(int tagId, IEnumerable<string> mediaIds)
{
return UpdateMember(tagId, mediaIds, Interop.Tag.RemoveMedia);
/// <summary>
/// The exception that is thrown when a requested operation is not supported for content.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public class UnsupportedContentException : Exception
{
/// <summary>
/// Initializes a new instance of the <see cref="UnsupportedContentException"/> class.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public UnsupportedContentException() : base("The operation is not supported for the given media.")
{
}
/// Initializes a new instance of the <see cref="UnsupportedContentException"/> class with a specified error message.
/// </summary>
/// <param name="message">The message that describes the error.</param>
+ /// <since_tizen> 4 </since_tizen>
public UnsupportedContentException(string message) : base(message)
{
}
/// </summary>
/// <param name="message">The message that describes the error.</param>
/// <param name="innerException">The exception that is the cause of the current exception.</param>
+ /// <since_tizen> 4 </since_tizen>
public UnsupportedContentException(string message, Exception innerException) : base(message, innerException)
{
}
/// <summary>
/// Represents a video media information.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public class VideoInfo : MediaInfo
{
internal VideoInfo(Interop.MediaInfoHandle handle) : base(handle)
/// Gets the album name.
/// </summary>
/// <value>The album name from the metadata.</value>
+ /// <since_tizen> 4 </since_tizen>
public string Album { get; }
/// <summary>
/// Gets the artist name.
/// </summary>
/// <value>The artist name from the metadata.</value>
+ /// <since_tizen> 4 </since_tizen>
public string Artist { get; }
/// <summary>
/// Gets the album artist name.
/// </summary>
/// <value>The album artist name from the metadata.</value>
+ /// <since_tizen> 4 </since_tizen>
public string AlbumArtist { get; }
/// <summary>
/// Gets the genre.
/// </summary>
/// <value>The genre name from the metadata.</value>
+ /// <since_tizen> 4 </since_tizen>
public string Genre { get; }
/// <summary>
/// Gets the composer name.
/// </summary>
/// <value>The composer name from the metadata.</value>
+ /// <since_tizen> 4 </since_tizen>
public string Composer { get; }
/// <summary>
/// Gets the year.
/// </summary>
/// <value>The year from the metadata.</value>
+ /// <since_tizen> 4 </since_tizen>
public string Year { get; }
/// <summary>
/// Gets the recorded date.
/// </summary>
/// <value>The recorded date information from the metadata if exists; otherwise, the modified date of the file.</value>
+ /// <since_tizen> 4 </since_tizen>
public string DateRecorded { get; }
/// <summary>
/// Gets the copyright notice.
/// </summary>
/// <value>The copyright notice from the metadata.</value>
+ /// <since_tizen> 4 </since_tizen>
public string Copyright { get; }
/// <summary>
/// Gets the track number.
/// </summary>
/// <value>The track number from the metadata.</value>
+ /// <since_tizen> 4 </since_tizen>
public string TrackNumber { get; }
/// <summary>
/// Gets the bitrate in bit per second.
/// </summary>
/// <value>The bit rate of the video.</value>
+ /// <since_tizen> 4 </since_tizen>
public int BitRate { get; }
/// <summary>
/// Gets the track duration in milliseconds.
/// </summary>
/// <value>The track duration of the video in milliseconds.</value>
+ /// <since_tizen> 4 </since_tizen>
public int Duration { get; }
/// <summary>
/// Gets the video width in pixels.
/// </summary>
/// <value>The width of the video in pixels.</value>
+ /// <since_tizen> 4 </since_tizen>
public int Width { get; }
/// <summary>
/// Gets the video height in pixels.
/// </summary>
/// <value>The height of the video in pixels.</value>
+ /// <since_tizen> 4 </since_tizen>
public int Height { get; }
}
/// <remarks>
/// Conversions are provided from the file extensions to MIME types and from the MIME types to file extensions.
/// </remarks>
+ /// <since_tizen> 3 </since_tizen>
public static class MimeUtil
{
/// <summary>
/// string mimeType = MimeUtil.GetMimeType("png");
/// </code>
/// </example>
+ /// <since_tizen> 3 </since_tizen>
public static string GetMimeType(string fileExtension)
{
string mime;
/// }
/// </code>
/// </example>
+ /// <since_tizen> 3 </since_tizen>
public static IEnumerable<string> GetFileExtension(string mime)
{
IntPtr extensionArray = IntPtr.Zero;
/// <summary>
/// Sorts the apps by consumption, the most battery consuming apps appear first (default).
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
ConsumptionMost = 0
}
}
/// <summary>
/// Sorts the apps by the last launch time, the most recently launched apps appear first (default).
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
LastLaunchTimeNewest = 0,
/// <summary>
/// Sorts the apps by the launch count of being launched, the most frequently launched apps appear first.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
LaunchCountMost
}
}
/// <summary>
/// Dispose.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
protected virtual void Dispose(bool disposing)
{
if (_disposed)
/// <summary>
/// Dispose.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
protected virtual void Dispose(bool disposing)
{
if (_disposed)
/// <summary>
/// Dispose.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
protected virtual void Dispose(bool disposing)
{
if (_disposed)
/// <summary>
/// Dispose.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
protected virtual void Dispose(bool disposing)
{
Log.Info(Globals.LogTag, "Dispose");
/// The time interval between the position collection in batch mode.
/// Should be in the range of 1~255 seconds.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
/// <exception cref="ArgumentException">Thrown when an invalid argument is used.</exception>
public int BatchInterval
{
/// The time interval between batch callback updates. The BatchPeriod should be greater than or equal to the BatchInterval. If the BatchPeriod is zero or smaller than the BatchInterval, then the batch mode will not work. In addition, sometimes the period may not work as you intended, the maximum permissible value for the batch period is device specific.
/// Should be in the range of 0~60000 seconds.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
/// <exception cref="ArgumentException">Thrown when an invalid argument is used.</exception>
public int BatchPeriod
{
/// <summary>
/// Dispose.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
protected virtual void Dispose(bool disposing)
{
if (_disposed)
/// <summary>
/// Sets the specified geographical positioning type.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
/// <privilege>http://tizen.org/privilege/location.enable</privilege>
/// <privlevel>platform</privlevel>
/// <param name="locationType">The back-end positioning method to be used for LBS.</param>
/// <summary>
/// Provides methods to print log messages to the Tizen logging system.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class Log
{
/// <summary>
/// <summary>
/// Provides methods to print log messages to the Tizen logging system.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
[EditorBrowsable(EditorBrowsableState.Never)]
public class InternalLog
{
/// <summary>
/// Provides methods to print log messages to the Tizen logging system.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
[EditorBrowsable(EditorBrowsableState.Never)]
public class SecureLog
{
/// Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
/// </summary>
/// <param name="disposing">If true, managed and unmanaged resources can be disposed, otherwise only unmanaged resources can be disposed.</param>
+ /// <since_tizen> 3 </since_tizen>
protected virtual void Dispose(bool disposing)
{
if (!_disposedValue)
/// Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
/// </summary>
/// <param name="disposing">If true, managed and unmanaged resources can be disposed, otherwise only unmanaged resources can be disposed.</param>
+ /// <since_tizen> 3 </since_tizen>
protected virtual void Dispose(bool disposing)
{
if (!_disposedValue)
/// <summary>
/// Gets a user consent for the map service provider
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
/// <privilege>http://tizen.org/privilege/mapservice</privilege>
public bool UserConsented
{
/// <summary>
/// Gets the user's consent to use maps data.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
/// <returns>Returns true if user agreed that the application can use maps data, otherwise false.</returns>
/// <privilege>http://tizen.org/privilege/mapservice</privilege>
/// <exception cref="System.NotSupportedException">Thrown when the required feature is not supported.</exception>
/// Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
/// </summary>
/// <param name="disposing">If true, managed and unmanaged resources can be disposed, otherwise only unmanaged resources can be disposed.</param>
+ /// <since_tizen> 3 </since_tizen>
protected virtual void Dispose(bool disposing)
{
if (!_disposedValue)
/// Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
/// </summary>
/// <param name="disposing">If true, managed and unmanaged resources can be disposed, otherwise only unmanaged resources can be disposed.</param>
+ /// <since_tizen> 3 </since_tizen>
protected virtual void Dispose(bool disposing)
{
if (!_disposedValue)
/// <summary>
/// Indicates whether the scale-bar is enabled or not.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
/// <privilege>http://tizen.org/privilege/mapservice</privilege>
/// <privilege>http://tizen.org/privilege/internet</privilege>
/// <privilege>http://tizen.org/privilege/network.get</privilege>
/// Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
/// </summary>
/// <param name="disposing">If true, managed and unmanaged resources can be disposed, otherwise only unmanaged resources can be disposed.</param>
+ /// <since_tizen> 3 </since_tizen>
protected virtual void Dispose(bool disposing)
{
if (!_disposedValue)
/// Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
/// </summary>
/// <param name="disposing">If true, managed and unmanaged resources can be disposed, otherwise only unmanaged resources can be disposed.</param>
+ /// <since_tizen> 3 </since_tizen>
protected virtual void Dispose(bool disposing)
{
if (!_disposedValue)
/// Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
/// </summary>
/// <param name="disposing">If true, managed and unmanaged resources can be disposed, otherwise only unmanaged resources can be disposed.</param>
+ /// <since_tizen> 3 </since_tizen>
protected virtual void Dispose(bool disposing)
{
if (!_disposedValue)
/// Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
/// </summary>
/// <param name="disposing">If true, managed and unmanaged resources can be disposed, otherwise only unmanaged resources can be disposed.</param>
+ /// <since_tizen> 3 </since_tizen>
protected virtual void Dispose(bool disposing)
{
if (!_disposedValue)
/// <summary>
/// Gets a free text associated with this address.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public string FreeText
{
get
/// Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
/// </summary>
/// <param name="disposing">If true, managed and unmanaged resources can be disposed, otherwise only unmanaged resources can be disposed.</param>
+ /// <since_tizen> 3 </since_tizen>
protected virtual void Dispose(bool disposing)
{
if (!_disposedValue)
/// Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
/// </summary>
/// <param name="disposing">If true, managed and unmanaged resources can be disposed, otherwise only unmanaged resources can be disposed.</param>
+ /// <since_tizen> 3 </since_tizen>
protected virtual void Dispose(bool disposing)
{
if (!_disposedValue)
/// Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
/// </summary>
/// <param name="disposing">If true, managed and unmanaged resources can be disposed, otherwise only unmanaged resources can be disposed.</param>
+ /// <since_tizen> 3 </since_tizen>
protected virtual void Dispose(bool disposing)
{
if (!_disposedValue)
/// Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
/// </summary>
/// <param name="disposing">If true, managed and unmanaged resources can be disposed, otherwise only unmanaged resources can be disposed.</param>
+ /// <since_tizen> 3 </since_tizen>
protected virtual void Dispose(bool disposing)
{
if (!_disposedValue)
/// Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
/// </summary>
/// <param name="disposing">If true, managed and unmanaged resources can be disposed, otherwise only unmanaged resources can be disposed.</param>
+ /// <since_tizen> 3 </since_tizen>
protected virtual void Dispose(bool disposing)
{
if (!_disposedValue)
/// Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
/// </summary>
/// <param name="disposing">If true, managed and unmanaged resources can be disposed, otherwise only unmanaged resources can be disposed.</param>
+ /// <since_tizen> 3 </since_tizen>
protected virtual void Dispose(bool disposing)
{
if (!_disposedValue)
/// Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
/// </summary>
/// <param name="disposing">If true, managed and unmanaged resources can be disposed, otherwise only unmanaged resources can be disposed.</param>
+ /// <since_tizen> 3 </since_tizen>
protected virtual void Dispose(bool disposing)
{
if (!_disposedValue)
/// <summary>
/// Indicates availability of scale bar on the map.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
ViewScaleBar = Interop.ServiceData.ViewScaleBar,
}
}
/// <summary>
/// Indicates that the route is to be traveled using public transport.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
PublicTransit = Interop.RouteTransportMode.PublicTransit,
/// <summary>
/// Indicates that the route is for a truck.
/// <summary>
/// Represents an email attachment.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class EmailAttachment
{
/// <summary>
/// The absolute full path of the file to be attached.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public string FilePath { get; set; }
/// <summary>
/// The constructor.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public EmailAttachment()
{
/// <summary>
/// Result of sending the email.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public enum EmailSendResult
{
/// <summary>
/// <summary>
/// This class contains the Messaging API to support sending email messages.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class EmailMessage : IDisposable
{
internal IntPtr _emailHandle = IntPtr.Zero;
/// <summary>
/// The constructor.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public EmailMessage()
{
int ret = Interop.Email.CreateEmail(out _emailHandle);
/// <summary>
/// The subject of the email message.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public string Subject
{
set
/// <summary>
/// The body of the email message.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public string Body
{
set
/// <summary>
/// The list of file attachments.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public IList<EmailAttachment> Attachments
{
get
/// <remarks>
/// The email address should be in the standard format (as described in the Internet standards RFC 5321 and RFC 5322).
/// </remarks>
+ /// <since_tizen> 3 </since_tizen>
public ICollection<EmailRecipient> To
{
get
/// <remarks>
/// The email address should be in the standard format (as described in the Internet standards RFC 5321 and RFC 5322).
/// </remarks>
+ /// <since_tizen> 3 </since_tizen>
public ICollection<EmailRecipient> Cc
{
get
/// <remarks>
/// The email address should be in the standard format (as described in the Internet standards RFC 5321 and RFC 5322).
/// </remarks>
+ /// <since_tizen> 3 </since_tizen>
public ICollection<EmailRecipient> Bcc
{
get
/// <summary>
/// Releases all resources used by the EmailMessage.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public void Dispose()
{
Dispose(true);
/// Releases all resources used by the EmailMessage.
/// </summary>
/// <param name="disposing">Disposing by User</param>
+ /// <since_tizen> 3 </since_tizen>
protected virtual void Dispose(bool disposing)
{
if (_disposed)
/// <summary>
/// This class represents recipients of an email.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class EmailRecipient
{
/// <summary>
/// The email address of the recipient.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public string Address { get; set; }
/// <summary>
/// The constructor.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public EmailRecipient()
{
/// <summary>
/// This class is used to send email messages.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public static class EmailSender
{
/// <summary>
/// </summary>
/// <param name="email">The email message.</param>
/// <returns> Failure if the email sending activity failed, otherwise Success.</returns>
+ /// <since_tizen> 3 </since_tizen>
public static async Task<EmailSendResult> SendAsync(EmailMessage email)
{
var task = new TaskCompletionSource<EmailSendResult>();
/// <summary>
/// This class represents the cell broadcast messages.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class CBMessage : Message
{
internal CBMessage(IntPtr messageHandle) : base(messageHandle)
/// <summary>
/// This class represents all the messages.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public abstract class Message : IDisposable
{
internal IntPtr _messageHandle = IntPtr.Zero;
/// <summary>
/// Releases all resources used by the Message.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public void Dispose()
{
Dispose(true);
/// <remarks>
/// After creating the Message object, the default value of this property is 0. After sending, this value is changed.
/// </remarks>
+ /// <since_tizen> 3 </since_tizen>
public int Id
{
get
/// <summary>
/// The destination port of the message.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public int Port
{
get
/// <summary>
/// The message box type.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public MessageBoxType BoxType
{
get
/// <summary>
/// The text of the message.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public string Text
{
get
/// <summary>
/// The time of the message.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public DateTime Time
{
get
/// <summary>
/// The SIM slot index of the message.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public SimSlotId SimId
{
get
/// <summary>
/// Indicates the sender of the message.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public IReadOnlyCollection<MessagesAddress> From
{
get
/// <summary>
/// An extended EventArgs class, which contains a received message.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class MessageReceivedEventArgs : EventArgs
{
private Message _message;
/// <summary>
/// The received message.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public Message ReceivedMessage
{
get
/// <summary>
/// This class is used to manage the information of the message address.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class MessagesAddress
{
internal RecipientType Type;
/// <summary>
/// The address of the sender/recipient.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public string Number { get; }
/// <summary>
/// Creates a message address.
/// </summary>
/// <param name="number">The recipient's address to receive a message.</param>
+ /// <since_tizen> 3 </since_tizen>
public MessagesAddress(string number)
{
Number = number;
/// <summary>
/// This class is used to manage the information of the message attachment.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class MessagesAttachment
{
/// <summary>
/// The media type of the attachment.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public MediaType Type { get; }
/// <summary>
/// The file path of the attachment.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public string FilePath { get; }
/// <summary>
/// </summary>
/// <param name="type">The attachment's type.</param>
/// <param name="filePath">The file path to attach.</param>
+ /// <since_tizen> 3 </since_tizen>
public MessagesAttachment(MediaType type, string filePath)
{
Type = type;
/// <summary>
/// Enumeration for the result of sending a message.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public enum SentResult
{
/// <summary>
/// <summary>
/// Enumeration for the message type.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public enum MessageType
{
/// <summary>
/// <summary>
/// Enumeration for the message box type.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public enum MessageBoxType
{
/// <summary>
/// <summary>
/// Enumeration for the SIM slot index of a message.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public enum SimSlotId
{
/// <summary>
/// <summary>
/// Enumeration for the attachment type for the MMS messaging.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public enum MediaType
{
/// <summary>
/// This class is used for the message management. It allows applications to use the message service.
/// </summary>
/// <privilege>http://tizen.org/privilege/message.read</privilege>
+ /// <since_tizen> 3 </since_tizen>
public static class MessagesManager
{
/// <summary>
/// <exception cref="NotSupportedException">Thrown when the message service is not supported.</exception>
/// <exception cref="ArgumentException">Thrown when input coordinates are invalid.</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when an application does not have proper privileges.</exception>
+ /// <since_tizen> 3 </since_tizen>
public static Task<SentResult> SendMessageAsync(Message message, bool saveToSentbox)
{
return MessagesManagerImpl.Instance.SendMessageAsync(message, saveToSentbox);
/// <exception cref="ArgumentException">Thrown when input coordinates are invalid.</exception>
/// <exception cref="OutOfMemoryException">Thrown when failed due to out of memory.</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when an application does not have proper privileges.</exception>
+ /// <since_tizen> 3 </since_tizen>
public static Task<IEnumerable<Message>> SearchMessageAsync(MessagesSearchFilter filter)
{
return MessagesManagerImpl.Instance.SearchMessageAsync(filter);
/// The MessageReceived event that is raised when receiving a message.
/// </summary>
/// <privilege>http://tizen.org/privilege/message.read</privilege>
+ /// <since_tizen> 3 </since_tizen>
static public event EventHandler<MessageReceivedEventArgs> MessageReceived
{
add
/// <summary>
/// This class represents message search filters.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class MessagesSearchFilter
{
/// <summary>
/// Creates a search filter for searching messages.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public MessagesSearchFilter()
{
}
/// <summary>
/// The message box type.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public MessageBoxType MessageBoxType { get; set; }
/// <summary>
/// The message type.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public MessageType MessageType { get; set; }
/// <summary>
/// The keyword to search in the text and the subject.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public string TextKeyword { get; set; }
/// <summary>
/// The recipient address.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public string AddressKeyword { get; set; }
}
}
/// <summary>
/// This class represents multimedia messages.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class MmsMessage : Message
{
private IList<MessagesAttachment> _attachment = new List<MessagesAttachment>();
/// <summary>
/// Creates a multimedia message.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public MmsMessage() : base(MessageType.Mms)
{
}
/// <summary>
/// The subject of the multimedia message.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public string Subject
{
get
/// <summary>
/// The collection of normal message recipients.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public ICollection<MessagesAddress> To
{
get
/// <summary>
/// The collection of CC (carbon copy) message recipients.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public ICollection<MessagesAddress> Cc
{
get
/// <summary>
/// The collection of BCC (blind carbon copy) message recipients.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public ICollection<MessagesAddress> Bcc
{
get
/// <summary>
/// The list of attachment files.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public IList<MessagesAttachment> Attachments
{
get
/// <summary>
/// This class represents the WAP push messages.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class PushMessage : Message
{
internal PushMessage(IntPtr messageHandle) : base(messageHandle)
/// <summary>
/// This class represents short text messages.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class SmsMessage : Message
{
/// <summary>
/// Creates a short text message.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public SmsMessage() : base(MessageType.Sms)
{
}
/// <summary>
/// The collection of normal message recipients.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public ICollection<MessagesAddress> To
{
get
/// Provides the ability to directly manage the system audio input devices.
/// </summary>
/// <privilege>http://tizen.org/privilege/recorder</privilege>
+ /// <since_tizen> 3 </since_tizen>
public abstract class AudioCaptureBase : IDisposable
{
/// <summary>
/// Specifies the minimum value allowed for the audio capture, in Hertz (Hz).
/// </summary>
/// <seealso cref="SampleRate"/>
+ /// <since_tizen> 3 </since_tizen>
public static readonly int MinSampleRate = 8000;
/// <summary>
/// Specifies the maximum value allowed for the audio capture, in Hertz (Hz).
/// </summary>
/// <seealso cref="SampleRate"/>
+ /// <since_tizen> 3 </since_tizen>
public static readonly int MaxSampleRate = 48000;
internal IntPtr _handle = IntPtr.Zero;
/// <summary>
/// Occurs when the state of the AudioCapture is changed.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public event EventHandler<AudioIOStateChangedEventArgs> StateChanged;
private AudioStateChangedCallback _stateChangedCallback;
/// <summary>
/// Releases all resources used by the <see cref="AudioCaptureBase"/> object.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public void Dispose()
{
Dispose(true);
/// <param name="disposing">
/// true to release both managed and unmanaged resources; false to release only unmanaged resources.
/// </param>
+ /// <since_tizen> 3 </since_tizen>
protected virtual void Dispose(bool disposing)
{
if (_isDisposed)
/// <summary>
/// Gets the sample rate of the audio input data stream, in Hertz (Hz).
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public int SampleRate { get; }
/// <summary>
/// Gets the channel type of the audio input data stream.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public AudioChannel Channel { get; }
/// <summary>
/// Gets the sample type of the audio input data stream.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public AudioSampleType SampleType { get; }
/// <summary>
/// Gets the size allocated for the audio input buffer.
/// </summary>
/// <exception cref="ObjectDisposedException">The AudioCaptureBase has already been disposed of.</exception>
+ /// <since_tizen> 3 </since_tizen>
public int GetBufferSize()
{
ValidateNotDisposed();
/// </exception>
/// <exception cref="ObjectDisposedException">The AudioCaptureBase has already been disposed of.</exception>
/// <seealso cref="Unprepare"/>
+ /// <since_tizen> 3 </since_tizen>
public void Prepare()
{
ValidateState(AudioIOState.Idle);
/// </exception>
/// <exception cref="ObjectDisposedException">The AudioCaptureBase has already been disposed of.</exception>
/// <seealso cref="Prepare"/>
+ /// <since_tizen> 3 </since_tizen>
public void Unprepare()
{
ValidateState(AudioIOState.Running, AudioIOState.Paused);
/// </exception>
/// <exception cref="ObjectDisposedException">The AudioCaptureBase has already been disposed of.</exception>
/// <seealso cref="Resume"/>
+ /// <since_tizen> 3 </since_tizen>
public void Pause()
{
if (_state == AudioIOState.Paused)
/// </exception>
/// <exception cref="ObjectDisposedException">The AudioCaptureBase has already been disposed of.</exception>
/// <seealso cref="Pause"/>
+ /// <since_tizen> 3 </since_tizen>
public void Resume()
{
if (_state == AudioIOState.Running)
/// </summary>
/// <exception cref="InvalidOperationException">The current state is <see cref="AudioIOState.Idle"/>.</exception>
/// <exception cref="ObjectDisposedException">The AudioCaptureBase has already been disposed of.</exception>
+ /// <since_tizen> 3 </since_tizen>
public void Flush()
{
ValidateState(AudioIOState.Running, AudioIOState.Paused);
/// </exception>
/// <exception cref="NotSupportedException"><paramref name="streamPolicy"/> is not supported.</exception>
/// <exception cref="ArgumentException">Not able to retrieve information from <paramref name="streamPolicy"/>.</exception>
+ /// <since_tizen> 3 </since_tizen>
public void ApplyStreamPolicy(AudioStreamPolicy streamPolicy)
{
if (streamPolicy == null)
/// Provides the ability to record audio from system audio input devices in a synchronous way.
/// </summary>
/// <privilege>http://tizen.org/privilege/recorder</privilege>
+ /// <since_tizen> 3 </since_tizen>
public class AudioCapture : AudioCaptureBase
{
/// <summary>
/// </exception>
/// <exception cref="UnauthorizedAccessException">The required privilege is not specified.</exception>
/// <exception cref="NotSupportedException">The system does not support microphone.</exception>
+ /// <since_tizen> 3 </since_tizen>
public AudioCapture(int sampleRate, AudioChannel channel, AudioSampleType sampleType)
: base(sampleRate, channel, sampleType)
{
/// <exception cref="InvalidOperationException">The current state is not <see cref="AudioIOState.Running"/>.</exception>
/// <exception cref="ArgumentOutOfRangeException"><paramref name="count"/> is equal to or less than zero.</exception>
/// <exception cref="ObjectDisposedException">The AudioCapture has already been disposed of.</exception>
+ /// <since_tizen> 3 </since_tizen>
public byte[] Read(int count)
{
if (count <= 0)
/// Provides the ability to record audio from system audio input devices in an asynchronous way.
/// </summary>
/// <privilege>http://tizen.org/privilege/recorder</privilege>
+ /// <since_tizen> 3 </since_tizen>
public class AsyncAudioCapture : AudioCaptureBase
{
/// <summary>
/// Occurs when audio data is available.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public event EventHandler<AudioDataAvailableEventArgs> DataAvailable;
/// <summary>
/// </exception>
/// <exception cref="UnauthorizedAccessException">The required privilege is not specified.</exception>
/// <exception cref="NotSupportedException">The system does not support microphone.</exception>
+ /// <since_tizen> 3 </since_tizen>
public AsyncAudioCapture(int sampleRate, AudioChannel channel, AudioSampleType sampleType)
: base(sampleRate, channel, sampleType)
{
/// <summary>
/// Provides data for the <see cref="AsyncAudioCapture.DataAvailable"/> event.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class AudioDataAvailableEventArgs : EventArgs
{
internal AudioDataAvailableEventArgs(byte[] data)
/// <summary>
/// Gets the audio data captured.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public byte[] Data { get; }
}
}
/// <seealso cref="AudioCapture"/>
/// <seealso cref="AsyncAudioCapture"/>
/// <seealso cref="AudioPlayback"/>
+ /// <since_tizen> 3 </since_tizen>
public enum AudioChannel
{
/// <summary>
/// <summary>
/// Specifies the states for the <see cref="AudioPlayback"/>, <see cref="AudioCapture"/>, and <see cref="AsyncAudioCapture"/>.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public enum AudioIOState
{
/// <summary>
/// <summary>
/// Specifies the audio sample types.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public enum AudioSampleType
{
/// <summary>
/// <summary>
/// Provides data for the <see cref="AudioCaptureBase.StateChanged"/> event and the <see cref="AudioPlayback.StateChanged"/> event.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class AudioIOStateChangedEventArgs : EventArgs
{
internal AudioIOStateChangedEventArgs(AudioIOState previous, AudioIOState current, bool byPolicy)
/// <summary>
/// Gets the previous state.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public AudioIOState Previous { get; }
/// <summary>
/// Gets the current state.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public AudioIOState Current { get; }
/// <summary>
/// Gets the value indicating whether the state is changed by a policy or not.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public bool ByPolicy { get; }
}
}
/// <summary>
/// Provides the ability to directly manage the system audio output devices and play the PCM (pulse-code modulation) data.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class AudioPlayback : IDisposable
{
/// <summary>
/// Specifies the minimum value allowed for the audio capture, in Hertz (Hz).
/// </summary>
/// <seealso cref="SampleRate"/>
+ /// <since_tizen> 3 </since_tizen>
public static readonly int MinSampleRate = 8000;
/// <summary>
/// Specifies the maximum value allowed for the audio capture, in Hertz (Hz).
/// </summary>
/// <seealso cref="SampleRate"/>
+ /// <since_tizen> 3 </since_tizen>
public static readonly int MaxSampleRate = 48000;
private IntPtr _handle = IntPtr.Zero;
/// Occurs when the audio playback data can be written.
/// </summary>
/// <seealso cref="Write(byte[])"/>
+ /// <since_tizen> 3 </since_tizen>
public event EventHandler<AudioPlaybackBufferAvailableEventArgs> BufferAvailable;
private AudioStreamCallback _streamCallback;
/// <summary>
/// Occurs when the state of the AudioPlayback is changed.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public event EventHandler<AudioIOStateChangedEventArgs> StateChanged;
private AudioStateChangedCallback _stateChangedCallback;
/// -or-<br/>
/// <paramref name="sampleType"/> is invalid.
/// </exception>
+ /// <since_tizen> 3 </since_tizen>
public AudioPlayback(int sampleRate, AudioChannel channel, AudioSampleType sampleType)
{
if (sampleRate < MinSampleRate || MaxSampleRate < sampleRate)
/// <summary>
/// Releases all resources used by the <see cref="AudioPlayback"/> object.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public void Dispose()
{
Dispose(true);
/// <param name="disposing">
/// true to release both managed and unmanaged resources; false to release only unmanaged resources.
/// </param>
+ /// <since_tizen> 3 </since_tizen>
protected virtual void Dispose(bool disposing)
{
if (_isDisposed)
/// <summary>
/// Gets the sample rate of the audio output data stream, in Hertz (Hz).
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public int SampleRate { get; }
/// <summary>
/// Gets the channel type of the audio output data stream.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public AudioChannel Channel { get; }
/// <summary>
/// Gets the sample type of the audio output data stream.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public AudioSampleType SampleType { get; }
/// <summary>
/// Gets the sound type supported by the audio output device.
/// </summary>
/// <exception cref="ObjectDisposedException">The AudioPlayback has already been disposed of.</exception>
+ /// <since_tizen> 3 </since_tizen>
public AudioStreamType StreamType
{
get
/// Gets the size allocated for the audio output buffer.
/// </summary>
/// <exception cref="ObjectDisposedException">The AudioPlayback has already been disposed of.</exception>
+ /// <since_tizen> 3 </since_tizen>
public int GetBufferSize()
{
AudioIOUtil.ThrowIfError(AudioOutput.GetBufferSize(_handle, out var size));
/// </summary>
/// <exception cref="ObjectDisposedException">The AudioPlayback has already been disposed of.</exception>
/// <exception cref="InvalidOperationException">The current state is <see cref="AudioIOState.Idle"/>.</exception>
+ /// <since_tizen> 3 </since_tizen>
public void Drain()
{
ValidateState(AudioIOState.Running, AudioIOState.Paused);
/// <exception cref="ArgumentException">The length of <paramref name="buffer"/> is zero.</exception>
/// <exception cref="InvalidOperationException">The current state is not <see cref="AudioIOState.Running"/>.</exception>
/// <exception cref="ObjectDisposedException">The AudioPlayback has already been disposed of.</exception>
+ /// <since_tizen> 3 </since_tizen>
public int Write(byte[] buffer)
{
ValidateState(AudioIOState.Running);
/// </exception>
/// <exception cref="ObjectDisposedException">The AudioPlayback has already been disposed of.</exception>
/// <seealso cref="Unprepare"/>
+ /// <since_tizen> 3 </since_tizen>
public void Prepare()
{
ValidateState(AudioIOState.Idle);
/// </exception>
/// <exception cref="ObjectDisposedException">The AudioPlayback has already been disposed of.</exception>
/// <seealso cref="Prepare"/>
+ /// <since_tizen> 3 </since_tizen>
public void Unprepare()
{
ValidateState(AudioIOState.Running, AudioIOState.Paused);
/// </exception>
/// <exception cref="ObjectDisposedException">The AudioPlayback has already been disposed of.</exception>
/// <seealso cref="Resume"/>
+ /// <since_tizen> 3 </since_tizen>
public void Pause()
{
if (_state == AudioIOState.Paused)
/// </exception>
/// <exception cref="ObjectDisposedException">The AudioPlayback has already been disposed of.</exception>
/// <seealso cref="Pause"/>
+ /// <since_tizen> 3 </since_tizen>
public void Resume()
{
if (_state == AudioIOState.Running)
/// </summary>
/// <exception cref="InvalidOperationException">The current state is <see cref="AudioIOState.Idle"/>.</exception>
/// <exception cref="ObjectDisposedException">The AudioPlayback has already been disposed of.</exception>
+ /// <since_tizen> 3 </since_tizen>
public void Flush()
{
ValidateState(AudioIOState.Running, AudioIOState.Paused);
/// </exception>
/// <exception cref="NotSupportedException"><paramref name="streamPolicy"/> is not supported.</exception>
/// <exception cref="ArgumentException">Not able to retrieve information from <paramref name="streamPolicy"/>.</exception>
+ /// <since_tizen> 3 </since_tizen>
public void ApplyStreamPolicy(AudioStreamPolicy streamPolicy)
{
if (streamPolicy == null)
/// <summary>
/// Provides data for the <see cref="AudioPlayback.BufferAvailable"/> event.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class AudioPlaybackBufferAvailableEventArgs : EventArgs
{
internal AudioPlaybackBufferAvailableEventArgs(int length)
/// </summary>
/// <value>The length of the buffer that can be written.</value>
/// <seealso cref="AudioPlayback.Write(byte[])"/>
+ /// <since_tizen> 3 </since_tizen>
public int Length { get; }
}
}
/// <summary>
/// Provides the ability to play a tone.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public static class TonePlayer
{
/// <summary>
/// <exception cref="InvalidOperationException">Any invalid operations occurred.</exception>
/// <exception cref="NotSupportedException"><paramref name="tone"/> is not a supported type.</exception>
/// <exception cref="ObjectDisposedException"><paramref name="streamPolicy"/> has already been disposed of.</exception>
+ /// <since_tizen> 3 </since_tizen>
public static Task StartAsync(ToneType tone, AudioStreamPolicy streamPolicy,
int durationMilliseconds)
{
/// <exception cref="InvalidOperationException">Any invalid operations occurred.</exception>
/// <exception cref="NotSupportedException"><paramref name="tone"/> is not a supported type.</exception>
/// <exception cref="ObjectDisposedException"><paramref name="streamPolicy"/> has already been disposed of.</exception>
+ /// <since_tizen> 3 </since_tizen>
public static Task StartAsync(ToneType tone, AudioStreamPolicy streamPolicy,
int durationMilliseconds, CancellationToken cancellationToken)
{
/// <summary>
/// Specifies the audio codec.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public enum ToneType
{
/// <summary>
/// <summary>
/// Call supervisory tone, Congestion: CEPT, JAPAN: 425Hz, 200ms ON, 200ms OFF.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
SupCongestion,
/// <summary>
/// Call supervisory tone, Congestion: ANSI (IS-95): 480Hz+620Hz, 250ms ON, 250ms OFF.
/// <summary>
/// Call supervisory tone, Radio path not available: 425Hz, 200ms ON, 200 OFF 3 bursts.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
SupRadioNotAvailable,
/// <summary>
/// Call supervisory tone, Error/Special info: 950Hz+1400Hz+1800Hz, 330ms ON, 1s OFF.
/// <summary>
/// CDMA Network Callwaiting tone: 440Hz 300ms ON.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
CdmaNetworkCallWaiting,
/// <summary>
/// CDMA PIP tone: 480Hz 100ms ON, 100ms OFF repeated for 4 times.
/// <summary>
///CDMA Alert Auto Redial tone: {1245Hz 62ms ON, 659Hz 62ms ON} 3 times, 1245 62ms ON.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
CdmaAlertAutoRedialLite,
/// <summary>
/// CDMA One Min Beep tone: 1150Hz+770Hz 400ms ON.
/// <summary>
/// CDMA CALLDROP LITE tone: 1480Hz 125ms, 1397Hz 125ms, 784Hz 125ms.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
CdmaCallDropLite,
/// <summary>
/// CDMA_NETWORK_BUSY_ONE_SHOT tone: 425Hz 500ms ON, 500ms OFF.
/// <summary>
/// Provides the ability to play a wav file.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public static class WavPlayer
{
/// <summary>
/// <exception cref="FileNotFoundException"><paramref name="path"/> does not exists.</exception>
/// <exception cref="FileFormatException">The format of <paramref name="path"/> is not supported.</exception>
/// <exception cref="ObjectDisposedException"><paramref name="streamPolicy"/> has already been disposed of.</exception>
+ /// <since_tizen> 3 </since_tizen>
public static Task StartAsync(string path, AudioStreamPolicy streamPolicy)
{
return StartAsync(path, streamPolicy, CancellationToken.None);
/// <exception cref="FileNotFoundException"><paramref name="path"/> does not exists.</exception>
/// <exception cref="FileFormatException">The format of <paramref name="path"/> is not supported.</exception>
/// <exception cref="ObjectDisposedException"><paramref name="streamPolicy"/> has already been disposed of.</exception>
+ /// <since_tizen> 3 </since_tizen>
public static Task StartAsync(string path, AudioStreamPolicy streamPolicy,
CancellationToken cancellationToken)
{
/// and functions for picture manipulations like sepia, negative, and many more.
/// It also notifies you when a significant picture parameter changes, (For example, focus).
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class Camera : IDisposable, IDisplayable<CameraError>
{
private IntPtr _handle = IntPtr.Zero;
/// <summary>
/// Gets the native handle of the camera.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public IntPtr Handle => GetHandle();
internal IntPtr GetHandle()
/// Releases the unmanaged resources used by the camera.
/// </summary>
/// <param name="disposing">true to release both managed and unmanaged resources; false to release only unmanaged resources.</param>
+ /// <since_tizen> 3 </since_tizen>
protected virtual void Dispose(bool disposing)
{
if (!_disposed)
/// <summary>
/// An event that occurs when the camera interrupt is started by the policy.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public event EventHandler<CameraInterruptStartedEventArgs> InterruptStarted;
private Native.InterruptStartedCallback _interruptStartedCallback;
/// <summary>
/// Gets or sets the various camera settings.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public CameraSettings Settings { get; }
/// <summary>
/// Gets the various camera capabilities.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public CameraCapabilities Capabilities { get; }
/// <summary>
/// <summary>
/// Gets the device state.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
/// <param name="device">The device to get the state.</param>
/// <returns>Returns the state of the camera device.</returns>
/// <exception cref="ArgumentException">In case of invalid parameters.</exception>
/// The CameraCapabilities class provides properties
/// to get various capability information of the camera device.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public class CameraCapabilities
{
internal readonly Camera _camera;
/// Gets the face detection feature's supported state.
/// </summary>
/// <value>true if supported, otherwise false.</value>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public bool IsFaceDetectionSupported { get; }
/// <summary>
/// Gets the media packet preview callback feature's supported state.
/// </summary>
/// <value>true if supported, otherwise false.</value>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public bool IsMediaPacketPreviewCallbackSupported { get; }
/// <summary>
/// Gets the zero shutter lag feature's supported state.
/// </summary>
/// <value>true if supported, otherwise false.</value>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public bool IsZeroShutterLagSupported { get; }
/// <summary>
/// Gets the continuous capture feature's supported state.
/// </summary>
/// <value>true if supported, otherwise false.</value>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public bool IsContinuousCaptureSupported { get; }
/// <summary>
/// Gets the support state of the HDR capture.
/// </summary>
/// <value>true if supported, otherwise false.</value>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public bool IsHdrCaptureSupported { get; }
/// <summary>
/// Gets the support state of the anti-shake feature.
/// </summary>
/// <value>true if supported, otherwise false.</value>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public bool IsAntiShakeSupported { get; }
/// <summary>
/// Gets the support state of the video stabilization feature.
/// </summary>
/// <value>true if supported, otherwise false.</value>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public bool IsVideoStabilizationSupported { get; }
/// <summary>
/// Gets the support state of auto contrast feature.
/// </summary>
/// <value>true if supported, otherwise false.</value>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public bool IsAutoContrastSupported { get; }
/// <summary>
/// Gets the support state of the brightness feature.
/// </summary>
/// <value>true if supported, otherwise false.</value>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public bool IsBrigtnessSupported { get; }
/// <summary>
/// Gets the support state of the exposure feature.
/// </summary>
/// <value>true if supported, otherwise false.</value>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public bool IsExposureSupported { get; }
/// <summary>
/// Gets the support state of the zoom feature.
/// </summary>
/// <value>true if supported, otherwise false.</value>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public bool IsZoomSupported { get; }
/// <summary>
/// Gets the support state of the pan feature.
/// </summary>
/// <value>true if supported, otherwise false.</value>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public bool IsPanSupported { get; }
/// <summary>
/// Gets the support state of the tilt feature.
/// </summary>
/// <value>true if supported, otherwise false.</value>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public bool IsTiltSupported { get; }
/// <summary>
/// Retrieves all the preview resolutions supported by the camera.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
/// <returns>
/// It returns a list containing all the supported preview resolutions.
/// </returns>
/// <summary>
/// Retrieves all the capture resolutions supported by the camera.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
/// <returns>
/// It returns a list containing all the supported capture resolutions.
/// </returns>
/// <summary>
/// Retrieves all the capture formats supported by the camera.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
/// <returns>
/// It returns a list containing all the supported <see cref="CameraPixelFormat"/>.
/// </returns>
/// <summary>
/// Retrieves all the preview formats supported by the camera.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
/// <returns>
/// It returns a list containing all the supported <see cref="CameraPixelFormat"/>.
/// </returns>
/// <summary>
/// Retrieves all the fps supported by the camera.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
/// <returns>
/// It returns a list containing all the supported <see cref="CameraFps"/>.
/// </returns>
/// <summary>
/// Retrieves all the fps by resolution supported by the camera.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
/// <param name="width">The width of required preview resolution.</param>
/// <param name="height">The height of required preview resolution.</param>
/// <returns>
/// <summary>
/// Retrieves all the fps by resolution supported by the camera.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
/// <param name="size">The size of required preview resolution.</param>
/// <returns>
/// It returns a list containing all the supported <see cref="CameraFps"/> by resolution.
/// <summary>
/// Retrieves all the auto focus modes supported by the camera.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
/// <returns>
/// It returns a list containing all the supported <see cref="CameraAutoFocusMode"/>.
/// </returns>
/// <summary>
/// Retrieves all the exposure modes supported by the camera.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
/// <returns>
/// It returns a list containing all the supported <see cref="CameraExposureMode"/>.
/// </returns>
/// <summary>
/// Retrieves all the ISO levels supported by the camera.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
/// <returns>
/// It returns a list containing all the supported <see cref="CameraIsoLevel"/>.
/// </returns>
/// <summary>
/// Retrieves all the theater modes supported by the camera.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
/// <returns>
/// It returns a list containing all the supported <see cref="CameraTheaterMode"/>.
/// </returns>
/// <summary>
/// Retrieves all the white balance modes supported by the camera.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
/// <returns>
/// It returns a list containing all the supported <see cref="CameraWhiteBalance"/>.
/// </returns>
/// <summary>
/// Retrieves all the flash modes supported by the camera.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
/// <returns>
/// It returns a list containing all the supported <see cref="CameraFlashMode"/>.
/// </returns>
/// <summary>
/// Retrieves all the scene modes supported by the camera.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
/// <returns>
/// It returns a list containing all the supported <see cref="CameraSceneMode"/>.
/// </returns>
/// <summary>
/// Retrieves all the effect modes supported by the camera.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
/// <returns>
/// It returns a list containing all the supported <see cref="CameraEffectMode"/>.
/// </returns>
/// <summary>
/// Retrieves all the stream rotations supported by the camera.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
/// <returns>
/// An IEnumerable containing all the supported <see cref="Rotation"/>.
/// </returns>
/// <summary>
/// Retrieves all the flips supported by the camera.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
/// <returns>
/// It returns a list containing all the supported <see cref="Flips"/>.
/// </returns>
/// <summary>
/// Retrieves all the PTZ types by the camera.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
/// <returns>
/// It returns a list containing all the supported <see cref="CameraPtzType"/>.
/// </returns>
/// <summary>
/// Provides data for the <see cref="Camera.Capturing"/> event.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class CameraCapturingEventArgs : EventArgs
{
internal CameraCapturingEventArgs(StillImage main, StillImage post, StillImage thumbnail)
/// <summary>
/// Gets the main image data of the captured still image.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public StillImage MainImage { get; }
/// <summary>
/// <summary>
/// Provides data for the <see cref="Camera.DeviceStateChanged"/> event.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class CameraDeviceStateChangedEventArgs : EventArgs
{
internal CameraDeviceStateChangedEventArgs(CameraDevice device, CameraDeviceState state)
/// It allows to set and get various display properties, such as
/// rotation, display visibility, and display mode.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class CameraDisplaySettings
{
internal readonly Camera _camera;
/// <summary>
/// Provides data for the <see cref="Camera.ErrorOccurred"/> event.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class CameraErrorOccurredEventArgs : EventArgs
{
internal CameraErrorOccurredEventArgs(CameraErrorCode error, CameraState state)
/// <summary>
/// The base exception class that is thrown when specific camera related error occurs.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class CameraException : Exception
{
/// <summary>
/// Initializes a new instance of the <see cref="CameraException"/> class.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public CameraException() : base()
{
}
/// <summary>
/// Initializes a new instance of the <see cref="CameraException"/> class with a specified error message.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public CameraException(string message) : base(message)
{
}
/// <summary>
/// The exception that is thrown when a camera device-related error occurs.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class CameraDeviceException : CameraException
{
/// <summary>
/// Initializes a new instance of the <see cref="CameraDeviceException"/> class.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public CameraDeviceException() : base()
{
}
/// <summary>
/// Initializes a new instance of the <see cref="CameraDeviceException"/> class with a specified error message.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public CameraDeviceException(string message) : base(message)
{
}
/// <summary>
/// The exception that is thrown when a camera device is not available.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class CameraDeviceNotFoundException : CameraException
{
/// <summary>
/// Initializes a new instance of the <see cref="CameraDeviceNotFoundException"/> class.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public CameraDeviceNotFoundException() : base()
{
}
/// <summary>
/// Initializes a new instance of the <see cref="CameraDeviceNotFoundException"/> class with a specified error message.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public CameraDeviceNotFoundException(string message) : base(message)
{
}
/// <summary>
/// Provides data for the <see cref="Camera.FocusStateChanged"/> event.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class CameraFocusStateChangedEventArgs : EventArgs
{
internal CameraFocusStateChangedEventArgs(CameraFocusState state)
/// <summary>
/// Provides data for the <see cref="Camera.InterruptStarted"/> event.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public class CameraInterruptStartedEventArgs : EventArgs
{
internal CameraInterruptStartedEventArgs(CameraPolicy policy, CameraState state)
/// <summary>
/// Gets the current state of the camera.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public CameraState State { get; }
/// <summary>
/// Gets the policy that interrupted the camera.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public CameraPolicy Policy { get; }
}
}
/// <summary>
/// Provides data for the <see cref="Camera.Interrupted"/> event.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class CameraInterruptedEventArgs : EventArgs
{
internal CameraInterruptedEventArgs(CameraPolicy policy, CameraState previous, CameraState current)
/// The camera setting class provides methods/properties to get and
/// set basic camera attributes.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class CameraSettings
{
internal readonly Camera _camera;
/// <summary>
/// Turn the shutter sound on or off, if it is permitted by policy.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
/// <param name="shutterSound">Shutter sound On/Off flag</param>
/// <remarks>
/// If this value is true, shutter sound will be disabled, otherwise enabled.
/// <summary>
/// Provides data for the <see cref="Camera.StateChanged"/> event.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class CameraStateChangedEventArgs : EventArgs
{
internal CameraStateChangedEventArgs(CameraState previous, CameraState current, bool policy)
/// <summary>
/// The class containing image data which has two planes.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class DoublePlane : IPreviewPlane
{
internal DoublePlane(DoublePlaneStruct unmanaged)
/// <summary>
/// The class containing the encoded image data.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class EncodedPlane : IPreviewPlane
{
internal EncodedPlane(EncodedPlaneStruct unmanagedData)
/// Provides data for the <see cref="Camera.FaceDetected"/> event.
/// If the user needs to keep the faces data, the user has to copy the data.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class FaceDetectedEventArgs : EventArgs
{
internal FaceDetectedEventArgs(List<FaceDetectionData> faces)
/// <summary>
/// The class contains the details of the detected face.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class FaceDetectionData
{
internal FaceDetectionData(IntPtr ptr)
/// <summary>
/// Provides data for the <see cref="Camera.HdrCaptureProgress"/> event.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class HdrCaptureProgressEventArgs : EventArgs
{
internal HdrCaptureProgressEventArgs(int percent)
/// <summary>
/// Provides interface for various preview plane types.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public interface IPreviewPlane
{
}
/// <summary>
/// The location class containing GPS data details.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class Location
{
/// <summary>
/// <param name="latitude">The latitude data.</param>
/// <param name="longitude">The longitude data.</param>
/// <param name="altitude">The altitude data.</param>
+ /// <since_tizen> 3 </since_tizen>
public Location(double latitude, double longitude, double altitude)
{
Latitude = latitude;
/// <summary>
/// Provides data for the <see cref="Camera.MediaPacketPreview"/> event.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class MediaPacketPreviewEventArgs : EventArgs
{
internal MediaPacketPreviewEventArgs(MediaPacket packet)
/// <summary>
/// Provides data for the <see cref="Camera.Preview"/> event.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class PreviewEventArgs : EventArgs
{
internal PreviewEventArgs(PreviewFrame preview)
/// <summary>
/// The class containing the preview image data.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public class PreviewFrame
{
internal PreviewFrame(IntPtr ptr)
/// <summary>
/// The pixel format of the image.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public CameraPixelFormat Format { get; }
/// <summary>
/// The resolution of the preview image.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public Size Resolution { get; }
/// <summary>
/// The time stamp of the preview frame.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public uint TimeStamp { get; }
/// <summary>
/// The type of the preview plane. <see cref="Tizen.Multimedia.PlaneType"/>
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public PlaneType PlaneType { get; }
/// <summary>
/// The buffer including the preview frame.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public IPreviewPlane Plane { get; }
}
}
/// <summary>
/// The class containing the image data, which has a single plane.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class SinglePlane : IPreviewPlane
{
internal SinglePlane(SinglePlaneStruct unmanaged)
/// <summary>
/// The class containing the captured still image.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public class StillImage
{
internal StillImage(IntPtr ptr)
/// <summary>
/// The pixel format of the still image.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public CameraPixelFormat Format { get; }
/// <summary>
/// The resolution of the still image.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public Size Resolution { get; }
/// <summary>
/// The buffer containing the still image.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public byte[] Data { get; }
/// <summary>
/// The Exif data describing additional metadata of still image.
/// Please refer Exif specification for more details.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public byte[] Exif { get; }
}
}
/// <summary>
/// The class containing image data which has three planes.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class TriplePlane : IPreviewPlane
{
internal TriplePlane(TriplePlaneStruct unmanaged)
/// <summary>
/// Provides data for the <see cref="MediaCodec.BufferStatusChanged"/> event.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class BufferStatusChangedEventArgs : EventArgs
{
/// <summary>
/// Initializes a new instance of the BufferStatusChangedEventArgs class.
/// </summary>
/// <param name="status">The value representing new status of the codec.</param>
+ /// <since_tizen> 3 </since_tizen>
public BufferStatusChangedEventArgs(MediaCodecStatus status)
{
Status = status;
/// <summary>
/// Gets the value indicating the new status of the codec.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public MediaCodecStatus Status { get; }
}
/// <summary>
/// Provides data for the <see cref="MediaCodec.InputProcessed"/> event.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class InputProcessedEventArgs : EventArgs
{
/// <summary>
/// <summary>
/// Gets the packet processed by the codec.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public MediaPacket Packet { get; }
}
}
/// <summary>
/// Provides a means to encode and decode the video and the audio data.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class MediaCodec : IDisposable
{
private const int CodecTypeMask = 0xFFFF;
/// <summary>
/// Initializes a new instance of the MediaCodec class.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public MediaCodec()
{
int ret = Interop.MediaCodec.Create(out _handle);
/// <param name="disposing">
/// true to release both managed and unmanaged resources; false to release only unmanaged resources.
/// </param>
+ /// <since_tizen> 3 </since_tizen>
protected virtual void Dispose(bool disposing)
{
if (!_isDisposed)
/// <summary>
/// Releases all resources used by the <see cref="MediaCodec"/> object.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public void Dispose()
{
Dispose(true);
/// <summary>
/// Gets the audio codec list that the current device supports.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public static IEnumerable<MediaFormatVideoMimeType> SupportedVideoCodecs
{
get
/// <summary>
/// Gets the audio codec list that the current device supports.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public static IEnumerable<MediaFormatAudioMimeType> SupportedAudioCodecs
{
get
/// -or-<br/>
/// Internal error.
/// </exception>
+ /// <since_tizen> 3 </since_tizen>
public void Prepare()
{
ValidateNotDisposed();
/// <summary>
/// Unprepares the MediaCodec.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public void Unprepare()
{
ValidateNotDisposed();
/// <exception cref="NotSupportedException">The mime type of the format is not supported.</exception>
/// <see cref="SupportedAudioCodecs"/>
/// <see cref="SupportedVideoCodecs"/>
+ /// <since_tizen> 3 </since_tizen>
public void Configure(MediaFormat format, bool encoder, MediaCodecTypes codecType)
{
ValidateNotDisposed();
/// <exception cref="ArgumentNullException"><paramref name="packet"/> is null.</exception>
/// <exception cref="InvalidOperationException">The current codec is not prepared yet.</exception>
/// <remarks>Any attempts to modify the packet will fail until the <see cref="InputProcessed"/> event for the packet is invoked.</remarks>
+ /// <since_tizen> 3 </since_tizen>
public void ProcessInput(MediaPacket packet)
{
ValidateNotDisposed();
/// <summary>
/// Flushes both input and output buffers.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public void FlushBuffers()
{
ValidateNotDisposed();
/// <param name="type">The mime type to query.</param>
/// <returns>The values indicating which codec types are supported on the current device.</returns>
/// <exception cref="ArgumentException"><paramref name="type"/> is invalid.</exception>
+ /// <since_tizen> 3 </since_tizen>
public MediaCodecTypes GetCodecType(bool encoder, MediaFormatVideoMimeType type)
{
ValidateNotDisposed();
/// <param name="type">The mime type to query.</param>
/// <returns>The values indicating which codec types are supported on the current device.</returns>
/// <exception cref="ArgumentException"><paramref name="type"/> is invalid.</exception>
+ /// <since_tizen> 3 </since_tizen>
public MediaCodecTypes GetCodecType(bool encoder, MediaFormatAudioMimeType type)
{
ValidateNotDisposed();
/// Occurs when an output buffer is available.
/// </summary>
/// <remarks>The output packet needs to be disposed after it is used to clean up unmanaged resources.</remarks>
+ /// <since_tizen> 3 </since_tizen>
public event EventHandler<OutputAvailableEventArgs> OutputAvailable
{
add
/// Occurs when an input packet is processed.
/// </summary>
/// <see cref="ProcessInput(MediaPacket)"/>
+ /// <since_tizen> 3 </since_tizen>
public event EventHandler<InputProcessedEventArgs> InputProcessed;
private void RegisterInputProcessed()
/// <summary>
/// Occurs whenever an error is produced in the codec.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public event EventHandler<MediaCodecErrorOccurredEventArgs> ErrorOccurred;
private void RegisterErrorOccurred()
/// <summary>
/// Occurs when the codec processes all input data.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public event EventHandler<EventArgs> EosReached;
private void RegisterEosReached()
/// <summary>
/// Occurs when the codec needs more data or has enough data.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public event EventHandler<BufferStatusChangedEventArgs> BufferStatusChanged;
private void RegisterBufferStatusChanged()
/// Specifies the errors of <see cref="MediaCodec"/>.
/// </summary>
/// <seealso cref="MediaCodec.ErrorOccurred"/>
+ /// <since_tizen> 3 </since_tizen>
public enum MediaCodecError
{
/// <summary>
/// <summary>
/// Provides data for the <see cref="MediaCodec.ErrorOccurred"/> event.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class MediaCodecErrorOccurredEventArgs : EventArgs
{
/// <summary>
/// Initializes a new instance of the ErrorOccurredEventArgs class.
/// </summary>
/// <param name="error">The value representing the type of the error.</param>
+ /// <since_tizen> 3 </since_tizen>
public MediaCodecErrorOccurredEventArgs(MediaCodecError error)
{
Error = error;
/// <summary>
/// Gets the value indicating what kind of the error.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public MediaCodecError Error { get; }
}
}
/// <summary>
/// Specifies the status of a codec.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public enum MediaCodecStatus
{
/// <summary>
/// This enumeration has a <see cref="FlagsAttribute"/> attribute that allows a bitwise combination of its member values.
/// </para>
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
[Flags]
public enum MediaCodecTypes
{
/// Provides data for the <see cref="MediaCodec.OutputAvailable"/> event.
/// </summary>
/// <remarks>The output packet needs to be disposed after it is used to clean up unmanaged resources.</remarks>
+ /// <since_tizen> 3 </since_tizen>
public class OutputAvailableEventArgs : EventArgs
{
internal OutputAvailableEventArgs(IntPtr packetHandle)
/// <summary>
/// Gets the result packet.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public MediaPacket Packet { get; }
}
}
/// <summary>
/// Provides the ability to control the audio effects for <see cref="Multimedia.Player"/>.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class AudioEffect
{
private readonly EqualizerBand[] _bands;
/// -or-<br/>
/// <paramref name="index"/> is equal to or greater than <see cref="Count"/>.
/// </exception>
+ /// <since_tizen> 3 </since_tizen>
public EqualizerBand this[int index]
{
get
/// Clears the equalizer effect.
/// </summary>
/// <exception cref="ObjectDisposedException">The <see cref="Player"/> has already been disposed of.</exception>
+ /// <since_tizen> 3 </since_tizen>
public void Clear()
{
Player.ValidateNotDisposed();
/// <summary>
/// Gets the number of items.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public int Count { get; }
/// <summary>
/// Gets the band level range of the bands in the dB.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public Range BandLevelRange { get; }
/// <summary>
/// Gets the value whether the AudioEffect is available or not.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public bool IsAvailable { get; }
/// <summary>
/// Gets the player that this AudioEffect belongs to.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public Player Player { get; }
}
}
/// <summary>
/// Provides data for the <see cref="Player.BufferingProgressChanged"/> event.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class BufferingProgressChangedEventArgs : EventArgs
{
/// <summary>
/// Initializes a new instance of the BufferingProgressChangedEventArgs class.
/// </summary>
/// <param name="percent">The value indicating the buffering percentage.</param>
+ /// <since_tizen> 3 </since_tizen>
public BufferingProgressChangedEventArgs(int percent)
{
Percent = percent;
/// Gets the value indicating the buffering percentage.
/// </summary>
/// <value>The percentage of the buffering.</value>
+ /// <since_tizen> 3 </since_tizen>
public int Percent { get; }
/// <summary>
/// Returns a string that represents the current object.
/// </summary>
/// <returns>A string that represents the current object.</returns>
+ /// <since_tizen> 3 </since_tizen>
public override string ToString()
{
return $"Percent={ Percent.ToString() }";
/// <summary>
/// Represents data for a video frame captured.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class CapturedFrame
{
internal CapturedFrame(byte[] imageBuffer, int width, int height)
/// Gets the raw buffer of the captured image.
/// </summary>
/// <remarks>The color space format is RGB888.</remarks>
+ /// <since_tizen> 3 </since_tizen>
public byte[] Buffer { get; }
/// <summary>
/// Gets the size.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public Size Size { get; }
}
}
/// <summary>
/// Represents data for a downloading status.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public struct DownloadProgress
{
/// <summary>
/// </summary>
/// <param name="start">The position that downloading started in percentage.</param>
/// <param name="current">The position indicating the current downloading progress in percentage.</param>
+ /// <since_tizen> 3 </since_tizen>
public DownloadProgress(int start, int current)
{
Start = start;
/// Gets or sets the start position.
/// </summary>
/// <value>The position that downloading started in percentage.</value>
+ /// <since_tizen> 3 </since_tizen>
public int Start
{
get;
/// Gets or sets the current position.
/// </summary>
/// <value>The position indicating the current downloading progress in percentage.</value>
+ /// <since_tizen> 3 </since_tizen>
public int Current
{
get;
/// Returns a string that represents the current object.
/// </summary>
/// <returns>A string that represents the current object.</returns>
+ /// <since_tizen> 3 </since_tizen>
public override string ToString()
{
return $"Start={ Start.ToString() }, Current={ Current.ToString() }";
/// <summary>
/// Represents an equalizer band of <see cref="AudioEffect"/>.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class EqualizerBand
{
private readonly AudioEffect _owner;
/// <exception cref="ArgumentOutOfRangeException">
/// <paramref name="value"/> is not inside of <see cref="AudioEffect.BandLevelRange"/>.
/// </exception>
+ /// <since_tizen> 3 </since_tizen>
public int Level
{
get
/// <summary>
/// Gets the frequency in the dB.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public int Frequency { get; }
/// <summary>
/// Gets the frequency range in the dB.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public int FrequencyRange { get; }
}
/// If you provide invalid data, you won't receive an error until <see cref="Player.Start"/> is called.
/// </remarks>
/// <seealso cref="Player.SetSource(MediaSource)"/>
+ /// <since_tizen> 3 </since_tizen>
public sealed class MediaBufferSource : MediaSource
{
private byte[] _buffer;
/// -or-<br/>
/// <paramref name="length"/> is less than zero.
/// </exception>
+ /// <since_tizen> 3 </since_tizen>
public MediaBufferSource(int length)
{
if (length <= 0)
/// </summary>
/// <param name="buffer">The source array to be copied into the buffer.</param>
/// <exception cref="ArgumentNullException"><paramref name="buffer"/> is null.</exception>
+ /// <since_tizen> 3 </since_tizen>
public MediaBufferSource(byte[] buffer) : this(buffer, buffer == null ? 0 : buffer.Length)
{
}
/// -or-<br/>
/// <paramref name="offset"/>+<paramref name="length"/> is greater than buffer.Length.
/// </exception>
+ /// <since_tizen> 3 </since_tizen>
public MediaBufferSource(byte[] buffer, int length, int offset = 0)
{
if (buffer == null)
/// </summary>
/// <param name="buffer">The array to be wrapped.</param>
/// <returns>A MediaBufferSource wrapping the byte array.</returns>
+ /// <since_tizen> 3 </since_tizen>
public static MediaBufferSource Wrap(byte[] buffer)
{
if (buffer == null)
/// <summary>
/// Gets the byte array of this buffer.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public byte[] Buffer => _buffer;
internal override void OnAttached(Player player)
/// <summary>
/// MediaSource is a base class for <see cref="Player"/> sources.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public abstract class MediaSource
{
internal MediaSource()
/// <summary>
/// Provides data for the <see cref="MediaStreamConfiguration.BufferStatusChanged"/> event.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class MediaStreamBufferStatusChangedEventArgs : EventArgs
{
/// <summary>
/// Initializes a new instance of the MediaStreamBufferStatusChangedEventArgs class.
/// </summary>
/// <param name="status">The value indicating the status of the stream.</param>
+ /// <since_tizen> 3 </since_tizen>
public MediaStreamBufferStatusChangedEventArgs(MediaStreamBufferStatus status)
{
Status = status;
/// <summary>
/// Gets the status.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public MediaStreamBufferStatus Status { get; }
/// <summary>
/// Returns a string that represents the current object.
/// </summary>
/// <returns>A string that represents the current object.</returns>
+ /// <since_tizen> 3 </since_tizen>
public override string ToString()
{
return $"Status : { Status.ToString() }";
/// Provides a means to configure properties and handle events for <see cref="MediaStreamSource"/>.
/// </summary>
/// <seealso cref="MediaStreamSource"/>
+ /// <since_tizen> 3 </since_tizen>
public class MediaStreamConfiguration
{
private const ulong DefaultBufferMaxSize = 200000;
/// <remarks>The event handler will be executed on an internal thread.</remarks>
/// <seealso cref="BufferMaxSize"/>
/// <seealso cref="BufferMinThreshold"/>
+ /// <since_tizen> 3 </since_tizen>
public event EventHandler<MediaStreamBufferStatusChangedEventArgs> BufferStatusChanged;
/// <summary>
/// Occurs when the seeking is requested.
/// </summary>
/// <remarks>The event handler will be executed on an internal thread.</remarks>
+ /// <since_tizen> 3 </since_tizen>
public event EventHandler<MediaStreamSeekingOccurredEventArgs> SeekingOccurred;
/// <summary>
/// <exception cref="InvalidOperationException">The <see cref="MediaStreamSource"/> is not assigned to a player.</exception>
/// <exception cref="ArgumentOutOfRangeException"><paramref name="value"/> is zero.</exception>
/// <seealso cref="BufferStatusChanged"/>
+ /// <since_tizen> 3 </since_tizen>
public ulong BufferMaxSize
{
get
/// <exception cref="InvalidOperationException">The <see cref="MediaStreamSource"/> is not assigned to a player.</exception>
/// <exception cref="ArgumentOutOfRangeException"><paramref name="value"/> is greater than 100.</exception>
/// <seealso cref="BufferStatusChanged"/>
+ /// <since_tizen> 3 </since_tizen>
public uint BufferMinThreshold
{
get
/// <summary>
/// Provides data for the <see cref="MediaStreamConfiguration.SeekingOccurred"/> event.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class MediaStreamSeekingOccurredEventArgs : EventArgs
{
/// <summary>
/// Initializes a new instance of the MediaStreamSeekingOccurredEventArgs class.
/// </summary>
/// <param name="offset">The value indicating the new position to seek.</param>
+ /// <since_tizen> 3 </since_tizen>
public MediaStreamSeekingOccurredEventArgs(ulong offset)
{
Offset = offset;
/// <summary>
/// Gets the offset.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public ulong Offset { get; }
/// <summary>
/// Returns a string that represents the current object.
/// </summary>
/// <returns>A string that represents the current object.</returns>
+ /// <since_tizen> 3 </since_tizen>
public override string ToString() => $"Offset : { Offset.ToString() }";
}
}
/// </summary>
/// <remarks>The source must be set as a source to a player before pushing.</remarks>
/// <seealso cref="Player.SetSource(MediaSource)"/>
+ /// <since_tizen> 3 </since_tizen>
public sealed class MediaStreamSource : MediaSource
{
private readonly MediaFormat _audioMediaFormat;
/// <summary>
/// Gets all supported audio types.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public static IEnumerable<MediaFormatAudioMimeType> SupportedAudioTypes
{
get
/// <summary>
/// Gets all supported video types.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public static IEnumerable<MediaFormatVideoMimeType> SupportedVideoTypes
{
get
/// </exception>
/// <seealso cref="SupportedAudioTypes"/>
/// <seealso cref="SupportedVideoTypes"/>
+ /// <since_tizen> 3 </since_tizen>
public MediaStreamSource(AudioMediaFormat audioMediaFormat, VideoMediaFormat videoMediaFormat)
{
if (audioMediaFormat == null && videoMediaFormat == null)
/// <exception cref="ArgumentNullException"><paramref name="audioMediaFormat"/> is null.</exception>
/// <exception cref="ArgumentException"><paramref name="audioMediaFormat"/> is not supported.</exception>
/// <seealso cref="SupportedAudioTypes"/>
+ /// <since_tizen> 3 </since_tizen>
public MediaStreamSource(AudioMediaFormat audioMediaFormat)
{
if (audioMediaFormat == null)
/// <exception cref="ArgumentNullException"><paramref name="videoMediaFormat"/> is null.</exception>
/// <exception cref="ArgumentException"><paramref name="videoMediaFormat"/> is not supported.</exception>
/// <seealso cref="SupportedVideoTypes"/>
+ /// <since_tizen> 3 </since_tizen>
public MediaStreamSource(VideoMediaFormat videoMediaFormat)
{
if (videoMediaFormat == null)
/// <summary>
/// Gets the audio configuration, or null if no AudioMediaFormat is specified in the constructor.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public MediaStreamConfiguration AudioConfiguration { get; }
/// <summary>
/// Gets the video configuration, or null if no VideoMediaFormat is specified in the constructor.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public MediaStreamConfiguration VideoConfiguration { get; }
/// <summary>
/// <seealso cref="Player.SetSource(MediaSource)"/>
/// <seealso cref="MediaStreamConfiguration.BufferMaxSize"/>
/// <seealso cref="MediaPacket"/>
+ /// <since_tizen> 3 </since_tizen>
public void Push(MediaPacket packet)
{
if (_player == null)
/// Gets the <see cref="Player"/> that this source is assigned to as a source, or null if this source is not assigned.
/// </summary>
/// <seealso cref="Player.SetSource(MediaSource)"/>
+ /// <since_tizen> 3 </since_tizen>
public Player Player => _player;
}
/// The externalstorage privilege(http://tizen.org/privilege/externalstorage) must be added if any video/audio files are used to play located in the external storage.
/// </remarks>
/// <seealso cref="Player.SetSource(MediaSource)"/>
+ /// <since_tizen> 3 </since_tizen>
public sealed class MediaUriSource : MediaSource
{
// TODO consider using Uri class.
/// <remarks>For HTTP or RSTP, uri should start with "http://" or "rtsp://".
/// The default protocol is "file://".
/// If you provide an invalid uri, you won't receive an error until <see cref="Player.Start"/> is called.</remarks>
+ /// <since_tizen> 3 </since_tizen>
public MediaUriSource(string uri)
{
Uri = uri ?? throw new ArgumentNullException(nameof(uri));
/// <summary>
/// Gets the uri.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public string Uri { get; }
internal override void OnAttached(Player player)
/// <summary>
/// Provides data for the <see cref="Player.PlaybackInterrupted"/> event.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class PlaybackInterruptedEventArgs : EventArgs
{
/// <summary>
/// Initializes a new instance of the PlaybackInterruptedEventArgs class.
/// </summary>
/// <param name="reason">The enum value indicating the reason.</param>
+ /// <since_tizen> 3 </since_tizen>
public PlaybackInterruptedEventArgs(PlaybackInterruptionReason reason)
{
Reason = reason;
/// <summary>
/// Gets the reason.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public PlaybackInterruptionReason Reason { get; }
/// <summary>
/// Returns a string that represents the current object.
/// </summary>
/// <returns>A string that represents the current object.</returns>
+ /// <since_tizen> 3 </since_tizen>
public override string ToString()
{
return $"Reason : { Reason.ToString() }";
/// <summary>
/// Occurs when the playback of a media is finished.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public event EventHandler<EventArgs> PlaybackCompleted;
private NativePlayer.PlaybackCompletedCallback _playbackCompletedCallback;
/// <summary>
/// Occurs when the playback of a media is interrupted.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public event EventHandler<PlaybackInterruptedEventArgs> PlaybackInterrupted;
private NativePlayer.PlaybackInterruptedCallback _playbackInterruptedCallback;
/// Occurs when any error occurs.
/// </summary>
/// <remarks>The event handler will be executed on an internal thread.</remarks>
+ /// <since_tizen> 3 </since_tizen>
public event EventHandler<PlayerErrorOccurredEventArgs> ErrorOccurred;
private NativePlayer.PlaybackErrorCallback _playbackErrorCallback;
/// Occurs when the video stream is changed.
/// </summary>
/// <remarks>The event handler will be executed on an internal thread.</remarks>
+ /// <since_tizen> 3 </since_tizen>
public event EventHandler<VideoStreamChangedEventArgs> VideoStreamChanged;
private NativePlayer.VideoStreamChangedCallback _videoStreamChangedCallback;
/// Occurs when the subtitle is updated.
/// </summary>
/// <remarks>The event handler will be executed on an internal thread.</remarks>
+ /// <since_tizen> 3 </since_tizen>
public event EventHandler<SubtitleUpdatedEventArgs> SubtitleUpdated;
private NativePlayer.SubtitleUpdatedCallback _subtitleUpdatedCallback;
/// <summary>
/// Occurs when there is a change in the buffering status of streaming.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public event EventHandler<BufferingProgressChangedEventArgs> BufferingProgressChanged;
private NativePlayer.BufferingProgressCallback _bufferingProgressCallback;
/// <feature>http://tizen.org/feature/multimedia.raw_video</feature>
/// <exception cref="NotSupportedException">The required feature is not supported.</exception>
/// <seealso cref="VideoFrameDecodedEventArgs.Packet"/>
+ /// <since_tizen> 3 </since_tizen>
public event EventHandler<VideoFrameDecodedEventArgs> VideoFrameDecoded
{
add
namespace Tizen.Multimedia
{
+ /// <since_tizen> 3 </since_tizen>
public partial class Player
{
private void RetrieveProperties()
/// </summary>
/// <value>An IntPtr that contains the native handle of the player.</value>
/// <exception cref="ObjectDisposedException">The player has already been disposed of.</exception>
+ /// <since_tizen> 3 </since_tizen>
public IntPtr Handle
{
get
/// <exception cref="InvalidOperationException">The player is not in the valid state.</exception>
/// <exception cref="ObjectDisposedException">The player has already been disposed of.</exception>
/// <exception cref="ArgumentNullException">The value to set is null.</exception>
+ /// <since_tizen> 3 </since_tizen>
public string Cookie
{
get
/// <exception cref="InvalidOperationException">The player is not in the valid state.</exception>
/// <exception cref="ObjectDisposedException">The player has already been disposed of.</exception>
/// <exception cref="ArgumentNullException">The value to set is null.</exception>
+ /// <since_tizen> 3 </since_tizen>
public string UserAgent
{
get
/// </summary>
/// <value>The current state of the player.</value>
/// <exception cref="ObjectDisposedException">The player has already been disposed of.</exception>
+ /// <since_tizen> 3 </since_tizen>
public PlayerState State
{
get
/// </remarks>
/// <exception cref="ObjectDisposedException">The player has already been disposed of.</exception>
/// <exception cref="ArgumentException">The value is not valid.</exception>
+ /// <since_tizen> 3 </since_tizen>
public AudioLatencyMode AudioLatencyMode
{
get
/// </summary>
/// <value>true if the playback is looping; otherwise, false. The default value is false.</value>
/// <exception cref="ObjectDisposedException">The player has already been disposed of.</exception>
+ /// <since_tizen> 3 </since_tizen>
public bool IsLooping
{
get
/// Gets the display settings.
/// </summary>
/// <value>A <see cref="PlayerDisplaySettings"/> that specifies the display settings.</value>
+ /// <since_tizen> 3 </since_tizen>
public PlayerDisplaySettings DisplaySettings { get; }
private Display _display;
/// <exception cref="ObjectDisposedException">The player has already been disposed of.</exception>
/// <exception cref="ArgumentException">The value has already been assigned to another player.</exception>
/// <exception cref="InvalidOperationException">The player is not in the valid state.</exception>
+ /// <since_tizen> 3 </since_tizen>
public Display Display
{
get
/// Gets the track info for the audio.
/// </summary>
/// <value>A <see cref="PlayerTrackInfo"/> for audio.</value>
+ /// <since_tizen> 3 </since_tizen>
public PlayerTrackInfo AudioTrackInfo
{
get
/// Gets the track info for the subtitle.
/// </summary>
/// <value>A <see cref="PlayerTrackInfo"/> for the subtitle.</value>
+ /// <since_tizen> 3 </since_tizen>
public PlayerTrackInfo SubtitleTrackInfo
{
get
/// Gets the stream information.
/// </summary>
/// <value>A <see cref="StreamInfo"/> for this player.</value>
+ /// <since_tizen> 3 </since_tizen>
public StreamInfo StreamInfo
{
get
/// </summary>
/// <feature>http://tizen.org/feature/multimedia.custom_audio_effect</feature>
/// <exception cref="NotSupportedException">The required feature is not supported.</exception>
+ /// <since_tizen> 3 </since_tizen>
public AudioEffect AudioEffect
{
get
/// </summary>
/// <value>true if the player is muted; otherwise, false.</value>
/// <exception cref="ObjectDisposedException">The player has already been disposed of.</exception>
+ /// <since_tizen> 3 </since_tizen>
public bool Muted
{
get
/// -or-<br/>
/// <paramref name="value"/> is greater than 1.0.
/// </exception>
+ /// <since_tizen> 3 </since_tizen>
public float Volume
{
get
/// <summary>
/// Initializes a new instance of the <see cref="Player"/> class.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public Player()
{
NativePlayer.Create(out _handle).ThrowIfFailed("Failed to create player");
/// <summary>
/// Releases all resources used by the current instance.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public void Dispose()
{
Dispose(true);
/// The player is not in the valid state.
/// </exception>
/// <exception cref="ObjectDisposedException">The player has already been disposed of.</exception>
+ /// <since_tizen> 3 </since_tizen>
public DownloadProgress GetDownloadProgress()
{
ValidatePlayerState(PlayerState.Playing, PlayerState.Paused);
/// <exception cref="ArgumentException"><paramref name="path"/> is an empty string.</exception>
/// <exception cref="FileNotFoundException">The specified path does not exist.</exception>
/// <exception cref="ArgumentNullException"><paramref name="path"/> is null.</exception>
+ /// <since_tizen> 3 </since_tizen>
public void SetSubtitle(string path)
{
ValidateNotDisposed();
/// <remarks>The player must be in the <see cref="PlayerState.Idle"/> state.</remarks>
/// <exception cref="ObjectDisposedException">The player has already been disposed of.</exception>
/// <exception cref="InvalidOperationException">The player is not in the valid state.</exception>
+ /// <since_tizen> 3 </since_tizen>
public void ClearSubtitle()
{
ValidatePlayerState(PlayerState.Idle);
/// No subtitle is set.
/// </exception>
/// <seealso cref="SetSubtitle(string)"/>
+ /// <since_tizen> 3 </since_tizen>
public void SetSubtitleOffset(int offset)
{
ValidatePlayerState(PlayerState.Playing, PlayerState.Paused);
/// <summary>
/// Called when the <see cref="Prepare"/> is invoked.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
protected virtual void OnPreparing()
{
RegisterEvents();
/// <exception cref="InvalidOperationException">No source is set.</exception>
/// <exception cref="ObjectDisposedException">The player has already been disposed of.</exception>
/// <exception cref="InvalidOperationException">The player is not in the valid state.</exception>
+ /// <since_tizen> 3 </since_tizen>
public virtual Task PrepareAsync()
{
if (_source == null)
/// </remarks>
/// <exception cref="ObjectDisposedException">The player has already been disposed of.</exception>
/// <exception cref="InvalidOperationException">The player is not in the valid state.</exception>
+ /// <since_tizen> 3 </since_tizen>
public virtual void Unprepare()
{
if (State == PlayerState.Idle)
/// Called after the <see cref="Player"/> is unprepared.
/// </summary>
/// <seealso cref="Unprepare"/>
+ /// <since_tizen> 3 </since_tizen>
protected virtual void OnUnprepared()
{
_source?.DetachFrom(this);
/// <seealso cref="Pause"/>
/// <seealso cref="PlaybackCompleted"/>
/// <seealso cref="ApplyAudioStreamPolicy"/>
+ /// <since_tizen> 3 </since_tizen>
public virtual void Start()
{
if (State == PlayerState.Playing)
/// <exception cref="InvalidOperationException">The player is not in the valid state.</exception>
/// <seealso cref="Start"/>
/// <seealso cref="Pause"/>
+ /// <since_tizen> 3 </since_tizen>
public virtual void Stop()
{
if (State == PlayerState.Ready)
/// <exception cref="ObjectDisposedException">The player has already been disposed of.</exception>
/// <exception cref="InvalidOperationException">The player is not in the valid state.</exception>
/// <seealso cref="Start"/>
+ /// <since_tizen> 3 </since_tizen>
public virtual void Pause()
{
if (State == PlayerState.Paused)
/// It is not able to assign the source to the player.
/// </exception>
/// <seealso cref="PrepareAsync"/>
+ /// <since_tizen> 3 </since_tizen>
public void SetSource(MediaSource source)
{
ValidatePlayerState(PlayerState.Idle);
/// <exception cref="ObjectDisposedException">The player has already been disposed of.</exception>
/// <exception cref="InvalidOperationException">The player is not in the valid state.</exception>
/// <exception cref="NotSupportedException">The required feature is not supported.</exception>
+ /// <since_tizen> 3 </since_tizen>
public async Task<CapturedFrame> CaptureVideoAsync()
{
ValidationUtil.ValidateFeatureSupported(Features.RawVideo);
/// <exception cref="ObjectDisposedException">The player has already been disposed of.</exception>
/// <exception cref="InvalidOperationException">The player is not in the valid state.</exception>
/// <seealso cref="SetPlayPositionAsync(int, bool)"/>
+ /// <since_tizen> 3 </since_tizen>
public int GetPlayPosition()
{
ValidatePlayerState(PlayerState.Ready, PlayerState.Paused, PlayerState.Playing);
/// <exception cref="InvalidOperationException">The player is not in the valid state.</exception>
/// <exception cref="ArgumentOutOfRangeException">The specified position is not valid.</exception>
/// <seealso cref="GetPlayPosition"/>
+ /// <since_tizen> 3 </since_tizen>
public async Task SetPlayPositionAsync(int position, bool accurate)
{
ValidatePlayerState(PlayerState.Ready, PlayerState.Playing, PlayerState.Paused);
/// -or-<br/>
/// <paramref name="rate"/> is zero.
/// </exception>
+ /// <since_tizen> 3 </since_tizen>
public void SetPlaybackRate(float rate)
{
if (rate < -5.0F || 5.0F < rate || rate == 0.0F)
/// <see cref="AudioStreamType"/> of <paramref name="policy"/> is not supported by <see cref="Player"/>.
/// </exception>
/// <seealso cref="AudioStreamPolicy"/>
+ /// <since_tizen> 3 </since_tizen>
public void ApplyAudioStreamPolicy(AudioStreamPolicy policy)
{
if (policy == null)
/// <summary>
/// This method supports the product infrastructure and is not intended to be used directly from application code.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
[EditorBrowsable(EditorBrowsableState.Never)]
protected static Exception GetException(int errorCode, string message) =>
((PlayerErrorCode)errorCode).GetException(message);
/// <summary>
/// Provides a means to configure display settings for video <see cref="Player"/>.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class PlayerDisplaySettings
{
/// <summary>
/// This constructor supports the product infrastructure and is not intended to be used directly from application code.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
[EditorBrowsable(EditorBrowsableState.Never)]
protected PlayerDisplaySettings(Player player)
{
/// Gets the player of this instance.
/// </summary>
/// <value>The <see cref="Player"/> of this <see cref="PlayerDisplaySettings"/> instance.</value>
+ /// <since_tizen> 4 </since_tizen>
protected Player Player { get; }
/// <summary>
/// </exception>
/// <exception cref="ObjectDisposedException">The player has already been disposed of.</exception>
/// <exception cref="ArgumentException">The specified value to set is invalid.</exception>
+ /// <since_tizen> 3 </since_tizen>
public PlayerDisplayMode Mode
{
get
/// Operation failed; internal error.
/// </exception>
/// <exception cref="ObjectDisposedException">The player has already been disposed of.</exception>
+ /// <since_tizen> 3 </since_tizen>
public bool IsVisible
{
get
/// </exception>
/// <exception cref="ObjectDisposedException">The player has already been disposed of.</exception>
/// <exception cref="ArgumentException">The specified value to set is invalid.</exception>
+ /// <since_tizen> 3 </since_tizen>
public Rotation Rotation
{
get
/// </exception>
/// <exception cref="ObjectDisposedException">The player has already been disposed of.</exception>
/// <exception cref="ArgumentOutOfRangeException">The width or the height is less than or equal to zero.</exception>
+ /// <since_tizen> 3 </since_tizen>
public void SetRoi(Rectangle roi)
{
if (roi.Width <= 0)
/// </summary>
/// <seealso cref="Player.ErrorOccurred"/>
/// <seealso cref="PlayerErrorOccurredEventArgs"/>
+ /// <since_tizen> 3 </since_tizen>
public enum PlayerError
{
/// <summary>
/// <summary>
/// Not supported audio codec.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
AudioCodecNotSupported = PlayerErrorCode.NotSupportedAudioCodec,
/// <summary>
/// Not supported video codec.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
VideoCodecNotSupported = PlayerErrorCode.NotSupportedVideoCodec,
/// <summary>
/// <summary>
/// Specifies states that a <see cref="Player"/> can have.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public enum PlayerState
{
/// <summary>
/// Specifies audio latency modes for <see cref="Player"/>.
/// </summary>
/// <seealso cref="Player.AudioLatencyMode"/>
+ /// <since_tizen> 3 </since_tizen>
public enum AudioLatencyMode
{
/// <summary>
/// Specifies display modes for <see cref="Player"/>.
/// </summary>
/// <seealso cref="PlayerDisplaySettings.Mode"/>
+ /// <since_tizen> 3 </since_tizen>
public enum PlayerDisplayMode
{
/// <summary>
/// </summary>
/// <seealso cref="MediaStreamConfiguration.BufferStatusChanged"/>
/// <seealso cref="MediaStreamBufferStatusChangedEventArgs"/>
+ /// <since_tizen> 3 </since_tizen>
public enum MediaStreamBufferStatus
{
/// <summary>
/// Specifies the reason for the playback interruption.
/// </summary>
/// <seealso cref="Player.PlaybackInterrupted"/>
+ /// <since_tizen> 3 </since_tizen>
public enum PlaybackInterruptionReason
{
/// <summary>
/// Specifies keys for the metadata.
/// </summary>
/// <seealso cref="StreamInfo.GetMetadata(StreamMetadataKey)"/>
+ /// <since_tizen> 3 </since_tizen>
public enum StreamMetadataKey
{
/// <summary>
/// <summary>
/// The exception that is thrown when there is no available space in a buffer.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class NoBufferSpaceException : InvalidOperationException
{
/// <summary>
/// Initializes a new instance of the NoBufferSpaceException class with a specified error message.
/// </summary>
/// <param name="message">Error description.</param>
+ /// <since_tizen> 3 </since_tizen>
public NoBufferSpaceException(string message) : base(message)
{
}
/// <summary>
/// The exception that is thrown when there is no available resource for internal use.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class ResourceLimitException : InvalidOperationException
{
/// <summary>
/// Initializes a new instance of the ResourceLimitException class with a specified error message.
/// </summary>
/// <param name="message">Error description.</param>
+ /// <since_tizen> 3 </since_tizen>
public ResourceLimitException(string message) : base(message)
{
}
/// <summary>
/// Provides data for the <see cref="Player.ErrorOccurred"/> event.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class PlayerErrorOccurredEventArgs : EventArgs
{
/// <summary>
/// Initializes a new instance of the PlayerErrorOccurredEventArgs class.
/// </summary>
/// <param name="error">The value indicating the kind of error occurred.</param>
+ /// <since_tizen> 3 </since_tizen>
public PlayerErrorOccurredEventArgs(PlayerError error)
{
Error = error;
/// <summary>
/// Gets the error.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public PlayerError Error { get; }
/// <summary>
/// Returns a string that represents the current object.
/// </summary>
/// <returns>A string that represents the current object.</returns>
+ /// <since_tizen> 3 </since_tizen>
public override string ToString()
{
return $"Error={ Error.ToString() }";
/// </summary>
/// <seealso cref="Player.SubtitleTrackInfo"/>
/// <seealso cref="Player.AudioTrackInfo"/>
+ /// <since_tizen> 3 </since_tizen>
public class PlayerTrackInfo
{
private readonly int _streamType;
/// </remarks>
/// <exception cref="ObjectDisposedException">The <see cref="Player"/> that this instance belongs to has been disposed of.</exception>
/// <exception cref="InvalidOperationException">The <see cref="Player"/> that this instance belongs to is not in the valid state.</exception>
+ /// <since_tizen> 3 </since_tizen>
public int GetCount()
{
_owner.ValidatePlayerState(PlayerState.Ready, PlayerState.Playing, PlayerState.Paused);
/// -or-<br/>
/// <paramref name="index"/> is equal to or greater than <see cref="GetCount()"/>.
/// </exception>
+ /// <since_tizen> 3 </since_tizen>
public string GetLanguageCode(int index)
{
_owner.ValidatePlayerState(PlayerState.Ready, PlayerState.Playing, PlayerState.Paused);
/// -or-<br/>
/// <paramref name="value"/> is equal to or greater than <see cref="GetCount()"/>.
/// </exception>
+ /// <since_tizen> 3 </since_tizen>
public int Selected
{
get
/// <summary>
/// Represents properties for the audio stream.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public struct AudioStreamProperties
{
/// <summary>
/// <param name="sampleRate">The sample rate of the stream.</param>
/// <param name="channels">The number of channels of the stream.</param>
/// <param name="bitRate">The bit rate of the stream.</param>
+ /// <since_tizen> 3 </since_tizen>
public AudioStreamProperties(int sampleRate, int channels, int bitRate)
{
SampleRate = sampleRate;
/// Gets or sets the sample rate.
/// </summary>
/// <value>The audio sample rate(Hz).</value>
+ /// <since_tizen> 3 </since_tizen>
public int SampleRate
{
get;
/// <summary>
/// Gets or sets the channels.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public int Channels
{
get;
/// Gets or sets the bit rate.
/// </summary>
/// <value>The audio bit rate(Hz).</value>
+ /// <since_tizen> 3 </since_tizen>
public int BitRate
{
get;
/// Returns a string that represents the current object.
/// </summary>
/// <returns>A string that represents the current object.</returns>
+ /// <since_tizen> 3 </since_tizen>
public override string ToString() =>
$"SampleRate={ SampleRate.ToString() }, Channels={ Channels.ToString() }, BitRate={ BitRate.ToString() }";
}
/// <summary>
/// Represents properties for the video stream.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public struct VideoStreamProperties
{
/// <summary>
/// <param name="fps">The fps of the stream.</param>
/// <param name="bitRate">The bit rate of the stream.</param>
/// <param name="size">The size of the stream.</param>
+ /// <since_tizen> 3 </since_tizen>
public VideoStreamProperties(int fps, int bitRate, Size size)
{
Fps = fps;
/// <param name="bitRate">The bit rate of the stream.</param>
/// <param name="width">The width of the stream.</param>
/// <param name="height">The height of the stream.</param>
+ /// <since_tizen> 3 </since_tizen>
public VideoStreamProperties(int fps, int bitRate, int width, int height)
{
Fps = fps;
/// <summary>
/// Gets or sets the fps.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public int Fps
{
get;
/// <summary>
/// Gets or sets the bit rate.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public int BitRate
{
get;
/// <summary>
/// Gets or sets the size.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public Size Size
{
get;
/// Returns a string that represents the current object.
/// </summary>
/// <returns>A string that represents the current object.</returns>
+ /// <since_tizen> 3 </since_tizen>
public override string ToString()
{
return $"Fps={ Fps.ToString() }, BitRate={ BitRate.ToString() }, Size=[{ Size.ToString() }]";
/// <summary>
/// Provides a means to retrieve stream information.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class StreamInfo
{
internal StreamInfo(Player owner)
/// <exception cref="InvalidOperationException">
/// The <see cref="Multimedia.Player"/> that this instance belongs to is not in the valid state.
/// </exception>
+ /// <since_tizen> 3 </since_tizen>
public byte[] GetAlbumArt()
{
Player.ValidatePlayerState(PlayerState.Ready, PlayerState.Playing, PlayerState.Paused);
/// Retrieves the codec name of the audio or null if there is no audio.
/// </summary>
/// <returns>A string that represents the codec name.</returns>
+ /// <since_tizen> 3 </since_tizen>
public string GetAudioCodec()
{
return GetCodecInfo(true);
/// Retrieves the codec name of the video or null if there is no video.
/// </summary>
/// <returns>A string that represents the codec name.</returns>
+ /// <since_tizen> 3 </since_tizen>
public string GetVideoCodec()
{
return GetCodecInfo(false);
/// <exception cref="InvalidOperationException">
/// The <see cref="Multimedia.Player"/> that this instance belongs to is not in the valid state.
/// </exception>
+ /// <since_tizen> 3 </since_tizen>
public int GetDuration()
{
Player.ValidatePlayerState(PlayerState.Ready, PlayerState.Playing, PlayerState.Paused);
/// <exception cref="InvalidOperationException">
/// The <see cref="Multimedia.Player"/> that this instance belongs to is not in the valid state.
/// </exception>
+ /// <since_tizen> 3 </since_tizen>
public AudioStreamProperties GetAudioProperties()
{
Player.ValidatePlayerState(PlayerState.Ready, PlayerState.Playing, PlayerState.Paused);
/// <exception cref="InvalidOperationException">
/// The <see cref="Multimedia.Player"/> that this instance belongs to is not in the valid state.
/// </exception>
+ /// <since_tizen> 3 </since_tizen>
public VideoStreamProperties GetVideoProperties()
{
Player.ValidatePlayerState(PlayerState.Ready, PlayerState.Playing, PlayerState.Paused);
/// <exception cref="InvalidOperationException">
/// The <see cref="Multimedia.Player"/> that this instance belongs to is not in the valid state.
/// </exception>
+ /// <since_tizen> 3 </since_tizen>
public string GetMetadata(StreamMetadataKey key)
{
Player.ValidatePlayerState(PlayerState.Ready, PlayerState.Playing, PlayerState.Paused);
/// <summary>
/// Gets the <see cref="Multimedia.Player"/> that owns this instance.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public Player Player { get; }
}
}
/// <summary>
/// Provides data for the <see cref="Player.SubtitleUpdated"/> event.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class SubtitleUpdatedEventArgs : EventArgs
{
internal SubtitleUpdatedEventArgs(uint duration, string text)
/// <summary>
/// Gets the duration of the updated subtitle.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public uint Duration { get; }
/// <summary>
/// Gets the text of the updated subtitle.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public string Text { get; }
/// <summary>
/// Returns a string that represents the current object.
/// </summary>
/// <returns>A string that represents the current object.</returns>
+ /// <since_tizen> 3 </since_tizen>
public override string ToString()
{
return $"Duration={ Duration.ToString() }, Text={ Text }";
/// <summary>
/// Provides data for the <see cref="Player.VideoFrameDecoded"/> event.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class VideoFrameDecodedEventArgs : EventArgs
{
/// <summary>
/// <summary>
/// Gets the packet containing the decoded frame.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public MediaPacket Packet { get; }
}
/// <summary>
/// Provides data for the <see cref="Player.VideoStreamChanged"/> event.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class VideoStreamChangedEventArgs : EventArgs
{
/// <summary>
/// <summary>
/// Gets the <see cref="Size"/> of the new video.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public Size Size { get; }
/// <summary>
/// Gets the fps of the new video.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public int Fps { get; }
/// <summary>
/// Gets the bit rate of the new video.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public int BitRate { get; }
/// <summary>
/// Returns a string that represents the current object.
/// </summary>
/// <returns>A string that represents the current object.</returns>
+ /// <since_tizen> 3 </since_tizen>
public override string ToString()
{
return $"Size=({ Size.ToString() }), Fps={ Fps.ToString() }, BitRate={ BitRate.ToString() }";
/// Or if you want to access only an external storage,
/// you should add privilege http://tizen.org/privilege/externalstorage.
/// </privilege>
+ /// <since_tizen> 3 </since_tizen>
public class MetadataEditor : IDisposable
{
private bool _disposed = false;
/// The file is read-only.
/// </exception>
/// <exception cref="ObjectDisposedException">The <see cref="MetadataEditor"/> has already been disposed of.</exception>
+ /// <since_tizen> 3 </since_tizen>
public void Commit()
{
if (_isFileReadOnly)
/// <param name="disposing">
/// true to release both managed and unmanaged resources; false to release only unmanaged resources.
/// </param>
+ /// <since_tizen> 3 </since_tizen>
protected virtual void Dispose(bool disposing)
{
if (!_disposed)
/// <summary>
/// Releases all resources used by the <see cref="MetadataEditor"/> object.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public void Dispose()
{
Dispose(true);
/// <summary>
/// Represents the artwork information of the media.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class Artwork
{
/// <summary>
/// <summary>
/// Represents the video metadata information.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public class VideoMetadata
{
private VideoMetadata(int streamCount, MetadataExtractor extractor)
/// <summary>
/// Gets the bitrate.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
/// <value>The bitrate value, or null if the information does not exist.</value>
public int? BitRate { get; }
/// <summary>
/// Gets the video fps.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
/// <value>The fps value, or null if the information does not exist.</value>
public int? Fps { get; }
/// <summary>
/// Gets the width of the video.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
/// <value>The width value, or null if the information does not exist.</value>
public int? Width { get; }
/// <summary>
/// Gets the height of the video.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
/// <value>The height value, or null if the information does not exist.</value>
public int? Height { get; }
/// <summary>
/// Gets the codec type of the video.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
/// <value>A string representing the codec type, or null if the information does not exist.</value>
public string Codec { get; }
/// <summary>
/// Gets the video stream count.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
/// <value>The number of video streams.</value>
public int StreamCount { get; }
/// Returns a string that represents the current object.
/// </summary>
/// <returns>A string that represents the current object.</returns>
+ /// <since_tizen> 4 </since_tizen>
public override string ToString() => _description.Value;
}
/// <summary>
/// Represents the audio metadata information.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public class AudioMetadata
{
private AudioMetadata(int streamCount, MetadataExtractor extractor)
/// <summary>
/// Gets the audio bitrate.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
/// <value>The bit rate value, or null if the information does not exist.</value>
public int? BitRate { get; }
/// <summary>
/// Gets the audio channels.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
/// <value>The number of the audio channels, or null if the information does not exist.</value>
public int? Channels { get; }
/// <summary>
/// Gets the audio sample rate.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
/// <value>The sample rate, or null if the information does not exist.</value>
public int? SampleRate { get; }
/// <summary>
/// Gets the bit per sample of the audio.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
/// <value>The bit per sample, or null if the information does not exist.</value>
public int? BitPerSample { get; }
/// <summary>
/// Gets the audio stream count.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
/// <value>The number of audio streams.</value>
public int StreamCount { get; }
/// <summary>
/// Gets the audio codec type.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public string Codec { get; }
private Lazy<string> _description;
/// Returns a string that represents the current object.
/// </summary>
/// <returns>A string that represents the current object.</returns>
+ /// <since_tizen> 4 </since_tizen>
public override string ToString() => _description.Value;
}
/// <summary>
/// Represents the metadata information of a media.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class Metadata
{
internal Metadata(MetadataExtractor extractor)
/// <summary>
/// Gets the duration of the media.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
/// <value>The duration value, or null if the information does not exist.</value>
public int? Duration { get; }
/// <summary>
/// Gets the video metadata.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
/// <value>The video metadata, or null if the information does not exist.</value>
public VideoMetadata Video { get; }
/// <summary>
/// Gets the audio metadata.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
/// <value>The audio metadata, or null if the information does not exist.</value>
public AudioMetadata Audio { get; }
/// <summary>
/// Gets the release date of the media.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
/// <value>A string representing the release date, or null if the information does not exist.</value>
public string DateReleased { get; }
/// <summary>
/// Gets the longitude of the media.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
/// <value>The longitude value, or null if the information does not exist.</value>
public double? Longitude { get; }
/// <summary>
/// Gets the latitude of the media.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
/// <value>The latitude value, or null if the information does not exist.</value>
public double? Latitude { get; }
/// <summary>
/// Gets the altitude of the media.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
/// <value>The altitude value, or null if the information does not exist.</value>
public double? Altitude { get; }
/// <summary>
/// Gets the unsynchronized lyrics of the media.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
/// <value>A string representing the unsynchronized lyrics, or null if the information does not exist.</value>
public string UnsyncLyrics { get; }
/// <summary>
/// Gets the number of synchronized lyrics of the media.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
/// <value>The number of the synchronized lyrics.</value>
public int SyncLyricsCount { get; }
/// <summary>
/// Gets the recording date of the media.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
/// <value>A string representing the recording date, or null if the information does not exist.</value>
public string DateRecorded { get; }
/// <summary>
/// Gets the rotate(orientation) information of the media.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
/// <value>A string representing the rotation information, or null if the information does not exist.</value>
public string Rotation { get; }
/// Returns a string that represents the current object.
/// </summary>
/// <returns>A string that represents the current object.</returns>
+ /// <since_tizen> 3 </since_tizen>
public override string ToString() => _description.Value;
}
}
/// <summary>
/// Provides a means to get the metadata from a media file.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class MetadataExtractor : IDisposable
{
private bool _disposed = false;
/// <param name="disposing">
/// true to release both managed and unmanaged resources; false to release only unmanaged resources.
/// </param>
+ /// <since_tizen> 3 </since_tizen>
protected virtual void Dispose(bool disposing)
{
if (!_disposed)
/// <summary>
/// Releases all resources used by the <see cref="MetadataExtractor"/> object.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public void Dispose()
{
Dispose(true);
/// <summary>
/// Represents the synchronized lyrics information of the media.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class SyncLyrics
{
/// <summary>
/// <summary>
/// Provides a means for using the radio feature.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class Radio : IDisposable
{
private RadioHandle _handle;
/// Initializes a new instance of the Radio class.
/// </summary>
/// <exception cref="NotSupportedException">The radio feature is not supported.</exception>
+ /// <since_tizen> 3 </since_tizen>
public Radio()
{
CompatibilitySupport.DisableSessionBackwardCompatibility();
/// <summary>
/// Occurs when the radio scanning information is updated.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public event EventHandler<ScanUpdatedEventArgs> ScanUpdated;
/// <summary>
/// Occurs when the radio scanning stops.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public event EventHandler ScanStopped;
/// <summary>
/// Occurs when the radio scanning is completed.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public event EventHandler ScanCompleted;
/// <summary>
/// Occurs when the radio is interrupted.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public event EventHandler<RadioInterruptedEventArgs> Interrupted;
/// <summary>
/// Gets the current state of the radio.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public RadioState State
{
get
/// -or- <br/>
/// <paramref name="value"/> is greater than <see cref="Range.Max"/> of <see cref="FrequencyRange"/>.
/// </exception>
+ /// <since_tizen> 3 </since_tizen>
public int Frequency
{
get
/// <summary>
/// Gets the current signal strength in the range of -128 ~ 128 dBm.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public int SignalStrength
{
get
/// true if the radio is muted; otherwise, false.
/// The default is false.
/// </value>
+ /// <since_tizen> 3 </since_tizen>
public bool IsMuted
{
get
/// <summary>
/// Gets the channel spacing for the current region.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public int ChannelSpacing
{
get
/// -or-<br/>
/// <paramref name="value"/> is greater than 1.0.
/// </exception>
+ /// <since_tizen> 3 </since_tizen>
public float Volume
{
get
/// <summary>
/// Gets the frequency for the region in the range of 87500 ~ 108000 kHz.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public Range FrequencyRange
{
get
/// </summary>
/// <remarks>The radio must be in the <see cref="RadioState.Ready"/> state.</remarks>
/// <exception cref="InvalidOperationException">The radio is not in the valid state.</exception>
+ /// <since_tizen> 3 </since_tizen>
public void Start()
{
ValidateRadioState(RadioState.Ready);
/// </summary>
/// <remarks>The radio must be in the <see cref="RadioState.Playing"/> state.</remarks>
/// <exception cref="InvalidOperationException">The radio is not in the valid state.</exception>
+ /// <since_tizen> 3 </since_tizen>
public void Stop()
{
ValidateRadioState(RadioState.Playing);
/// <exception cref="InvalidOperationException">The radio is not in the valid state.</exception>
/// <seealso cref="ScanUpdated"/>
/// <seealso cref="ScanCompleted"/>
+ /// <since_tizen> 3 </since_tizen>
public void StartScan()
{
ValidateRadioState(RadioState.Ready, RadioState.Playing);
/// <remarks>The radio must be in the <see cref="RadioState.Scanning"/> state.</remarks>
/// <exception cref="InvalidOperationException">The radio is not in the valid state.</exception>
/// <seealso cref="ScanStopped"/>
+ /// <since_tizen> 3 </since_tizen>
public void StopScan()
{
ValidateRadioState(RadioState.Scanning);
/// -or-<br/>
/// Seeking is in progress.
/// </exception>
+ /// <since_tizen> 3 </since_tizen>
public Task<int> SeekUpAsync()
{
return SeekAsync(Native.SeekUp);
/// -or-<br/>
/// Seeking is in progress.
/// </exception>
+ /// <since_tizen> 3 </since_tizen>
public Task<int> SeekDownAsync()
{
return SeekAsync(Native.SeekDown);
/// <param name="disposing">
/// true to release both managed and unmanaged resources; false to release only unmanaged resources.
/// </param>
+ /// <since_tizen> 3 </since_tizen>
protected virtual void Dispose(bool disposing)
{
if (!_disposed)
/// <summary>
/// Releases all resources used by the <see cref="Radio"/> object.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public void Dispose()
{
Dispose(true);
/// <summary>
/// Provides data for the <see cref="Radio.Interrupted"/> event.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class RadioInterruptedEventArgs : EventArgs
{
internal RadioInterruptedEventArgs(RadioInterruptedReason reason)
/// Gets the reason.
/// </summary>
/// <value>The reason for interruption.</value>
+ /// <since_tizen> 3 </since_tizen>
public RadioInterruptedReason Reason { get; }
/// <summary>
/// Returns a string that represents the current object.
/// </summary>
/// <returns>A string that represents the current object.</returns>
+ /// <since_tizen> 3 </since_tizen>
public override string ToString() => $"Reason={ Reason.ToString() }";
}
}
/// <summary>
/// Specifies <see cref="Radio"/> interrupted reasons.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public enum RadioInterruptedReason
{
/// <summary>
/// <summary>
/// Specifies states of the <see cref="Radio"/>.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public enum RadioState
{
/// <summary>
/// <summary>
/// Provides data for the <see cref="Radio.ScanUpdated"/> event.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class ScanUpdatedEventArgs : EventArgs
{
internal ScanUpdatedEventArgs(int tunedFrequency)
/// <summary>
/// Gets the tuned radio frequency that is scanned, in the range of 87500 ~ 108000 kHz.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public int Frequency { get; }
/// <summary>
/// Returns a string that represents the current object.
/// </summary>
/// <returns>A string that represents the current object.</returns>
+ /// <since_tizen> 3 </since_tizen>
public override string ToString()
{
return $"Frequency={ Frequency.ToString() }";
/// <summary>
/// Provides the ability to control audio recording.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public class AudioRecorder : Recorder
{
private static NativeHandle CreateHandle()
/// <seealso cref="Recorder.GetSupportedFileFormats"/>
/// <seealso cref="RecorderExtensions.GetSupportedFileFormats(RecorderAudioCodec)"/>
/// <seealso cref="SetFormatAndCodec(RecorderAudioCodec, RecorderFileFormat)"/>
+ /// <since_tizen> 4 </since_tizen>
public AudioRecorder(RecorderAudioCodec audioCodec, RecorderFileFormat fileFormat) : base(CreateHandle())
{
SetFormatAndCodec(audioCodec, fileFormat);
/// <seealso cref="Recorder.GetSupportedFileFormats"/>
/// <seealso cref="RecorderExtensions.GetSupportedFileFormats(RecorderAudioCodec)"/>
/// <seealso cref="Recorder.Start(string)"/>
+ /// <since_tizen> 4 </since_tizen>
public void SetFormatAndCodec(RecorderAudioCodec audioCodec, RecorderFileFormat fileFormat)
{
ThrowIfCodecAndFormatNotValid(audioCodec, fileFormat);
/// <summary>
/// Provides data for the <see cref="Recorder.AudioStreamStoring"/> event.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public class AudioStreamStoringEventArgs : EventArgs
{
internal AudioStreamStoringEventArgs(IMediaBuffer stream, AudioSampleType type, int channel,
/// The buffer is only valid in the event.<br/>
/// Any attempt to access to this buffer after the event ends will throw an exception.
/// </remarks>
+ /// <since_tizen> 4 </since_tizen>
public IMediaBuffer Stream { get; }
/// <summary>
/// Gets the audio format type.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public AudioSampleType Type { get; }
/// <summary>
/// Gets the number of channels.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public int Channels { get; }
/// <summary>
/// Gets the timestamp(PTS) of stream buffer in milliseconds.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public long Timestamp { get; }
}
}
/// <summary>
/// Provides data for the <see cref="Recorder.MuxedStreamDelivered"/> event.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class MuxedStreamDeliveredEventArgs : EventArgs
{
internal MuxedStreamDeliveredEventArgs(IMediaBuffer stream, ulong offset)
/// This buffer is read-only and only valid in the event.<br/>
/// Any attempt to access to this buffer after the event ends will throw an exception.
/// </remarks>
+ /// <since_tizen> 3 </since_tizen>
public IMediaBuffer Stream { get; }
/// <summary>
/// The file offset where the buffer will be written.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public long Offset { get; }
}
}
}
}
+ /// <since_tizen> 3 </since_tizen>
public partial class Recorder
{
internal static Lazy<Capabilities> Capabilities { get; } = new Lazy<Capabilities>(LoadCapabilities);
/// <summary>
/// Gets the file formats that the current device supports.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public static IEnumerable<RecorderFileFormat> GetSupportedFileFormats() => Capabilities.Value.SupportedFileFormats;
/// <summary>
/// Gets the audio encoders that the current device supports.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public static IEnumerable<RecorderAudioCodec> GetSupportedAudioCodecs() => Capabilities.Value.SupportedAudioCodecs;
internal static void ValidateFileFormat(RecorderFileFormat format)
/// <summary>
/// Occurs when an error occurs during the recorder operation.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public event EventHandler<RecordingErrorOccurredEventArgs> ErrorOccurred;
private Native.RecorderErrorCallback _errorOccurredCallback;
/// <summary>
/// Occurs after interrupt handling is completed.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public event EventHandler<RecorderInterruptedEventArgs> Interrupted;
private Native.InterruptedCallback _interruptedCallback;
/// <summary>
/// This event occurs when the recorder state is changed.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public event EventHandler<RecorderStateChangedEventArgs> StateChanged;
private Native.StatechangedCallback _stateChangedCallback;
/// <summary>
/// Occurs when the recording information changes.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public event EventHandler<RecordingStatusChangedEventArgs> RecordingStatusChanged;
private Native.RecordingProgressCallback _recordingProgressCallback;
/// <remarks>
/// Do not call <see cref="Commit"/> and <see cref="Cancel"/> in this event.
/// </remarks>
+ /// <since_tizen> 4 </since_tizen>
public event EventHandler<AudioStreamStoringEventArgs> AudioStreamStoring;
private Native.AudioStreamCallback _audioStreamCallback;
/// <remarks>
/// After this event is raised, the recording data is discarded and not written in the recording file.
/// </remarks>
+ /// <since_tizen> 3 </since_tizen>
public event EventHandler<RecordingLimitReachedEventArgs> RecordingLimitReached;
private Native.RecordingLimitReachedCallback _recordingLimitReachedCallback;
/// <summary>
/// Occurs when the muxed stream data is being delivered.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public event EventHandler<MuxedStreamDeliveredEventArgs> MuxedStreamDelivered;
private Native.MuxedStreamCallback _muxedStreamCallback;
/// <summary>
/// Occurs before interrupt handling is started.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public event EventHandler<RecorderInterruptingEventArgs> Interrupting;
private Native.InterruptStartedCallback _interruptingCallback;
/// <summary>
/// Occurs when a recorder device state changes.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public static event EventHandler<RecorderDeviceStateChangedEventArgs> DeviceStateChanged
{
add
/// Gets the audio codec for encoding an audio stream.
/// </summary>
/// <seealso cref="GetSupportedAudioCodecs"/>
+ /// <since_tizen> 4 </since_tizen>
public RecorderAudioCodec AudioCodec
{
get => _audioCodec;
/// Gets the file format of the recording result.
/// </summary>
/// <seealso cref="GetSupportedFileFormats"/>
+ /// <since_tizen> 4 </since_tizen>
public RecorderFileFormat FileFormat
{
get => _fileFormat;
/// <exception cref="ArgumentOutOfRangeException"><paramref name="value"/> is less than or equal to zero.</exception>
/// <exception cref="InvalidOperationException">The recorder is not in the valid state.</exception>
/// <exception cref="ObjectDisposedException">The recorder already has been disposed of.</exception>
+ /// <since_tizen> 4 </since_tizen>
public int AudioChannels
{
get
/// <exception cref="ArgumentException"><paramref name="value"/> is not valid.</exception>
/// <exception cref="InvalidOperationException">The recorder is not in the valid state.</exception>
/// <exception cref="ObjectDisposedException">The recorder already has been disposed of.</exception>
+ /// <since_tizen> 4 </since_tizen>
public RecorderAudioDevice AudioDevice
{
get
/// <exception cref="ArgumentOutOfRangeException"><paramref name="value"/> is less than or equal to zero.</exception>
/// <exception cref="InvalidOperationException">The recorder is not in the valid state.</exception>
/// <exception cref="ObjectDisposedException">The recorder already has been disposed of.</exception>
+ /// <since_tizen> 4 </since_tizen>
public int AudioSampleRate
{
get
/// <exception cref="ArgumentOutOfRangeException"><paramref name="value"/> is less than or equal to zero.</exception>
/// <exception cref="InvalidOperationException">The recorder is not in the valid state.</exception>
/// <exception cref="ObjectDisposedException">The recorder already has been disposed of.</exception>
+ /// <since_tizen> 4 </since_tizen>
public int AudioBitRate
{
get
/// <exception cref="ArgumentOutOfRangeException"><paramref name="value"/> is less than zero.</exception>
/// <exception cref="InvalidOperationException">The recorder is not in the valid state.</exception>
/// <exception cref="ObjectDisposedException">The recorder already has been disposed of.</exception>
+ /// <since_tizen> 4 </since_tizen>
public int SizeLimit
{
get
/// <exception cref="ArgumentOutOfRangeException"><paramref name="value"/> is less than zero.</exception>
/// <exception cref="InvalidOperationException">The recorder is not in the valid state.</exception>
/// <exception cref="ObjectDisposedException">The recorder already has been disposed of.</exception>
+ /// <since_tizen> 4 </since_tizen>
public int TimeLimit
{
get
/// Gets or sets the mute state of a recorder.
/// </summary>
/// <exception cref="ObjectDisposedException">The recorder already has been disposed of.</exception>
+ /// <since_tizen> 4 </since_tizen>
public bool Muted
{
get => Native.GetMute(Handle);
/// <summary>
/// Releases the unmanaged resources used by the Recorder.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public void Dispose()
{
Dispose(true);
/// <param name="disposing">
/// true to release both managed and unmanaged resources; false to release only unmanaged resources.
/// </param>
+ /// <since_tizen> 3 </since_tizen>
protected virtual void Dispose(bool disposing)
{
if (!_disposed)
/// </summary>
/// <value>A <see cref="RecorderState"/> that specifies the state of the recorder.</value>
/// <exception cref="ObjectDisposedException">The recorder already has been disposed of.</exception>
+ /// <since_tizen> 3 </since_tizen>
public RecorderState State
{
get
/// An internal error occurred.
/// </exception>
/// <exception cref="ObjectDisposedException">The recorder already has been disposed of.</exception>
+ /// <since_tizen> 3 </since_tizen>
public void Prepare()
{
if (_state == RecorderState.Ready)
/// An internal error occurred.
/// </exception>
/// <exception cref="ObjectDisposedException">The recorder already has been disposed of.</exception>
+ /// <since_tizen> 3 </since_tizen>
public void Unprepare()
{
ThrowIfAccessedInAudioStreamStoring();
/// <exception cref="UnauthorizedAccessException">Caller does not have required privilege.</exception>
/// <seealso cref="Commit"/>
/// <seealso cref="Cancel"/>
+ /// <since_tizen> 4 </since_tizen>
public void Start(string savePath)
{
ValidateState(RecorderState.Ready);
/// An internal error occurred.
/// </exception>
/// <exception cref="ObjectDisposedException">The recorder already has been disposed of.</exception>
+ /// <since_tizen> 4 </since_tizen>
public void Resume()
{
if (_state == RecorderState.Recording)
/// An internal error occurred.
/// </exception>
/// <exception cref="ObjectDisposedException">The recorder already has been disposed of.</exception>
+ /// <since_tizen> 3 </since_tizen>
public void Pause()
{
if (_state == RecorderState.Paused)
/// An internal error occurred.
/// </exception>
/// <exception cref="ObjectDisposedException">The recorder already has been disposed of.</exception>
+ /// <since_tizen> 3 </since_tizen>
public void Commit()
{
ThrowIfAccessedInAudioStreamStoring();
/// An internal error occurred.
/// </exception>
/// <exception cref="ObjectDisposedException">The recorder already has been disposed of.</exception>
+ /// <since_tizen> 3 </since_tizen>
public void Cancel()
{
ThrowIfAccessedInAudioStreamStoring();
/// -or-<br/>
/// <paramref name="policy"/> already has been disposed of.
/// </exception>
+ /// <since_tizen> 4 </since_tizen>
public void ApplyAudioStreamPolicy(AudioStreamPolicy policy)
{
if (policy == null)
/// The recorder must be in the <see cref="RecorderState.Recording"/> or the <see cref="RecorderState.Paused"/> state.
/// </remarks>
/// <exception cref="ObjectDisposedException">The recorder already has been disposed of.</exception>
+ /// <since_tizen> 4 </since_tizen>
public double GetPeakAudioLevel()
{
ValidateState(RecorderState.Recording, RecorderState.Paused);
/// Returns the state of recorder device.
/// </summary>
/// <exception cref="ArgumentException"><paramref name="type"/> is invalid.</exception>
+ /// <since_tizen> 4 </since_tizen>
public static RecorderDeviceState GetDeviceState(RecorderType type)
{
ValidationUtil.ValidateEnum(typeof(RecorderType), type, nameof(type));
/// <summary>
/// The exception that is thrown when a recorder device-related error occurs.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public class RecorderDeviceException : Exception
{
/// <summary>
/// Initializes a new instance of the <see cref="RecorderDeviceException"/> class.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public RecorderDeviceException() : base()
{
}
/// <summary>
/// Initializes a new instance of the <see cref="RecorderDeviceException"/> class with a specified error message.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public RecorderDeviceException(string message) : base(message)
{
}
/// Initializes a new instance of the <see cref="RecorderDeviceException"/> class with
/// a specified error message and inner exception.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public RecorderDeviceException(string message, Exception innerException) : base(message, innerException)
{
}
/// <summary>
/// Provides data for the <see cref="Recorder.DeviceStateChanged"/> event.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public class RecorderDeviceStateChangedEventArgs : EventArgs
{
internal RecorderDeviceStateChangedEventArgs(RecorderType type, RecorderDeviceState state)
/// <summary>
/// Gets the recorder type.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public RecorderType Type { get; }
/// <summary>
/// Gets the device state.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public RecorderDeviceState DeviceState { get; }
}
}
/// Specifies audio codecs for <see cref="Recorder"/>.
/// </summary>
/// <seealso cref="Recorder.GetSupportedAudioCodecs"/>
+ /// <since_tizen> 3 </since_tizen>
public enum RecorderAudioCodec
{
/// <summary>
/// Disabled.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
None = -1,
/// <summary>
/// AMR codec.
/// <summary>
/// Specifies audio capture devices for <see cref="Recorder"/>.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public enum RecorderAudioDevice
{
/// <summary>
/// Specifies container formats for <see cref="Recorder"/>.
/// </summary>
/// <seealso cref="Recorder.GetSupportedFileFormats"/>
+ /// <since_tizen> 3 </since_tizen>
public enum RecorderFileFormat
{
/// <summary>
/// <seealso cref="Recorder.StateChanged"/>
/// <seealso cref="Recorder.Interrupting"/>
/// <seealso cref="Recorder.Interrupted"/>
+ /// <since_tizen> 3 </since_tizen>
public enum RecorderPolicy
{
/// <summary>
/// <seealso cref="Recorder.SizeLimit"/>
/// <seealso cref="Recorder.TimeLimit"/>
/// <seealso cref="Recorder.RecordingLimitReached"/>
+ /// <since_tizen> 3 </since_tizen>
public enum RecordingLimitType
{
/// <summary>
/// <summary>
/// Specifies states for <see cref="Recorder"/>.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public enum RecorderState
{
/// <summary>
/// Recorder is created, but not prepared.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
Idle = 1,
/// <summary>
/// Recorder is ready to record. In case of a video recorder,
/// Specifies video codecs for <see cref="VideoRecorder"/>.
/// </summary>
/// <seealso cref="VideoRecorder.GetSupportedVideoCodecs"/>
+ /// <since_tizen> 3 </since_tizen>
public enum RecorderVideoCodec
{
/// <summary>
/// Specifies errors for <see cref="Recorder"/>.
/// </summary>
/// <seealso cref="Recorder.ErrorOccurred"/>
+ /// <since_tizen> 4 </since_tizen>
public enum RecorderError
{
/// <summary>
/// <summary>
/// Specifies recorder types for <see cref="Recorder.DeviceStateChanged"/>.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public enum RecorderType
{
/// <summary>
/// <summary>
/// Specifies recorder device states for <see cref="Recorder.DeviceStateChanged"/>.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public enum RecorderDeviceState
{
/// <summary>
/// <summary>
/// Provides extension methods for <see cref="Recorder"/>.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public static class RecorderExtensions
{
/// <summary>
/// <returns>An IEnumerable of <see cref="RecorderFileFormat"/> representing the supported file formats.</returns>
/// <param name="videoCodec">The <see cref="RecorderVideoCodec"/>.</param>
/// <exception cref="ArgumentException"><paramref name="videoCodec"/> is invalid.</exception>
+ /// <since_tizen> 4 </since_tizen>
public static IEnumerable<RecorderFileFormat> GetSupportedFileFormats(this RecorderVideoCodec videoCodec)
{
ValidationUtil.ValidateEnum(typeof(RecorderVideoCodec), videoCodec, nameof(videoCodec));
/// <returns>An IEnumerable of <see cref="RecorderFileFormat"/> representing the supported file formats.</returns>
/// <param name="audioCodec">The <see cref="RecorderAudioCodec"/>.</param>
/// <exception cref="ArgumentException"><paramref name="audioCodec"/> is invalid.</exception>
+ /// <since_tizen> 4 </since_tizen>
public static IEnumerable<RecorderFileFormat> GetSupportedFileFormats(this RecorderAudioCodec audioCodec)
{
ValidationUtil.ValidateEnum(typeof(RecorderAudioCodec), audioCodec, nameof(audioCodec));
/// <summary>
/// Provides data for the <see cref="Recorder.Interrupted"/> event.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class RecorderInterruptedEventArgs : EventArgs
{
internal RecorderInterruptedEventArgs(RecorderPolicy policy, RecorderState previous, RecorderState current)
/// <summary>
/// Gets the reason that interrupted the recorder.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public RecorderPolicy Reason { get; }
/// <summary>
/// Gets the previous state of the recorder.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public RecorderState Previous { get; }
/// <summary>
/// Gets the current state of the recorder.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public RecorderState Current { get; }
}
}
/// <summary>
/// Provides data for the <see cref="Recorder.Interrupting"/> event.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public class RecorderInterruptingEventArgs : EventArgs
{
internal RecorderInterruptingEventArgs(RecorderPolicy policy, RecorderState state)
/// <summary>
/// Gets the reason of the interrupt.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public RecorderPolicy Reason { get; }
/// <summary>
/// Gets the previous state of the recorder.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public RecorderState State { get; }
}
}
/// <summary>
/// Provides data for the <see cref="Recorder.StateChanged"/> event.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class RecorderStateChangedEventArgs : EventArgs
{
internal RecorderStateChangedEventArgs(RecorderState previous, RecorderState current, bool byPolicy)
/// <summary>
/// Gets the previous state of the recorder.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public RecorderState PreviousState { get; }
/// <summary>
/// Gets the current state of the recorder.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public RecorderState CurrentState { get; }
/// <summary>
/// Gets the value indicating whether the state is changed by policy.
/// </summary>
/// <value>true if the state changed by policy such as resource conflict or security, otherwise false.</value>
+ /// <since_tizen> 3 </since_tizen>
public bool IsStateChangedByPolicy { get; }
}
}
/// <summary>
/// Provides data for the <see cref="Recorder.ErrorOccurred"/> event.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class RecordingErrorOccurredEventArgs : EventArgs
{
internal RecordingErrorOccurredEventArgs(RecorderError error, RecorderState state)
/// <summary>
/// Gets the error.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public RecorderError Error { get; }
}
}
/// <summary>
/// Provides data for the <see cref="Recorder.RecordingLimitReached"/> event.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class RecordingLimitReachedEventArgs : EventArgs
{
/// <summary>
/// with the specified type.
/// </summary>
/// <param name="type">The type of the limit.</param>
+ /// <since_tizen> 3 </since_tizen>
public RecordingLimitReachedEventArgs(RecordingLimitType type)
{
Type = type;
/// <summary>
/// Gets the type of the limit.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public RecordingLimitType Type { get; }
}
}
/// <summary>
/// Provides data for the <see cref="Recorder.RecordingStatusChanged"/> event.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public class RecordingStatusChangedEventArgs : EventArgs
{
/// <summary>
/// </summary>
/// <param name="elapsedTime">The time of the recording in milliseconds.</param>
/// <param name="fileSize">The size of the recording in kilobytes.</param>
+ /// <since_tizen> 4 </since_tizen>
public RecordingStatusChangedEventArgs(long elapsedTime, long fileSize)
{
ElapsedTime = elapsedTime;
/// <summary>
/// Gets the time of the recording in milliseconds.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public long ElapsedTime { get; }
/// <summary>
/// Gets the size of the recording file in kilobytes.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public long FileSize { get; }
}
}
namespace Tizen.Multimedia
{
+ /// <since_tizen> 4 </since_tizen>
public partial class VideoRecorder
{
private static IEnumerable<Size> _frontResolutions;
/// <param name="device">The camera device to retrieve the supported resolutions.</param>
/// <exception cref="NotSupportedException">A required feature is not supported.</exception>
/// <exception cref="ArgumentException"><paramref name="device"/> is invalid.</exception>
+ /// <since_tizen> 4 </since_tizen>
public static IEnumerable<Size> GetSupportedVideoResolutions(CameraDevice device)
{
ValidationUtil.ValidateEnum(typeof(CameraDevice), device, nameof(device));
/// </summary>
/// <feature>http://tizen.org/feature/camera</feature>
/// <exception cref="NotSupportedException">A required feature is not supported.</exception>
+ /// <since_tizen> 4 </since_tizen>
public static IEnumerable<RecorderVideoCodec> GetSupportedVideoCodecs()
=> Capabilities.Value.SupportedVideoCodecs ?? throw new NotSupportedException("Video recording is not supported.");
/// <seealso cref="RecorderExtensions.GetSupportedFileFormats(RecorderVideoCodec)"/>
/// <seealso cref="SetFormatAndCodec(RecorderVideoCodec, RecorderFileFormat)"/>
/// <seealso cref="SetFormatAndCodec(RecorderVideoCodec, RecorderAudioCodec, RecorderFileFormat)"/>
+ /// <since_tizen> 4 </since_tizen>
public VideoRecorder(Camera camera, RecorderVideoCodec videoCodec, RecorderFileFormat fileFormat) :
this(camera, videoCodec, RecorderAudioCodec.None, fileFormat)
{
/// <seealso cref="RecorderExtensions.GetSupportedFileFormats(RecorderVideoCodec)"/>
/// <seealso cref="SetFormatAndCodec(RecorderVideoCodec, RecorderFileFormat)"/>
/// <seealso cref="SetFormatAndCodec(RecorderVideoCodec, RecorderAudioCodec, RecorderFileFormat)"/>
+ /// <since_tizen> 4 </since_tizen>
public VideoRecorder(Camera camera, RecorderVideoCodec videoCodec,
RecorderAudioCodec audioCodec, RecorderFileFormat fileFormat) : base(CreateHandle(camera))
{
/// <seealso cref="RecorderExtensions.GetSupportedFileFormats(RecorderVideoCodec)"/>
/// <seealso cref="SetFormatAndCodec(RecorderVideoCodec, RecorderAudioCodec, RecorderFileFormat)"/>
/// <seealso cref="Recorder.Start(string)"/>
+ /// <since_tizen> 4 </since_tizen>
public void SetFormatAndCodec(RecorderVideoCodec videoCodec, RecorderFileFormat fileFormat)
{
SetFormatAndCodec(videoCodec, RecorderAudioCodec.None, fileFormat);
/// <seealso cref="RecorderExtensions.GetSupportedFileFormats(RecorderVideoCodec)"/>
/// <seealso cref="SetFormatAndCodec(RecorderVideoCodec, RecorderFileFormat)"/>
/// <seealso cref="Recorder.Start(string)"/>
+ /// <since_tizen> 4 </since_tizen>
public void SetFormatAndCodec(RecorderVideoCodec videoCodec, RecorderAudioCodec audioCodec, RecorderFileFormat fileFormat)
{
ThrowIfCodecAndFormatNotValid(videoCodec, audioCodec, fileFormat);
/// <summary>
/// Gets the audio codec for encoding an audio stream.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public RecorderVideoCodec VideoCodec
{
get => _videoCodec;
/// <exception cref="ArgumentOutOfRangeException">The <paramref name="value"/> is less than or equal to 0.</exception>
/// <exception cref="InvalidOperationException">The recorder is not in the valid state.</exception>
/// <exception cref="ObjectDisposedException">The recorder already has been disposed of.</exception>
+ /// <since_tizen> 4 </since_tizen>
public double VideoMotionRate
{
get
/// <value>A <see cref="Rotation"/> that specifies the type of orientation.</value>
/// <exception cref="ArgumentException"><paramref name="value"/> is not valid.</exception>
/// <exception cref="ObjectDisposedException">The recorder already has been disposed of.</exception>
+ /// <since_tizen> 4 </since_tizen>
public Rotation VideoOrientationTag
{
get
/// <exception cref="InvalidOperationException">The recorder is not in the valid state.</exception>
/// <exception cref="ObjectDisposedException">The recorder already has been disposed of.</exception>
/// <seealso cref="VideoRecorder.GetSupportedVideoResolutions(CameraDevice)"/>
+ /// <since_tizen> 4 </since_tizen>
public Size VideoResolution
{
get
/// <exception cref="ArgumentOutOfRangeException"><paramref name="value"/> is less than or equal to zero.</exception>
/// <exception cref="InvalidOperationException">The recorder is not in the valid state.</exception>
/// <exception cref="ObjectDisposedException">The recorder already has been disposed of.</exception>
+ /// <since_tizen> 4 </since_tizen>
public int VideoBitRate
{
get
/// <summary>
/// Represents metadata for media control.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public class MediaControlMetadata
{
/// <summary>
/// Initializes a new instance of the <see cref="MediaControlMetadata"/> class.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public MediaControlMetadata()
{
}
/// <summary>
/// Gets or sets the title.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public string Title { get; set; }
/// <summary>
/// Gets or sets the artist.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public string Artist { get; set; }
/// <summary>
/// Gets or sets the album.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public string Album { get; set; }
/// <summary>
/// Gets or sets the author.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public string Author { get; set; }
/// <summary>
/// Gets or sets the genre.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public string Genre { get; set; }
/// <summary>
/// Gets or sets the duration.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public string Duration { get; set; }
/// <summary>
/// Gets or sets the date.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public string Date { get; set; }
/// <summary>
/// Gets or sets the copyright.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public string Copyright { get; set; }
/// <summary>
/// Gets or sets the description.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public string Description { get; set; }
/// <summary>
/// Gets or sets the track number.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public string TrackNumber { get; set; }
/// <summary>
/// Gets or sets the path of the album art.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public string AlbumArtPath { get; set; }
}
}
\ No newline at end of file
/// <summary>
/// Specifies playback commands.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public enum MediaControlPlaybackCommand
{
/// <summary>
/// <summary>
/// Specifies playback states.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public enum MediaControlPlaybackState
{
/// <summary>
/// </summary>
/// <seealso cref="MediaControllerManager"/>
/// <seealso cref="MediaController"/>
+ /// <since_tizen> 4 </since_tizen>
public static class MediaControlServer
{
private static IntPtr _handle = IntPtr.Zero;
/// <value>true if the server has started; otherwise, false.</value>
/// <seealso cref="Start"/>
/// <seealso cref="Stop"/>
+ /// <since_tizen> 4 </since_tizen>
public static bool IsRunning
{
get
/// <exception cref="InvalidOperationException">An internal error occurs.</exception>
/// <exception cref="UnauthorizedAccessException">Caller does not have required privilege.</exception>
/// <seealso cref="MediaControllerManager.ServerStarted"/>
+ /// <since_tizen> 4 </since_tizen>
public static void Start()
{
Initialize();
/// An internal error occurs.
/// </exception>
/// <seealso cref="MediaControllerManager.ServerStopped"/>
+ /// <since_tizen> 4 </since_tizen>
public static void Stop()
{
EnsureInitializedIfRunning();
/// -or-<br/>
/// An internal error occurs.
/// </exception>
+ /// <since_tizen> 4 </since_tizen>
public static void SetPlaybackState(MediaControlPlaybackState state, long position)
{
ValidationUtil.ValidateEnum(typeof(MediaControlPlaybackState), state, nameof(state));
/// -or-<br/>
/// An internal error occurs.
/// </exception>
+ /// <since_tizen> 4 </since_tizen>
public static void SetMetadata(MediaControlMetadata metadata)
{
if (metadata == null)
/// -or-<br/>
/// An internal error occurs.
/// </exception>
+ /// <since_tizen> 4 </since_tizen>
public static void SetShuffleModeEnabled(bool enabled)
{
Native.UpdateShuffleMode(Handle, enabled ? MediaControllerShuffleMode.On : MediaControllerShuffleMode.Off).
/// An internal error occurs.
/// </exception>
/// <exception cref="ArgumentException"><paramref name="mode"/> is invalid.</exception>
+ /// <since_tizen> 4 </since_tizen>
public static void SetRepeatMode(MediaControlRepeatMode mode)
{
ValidationUtil.ValidateEnum(typeof(MediaControlRepeatMode), mode, nameof(mode));
/// <summary>
/// Occurs when a client sends playback command.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public static event EventHandler<PlaybackCommandReceivedEventArgs> PlaybackCommandReceived;
private static Native.PlaybackStateCommandReceivedCallback _playbackCommandCallback;
/// <summary>
/// Provides data for the <see cref="MediaControllerManager.ServerStarted"/> event.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public class MediaControlServerStartedEventArgs : EventArgs
{
/// <summary>
/// </summary>
/// <param name="mediaController">A <see cref="MediaController"/> of the server.</param>
/// <exception cref="ArgumentNullException"><paramref name="mediaController"/> is null.</exception>
+ /// <since_tizen> 4 </since_tizen>
public MediaControlServerStartedEventArgs(MediaController mediaController)
{
if (mediaController == null)
/// Gets the controller of the server added.
/// </summary>
/// <value>A <see cref="MediaController"/>.</value>
+ /// <since_tizen> 4 </since_tizen>
public MediaController Controller { get; }
}
}
\ No newline at end of file
/// <summary>
/// Provides data for the <see cref="MediaControllerManager.ServerStopped"/> event.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public class MediaControlServerStoppedEventArgs : EventArgs
{
/// <summary>
/// </summary>
/// <param name="serverAppId">The application id of the server stopped.</param>
/// <exception cref="ArgumentNullException"><paramref name="serverAppId"/> is null.</exception>
+ /// <since_tizen> 4 </since_tizen>
public MediaControlServerStoppedEventArgs(string serverAppId)
{
if (serverAppId == null)
/// Gets the application id of the server.
/// </summary>
/// <value>A string represents the application id.</value>
+ /// <since_tizen> 4 </since_tizen>
public string ServerAppId { get; }
}
}
\ No newline at end of file
/// <summary>
/// Provides a means to to send commands to and handle events from media control server.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public class MediaController
{
internal MediaController(MediaControllerManager manager, string serverAppId)
/// Gets the application id of the server.
/// </summary>
/// <value>The server application id.</value>
+ /// <since_tizen> 4 </since_tizen>
public string ServerAppId { get; }
/// <summary>
/// Gets a value indicating whether the sever has been stopped.
/// </summary>
/// <value>true if the server has been stopped; otherwise, false.</value>
+ /// <since_tizen> 4 </since_tizen>
public bool IsStopped
{
get;
/// <summary>
/// Occurs when the server is stopped.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public event EventHandler ServerStopped;
internal void RaiseStoppedEvent()
/// <summary>
/// Occurs when the playback state is updated.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public event EventHandler<PlaybackStateUpdatedEventArgs> PlaybackStateUpdated;
private PlaybackStateUpdatedEventArgs CreatePlaybackUpdatedEventArgs(IntPtr playbackHandle)
/// <summary>
/// Occurs when the metadata is updated.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public event EventHandler<MetadataUpdatedEventArgs> MetadataUpdated;
private MetadataUpdatedEventArgs CreateMetadataUpdatedEventArgs(IntPtr metadataHandle)
/// <summary>
/// Occurs when the shuffle mode is updated.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public event EventHandler<ShuffleModeUpdatedEventArgs> ShuffleModeUpdated;
internal void RaiseShuffleModeUpdatedEvent(MediaControllerShuffleMode mode)
/// <summary>
/// Occurs when the repeat mode is updated.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public event EventHandler<RepeatModeUpdatedEventArgs> RepeatModeUpdated;
internal void RaiseRepeatModeUpdatedEvent(MediaControlRepeatMode mode)
/// </exception>
/// <exception cref="ObjectDisposedException">The <see cref="MediaControllerManager"/> has already been disposed of.</exception>
/// <seealso cref="MediaControlServer.SetPlaybackState(MediaControlPlaybackState, long)"/>
+ /// <since_tizen> 4 </since_tizen>
public MediaControlPlaybackState GetPlaybackState()
{
ThrowIfStopped();
/// </exception>
/// <exception cref="ObjectDisposedException">The <see cref="MediaControllerManager"/> has already been disposed of.</exception>
/// <seealso cref="MediaControlServer.SetPlaybackState(MediaControlPlaybackState, long)"/>
+ /// <since_tizen> 4 </since_tizen>
public long GetPlaybackPosition()
{
ThrowIfStopped();
/// </exception>
/// <exception cref="ObjectDisposedException">The <see cref="MediaControllerManager"/> has already been disposed of.</exception>
/// <seealso cref="MediaControlServer.SetMetadata(MediaControlMetadata)"/>
+ /// <since_tizen> 4 </since_tizen>
public MediaControlMetadata GetMetadata()
{
ThrowIfStopped();
/// </exception>
/// <exception cref="ObjectDisposedException">The <see cref="MediaControllerManager"/> has already been disposed of.</exception>
/// <seealso cref="MediaControlServer.SetShuffleModeEnabled(bool)"/>
+ /// <since_tizen> 4 </since_tizen>
public bool IsShuffleModeEnabled()
{
ThrowIfStopped();
/// </exception>
/// <exception cref="ObjectDisposedException">The <see cref="MediaControllerManager"/> has already been disposed of.</exception>
/// <seealso cref="MediaControlServer.SetRepeatMode(MediaControlRepeatMode)"/>
+ /// <since_tizen> 4 </since_tizen>
public MediaControlRepeatMode GetRepeatMode()
{
ThrowIfStopped();
/// <exception cref="ArgumentException"><paramref name="command"/> is not valid.</exception>
/// <exception cref="ObjectDisposedException">The <see cref="MediaControllerManager"/> has already been disposed of.</exception>
/// <seealso cref="MediaControlServer.PlaybackCommandReceived"/>
+ /// <since_tizen> 4 </since_tizen>
public void SendPlaybackCommand(MediaControlPlaybackCommand command)
{
ThrowIfStopped();
/// <summary>
/// Occurs when a server is started.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public event EventHandler<MediaControlServerStartedEventArgs> ServerStarted;
/// <summary>
/// Occurs when a server is stopped.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public event EventHandler<MediaControlServerStoppedEventArgs> ServerStopped;
private void InitializeEvents()
/// <summary>
/// Provides a means to retrieve active controllers and observe controllers added and removed.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public partial class MediaControllerManager : IDisposable
{
private NativeHandle _handle;
/// <privilege>http://tizen.org/privilege/mediacontroller.client</privilege>
/// <exception cref="InvalidOperationException">An internal error occurs.</exception>
/// <exception cref="UnauthorizedAccessException">The caller does not have required privilege.</exception>
+ /// <since_tizen> 4 </since_tizen>
public MediaControllerManager()
{
Native.Create(out _handle).ThrowIfError("Failed to create media controller client.");
/// <summary>
/// Releases all resources used by the <see cref="MediaControllerManager"/>.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public void Dispose()
{
Dispose(true);
/// Releases the unmanaged resources used by the <see cref="MediaControllerManager"/>.
/// </summary>
/// <param name="disposing">true to release both managed and unmanaged resources; false to release only unmanaged resources.</param>
+ /// <since_tizen> 4 </since_tizen>
protected virtual void Dispose(bool disposing)
{
if (!_disposed)
/// Gets the active controllers.
/// </summary>
/// <returns>An array of <see cref="MediaController"/>.</returns>
+ /// <since_tizen> 4 </since_tizen>
public MediaController[] GetActiveControllers()
{
if (_disposed)
/// <summary>
/// Specifies the repeat mode.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public enum MediaControlRepeatMode
{
/// <summary>
/// <summary>
/// Provides data for the <see cref="MediaController.MetadataUpdated"/> event.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public class MetadataUpdatedEventArgs : EventArgs
{
/// <summary>
/// Initializes a new instance of the <see cref="MetadataUpdatedEventArgs"/> class.
/// </summary>
/// <param name="metadata">The updated <see cref="MediaControlMetadata"/>.</param>
+ /// <since_tizen> 4 </since_tizen>
public MetadataUpdatedEventArgs(MediaControlMetadata metadata)
{
Metadata = metadata;
/// Gets the metadata.
/// </summary>
/// <value>The updated <see cref="MediaControlMetadata"/>.</value>
+ /// <since_tizen> 4 </since_tizen>
public MediaControlMetadata Metadata { get; }
}
}
\ No newline at end of file
/// <summary>
/// Provides data for the <see cref="MediaControlServer.PlaybackCommandReceived"/> event.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public class PlaybackCommandReceivedEventArgs : EventArgs
{
/// <summary>
/// <param name="command">The playback command.</param>
/// <exception cref="ArgumentNullException"><paramref name="clientAppId"/> is null.</exception>
/// <exception cref="ArgumentException"><paramref name="command"/> is invalid.</exception>
+ /// <since_tizen> 4 </since_tizen>
public PlaybackCommandReceivedEventArgs(string clientAppId, MediaControlPlaybackCommand command)
{
if (clientAppId == null)
/// Gets the application id of the client that sent command.
/// </summary>
/// <value>The client application id.</value>
+ /// <since_tizen> 4 </since_tizen>
public string ClientAppId { get; }
/// <summary>
/// Gets the command.
/// </summary>
/// <value>The <see cref="MediaControlPlaybackCommand"/>.</value>
+ /// <since_tizen> 4 </since_tizen>
public MediaControlPlaybackCommand Command { get; }
}
}
\ No newline at end of file
/// <summary>
/// Provides data for the <see cref="MediaController.PlaybackStateUpdated"/> event.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public class PlaybackStateUpdatedEventArgs : EventArgs
{
/// <summary>
/// <param name="position">The playback position in milliseconds.</param>
/// <exception cref="ArgumentException"><paramref name="state"/> is invalid.</exception>
/// <exception cref="ArgumentOutOfRangeException"><paramref name="position"/> is less than zero.</exception>
+ /// <since_tizen> 4 </since_tizen>
public PlaybackStateUpdatedEventArgs(MediaControlPlaybackState state, long position)
{
ValidationUtil.ValidateEnum(typeof(MediaControlPlaybackState), state, nameof(state));
/// <summary>
/// Gets the playback state.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public MediaControlPlaybackState State { get; }
/// <summary>
/// Gets the playback position in milliseconds.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public long Position { get; }
}
}
\ No newline at end of file
/// <summary>
/// Provides data for the <see cref="MediaController.RepeatModeUpdated"/> event.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public class RepeatModeUpdatedEventArgs : EventArgs
{
/// <summary>
/// </summary>
/// <param name="mode">A value indicating the updated repeat mode.</param>
/// <exception cref="ArgumentException"><paramref name="mode"/> is invalid.</exception>
+ /// <since_tizen> 4 </since_tizen>
public RepeatModeUpdatedEventArgs(MediaControlRepeatMode mode)
{
ValidationUtil.ValidateEnum(typeof(MediaControlRepeatMode), mode, nameof(mode));
/// Gets the updated repeat mode.
/// </summary>
/// <value>The <see cref="MediaControlRepeatMode"/>.</value>
+ /// <since_tizen> 4 </since_tizen>
public MediaControlRepeatMode RepeatMode { get; }
}
}
\ No newline at end of file
/// <summary>
/// Provides data for the <see cref="MediaController.ShuffleModeUpdated"/> event.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public class ShuffleModeUpdatedEventArgs : EventArgs
{
/// <summary>
/// Initializes a new instance of the <see cref="ShuffleModeUpdatedEventArgs"/> class.
/// </summary>
/// <param name="enabled">A value indicating whether the shuffle mode is enabled.</param>
+ /// <since_tizen> 4 </since_tizen>
public ShuffleModeUpdatedEventArgs(bool enabled)
{
Enabled = enabled;
/// Gets a value indicating whether the shuffle mode is enabled.
/// </summary>
/// <value>true if the shuffle mode is enabled; otherwise, false.</value>
+ /// <since_tizen> 4 </since_tizen>
public bool Enabled { get; }
}
}
\ No newline at end of file
/// <summary>
/// Provides data for the <see cref="ScreenMirroring.StateChanged"/> event.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public class ScreenMirroringStateChangedEventArgs : EventArgs
{
internal ScreenMirroringStateChangedEventArgs(ScreenMirroringState state)
/// <summary>
/// Gets the current state of the screen mirroring.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public ScreenMirroringState State { get; }
}
/// <summary>
/// Provides data for the <see cref="ScreenMirroring.ErrorOccurred"/> event.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public class ScreenMirroringErrorOccurredEventArgs : EventArgs
{
internal ScreenMirroringErrorOccurredEventArgs(ScreenMirroringError error)
/// <summary>
/// Gets the error that occurred.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public ScreenMirroringError Error { get; }
}
}
\ No newline at end of file
/// Provides the ability to connect to and disconnect from a screen mirroring source,
/// start, pause, and resume the screen mirroring as a sink.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public class ScreenMirroring : IDisposable, IDisplayable<ScreenMirroringErrorCode>
{
private const string Feature = "http://tizen.org/feature/network.wifi.direct.display";
/// </summary>
/// <feature>http://tizen.org/feature/network.wifi.direct.display</feature>
/// <exception cref="NotSupportedException">The feature is not supported.</exception>
+ /// <since_tizen> 4 </since_tizen>
public ScreenMirroring()
{
if (IsSupported() == false)
/// <summary>
/// Occurs when the state is changed.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public event EventHandler<ScreenMirroringStateChangedEventArgs> StateChanged;
/// <summary>
/// Occurs when an error occurs.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public event EventHandler<ScreenMirroringErrorOccurredEventArgs> ErrorOccurred;
#region Display support
/// <summary>
/// Gets the negotiated audio info.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public ScreenMirroringAudioInfo AudioInfo { get; }
/// <summary>
/// Gets the negotiated video info.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public ScreenMirroringVideoInfo VideoInfo { get; }
private bool IsConnected
/// An internal error occurs.
/// </exception>
/// <exception cref="ObjectDisposedException">The <see cref="ScreenMirroring"/> has already been disposed.</exception>
+ /// <since_tizen> 4 </since_tizen>
public void Prepare(Display display)
{
PrepareCore(display, (ScreenMirroringResolutions)0);
/// An internal error occurs.
/// </exception>
/// <exception cref="ObjectDisposedException">The <see cref="ScreenMirroring"/> has already been disposed.</exception>
+ /// <since_tizen> 4 </since_tizen>
public void Prepare(Display display, ScreenMirroringResolutions resolutions)
{
ValidationUtil.ValidateFlagsEnum(resolutions, (ScreenMirroringResolutions)((1 << 7) - 1), nameof(resolutions));
/// <exception cref="ArgumentException"><paramref name="sourceIp"/> is a zero-length string, contains only white space.</exception>
/// <exception cref="ObjectDisposedException">The <see cref="ScreenMirroring"/> has already been disposed.</exception>
/// <exception cref="UnauthorizedAccessException">Caller does not have required permission.</exception>
+ /// <since_tizen> 4 </since_tizen>
public Task ConnectAsync(string sourceIp)
{
if (sourceIp == null)
/// </exception>
/// <exception cref="ObjectDisposedException">The <see cref="ScreenMirroring"/> has already been disposed.</exception>
/// <exception cref="UnauthorizedAccessException">Caller does not have required permission.</exception>
+ /// <since_tizen> 4 </since_tizen>
public Task StartAsync()
{
ValidateState(ScreenMirroringState.Connected);
/// </exception>
/// <exception cref="ObjectDisposedException">The <see cref="ScreenMirroring"/> has already been disposed.</exception>
/// <exception cref="UnauthorizedAccessException">Caller does not have required permission.</exception>
+ /// <since_tizen> 4 </since_tizen>
public Task PauseAsync()
{
ValidateState(ScreenMirroringState.Playing);
/// </exception>
/// <exception cref="ObjectDisposedException">The <see cref="ScreenMirroring"/> has already been disposed.</exception>
/// <exception cref="UnauthorizedAccessException">Caller does not have required permission.</exception>
+ /// <since_tizen> 4 </since_tizen>
public Task ResumeAsync()
{
ValidateState(ScreenMirroringState.Paused);
/// </exception>
/// <exception cref="ObjectDisposedException">The <see cref="ScreenMirroring"/> has already been disposed.</exception>
/// <exception cref="UnauthorizedAccessException">Caller does not have required permission.</exception>
+ /// <since_tizen> 4 </since_tizen>
public void Disconnect()
{
ValidateState(ScreenMirroringState.Connected, ScreenMirroringState.Playing,
/// An internal error occurs.
/// </exception>
/// <exception cref="ObjectDisposedException">The <see cref="ScreenMirroring"/> has already been disposed.</exception>
+ /// <since_tizen> 4 </since_tizen>
public void Unprepare()
{
ValidateState(ScreenMirroringState.Prepared, ScreenMirroringState.Disconnected);
/// <see cref="ScreenMirroring"/> so the garbage collector can reclaim the memory that the
/// <see cref="ScreenMirroring"/> was occupying.
/// </remarks>
+ /// <since_tizen> 4 </since_tizen>
public void Dispose()
{
Dispose(true);
/// <param name="disposing">
/// true to release both managed and unmanaged resources; false to release only unmanaged resources.
/// </param>
+ /// <since_tizen> 4 </since_tizen>
protected virtual void Dispose(bool disposing)
{
if (!_disposed)
/// Provides a means to retrieve the audio information which is negotiated with the source device.
/// </summary>
/// <seealso cref="ScreenMirroring"/>
+ /// <since_tizen> 4 </since_tizen>
public class ScreenMirroringAudioInfo
{
private readonly ScreenMirroring _owner;
/// An internal error occurs.
/// </exception>
/// <exception cref="ObjectDisposedException">The <see cref="ScreenMirroring"/> has already been disposed.</exception>
+ /// <since_tizen> 4 </since_tizen>
public ScreenMirroringAudioCodec Codec
{
get
/// An internal error occurs.
/// </exception>
/// <exception cref="ObjectDisposedException">The <see cref="ScreenMirroring"/> has already been disposed.</exception>
+ /// <since_tizen> 4 </since_tizen>
public int Channels
{
get
/// An internal error occurs.
/// </exception>
/// <exception cref="ObjectDisposedException">The <see cref="ScreenMirroring"/> has already been disposed.</exception>
+ /// <since_tizen> 4 </since_tizen>
public int SampleRate
{
get
/// An internal error occurs.
/// </exception>
/// <exception cref="ObjectDisposedException">The <see cref="ScreenMirroring"/> has already been disposed.</exception>
+ /// <since_tizen> 4 </since_tizen>
public int BitWidth
{
get
/// Specifies the audio codecs for <see cref="ScreenMirroring"/>.
/// </summary>
/// <seealso cref="ScreenMirroringAudioInfo"/>
+ /// <since_tizen> 4 </since_tizen>
public enum ScreenMirroringAudioCodec
{
/// <summary>
/// Specifies the video codecs for <see cref="ScreenMirroring"/>.
/// </summary>
/// <seealso cref="ScreenMirroringVideoInfo"/>
+ /// <since_tizen> 4 </since_tizen>
public enum ScreenMirroringVideoCodec
{
/// <summary>
/// <summary>
/// Specifies the available combinations of resolutions and fps for <see cref="ScreenMirroring"/>.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
[Flags]
public enum ScreenMirroringResolutions
{
/// <summary>
/// Specifies the states of <see cref="ScreenMirroring"/>.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public enum ScreenMirroringState
{
/// <summary>
/// <summary>
/// Specifies the errors for <see cref="ScreenMirroring"/>.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public enum ScreenMirroringError
{
/// <summary>
/// <summary>
/// Provides a means to retrieve the video information which is negotiated with the source device.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public class ScreenMirroringVideoInfo
{
private readonly ScreenMirroring _owner;
/// An internal error occurs.
/// </exception>
/// <exception cref="ObjectDisposedException">The <see cref="ScreenMirroring"/> has already been disposed.</exception>
+ /// <since_tizen> 4 </since_tizen>
public ScreenMirroringVideoCodec Codec
{
get
/// An internal error occurs.
/// </exception>
/// <exception cref="ObjectDisposedException">The <see cref="ScreenMirroring"/> has already been disposed.</exception>
+ /// <since_tizen> 4 </since_tizen>
public Size Resolution
{
get
/// An internal error occurs.
/// </exception>
/// <exception cref="ObjectDisposedException">The <see cref="ScreenMirroring"/> has already been disposed.</exception>
+ /// <since_tizen> 4 </since_tizen>
public int FrameRate
{
get
/// Gets the file formats that the current device supports.
/// </summary>
/// <returns>An IEnumerable of <see cref="RecorderFileFormat"/> representing the supported file formats.</returns>
+ /// <since_tizen> 4 </since_tizen>
public IEnumerable<RecorderFileFormat> GetSupportedFileFormats() => _fileFormats;
private IEnumerable<RecorderAudioCodec> _audioCodecs;
/// Gets the audio codecs that the current device supports.
/// </summary>
/// <returns>An IEnumerable of <see cref="RecorderAudioCodec"/> representing the supported audio codecs.</returns>
+ /// <since_tizen> 4 </since_tizen>
public IEnumerable<RecorderAudioCodec> GetSupportedAudioCodecs() => _audioCodecs;
private IEnumerable<RecorderVideoCodec> _videoCodecs;
/// Gets the video codecs that the current device supports.
/// </summary>
/// <returns>An IEnumerable of <see cref="RecorderVideoCodec"/> representing the supported video codecs.</returns>
+ /// <since_tizen> 4 </since_tizen>
public IEnumerable<RecorderVideoCodec> GetSupportedVideoCodecs() => _videoCodecs;
private IEnumerable<Size> _videoResolutions;
/// Gets the video resolutions that the current device supports.
/// </summary>
/// <returns>An IEnumerable of <see cref="Size"/> representing the supported resolutions.</returns>
+ /// <since_tizen> 4 </since_tizen>
public IEnumerable<Size> GetSupportedVideoResolutions() => _videoResolutions;
internal void ValidateFileFormat(RecorderFileFormat format)
namespace Tizen.Multimedia
{
+ /// <since_tizen> 3 </since_tizen>
public partial class StreamRecorder
{
/// <summary>
/// Occurs when <see cref="StreamRecorder"/> state is changed.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public event EventHandler<StreamRecorderStateChangedEventArgs> StateChanged;
/// <summary>
/// Occurs when a buffer had consumed completely.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public event EventHandler<StreamRecorderBufferConsumedEventArgs> BufferConsumed;
/// <summary>
/// Occurs when recording status is changed.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public event EventHandler<RecordingStatusChangedEventArgs> RecordingStatusChanged;
/// <summary>
/// Occurs when recording limit is reached.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public event EventHandler<RecordingLimitReachedEventArgs> RecordingLimitReached;
/// <summary>
/// Occurs when an error occurred during a recorder operation.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public event EventHandler<StreamRecorderErrorOccurredEventArgs> ErrorOccurred;
private Native.RecordingLimitReachedCallback _recordingLimitReachedCallback;
/// Initialize a new instance of the <see cref="StreamRecorder"/> class.
/// </summary>
/// <exception cref="NotSupportedException">The feature is not supported.</exception>
+ /// <since_tizen> 3 </since_tizen>
public StreamRecorder()
{
try
/// Gets the current state of the stream recorder.
/// </summary>
/// <exception cref="ObjectDisposedException">The <see cref="StreamRecorder"/> has already been disposed.</exception>
+ /// <since_tizen> 3 </since_tizen>
public RecorderState State
{
get
/// <seealso cref="StreamRecorderOptions"/>
/// <seealso cref="StreamRecorderAudioOptions"/>
/// <seealso cref="StreamRecorderVideoOptions"/>
+ /// <since_tizen> 4 </since_tizen>
public void Prepare(StreamRecorderOptions options)
{
if (options == null)
/// <exception cref="InvalidOperationException">The recorder is not in the valid state.</exception>
/// <exception cref="ObjectDisposedException">The <see cref="StreamRecorder"/> has already been disposed.</exception>
/// <seealso cref="Prepare"/>
+ /// <since_tizen> 3 </since_tizen>
public void Unprepare()
{
if (State == RecorderState.Idle)
/// <seealso cref="Pause"/>
/// <seealso cref="Commit"/>
/// <seealso cref="Cancel"/>
+ /// <since_tizen> 3 </since_tizen>
public void Start()
{
if (State == RecorderState.Recording)
/// <seealso cref="Start"/>
/// <seealso cref="Commit"/>
/// <seealso cref="Cancel"/>
+ /// <since_tizen> 3 </since_tizen>
public void Pause()
{
if (State == RecorderState.Paused)
/// <exception cref="ObjectDisposedException">The <see cref="StreamRecorder"/> has already been disposed.</exception>
/// <seealso cref="Start"/>
/// <seealso cref="Pause"/>
+ /// <since_tizen> 3 </since_tizen>
public void Commit()
{
ValidateState(RecorderState.Paused, RecorderState.Recording);
/// <exception cref="ObjectDisposedException">The <see cref="StreamRecorder"/> has already been disposed.</exception>
/// <seealso cref="Start"/>
/// <seealso cref="Pause"/>
+ /// <since_tizen> 3 </since_tizen>
public void Cancel()
{
ValidateState(RecorderState.Paused, RecorderState.Recording);
/// <seealso cref="StreamRecorderOptions.Audio"/>
/// <seealso cref="StreamRecorderOptions.Video"/>
/// <seealso cref="StreamRecorderVideoOptions.SourceFormat"/>
+ /// <since_tizen> 3 </since_tizen>
public void PushBuffer(MediaPacket packet)
{
if (packet == null)
/// <summary>
/// Release any unmanaged resources used by this object.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public void Dispose()
{
Dispose(true);
/// <param name="disposing">
/// true to release both managed and unmanaged resources; false to release only unmanaged resources.
/// </param>
+ /// <since_tizen> 3 </since_tizen>
protected virtual void Dispose(bool disposing)
{
if (!_disposed)
/// <seealso cref="StreamRecorder"/>
/// <seealso cref="StreamRecorderOptions"/>
/// <seealso cref="StreamRecorderVideoOptions"/>
+ /// <since_tizen> 4 </since_tizen>
public class StreamRecorderAudioOptions
{
private const int DefaultSampleRate = 0;
/// <see cref="SampleRate"/>, <see cref="BitRate"/> and <see cref="Channels"/> will be set as default.
/// </remarks>
/// <exception cref="ArgumentException"><paramref name="codec"/> is not valid.</exception>
+ /// <since_tizen> 4 </since_tizen>
public StreamRecorderAudioOptions(RecorderAudioCodec codec) :
this(codec, DefaultSampleRate, DefaultBitRate, DefaultChannels)
{
/// -or-<br/>
/// <paramref name="channels"/> is less than or equal to zero.
/// </exception>
+ /// <since_tizen> 4 </since_tizen>
public StreamRecorderAudioOptions(RecorderAudioCodec codec, int sampleRate, int bitRate, int channels)
{
Codec = codec;
/// <value>The codec for audio stream recording.</value>
/// <exception cref="ArgumentException"><paramref name="value"/> is not valid.</exception>
/// <seealso cref="StreamRecorder.GetSupportedAudioCodecs"/>
+ /// <since_tizen> 4 </since_tizen>
public RecorderAudioCodec Codec
{
get => _codec;
/// <remarks>If the value is zero, the sample rate will be decided based on input buffers.</remarks>
/// <value>The sample rate value for stream recorder. The default is zero.</value>
/// <exception cref="ArgumentOutOfRangeException"><paramref name="value"/> is less than zero.</exception>
+ /// <since_tizen> 4 </since_tizen>
public int SampleRate
{
get => _sampleRate;
/// </summary>
/// <value>The bit rate value for audio stream recording. The default is 128000.</value>
/// <exception cref="ArgumentOutOfRangeException"><paramref name="value"/> is less than or equal to zero.</exception>
+ /// <since_tizen> 4 </since_tizen>
public int BitRate
{
get => _bitRate;
/// </summary>
/// <value>The number of audio channels for audio stream recording. The default is 2.</value>
/// <exception cref="ArgumentOutOfRangeException"><paramref name="value"/> is less than or equal to zero.</exception>
+ /// <since_tizen> 4 </since_tizen>
public int Channels
{
get => _channels;
/// <summary>
/// Provides data for the <see cref="StreamRecorder.BufferConsumed"/> event.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public class StreamRecorderBufferConsumedEventArgs : EventArgs
{
internal StreamRecorderBufferConsumedEventArgs(MediaPacket packet)
/// <summary>
/// Gets the packet that has consumed.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public MediaPacket Packet { get; }
}
}
/// <summary>
/// Specifies errors for <see cref="StreamRecorder"/>/
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public enum StreamRecorderError
{
/// <summary>
/// <summary>
/// Specifies the video source formats for <see cref="StreamRecorder"/>.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public enum StreamRecorderVideoFormat
{
/// <summary>
/// <summary>
/// Provides data for the <see cref="StreamRecorder.ErrorOccurred"/> event.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public class StreamRecorderErrorOccurredEventArgs : EventArgs
{
internal StreamRecorderErrorOccurredEventArgs(StreamRecorderError error, RecorderState state)
/// <summary>
/// Gets the error code.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public StreamRecorderError Error { get; }
/// <summary>
/// Gets the state of the recorder.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public RecorderState State { get; }
}
/// <seealso cref="StreamRecorder.Prepare(StreamRecorderOptions)"/>
/// <seealso cref="StreamRecorderAudioOptions"/>
/// <seealso cref="StreamRecorderVideoOptions"/>
+ /// <since_tizen> 4 </since_tizen>
public class StreamRecorderOptions
{
/// <summary>
/// -or-<br/>
/// <paramref name="fileFormat"/> is not valid.
/// </exception>
+ /// <since_tizen> 4 </since_tizen>
public StreamRecorderOptions(string savePath, RecorderFileFormat fileFormat)
{
SavePath = savePath;
/// </remarks>
/// <exception cref="ArgumentNullException"><paramref name="value"/>is null.</exception>
/// <exception cref="ArgumentException"><paramref name="value"/>is an empty string.</exception>
+ /// <since_tizen> 4 </since_tizen>
public string SavePath
{
get => _savePath;
/// </summary>
/// <exception cref="ArgumentException"><paramref name="value"/> is not valid.</exception>
/// <seealso cref="StreamRecorder.GetSupportedFileFormats"/>
+ /// <since_tizen> 4 </since_tizen>
public RecorderFileFormat FileFormat
{
get => _fileFormat;
/// <exception cref="ArgumentOutOfRangeException"><paramref name="value"/> is less than zero.</exception>
/// <seealso cref="StreamRecorder.RecordingLimitReached"/>
/// <seealso cref="SizeLimit"/>
+ /// <since_tizen> 4 </since_tizen>
public int TimeLimit
{
get => _timeLimit;
/// <exception cref="ArgumentOutOfRangeException"><paramref name="value"/> is less than zero.</exception>
/// <seealso cref="StreamRecorder.RecordingLimitReached"/>
/// <seealso cref="TimeLimit"/>
+ /// <since_tizen> 4 </since_tizen>
public int SizeLimit
{
get => _sizeLimit;
/// <see cref="Audio"/> or <see cref="Video"/> must be set for recording.
/// </remarks>
/// <seealso cref="Video"/>
+ /// <since_tizen> 4 </since_tizen>
public StreamRecorderAudioOptions Audio { get; set; }
/// <summary>
/// <see cref="Audio"/> or <see cref="Video"/> must be set for recording.
/// </remarks>
/// <seealso cref="Audio"/>
+ /// <since_tizen> 4 </since_tizen>
public StreamRecorderVideoOptions Video { get; set; }
private StreamRecorderSourceType GetSourceType()
/// <summary>
/// Provides data for the <see cref="StreamRecorder.StateChanged"/> event.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public class StreamRecorderStateChangedEventArgs : EventArgs
{
internal StreamRecorderStateChangedEventArgs(RecorderState previous, RecorderState current)
/// <summary>
/// Gets the previous state of the stream recorder.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public RecorderState Previous { get; }
/// <summary>
/// Gets the current state of the stream recorder.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public RecorderState Current { get; }
}
}
/// <seealso cref="StreamRecorder"/>
/// <seealso cref="StreamRecorderOptions"/>
/// <seealso cref="StreamRecorderAudioOptions"/>
+ /// <since_tizen> 4 </since_tizen>
public class StreamRecorderVideoOptions
{
private const int DefaultBitRate = 0;
/// -or-<br/>
/// <paramref name="frameRate"/> is less than or equal to zero.
/// </exception>
+ /// <since_tizen> 4 </since_tizen>
public StreamRecorderVideoOptions(RecorderVideoCodec codec, Size resolution,
StreamRecorderVideoFormat sourceFormat, int frameRate) :
this(codec, resolution, sourceFormat, frameRate, DefaultBitRate)
/// -or-<br/>
/// <paramref name="bitRate"/> is less than zero.
/// </exception>
+ /// <since_tizen> 4 </since_tizen>
public StreamRecorderVideoOptions(RecorderVideoCodec codec, Size resolution,
StreamRecorderVideoFormat sourceFormat, int frameRate, int bitRate)
{
/// <value>The codec for video stream recording.</value>
/// <exception cref="ArgumentException"><paramref name="value"/> is not valid.</exception>
/// <seealso cref="StreamRecorder.GetSupportedVideoCodecs"/>
+ /// <since_tizen> 4 </since_tizen>
public RecorderVideoCodec Codec
{
get => _codec;
/// Width or height of <paramref name="value"/> is less than or equal to zero.
/// </exception>
/// <seealso cref="StreamRecorder.GetSupportedVideoResolutions"/>
+ /// <since_tizen> 4 </since_tizen>
public Size Resolution
{
get => _resolution;
/// </summary>
/// <value>The frame rate value for video stream recording.</value>
/// <exception cref="ArgumentOutOfRangeException"><paramref name="value"/> is less than or equal to zero.</exception>
+ /// <since_tizen> 4 </since_tizen>
public int FrameRate
{
get => _frameRate;
/// </summary>
/// <value>The source format of buffers for video stream recording.</value>
/// <exception cref="ArgumentException"><paramref name="value"/> is not valid.</exception>
+ /// <since_tizen> 4 </since_tizen>
public StreamRecorderVideoFormat SourceFormat
{
get => _sourceFormat;
/// </summary>
/// <value>The bit rate value for video stream recording. The default is 0.</value>
/// <exception cref="ArgumentOutOfRangeException"><paramref name="value"/> is less than zero.</exception>
+ /// <since_tizen> 4 </since_tizen>
public int BitRate
{
get => _bitRate;
/// <summary>
/// Represents the image data returned by a decoder class.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public class BitmapFrame
{
internal BitmapFrame(IntPtr nativeBuffer, int width, int height, int size)
/// <summary>
/// Gets the raw image data.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public byte[] Buffer { get; }
/// <summary>
/// Gets the size of the image.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public Size Size { get; }
}
}
/// <summary>
/// Represents the gif image data used to encode a gif image with <see cref="GifEncoder"/>.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public class GifFrame
{
/// <param name="delay">The delay for this image in milliseconds.</param>
/// <exception cref="ArgumentNullException"><paramref name="buffer"/> is null.</exception>
/// <exception cref="ArgumentException">The length of <paramref name="buffer"/> is zero.</exception>
+ /// <since_tizen> 4 </since_tizen>
public GifFrame(byte[] buffer, uint delay)
{
if (buffer == null)
/// <summary>
/// Gets the raw image data.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public byte[] Buffer { get; }
/// <summary>
/// Gets or sets the delay for this image.
/// </summary>
/// <value>Time delay in milliseconds.</value>
+ /// <since_tizen> 4 </since_tizen>
public uint Delay { get; set; }
}
}
/// <summary>
/// This is a base class for image decoders.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public abstract class ImageDecoder : IDisposable
{
private ImageDecoderHandle _handle;
/// <summary>
/// Gets the image format of this decoder.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public ImageFormat InputFormat { get; }
private ImageDecoderHandle Handle
/// <exception cref="ArgumentException"><paramref name="colorSpace"/> is invalid.</exception>
/// <exception cref="NotSupportedException"><paramref name="colorSpace"/> is not supported by the decoder.</exception>
/// <seealso cref="ImageUtil.GetSupportedColorSpaces(ImageFormat)"/>
+ /// <since_tizen> 4 </since_tizen>
public void SetColorSpace(ColorSpace colorSpace)
{
ValidationUtil.ValidateEnum(typeof(ColorSpace), colorSpace, nameof(ColorSpace));
/// <exception cref="UnauthorizedAccessException">The caller does not have required permission to access the path.</exception>
/// <exception cref="FileFormatException">The format of <paramref name="inputFilePath"/> is not <see cref="InputFormat"/>.</exception>
/// <exception cref="ObjectDisposedException">The <see cref="ImageDecoder"/> has already been disposed of.</exception>
+ /// <since_tizen> 4 </since_tizen>
public async Task<IEnumerable<BitmapFrame>> DecodeAsync(string inputFilePath)
{
if (inputFilePath == null)
/// <exception cref="ArgumentException"><paramref name="inputBuffer"/> is an empty array.</exception>
/// <exception cref="FileFormatException">The format of <paramref name="inputBuffer"/> is not <see cref="InputFormat"/>.</exception>
/// <exception cref="ObjectDisposedException">The <see cref="ImageDecoder"/> has already been disposed of.</exception>
+ /// <since_tizen> 4 </since_tizen>
public Task<IEnumerable<BitmapFrame>> DecodeAsync(byte[] inputBuffer)
{
if (inputBuffer == null)
/// Releases the unmanaged resources used by the ImageDecoder.
/// </summary>
/// <param name="disposing">true to release both managed and unmanaged resources; false to release only unmanaged resources.</param>
+ /// <since_tizen> 4 </since_tizen>
protected virtual void Dispose(bool disposing)
{
if (!_disposed)
/// <summary>
/// Releases all resources used by the ImageDecoder.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public void Dispose()
{
Dispose(true);
/// <summary>
/// Provides the ability to decode Bitmap (BMP) encoded images.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public class BmpDecoder : ImageDecoder
{
private static readonly byte[] _header = { (byte)'B', (byte)'M' };
/// Initializes a new instance of the <see cref="BmpDecoder"/> class.
/// </summary>
/// <remarks><see cref="ImageDecoder.InputFormat"/> will be the <see cref="ImageFormat.Bmp"/>.</remarks>
+ /// <since_tizen> 4 </since_tizen>
public BmpDecoder() : base(ImageFormat.Bmp)
{
}
/// <summary>
/// Provides the ability to decode the Portable Network Graphics (PNG) encoded images.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public class PngDecoder : ImageDecoder
{
private static readonly byte[] _header = { 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a };
/// Initializes a new instance of the <see cref="PngDecoder"/> class.
/// </summary>
/// <remarks><see cref="ImageDecoder.InputFormat"/> will be the <see cref="ImageFormat.Png"/>.</remarks>
+ /// <since_tizen> 4 </since_tizen>
public PngDecoder() : base(ImageFormat.Png)
{
}
/// <summary>
/// Provides the ability to decode the Joint Photographic Experts Group (JPEG) encoded images.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public class JpegDecoder : ImageDecoder
{
private static readonly byte[] _header = { 0xFF, 0xD8 };
/// <summary>
/// A read-only field that represents the default value of <see cref="Downscale"/>.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public static readonly JpegDownscale DefaultJpegDownscale = JpegDownscale.None;
private JpegDownscale _jpegDownscale = DefaultJpegDownscale;
/// Initializes a new instance of the <see cref="JpegDecoder"/> class.
/// </summary>
/// <remarks><see cref="ImageDecoder.InputFormat"/> will be the <see cref="ImageFormat.Jpeg"/>.</remarks>
+ /// <since_tizen> 4 </since_tizen>
public JpegDecoder() : base(ImageFormat.Jpeg)
{
}
/// Gets or sets the downscale at which the jpeg image should be decoded.
/// </summary>
/// <exception cref="ArgumentException"><paramref name="value"/> is invalid.</exception>
+ /// <since_tizen> 4 </since_tizen>
public JpegDownscale Downscale
{
get
/// <summary>
/// Provides the ability to decode the Graphics Interchange Format (GIF) encoded images.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public class GifDecoder : ImageDecoder
{
private static readonly byte[] _header = { (byte)'G', (byte)'I', (byte)'F' };
/// Initializes a new instance of the <see cref="GifDecoder"/> class.
/// </summary>
/// <remarks><see cref="ImageDecoder.InputFormat"/> will be the <see cref="ImageFormat.Gif"/>.</remarks>
+ /// <since_tizen> 4 </since_tizen>
public GifDecoder() : base(ImageFormat.Gif)
{
}
/// <summary>
/// This is a base class for image encoders.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public abstract class ImageEncoder : IDisposable
{
private ImageEncoderHandle _handle;
/// <summary>
/// Gets the image format of this encoder.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public ImageFormat OutputFormat { get; }
/// <summary>
/// -or-<br/>
/// The height of <paramref name="resolution"/> is less than or equal to zero.
/// </exception>
+ /// <since_tizen> 4 </since_tizen>
public void SetResolution(Size resolution)
{
if (resolution.Width <= 0)
/// <exception cref="ArgumentException"><paramref name="colorSpace"/> is invalid.</exception>
/// <exception cref="NotSupportedException"><paramref name="colorSpace"/> is not supported by the encoder.</exception>
/// <seealso cref="ImageUtil.GetSupportedColorSpaces(ImageFormat)"/>
+ /// <since_tizen> 4 </since_tizen>
public void SetColorSpace(ColorSpace colorSpace)
{
ValidationUtil.ValidateEnum(typeof(ColorSpace), colorSpace, nameof(colorSpace));
/// <exception cref="InvalidOperationException">The resolution is not set.</exception>
/// <exception cref="ObjectDisposedException">The <see cref="ImageEncoder"/> has already been disposed of.</exception>
/// <seealso cref="SetResolution"/>
+ /// <since_tizen> 4 </since_tizen>
public Task EncodeAsync(byte[] inputBuffer, Stream outStream)
{
if (inputBuffer == null)
/// Releases the unmanaged resources used by the ImageEncoder.
/// </summary>
/// <param name="disposing">true to release both managed and unmanaged resources; false to release only unmanaged resources.</param>
+ /// <since_tizen> 4 </since_tizen>
protected virtual void Dispose(bool disposing)
{
if (!_disposed)
/// <summary>
/// Releases all resources used by the ImageEncoder.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public void Dispose()
{
Dispose(true);
/// <summary>
/// Provides the ability to encode the Bitmap (BMP) format images.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public class BmpEncoder : ImageEncoder
{
/// <summary>
/// Initializes a new instance of the <see cref="BmpEncoder"/> class.
/// </summary>
/// <remarks><see cref="ImageEncoder.OutputFormat"/> will be the <see cref="ImageFormat.Bmp"/>.</remarks>
+ /// <since_tizen> 4 </since_tizen>
public BmpEncoder() : base(ImageFormat.Bmp)
{
}
/// <summary>
/// Provides the ability to encode the Portable Network Graphics (PNG) format images.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public class PngEncoder : ImageEncoder
{
/// <summary>
/// A read-only field that represents the default value of <see cref="Compression"/>.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public static readonly PngCompression DefaultCompression = PngCompression.Level6;
private PngCompression? _compression;
/// Initializes a new instance of the <see cref="PngEncoder"/> class.
/// </summary>
/// <remarks><see cref="ImageEncoder.OutputFormat"/> will be the <see cref="ImageFormat.Png"/>.</remarks>
+ /// <since_tizen> 4 </since_tizen>
public PngEncoder() :
base(ImageFormat.Png)
{
/// <remarks><see cref="ImageEncoder.OutputFormat"/> will be the <see cref="ImageFormat.Png"/>.</remarks>
/// <param name="compression">The compression level of the encoder.</param>
/// <exception cref="ArgumentException"><paramref name="compression"/> is invalid.</exception>
+ /// <since_tizen> 4 </since_tizen>
public PngEncoder(PngCompression compression) :
base(ImageFormat.Png)
{
/// </summary>
/// <value>The compression level. The default is <see cref="PngCompression.Level6"/>.</value>
/// <exception cref="ArgumentException"><paramref name="value"/> is invalid.</exception>
+ /// <since_tizen> 4 </since_tizen>
public PngCompression Compression
{
get { return _compression ?? DefaultCompression; }
/// <summary>
/// Provides the ability to encode the Joint Photographic Experts Group (JPEG) format images.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public class JpegEncoder : ImageEncoder
{
/// <summary>
/// A read-only field that represents the default value of <see cref="Quality"/>.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public static readonly int DefaultQuality = 75;
private int? _quality;
/// Initializes a new instance of the <see cref="JpegEncoder"/> class.
/// </summary>
/// <remarks><see cref="ImageEncoder.OutputFormat"/> will be the <see cref="ImageFormat.Jpeg"/>.</remarks>
+ /// <since_tizen> 4 </since_tizen>
public JpegEncoder() : base(ImageFormat.Jpeg)
{
}
/// -or-<br/>
/// <paramref name="quality"/> is greater than 100.
/// </exception>
+ /// <since_tizen> 4 </since_tizen>
public JpegEncoder(int quality) :
base(ImageFormat.Jpeg)
{
/// -or-<br/>
/// <paramref name="value"/> is greater than 100.
/// </exception>
+ /// <since_tizen> 4 </since_tizen>
public int Quality
{
get { return _quality ?? DefaultQuality; }
/// <summary>
/// Provides the ability to encode the Graphics Interchange Format (GIF) format images.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public class GifEncoder : ImageEncoder
{
/// <summary>
/// Initializes a new instance of the <see cref="GifEncoder"/> class.
/// </summary>
/// <remarks><see cref="ImageEncoder.OutputFormat"/> will be the <see cref="ImageFormat.Gif"/>.</remarks>
+ /// <since_tizen> 4 </since_tizen>
public GifEncoder() : base(ImageFormat.Gif)
{
}
/// <exception cref="InvalidOperationException">The resolution is not set.</exception>
/// <exception cref="ObjectDisposedException">The <see cref="ImageEncoder"/> has already been disposed of.</exception>
/// <seealso cref="ImageEncoder.SetResolution"/>
+ /// <since_tizen> 4 </since_tizen>
public Task EncodeAsync(IEnumerable<GifFrame> frames, Stream outStream)
{
if (frames == null)
/// <summary>
/// Specifies image formats for <see cref="ImageDecoder"/>, <see cref="ImageEncoder"/> and <see cref="ImageUtil"/>.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public enum ImageFormat
{
/// <summary>
/// <summary>
/// A base class for image transformations.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public abstract class ImageTransform
{
internal ImageTransform()
/// <summary>
/// Represents a collection of <see cref="ImageTransform"/> objects that can be individually accessed by index.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public class ImageTransformCollection : IEnumerable<ImageTransform>, IList<ImageTransform>
{
private List<ImageTransform> _list = new List<ImageTransform>();
/// <summary>
/// Initializes a new instance of the ImageTransformCollection class.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public ImageTransformCollection()
{
}
/// -or-<br/>
/// index is equal to or greater than <see cref="Count"/>.
/// </exception>
+ /// <since_tizen> 4 </since_tizen>
public ImageTransform this[int index]
{
get { return _list[index]; }
/// <summary>
/// Gets the number of items contained in the TransformCollection.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public int Count => _list.Count;
bool ICollection<ImageTransform>.IsReadOnly => false;
/// <remarks>
/// <see cref="ImageTransformCollection"/> accepts null as a valid value for reference types and allows duplicate elements.
/// </remarks>
+ /// <since_tizen> 4 </since_tizen>
public void Add(ImageTransform item)
{
if (item == null)
/// <summary>
/// Removes all items.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public void Clear() => _list.Clear();
/// <summary>
/// </summary>
/// <param name="item">The <see cref="ImageTransform"/> to locate in the collection.</param>
/// <returns>true if the <see cref="ImageTransform"/> is found in the collection; otherwise, false.</returns>
+ /// <since_tizen> 4 </since_tizen>
public bool Contains(ImageTransform item) => _list.Contains(item);
/// <summary>
/// <exception cref="ArgumentException">
/// The number of elements in the source collection is greater than the available space from arrayIndex to the end of the destination array.
/// </exception>
+ /// <since_tizen> 4 </since_tizen>
public void CopyTo(ImageTransform[] array, int arrayIndex) => _list.CopyTo(array, arrayIndex);
/// <summary>
/// </summary>
/// <param name="item">The <see cref="ImageTransform"/> to locate in the collection.</param>
/// <returns>The index of value if found in the <see cref="ImageTransformCollection"/>; otherwise, -1.</returns>
+ /// <since_tizen> 4 </since_tizen>
public int IndexOf(ImageTransform item) => _list.IndexOf(item);
/// <summary>
/// -or-<br/>
/// index is greater than <see cref="Count"/>.
/// </exception>
+ /// <since_tizen> 4 </since_tizen>
public void Insert(int index, ImageTransform item)
{
if (item == null)
/// </summary>
/// <param name="item">The <see cref="ImageTransform"/> to remove.</param>
/// <returns>true if <paramref name="item"/> was removed from the collection; otherwise, false.</returns>
+ /// <since_tizen> 4 </since_tizen>
public bool Remove(ImageTransform item) => _list.Remove(item);
/// <summary>
/// -or-<br/>
/// index is equal to or greater than <see cref="Count"/>.
/// </exception>
+ /// <since_tizen> 4 </since_tizen>
public void RemoveAt(int index) => _list.RemoveAt(index);
/// <summary>
/// Returns an enumerator that can iterate through the collection.
/// </summary>
/// <returns>An enumerator that can be used to iterate through the collection.</returns>
+ /// <since_tizen> 4 </since_tizen>
public IEnumerator<ImageTransform> GetEnumerator() => _list.GetEnumerator();
IEnumerator IEnumerable.GetEnumerator() => _list.GetEnumerator();
/// <summary>
/// Represents a <see cref="ImageTransform"/> that is a composite of the transforms.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public class ImageTransformGroup : ImageTransform
{
/// <summary>
/// Gets or sets the <see cref="ImageTransformCollection"/>.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public ImageTransformCollection Children { get; set; }
/// <summary>
/// Initializes a new instance of the ImageTransformGroup class.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public ImageTransformGroup()
{
Children = new ImageTransformCollection();
/// Rotates an image.
/// </summary>
/// <seealso cref="Rotation"/>
+ /// <since_tizen> 4 </since_tizen>
public class RotateTransform : ImageTransform
{
private Rotation _rotation;
/// <param name="rotation">The value how to rotate an image.</param>
/// <exception cref="ArgumentException"><paramref name="rotation"/> is invalid.</exception>
/// <exception cref="ArgumentOutOfRangeException"><paramref name="rotation"/> is <see cref="Rotation.Rotate90"/>.</exception>
+ /// <since_tizen> 4 </since_tizen>
public RotateTransform(Rotation rotation)
{
Rotation = rotation;
/// </summary>
/// <exception cref="ArgumentException"><paramref name="value"/> is invalid.</exception>
/// <exception cref="ArgumentOutOfRangeException"><paramref name="value"/> is <see cref="Rotation.Rotate90"/>.</exception>
+ /// <since_tizen> 4 </since_tizen>
public Rotation Rotation
{
get { return _rotation; }
/// Flips an image.
/// </summary>
/// <seealso cref="Rotation"/>
+ /// <since_tizen> 4 </since_tizen>
public class FlipTransform : ImageTransform
{
private Flips _flip;
/// <param name="flip">The value how to flip an image.</param>
/// <exception cref="ArgumentException"><paramref name="flip"/> is invalid.</exception>
/// <exception cref="ArgumentOutOfRangeException"><paramref name="flip"/> is <see cref="Flips.None"/>.</exception>
+ /// <since_tizen> 4 </since_tizen>
public FlipTransform(Flips flip)
{
Flip = flip;
/// </summary>
/// <exception cref="ArgumentException"><paramref name="value"/> is invalid.</exception>
/// <exception cref="ArgumentOutOfRangeException"><paramref name="value"/> is <see cref="Flips.None"/>.</exception>
+ /// <since_tizen> 4 </since_tizen>
public Flips Flip
{
get { return _flip; }
/// Changes the colorspace of an image.
/// </summary>
/// <seealso cref="ColorSpace"/>
+ /// <since_tizen> 4 </since_tizen>
public class ColorSpaceTransform : ImageTransform
{
private ImageColorSpace _imageColorSpace;
/// <exception cref="ArgumentException"><paramref name="colorSpace"/> is invalid.</exception>
/// <exception cref="NotSupportedException"><paramref name="colorSpace"/> is not supported.</exception>
/// <seealso cref="SupportedColorSpaces"/>
+ /// <since_tizen> 4 </since_tizen>
public ColorSpaceTransform(ColorSpace colorSpace)
{
ColorSpace = colorSpace;
/// <exception cref="ArgumentException"><paramref name="value"/> is invalid.</exception>
/// <exception cref="NotSupportedException"><paramref name="value"/> is not supported.</exception>
/// <seealso cref="SupportedColorSpaces"/>
+ /// <since_tizen> 4 </since_tizen>
public ColorSpace ColorSpace
{
get { return _imageColorSpace.ToCommonColorSpace(); }
/// <summary>
/// Gets the supported colorspaces for <see cref="ColorSpaceTransform"/>.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public static IEnumerable<ColorSpace> SupportedColorSpaces
{
get
/// <summary>
/// Crops an image.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public class CropTransform : ImageTransform
{
private Rectangle _region;
/// -or-<br/>
/// The height of <paramref name="region"/> is less than or equal to zero.
/// </exception>
+ /// <since_tizen> 4 </since_tizen>
public CropTransform(Rectangle region)
{
Region = region;
/// -or-<br/>
/// The height of <paramref name="value"/> is less than or equal to zero.
/// </exception>
+ /// <since_tizen> 4 </since_tizen>
public Rectangle Region
{
get { return _region; }
/// <summary>
/// Resizes an image.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public class ResizeTransform : ImageTransform
{
private Size _size;
/// -or-<br/>
/// The height of <paramref name="size"/> is less than or equal to zero.
/// </exception>
+ /// <since_tizen> 4 </since_tizen>
public ResizeTransform(Size size)
{
Size = size;
/// -or-<br/>
/// The height of <paramref name="value"/> is less than or equal to zero.
/// </exception>
+ /// <since_tizen> 4 </since_tizen>
public Size Size
{
get { return _size; }
/// <summary>
/// Provides the ability to transform an image.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public class ImageTransformer : IDisposable
{
/// <summary>
/// Initializes a new instance of the <see cref="ImageTransformer"/> class.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public ImageTransformer()
{
}
/// </exception>
/// <exception cref="ObjectDisposedException">The <see cref="ImageTransformer"/> has already been disposed of.</exception>
/// <exception cref="InvalidOperationException">Failed to apply <see cref="ImageTransform"/>.</exception>
+ /// <since_tizen> 4 </since_tizen>
public Task<MediaPacket> TransformAsync(MediaPacket source, ImageTransform item)
{
if (_disposed)
/// Releases the unmanaged resources used by the ImageTransformer.
/// </summary>
/// <param name="disposing">true to release both managed and unmanaged resources; false to release only unmanaged resources.</param>
+ /// <since_tizen> 4 </since_tizen>
protected virtual void Dispose(bool disposing)
{
if (!_disposed)
/// <summary>
/// Releases all resources used by the ImageTransformer.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public void Dispose()
{
Dispose(true);
/// <summary>
/// Provides utilities for images.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public static class ImageUtil
{
/// <summary>
/// <returns>An IEnumerable of <see cref="ColorSpace"/> representing the supported color-spaces.</returns>
/// <param name="format">The <see cref="ImageFormat"/>.</param>
/// <exception cref="ArgumentException"><paramref name="format"/> is invalid.</exception>
+ /// <since_tizen> 4 </since_tizen>
public static IEnumerable<ColorSpace> GetSupportedColorSpaces(ImageFormat format)
{
ValidationUtil.ValidateEnum(typeof(ImageFormat), format, nameof(format));
/// height of <paramref name="resolution"/> is less than or equal to zero.
/// </exception>
/// <exception cref="ArgumentException"><paramref name="colorSpace"/> is invalid.</exception>
+ /// <since_tizen> 4 </since_tizen>
public static int CalculateBufferSize(Size resolution, ColorSpace colorSpace)
{
if (resolution.Width <= 0)
/// -or-<br/>
/// height of <paramref name="size"/> is less than or equal to zero.
/// </exception>
+ /// <since_tizen> 4 </since_tizen>
public static Color GetColor(byte[] buffer, Size size)
{
if (buffer == null)
/// <summary>
/// Specifies the JPEG Downscale options for decoding.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public enum JpegDownscale
{
/// <summary>
/// <summary>
/// Specifies the PNG compression levels.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public enum PngCompression
{
/// <summary>
/// <summary>
/// Represents the result of the thumbnail extraction.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public class ThumbnailExtractionResult
{
internal ThumbnailExtractionResult(byte[] thumbnailData, int width, int height)
/// <summary>
/// The thumbnail data.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public byte[] RawData { get; }
/// <summary>
/// The size of the thumbnail.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public Size Size { get; }
}
}
/// <summary>
/// Provides the ability to extract the thumbnail from media files.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public static class ThumbnailExtractor
{
private static Handle CreateHandle()
/// <summary>
/// Extracts the thumbnail for the given media with the specified path.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
/// <returns>A task that represents the asynchronous extracting operation.</returns>
/// <remarks>The size of the thumbnail will be the default size (320x240).</remarks>
/// <param name="path">The path of the media file to extract the thumbnail.</param>
/// <exception cref="InvalidOperationException">An internal error occurs.</exception>
/// <exception cref="UnauthorizedAccessException">The caller does not have required privilege for accessing the <paramref name="path"/>.</exception>
/// <exception cref="FileFormatException">The specified file is not supported.</exception>
+ /// <since_tizen> 4 </since_tizen>
public static Task<ThumbnailExtractionResult> ExtractAsync(string path, CancellationToken cancellationToken)
{
return RunExtractAsync(path, null, cancellationToken);
/// <summary>
/// Extracts the thumbnail for the given media with the specified path and size.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
/// <returns>A task that represents the asynchronous extracting operation.</returns>
/// <remarks>
/// If the width is not a multiple of 8, it can be changed by the inner process.<br/>
/// <summary>
/// Extracts the thumbnail for the given media with the specified path and size.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
/// <returns>A task that represents the asynchronous extracting operation.</returns>
/// <remarks>
/// If the width is not a multiple of 8, it can be changed by the inner process.<br/>
/// <summary>
/// Represents a detected barcode.
/// </summary>
- /// <since_tizen> 3</since_tizen>
+ /// <since_tizen> 4</since_tizen>
public class Barcode
{
/// <summary>
/// Initializes a new instance of the <see cref="Barcode"/> class.
/// </summary>
- /// <since_tizen> 3</since_tizen>
+ /// <since_tizen> 4</since_tizen>
public Barcode(Quadrangle region, string message, BarcodeType type)
{
Region = region;
/// <summary>
/// The quadrangle location of the detected barcode.
/// </summary>
- /// <since_tizen> 3</since_tizen>
+ /// <since_tizen> 4</since_tizen>
public Quadrangle Region { get; }
/// <summary>
/// The decoded message of the barcode.
/// </summary>
- /// <since_tizen> 3</since_tizen>
+ /// <since_tizen> 4</since_tizen>
public string Message { get; }
/// <summary>
/// The type of the detected barcode.
/// </summary>
- /// <since_tizen> 3</since_tizen>
+ /// <since_tizen> 4</since_tizen>
public BarcodeType Type { get; }
/// <summary>
/// Returns a string that represents the current object.
/// </summary>
/// <returns>A string that represents the current object.</returns>
+ /// <since_tizen> 4 </since_tizen>
public override string ToString() =>
$"Region={Region}, Message={Message}, Type={Type.ToString()}";
}
/// Represents a configuration of <see cref="BarcodeDetector"/>.
/// </summary>
/// <seealso cref="BarcodeDetector"/>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public class BarcodeDetectionConfiguration : EngineConfiguration
{
private const string KeyAttrTarget = "MV_BARCODE_DETECT_ATTR_TARGET";
/// Initializes a new instance of the <see cref="BarcodeDetectionConfiguration"/> class.
/// </summary>
/// <exception cref="NotSupportedException">The feature is not supported.</exception>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public BarcodeDetectionConfiguration() : base("barcode_detection")
{
}
/// </summary>
/// <exception cref="ArgumentException"><paramref name="value"/> is not valid.</exception>
/// <exception cref="ObjectDisposedException">The <see cref="BarcodeDetectionConfiguration"/> already has been disposed of.</exception>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public BarcodeDetectionTarget Target
{
get
/// <summary>
/// Specifies the target of <see cref="BarcodeDetector"/>.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public enum BarcodeDetectionTarget
{
/// <summary>
/// <summary>
/// Provides the ability to detect barcodes on image sources.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public static class BarcodeDetector
{
/// <summary>
/// <exception cref="ObjectDisposedException"><paramref name="source"/> already has been disposed of.</exception>
/// <returns>A task that represents the asynchronous detect operation.</returns>
/// <seealso cref="Barcode"/>
- /// <since_tizen> 3</since_tizen>
+ /// <since_tizen> 4</since_tizen>
public static async Task<IEnumerable<Barcode>> DetectAsync(MediaVisionSource source,
Rectangle roi)
{
/// <paramref name="config"/> already has been disposed of.
/// </exception>
/// <seealso cref="Barcode"/>
- /// <since_tizen> 3</since_tizen>
+ /// <since_tizen> 4</since_tizen>
public static async Task<IEnumerable<Barcode>> DetectAsync(MediaVisionSource source,
Rectangle roi, BarcodeDetectionConfiguration config)
{
/// Represents a configuration of <see cref="BarcodeGenerator"/> instances.
/// </summary>
/// <seealso cref="BarcodeGenerator"/>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public class BarcodeGenerationConfiguration : EngineConfiguration
{
private const string KeyTextAttr = "MV_BARCODE_GENERATE_ATTR_TEXT";
/// Initializes a new instance of the <see cref="BarcodeGenerationConfiguration"/> class.
/// </summary>
/// <exception cref="NotSupportedException">The feature is not supported.</exception>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public BarcodeGenerationConfiguration() : base("barcode_generation")
{
}
/// </summary>
/// <exception cref="ArgumentException"><paramref name="value"/> is not valid.</exception>
/// <exception cref="ObjectDisposedException">The <see cref="BarcodeGenerationConfiguration"/> already has been disposed of.</exception>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public Visibility TextVisibility
{
get
/// The alpha value of the color will be ignored.
/// </remarks>
/// <exception cref="ObjectDisposedException">The <see cref="BarcodeGenerationConfiguration"/> already has been disposed of.</exception>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public Color ForegroundColor
{
get
/// The alpha value of the color will be ignored.
/// </remarks>
/// <exception cref="ObjectDisposedException">The <see cref="BarcodeGenerationConfiguration"/> already has been disposed of.</exception>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public Color BackgroundColor
{
get
/// and code versions are supported for QRCodes.
/// </summary>
/// <seealso cref="BarcodeGenerationConfiguration"/>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public static class BarcodeGenerator
{
private const int NoneErrorCorrection = (int)ErrorCorrectionLevel.High + 1;
/// </exception>
/// <exception cref="NotSupportedException">The feature is not supported.</exception>
/// <seealso cref="QrMode"/>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public static MediaVisionSource GenerateSource(string message, QrConfiguration qrConfig)
{
return GenerateSource(message, qrConfig, null);
/// </exception>
/// <exception cref="ObjectDisposedException"><paramref name="config"/> already has been disposed of.</exception>
/// <seealso cref="QrMode"/>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public static MediaVisionSource GenerateSource(string message, QrConfiguration qrConfig,
BarcodeGenerationConfiguration config)
{
/// <paramref name="message"/> contains illegal characters.
/// </exception>
/// <exception cref="NotSupportedException">The feature is not supported.</exception>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public static MediaVisionSource GenerateSource(string message, BarcodeType type)
{
return GenerateSource(message, type, null);
/// </exception>
/// <exception cref="NotSupportedException">The feature is not supported.</exception>
/// <exception cref="ObjectDisposedException"><paramref name="config"/> already has been disposed of.</exception>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public static MediaVisionSource GenerateSource(string message, BarcodeType type,
BarcodeGenerationConfiguration config)
{
/// <exception cref="UnauthorizedAccessException">No permission to write a file.</exception>
/// <exception cref="NotSupportedException">The feature is not supported.</exception>
/// <seealso cref="QrMode"/>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public static void GenerateImage(string message, QrConfiguration qrConfig,
BarcodeImageConfiguration imageConfig)
{
/// <see cref="BarcodeGenerationConfiguration.TextVisibility"/> is the <see cref="Visibility.Visible"/>.
/// </exception>
/// <exception cref="ObjectDisposedException"><paramref name="config"/> already has been disposed of.</exception>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public static void GenerateImage(string message, QrConfiguration qrConfig,
BarcodeImageConfiguration imageConfig, BarcodeGenerationConfiguration config)
{
/// </exception>
/// <exception cref="UnauthorizedAccessException">No permission to write a file.</exception>
/// <exception cref="NotSupportedException">The feature is not supported.</exception>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public static void GenerateImage(string message, BarcodeType type, BarcodeImageConfiguration imageConfig)
{
GenerateImage(message, type, imageConfig, null);
/// <exception cref="UnauthorizedAccessException">No permission to write a file.</exception>
/// <exception cref="NotSupportedException">The feature is not supported.</exception>
/// <exception cref="ObjectDisposedException"><paramref name="config"/> already has been disposed of.</exception>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public static void GenerateImage(string message,
BarcodeType type, BarcodeImageConfiguration imageConfig, BarcodeGenerationConfiguration config)
{
/// <summary>
/// Represents a configuration for the image to be generated by <see cref="BarcodeGenerator"/>.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public class BarcodeImageConfiguration
{
/// <summary>
/// var imageConfig = new BarcodeImageConfiguration(new Size(500, 400), "/opt/usr/test-barcode-generate-new", BarcodeImageFormat.JPG);
/// </code>
/// </example>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public BarcodeImageConfiguration(Size size, string path, BarcodeImageFormat imageFormat)
{
if (size.Width <= 0)
/// var imageConfig = new BarcodeImageConfiguration(500, 400, "/opt/usr/test-barcode-generate-new", BarcodeImageFormat.JPG);
/// </code>
/// </example>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public BarcodeImageConfiguration(int width, int height, string path, BarcodeImageFormat imageFormat)
: this(new Size(width, height), path, imageFormat)
{
/// <summary>
/// Gets the size of the image.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public Size Size { get; }
/// <summary>
/// Gets the width of the image.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public int Width => Size.Width;
/// <summary>
/// Gets the height of the image.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public int Height => Size.Height;
/// <summary>
/// The mediastorage privilege (http://tizen.org/privilege/mediastorage) is needed if the image path is relevant to media storage.<br/>
/// The externalstorage privilege (http://tizen.org/privilege/externalstorage) is needed if the image path is relevant to external storage.
/// </remarks>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public string Path { get; }
/// <summary>
/// Gets the format of the output image.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public BarcodeImageFormat Format { get; }
}
}
/// Specifies the supported image formats for <see cref="BarcodeGenerator"/>
/// </summary>
/// <seealso cref="BarcodeImageConfiguration"/>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public enum BarcodeImageFormat
{
/// <summary>
/// </remarks>
/// <seealso cref="BarcodeDetector"/>
/// <seealso cref="BarcodeGenerator"/>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public enum BarcodeType
{
/// <summary>
/// <summary>
/// A base class for configuration classes.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public abstract class EngineConfiguration : IDisposable
{
private IntPtr _handle = IntPtr.Zero;
/// <summary>
/// Releases all resources used by the <see cref="EngineConfiguration"/> object.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public void Dispose()
{
Dispose(true);
/// <param name="disposing">
/// true to release both managed and unmanaged resources, otherwise false to release only unmanaged resources.
/// </param>
+ /// <since_tizen> 4 </since_tizen>
protected virtual void Dispose(bool disposing)
{
if (_disposed)
/// <summary>
/// Specifies the supported QR code error correction levels.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public enum ErrorCorrectionLevel
{
/// <summary>
/// <summary>
/// Specifies the eyes state types.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public enum EyeCondition
{
/// <summary>
/// Represents a configuration of <see cref="FaceDetector"/> instances.
/// </summary>
/// <feature>http://tizen.org/feature/vision.face_recognition</feature>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public class FaceDetectionConfiguration : EngineConfiguration
{
private const string KeyModelFilePath = "MV_FACE_DETECTION_MODEL_FILE_PATH";
/// Initializes a new instance of the <see cref="FaceDetectionConfiguration"/> class.
/// </summary>
/// <exception cref="NotSupportedException">The feature is not supported.</exception>
- /// <since_tizen> 3</since_tizen>
+ /// <since_tizen> 4</since_tizen>
public FaceDetectionConfiguration() : base("face_recognition")
{
}
/// Gets or sets the face detection haarcascade xml file for face detection.
/// </summary>
/// <exception cref="ArgumentNullException"><paramref name="value"/> is null.</exception>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public string ModelFilePath
{
get
/// Default value is null (all detected faces will be applied), which can be changed to specify the minimum face height.
/// </remarks>
/// <exception cref="ArgumentOutOfRangeException"><paramref name="value"/> is less than zero.</exception>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public int? MinHeight
{
get
/// Default value is null (all detected faces will be applied), which can be changed to specify the minimum face width.
/// </remarks>
/// <exception cref="ArgumentOutOfRangeException"><paramref name="value"/> is less than zero.</exception>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public int? MinWidth
{
get
/// -or-<br/>
/// The y position of <paramref name="value"/> is less than zero.
/// </exception>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public Rectangle? Roi
{
get
/// <summary>
/// Provides the ability to detect faces on image sources.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public static class FaceDetector
{
/// The format of <paramref name="source"/> is not supported.
/// </exception>
/// <feature>http://tizen.org/feature/vision.face_recognition</feature>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public static async Task<Rectangle[]> DetectAsync(MediaVisionSource source)
{
return await DetectAsync(source, null);
/// <exception cref="ArgumentNullException"><paramref name="source"/> is null.</exception>
/// <exception cref="NotSupportedException">The feature is not supported.</exception>
/// <feature>http://tizen.org/feature/vision.face_recognition</feature>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public static async Task<Rectangle[]> DetectAsync(MediaVisionSource source,
FaceDetectionConfiguration config)
{
/// Represents a configuration of <see cref="FaceRecognizer"/> instances.
/// </summary>
/// <feature>http://tizen.org/feature/vision.face_recognition</feature>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public class FaceRecognitionConfiguration : EngineConfiguration
{
private const string KeyModelType = "MV_FACE_RECOGNITION_MODEL_TYPE";
/// Initializes a new instance of the <see cref="FaceRecognitionConfiguration"/> class.
/// </summary>
/// <exception cref="NotSupportedException">The feature is not supported.</exception>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public FaceRecognitionConfiguration() : base("face_recognition")
{
}
/// Default value is <see cref="FaceRecognitionModelType.Lbph"/>.
/// </summary>
/// <exception cref="ArgumentException"><paramref name="value"/> is not valid.</exception>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public FaceRecognitionModelType ModelType
{
get
/// Represents the face recognition model interface.
/// </summary>
/// <feature>http://tizen.org/feature/vision.face_recognition</feature>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public class FaceRecognitionModel : IDisposable
{
private IntPtr _handle = IntPtr.Zero;
/// Initializes a new instance of the <see cref="FaceRecognitionModel"/> class.
/// </summary>
/// <exception cref="NotSupportedException">The feature is not supported.</exception>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public FaceRecognitionModel()
{
InteropModel.Create(out _handle).Validate("Failed to create FaceRecognitionModel");
/// </exception>
/// <exception cref="UnauthorizedAccessException">No permission to access the specified file.</exception>
/// <seealso cref="Save(string)"/>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public FaceRecognitionModel(string modelPath)
{
if (modelPath == null)
/// Gets labels that had been learned by the model.
/// </summary>
/// <exception cref="ObjectDisposedException">The <see cref="FaceRecognitionModel"/> has already been disposed of.</exception>
- /// <since_tizen> 3</since_tizen>
+ /// <since_tizen> 4</since_tizen>
public int[] Labels
{
get
/// <exception cref="UnauthorizedAccessException">No permission to write to the specified path.</exception>
/// <exception cref="ObjectDisposedException">The <see cref="FaceRecognitionModel"/> has already been disposed of.</exception>
/// <exception cref="DirectoryNotFoundException">The directory for <paramref name="path"/> does not exist.</exception>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public void Save(string path)
{
if (path == null)
/// <paramref name="source"/> has already been dispose of.
/// </exception>
/// <seealso cref="Learn(FaceRecognitionConfiguration)"/>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public void Add(MediaVisionSource source, int label)
{
if (source == null)
/// <paramref name="source"/> has already been dispose of.
/// </exception>
/// <seealso cref="Learn(FaceRecognitionConfiguration)"/>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public void Add(MediaVisionSource source, int label, Rectangle area)
{
if (source == null)
/// <returns>true if the examples are successfully removed; otherwise, false if there is no example labeled with the specified label.</returns>
/// <seealso cref="Add(MediaVisionSource, int)"/>
/// <seealso cref="Add(MediaVisionSource, int, Rectangle)"/>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public bool Remove(int label)
{
var ret = InteropModel.Remove(Handle, ref label);
/// Removes all face examples.
/// </summary>
/// <exception cref="ObjectDisposedException">The <see cref="FaceRecognitionModel"/> has already been disposed of.</exception>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public void Reset()
{
InteropModel.Reset(Handle).Validate("Failed to reset image example");
/// <exception cref="InvalidOperationException">No examples added.</exception>
/// <seealso cref="Add(MediaVisionSource, int)"/>
/// <seealso cref="Add(MediaVisionSource, int, Rectangle)"/>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public void Learn()
{
Learn(null);
/// <exception cref="InvalidOperationException">No examples added.</exception>
/// <seealso cref="Add(MediaVisionSource, int)"/>
/// <seealso cref="Add(MediaVisionSource, int, Rectangle)"/>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public void Learn(FaceRecognitionConfiguration config)
{
InteropModel.Learn(EngineConfiguration.GetHandle(config), Handle).
/// <summary>
/// Releases all the resources used by the <see cref="FaceRecognitionModel"/> object.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public void Dispose()
{
Dispose(true);
/// <param name="disposing">
/// true to release both managed and unmanaged resources; otherwise false to release only unmanaged resources.
/// </param>
+ /// <since_tizen> 4 </since_tizen>
protected virtual void Dispose(bool disposing)
{
if (_disposed)
/// <summary>
/// Specifies the face recognition model learning algorithms.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public enum FaceRecognitionModelType
{
/// <summary>
/// <summary>
/// Represents the result of <see cref="FaceRecognizer"/> operations.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public class FaceRecognitionResult
{
internal FaceRecognitionResult(bool recognized, double confidence, int label, Rectangle? area)
/// <summary>
/// Gets the value indicating the recognition is successful.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public bool Success { get; }
/// <summary>
/// Gets the label of the recognized face.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public int Label { get; }
/// <summary>
/// Gets the location of the recognized face.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public Rectangle? Area { get; }
/// <summary>
/// threshold for this value can be high (0.85-0.95). If model was learned for small amount of examples,
/// then threshold can be reduced (0.5-0.85).
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public double Confidence { get; }
}
}
/// <summary>
/// Provides the ability to recognize faces, face expressions, and eye condition on image sources.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public static class FaceRecognizer
{
/// <exception cref="ObjectDisposedException"><paramref name="source"/> has already been disposed of.</exception>
/// <exception cref="InvalidOperationException"><paramref name="recognitionModel"/> is untrained model.</exception>
/// <feature>http://tizen.org/feature/vision.face_recognition</feature>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public static async Task<FaceRecognitionResult> RecognizeAsync(MediaVisionSource source,
FaceRecognitionModel recognitionModel)
{
/// <exception cref="ObjectDisposedException"><paramref name="source"/> has already been disposed of.</exception>
/// <exception cref="InvalidOperationException"><paramref name="recognitionModel"/> is untrained model.</exception>
/// <feature>http://tizen.org/feature/vision.face_recognition</feature>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public static async Task<FaceRecognitionResult> RecognizeAsync(MediaVisionSource source,
FaceRecognitionModel recognitionModel, Rectangle bound)
{
/// </exception>
/// <exception cref="InvalidOperationException"><paramref name="recognitionModel"/> is untrained model.</exception>
/// <feature>http://tizen.org/feature/vision.face_recognition</feature>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public static async Task<FaceRecognitionResult> RecognizeAsync(MediaVisionSource source,
FaceRecognitionModel recognitionModel, FaceRecognitionConfiguration config)
{
/// </exception>
/// <exception cref="InvalidOperationException"><paramref name="recognitionModel"/> is untrained model.</exception>
/// <feature>http://tizen.org/feature/vision.face_recognition</feature>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public static async Task<FaceRecognitionResult> RecognizeAsync(MediaVisionSource source,
FaceRecognitionModel recognitionModel, Rectangle bound, FaceRecognitionConfiguration config)
{
/// <exception cref="ObjectDisposedException"><paramref name="source"/> has already been disposed of.</exception>
/// <exception cref="NotSupportedException">The feature is not supported.</exception>
/// <feature>http://tizen.org/feature/vision.face_recognition</feature>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public static async Task<EyeCondition> RecognizeEyeConditionAsync(MediaVisionSource source,
Rectangle bound)
{
/// </exception>
/// <exception cref="NotSupportedException">The feature is not supported.</exception>
/// <feature>http://tizen.org/feature/vision.face_recognition</feature>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public static async Task<EyeCondition> RecognizeEyeConditionAsync(MediaVisionSource source,
Rectangle bound, FaceRecognitionConfiguration config)
{
/// <exception cref="ObjectDisposedException"><paramref name="source"/> has already been disposed of.</exception>
/// <exception cref="NotSupportedException">The feature is not supported.</exception>
/// <feature>http://tizen.org/feature/vision.face_recognition</feature>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public static async Task<FacialExpression> RecognizeFacialExpressionAsync(MediaVisionSource source,
Rectangle bound)
{
/// </exception>
/// <exception cref="NotSupportedException">The feature is not supported.</exception>
/// <feature>http://tizen.org/feature/vision.face_recognition</feature>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public static async Task<FacialExpression> RecognizeFacialExpressionAsync(MediaVisionSource source,
Rectangle bound, FaceRecognitionConfiguration config)
{
/// <summary>
/// Provides the ability to track faces on image sources.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public static class FaceTracker
{
/// <exception cref="NotSupportedException">The feature is not supported.</exception>
/// <exception cref="InvalidOperationException"><paramref name="trackingModel"/> is not prepared.</exception>
/// <feature>http://tizen.org/feature/vision.face_recognition</feature>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public static async Task<FaceTrackingResult> TrackAsync(MediaVisionSource source,
FaceTrackingModel trackingModel, bool doLearn)
{
/// Represents the face tracking model.
/// </summary>
/// <feature>http://tizen.org/feature/vision.face_recognition</feature>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public class FaceTrackingModel : IDisposable
{
private IntPtr _handle = IntPtr.Zero;
/// Initializes a new instance of the <see cref="FaceTrackingModel"/> class.
/// </summary>
/// <exception cref="NotSupportedException">The feature is not supported.</exception>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public FaceTrackingModel()
{
InteropModel.Create(out _handle).Validate("Failed to create FaceTrackingModel.");
/// </exception>
/// <exception cref="UnauthorizedAccessException">No permission to access the specified file.</exception>
/// <seealso cref="Save(string)"/>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public FaceTrackingModel(string modelPath)
{
if (modelPath == null)
/// -or-<br/>
/// <paramref name="source"/> has already bean disposed of.
/// </exception>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public void Prepare(MediaVisionSource source, Quadrangle region)
{
if (source == null)
/// <exception cref="UnauthorizedAccessException">No permission to write to the specified path.</exception>
/// <exception cref="ObjectDisposedException">The <see cref="FaceTrackingModel"/> has already been disposed of.</exception>
/// <exception cref="DirectoryNotFoundException">The directory for <paramref name="path"/> does not exist.</exception>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public void Save(string path)
{
if (path == null)
/// <summary>
/// Releases all the resources used by the <see cref="FaceTrackingModel"/> object.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public void Dispose()
{
Dispose(true);
/// <param name="disposing">
/// true to release both managed and unmanaged resources; otherwise false to release only unmanaged resources.
/// </param>
+ /// <since_tizen> 4 </since_tizen>
protected virtual void Dispose(bool disposing)
{
if (_disposed)
/// <summary>
/// Represents the result of face tracking operation.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public class FaceTrackingResult
{
internal FaceTrackingResult(bool success, double confidence, Quadrangle region)
/// <summary>
/// Gets the value indicating the tracking is successful.
/// </summary>
- /// <since_tizen> 3</since_tizen>
+ /// <since_tizen> 4</since_tizen>
public bool Success { get; }
/// <summary>
/// Gets the region which determines the new position of the tracked face on the source.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public Quadrangle Region { get; }
/// <summary>
/// The confidence of the tracking model that a new location of the face was determined correctly
/// (value from 0.0 to 1.0). If no location was determined during the last track iteration, then the value is 0.0.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public double Confidence { get; }
}
}
/// <summary>
/// Specifies the expression types for faces.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public enum FacialExpression
{
/// <summary>
/// Represents a configuration of fill operations of <see cref="ImageObject"/> instances.
/// </summary>
/// <feature>http://tizen.org/feature/vision.image_recognition</feature>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public class ImageFillConfiguration : EngineConfiguration
{
private const string KeyScaleFactor = "MV_IMAGE_RECOGNITION_OBJECT_SCALE_FACTOR";
/// <summary>
/// A read-only field that represents the default value of <see cref="ObjectScaleFactor"/>.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public static readonly double DefaultScaleFactor = 1.2;
/// <summary>
/// A read-only field that represents the default value of <see cref="ObjectMaxKeyPoints"/>.
/// </summary>
- /// <since_tizen> 3</since_tizen>
+ /// <since_tizen> 4</since_tizen>
public static readonly int DefaultMaxKeypoints = 1000;
/// <summary>
/// Initializes a new instance of the <see cref="ImageFillConfiguration"/> class.
/// </summary>
/// <exception cref="NotSupportedException">The feature is not supported.</exception>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public ImageFillConfiguration() : base("image_recognition")
{
}
/// The default value is 1.2.
/// </summary>
/// <exception cref="ObjectDisposedException">The <see cref="ImageFillConfiguration"/> already has been disposed of.</exception>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public double ObjectScaleFactor
{
get
/// The default value is 1000.
/// </summary>
/// <exception cref="ObjectDisposedException">The <see cref="ImageFillConfiguration"/> already has been disposed of.</exception>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public int ObjectMaxKeyPoints
{
get
/// Represents an image object.
/// </summary>
/// <feature>http://tizen.org/feature/vision.image_recognition</feature>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public class ImageObject : IDisposable
{
private IntPtr _handle = IntPtr.Zero;
/// Initializes a new instance of the <see cref="ImageObject"/> class.
/// </summary>
/// <exception cref="NotSupportedException">The feature is not supported.</exception>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public ImageObject()
{
InteropImage.Create(out _handle).Validate("Failed to create image object");
/// </exception>
/// <exception cref="UnauthorizedAccessException">No permission to access the specified file.</exception>
/// <seealso cref="Save(string)"/>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public ImageObject(string path)
{
if (path == null)
/// <seealso cref="Fill(MediaVisionSource, ImageFillConfiguration)"/>
/// <seealso cref="Fill(MediaVisionSource, Rectangle)"/>
/// <seealso cref="Fill(MediaVisionSource, ImageFillConfiguration, Rectangle)"/>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public double RecognitionRate
{
get
/// </returns>
/// <exception cref="ObjectDisposedException">The <see cref="ImageObject"/> has already been disposed of.</exception>
/// <seealso cref="SetLabel(int)"/>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public int? GetLabel()
{
var ret = InteropImage.GetLabel(Handle, out var label);
/// </summary>
/// <param name="label">The label which will be assigned to the image object.</param>
/// <seealso cref="GetLabel"/>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public void SetLabel(int label)
{
InteropImage.SetLabel(Handle, label).Validate("Failed to set label");
/// -or-<br/>
/// <paramref name="source"/> has already been disposed of.
/// </exception>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public void Fill(MediaVisionSource source)
{
InvokeFill(source, null, null);
/// -or-<br/>
/// <paramref name="config"/> has already been disposed of.
/// </exception>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public void Fill(MediaVisionSource source, ImageFillConfiguration config)
{
InvokeFill(source, config, null);
/// -or-<br/>
/// <paramref name="source"/> has already been disposed of.
/// </exception>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public void Fill(MediaVisionSource source, Rectangle rect)
{
InvokeFill(source, null, rect);
/// -or-<br/>
/// <paramref name="config"/> has already been disposed of.
/// </exception>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public void Fill(MediaVisionSource source, ImageFillConfiguration config, Rectangle rect)
{
InvokeFill(source, config, rect);
/// <exception cref="UnauthorizedAccessException">No permission to write to the specified path.</exception>
/// <exception cref="ObjectDisposedException">The <see cref="ImageObject"/> has already been disposed of.</exception>
/// <exception cref="DirectoryNotFoundException">The directory for <paramref name="path"/> does not exist.</exception>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public void Save(string path)
{
if (path == null)
/// <summary>
/// Releases all the resources used by the <see cref="ImageObject"/> object.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public void Dispose()
{
Dispose(true);
/// <param name="disposing">
/// true to release both managed and unmanaged resources; otherwise false to release only unmanaged resources.
/// </param>
+ /// <since_tizen> 4 </since_tizen>
protected virtual void Dispose(bool disposing)
{
if (_disposed)
/// Represents a configuration of <see cref="ImageRecognizer"/>.
/// </summary>
/// <feature>http://tizen.org/feature/vision.image_recognition</feature>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public class ImageRecognitionConfiguration : EngineConfiguration
{
private const string KeySceneScaleFactor = "MV_IMAGE_RECOGNITION_SCENE_SCALE_FACTOR";
/// <summary>
/// A read-only field that represents the default value of <see cref="SceneScaleFactor"/>.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public static readonly double DefaultSceneScaleFactor = 1.2;
/// <summary>
/// A read-only field that represents the default value of <see cref="SceneMaxKeyPoints"/>.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public static readonly int DefaultSceneMaxKeypoints = 5000;
/// <summary>
/// A read-only field that represents the default value of <see cref="MinKeyPointMatches"/>.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public static readonly int DefaultMinKeyPointMatches = 30;
/// <summary>
/// A read-only field that represents the default value of <see cref="RequiredMatchingPart"/>.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public static readonly double DefaultRequiredMatchPart = 0.05;
/// <summary>
/// A read-only field that represents the default value of <see cref="TolerantPartMatchError"/>.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public static readonly double DefaultTolerantPartMatchError = 0.1;
/// <summary>
/// Initializes a new instance of the <see cref="ImageRecognitionConfiguration"/> class.
/// </summary>
/// <exception cref="NotSupportedException">The feature is not supported.</exception>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public ImageRecognitionConfiguration() : base("image_recognition")
{
}
/// The default is 1.2.
/// </value>
/// <exception cref="ObjectDisposedException">The <see cref="ImageRecognitionConfiguration"/> already has been disposed of.</exception>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public double SceneScaleFactor
{
get
/// </value>
/// <exception cref="ObjectDisposedException">The <see cref="ImageRecognitionConfiguration"/> already has been disposed of.</exception>
/// <exception cref="ArgumentOutOfRangeException"><paramref name="value"/> is less than zero.</exception>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public int SceneMaxKeyPoints
{
get
/// </value>
/// <exception cref="ObjectDisposedException">The <see cref="ImageRecognitionConfiguration"/> already has been disposed of.</exception>
/// <exception cref="ArgumentOutOfRangeException"><paramref name="value"/> is less than zero.</exception>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public int MinKeyPointMatches
{
get
/// -or-<br/>
/// <paramref name="value"/> is greater than one.
/// </exception>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public double RequiredMatchingPart
{
get
/// -or-<br/>
/// <paramref name="value"/> is greater than one.
/// </exception>
- /// <since_tizen> 3</since_tizen>
+ /// <since_tizen> 4</since_tizen>
public double TolerantPartMatchError
{
get
/// <summary>
/// Represents a result of RecognizeAsync operations of <see cref="ImageRecognizer"/>.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public class ImageRecognitionResult
{
/// The region of recognized image object on the source image.
/// </summary>
/// <value>The region of recognized image object if successful, otherwise null.</value>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public Quadrangle Region { get; }
/// <summary>
/// Gets the value indicating the recognition is successful.
/// </summary>
- /// <since_tizen> 3</since_tizen>
+ /// <since_tizen> 4</since_tizen>
public bool Success { get; }
}
}
/// <summary>
/// Provides the ability to recognize images on image sources.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public static class ImageRecognizer
{
/// <summary>
/// <exception cref="NotSupportedException">The feature is not supported.</exception>
/// <exception cref="ObjectDisposedException"><paramref name="source"/> has already been disposed of.</exception>
/// <feature>http://tizen.org/feature/vision.image_recognition</feature>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public static async Task<IEnumerable<ImageRecognitionResult>> RecognizeAsync(
MediaVisionSource source, ImageObject[] imageObjects)
{
/// <paramref name="config"/> has already been disposed of.
/// </exception>
/// <feature>http://tizen.org/feature/vision.image_recognition</feature>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public static async Task<IEnumerable<ImageRecognitionResult>> RecognizeAsync(MediaVisionSource source,
ImageObject[] imageObjects, ImageRecognitionConfiguration config)
{
/// <summary>
/// Provides the ability to track images on image sources.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public static class ImageTracker
{
/// <summary>
/// <exception cref="ArgumentException"><paramref name="trackingModel"/> has no target.</exception>
/// <seealso cref="ImageTrackingModel.SetTarget(ImageObject)"/>
/// <feature>http://tizen.org/feature/vision.image_recognition</feature>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public static async Task<Quadrangle> TrackAsync(MediaVisionSource source,
ImageTrackingModel trackingModel)
{
/// <exception cref="ArgumentException"><paramref name="trackingModel"/> has no target.</exception>
/// <seealso cref="ImageTrackingModel.SetTarget(ImageObject)"/>
/// <feature>http://tizen.org/feature/vision.image_recognition</feature>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public static async Task<Quadrangle> TrackAsync(MediaVisionSource source,
ImageTrackingModel trackingModel, ImageTrackingConfiguration config)
{
/// Represents a configuration of <see cref="ImageTracker"/>.
/// </summary>
/// <feature>http://tizen.org/feature/vision.image_recognition</feature>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public class ImageTrackingConfiguration : ImageRecognitionConfiguration
{
private const string KeyHistoryAmount = "MV_IMAGE_TRACKING_HISTORY_AMOUNT";
/// <summary>
/// A read-only field that represents the default value of <see cref="HistoryAmount"/>.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public static readonly int DefaultHistoryAmount = 3;
/// <summary>
/// A read-only field that represents the default value of <see cref="ExpectedOffset"/>.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public static readonly double DefaultExpectedOffset = 0;
/// <summary>
/// A read-only field that represents the default value of <see cref="IsStabilizationEnabled"/>.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public static readonly bool DefaultStabilizationEnabled = true;
/// <summary>
/// A read-only field that represents the default value of <see cref="StabilizationTolerantShift"/>.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public static readonly double DefaultStabilizationTolerantShift = 0.00006;
/// <summary>
/// A read-only field that represents the default value of <see cref="StabilizationSpeed"/>.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public static readonly double DefaultStabilizationSpeed = 0.3;
/// <summary>
/// A read-only field that represents the default value of <see cref="StabilizationAcceleration"/>.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public static readonly double DefaultStabilizationAcceleration = 0.1;
/// <summary>
/// Initializes a new instance of the <see cref="ImageTrackingConfiguration"/> class.
/// </summary>
/// <exception cref="NotSupportedException">The feature is not supported.</exception>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public ImageTrackingConfiguration()
{
}
/// </value>
/// <exception cref="ObjectDisposedException">The <see cref="ImageTrackingConfiguration"/> already has been disposed of.</exception>
/// <exception cref="ArgumentOutOfRangeException"><paramref name="value"/> is less than zero.</exception>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public int HistoryAmount
{
get
/// The default is 0.
/// </value>
/// <exception cref="ObjectDisposedException">The <see cref="ImageTrackingConfiguration"/> already has been disposed of.</exception>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public double ExpectedOffset
{
get
/// -or-<br/>
/// <paramref name="value"/> is greater than one.
/// </exception>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public double StabilizationAcceleration
{
get
/// The default is 0.3.
/// </value>
/// <exception cref="ObjectDisposedException">The <see cref="ImageTrackingConfiguration"/> already has been disposed of.</exception>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public double StabilizationSpeed
{
get
/// The default is 0.00006.
/// </value>
/// <exception cref="ObjectDisposedException">The <see cref="ImageTrackingConfiguration"/> already has been disposed of.</exception>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public double StabilizationTolerantShift
{
get
/// The default is true.
/// </value>
/// <exception cref="ObjectDisposedException">The <see cref="ImageTrackingConfiguration"/> already has been disposed of.</exception>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public bool IsStabilizationEnabled
{
get
/// Represents the image tracking model interface.
/// </summary>
/// <feature>http://tizen.org/feature/vision.image_recognition</feature>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public class ImageTrackingModel : IDisposable
{
private IntPtr _handle = IntPtr.Zero;
/// Initializes a new instance of the <see cref="ImageTrackingModel"/> class.
/// </summary>
/// <exception cref="NotSupportedException">The feature is not supported.</exception>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public ImageTrackingModel()
{
InteropModel.Create(out _handle).Validate("Failed to create FaceTrackingModel");
/// </exception>
/// <exception cref="UnauthorizedAccessException">No permission to access the specified file.</exception>
/// <seealso cref="Save(string)"/>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public ImageTrackingModel(string modelPath)
{
if (modelPath == null)
/// -or-<br/>
/// <paramref name="imageObject"/> has already been disposed of.
/// </exception>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public void SetTarget(ImageObject imageObject)
{
if (imageObject == null)
/// Tracking algorithm will try to find image by itself.
/// </summary>
/// <exception cref="ObjectDisposedException">The <see cref="ImageTrackingModel"/> has already been disposed of.</exception>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public void Refresh()
{
InteropModel.Refresh(Handle, IntPtr.Zero).Validate("Failed to refresh state");
/// <exception cref="UnauthorizedAccessException">No permission to write to the specified path.</exception>
/// <exception cref="ObjectDisposedException">The <see cref="ImageTrackingModel"/> has already been disposed of.</exception>
/// <exception cref="DirectoryNotFoundException">The directory for <paramref name="path"/> does not exist.</exception>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public void Save(string path)
{
if (path == null)
/// <summary>
/// Releases all resources used by the <see cref="ImageTrackingModel"/> object.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public void Dispose()
{
Dispose(true);
/// <param name="disposing">
/// true to release both managed and unmanaged resources; otherwise false to release only unmanaged resources.
/// </param>
+ /// <since_tizen> 4 </since_tizen>
protected virtual void Dispose(bool disposing)
{
if (_disposed)
/// <feature>http://tizen.org/feature/vision.barcode_generation</feature>
/// <feature>http://tizen.org/feature/vision.face_recognition</feature>
/// <feature>http://tizen.org/feature/vision.image_recognition</feature>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public class MediaVisionSource : IBufferOwner, IDisposable
{
private IntPtr _handle = IntPtr.Zero;
/// <exception cref="NotSupportedException">None of the related features are not supported.</exception>
/// <exception cref="ArgumentNullException"><paramref name="mediaPacket"/> is null.</exception>
/// <exception cref="ObjectDisposedException"><paramref name="mediaPacket"/> has already been disposed of.</exception>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public MediaVisionSource(MediaPacket mediaPacket)
: this(handle => FillMediaPacket(handle, mediaPacket))
{
/// -or-<br/>
/// <paramref name="colorSpace"/> is invalid.
/// </exception>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public MediaVisionSource(byte[] buffer, uint width, uint height, ColorSpace colorSpace)
: this(handle => FillBuffer(handle, buffer, width, height, colorSpace))
{
/// Gets the buffer of the media source.
/// </summary>
/// <exception cref="ObjectDisposedException">The <see cref="MediaVisionSource"/> has already been disposed of.</exception>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public IMediaBuffer Buffer
{
get
/// Gets MediaVision's supported ColorSpace state.
/// true if supported, otherwise false.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public static bool IsSupportedColorSpace(ColorSpace colorSpace)
{
return SupportedColorSpaces.Contains(colorSpace);
/// Gets the height of the media source.
/// </summary>
/// <exception cref="ObjectDisposedException">The <see cref="MediaVisionSource"/> has already been disposed of.</exception>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public uint Height
{
get
/// Gets the width of the media source.
/// </summary>
/// <exception cref="ObjectDisposedException">The <see cref="MediaVisionSource"/> has already been disposed of.</exception>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public uint Width
{
get
/// Gets <see cref="ColorSpace"/> of the media source.
/// </summary>
/// <exception cref="ObjectDisposedException">The <see cref="MediaVisionSource"/> has already been disposed of.</exception>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public ColorSpace Colorspace
{
get
/// <summary>
/// Gets the supported colorspaces for <see cref="MediaVisionSource"/>.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public static IEnumerable<ColorSpace> SupportedColorSpaces
{
get
/// <summary>
/// Releases all resources used by the current instance.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public void Dispose()
{
Dispose(true);
/// <param name="disposing">
/// true to release both managed and unmanaged resources; otherwise false to release only unmanaged resources.
/// </param>
+ /// <since_tizen> 4 </since_tizen>
protected virtual void Dispose(bool disposing)
{
if (_disposed)
/// <summary>
/// Provides data for the <see cref="MovementDetector.Detected"/> event.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public class MovementDetectedEventArgs : EventArgs
{
/// <summary>
/// Initializes a new instance of the <see cref="MovementDetectedEventArgs"/> class.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public MovementDetectedEventArgs(IEnumerable<Rectangle> areas)
{
Areas = areas;
/// <summary>
/// Gets a set of rectangular regions where movement was detected.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public IEnumerable<Rectangle> Areas { get; }
}
}
/// </summary>
/// <feature>http://tizen.org/feature/vision.face_recognition</feature>
/// <feature>http://tizen.org/feature/vision.image_recognition</feature>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public class MovementDetectionConfiguration : SurveillanceEngineConfiguration
{
private const string KeyThreshold = "MV_SURVEILLANCE_MOVEMENT_DETECTION_THRESHOLD";
/// <summary>
/// A read-only field that represents the default value of <see cref="Threshold"/>.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public static readonly int DefaultThreshold = 10;
/// <summary>
/// Initializes a new instance of the <see cref="MovementDetectionConfiguration"/> class.
/// </summary>
/// <exception cref="NotSupportedException">The required features are not supported.</exception>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public MovementDetectionConfiguration()
{
}
/// -or-<br/>
/// <paramref name="value"/> is greater than 255.
/// </exception>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public int Threshold
{
get
/// <feature>http://tizen.org/feature/vision.face_recognition</feature>
/// <feature>http://tizen.org/feature/vision.image_recognition</feature>
/// <seealso cref="MovementDetectionConfiguration"/>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public class MovementDetector : SurveillanceEngine
{
private const string KeyNumberOfRegions = "NUMBER_OF_MOVEMENT_REGIONS";
/// Initializes a new instance of the <see cref="MovementDetector"/> class.
/// </summary>
/// <exception cref="NotSupportedException">The required features are not supported.</exception>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public MovementDetector() : base(MovementDetectedEventType)
{
}
/// Occurs when the movement detected.
/// </summary>
/// <remarks>The event handler will be executed on an internal thread.</remarks>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public event EventHandler<MovementDetectedEventArgs> Detected;
internal override void OnEventDetected(IntPtr trigger, IntPtr source, int streamId,
/// <exception cref="ArgumentNullException"><paramref name="source"/> is null.</exception>
/// <exception cref="ObjectDisposedException">The <see cref="MovementDetector"/> has already been disposed of.</exception>
/// <see cref="SurveillanceSource.Push(MediaVisionSource)"/>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public void AddSource(SurveillanceSource source)
{
AddSource(source, null);
/// <paramref name="config"/> has already been disposed of.
/// </exception>
/// <see cref="SurveillanceSource.Push(MediaVisionSource)"/>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public void AddSource(SurveillanceSource source, MovementDetectionConfiguration config)
{
InvokeAddSource(source, config);
/// <summary>
/// Provides data for the <see cref="PersonAppearanceDetector.Detected"/> event.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public class PersonAppearanceDetectedEventArgs : EventArgs
{
/// <summary>
/// Initializes a new instance of the <see cref="PersonAppearanceDetectedEventArgs"/> class.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public PersonAppearanceDetectedEventArgs(IEnumerable<Rectangle> appeared,
IEnumerable<Rectangle> disappeared, IEnumerable<Rectangle> tracked)
{
/// <summary>
/// Gets a set of rectangular regions where appearances of the persons were detected.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public IEnumerable<Rectangle> AppearanceAreas { get; }
/// <summary>
/// Gets a set of rectangular regions where disappearances of the persons were detected.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public IEnumerable<Rectangle> DisappearanceAreas { get; }
/// <summary>
/// Gets a set of rectangular regions where persons were tracked.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public IEnumerable<Rectangle> TrackedAreas { get; }
}
}
/// </summary>
/// <feature>http://tizen.org/feature/vision.face_recognition</feature>
/// <feature>http://tizen.org/feature/vision.image_recognition</feature>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public class PersonAppearanceDetectionConfiguration : SurveillanceEngineConfiguration
{
private const string KeySkipFramesCount = "MV_SURVEILLANCE_SKIP_FRAMES_COUNT";
/// <summary>
/// A read-only field that represents the default value of <see cref="SkipFramesCount"/>.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public static readonly int DefaultSkipFramesCount = 0;
/// <summary>
/// Initializes a new instance of the <see cref="PersonAppearanceDetectionConfiguration"/> class.
/// </summary>
/// <exception cref="NotSupportedException">The required features are not supported.</exception>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public PersonAppearanceDetectionConfiguration()
{
}
/// <exception cref="ObjectDisposedException">The <see cref="PersonAppearanceDetectionConfiguration"/> already has been disposed of.</exception>
/// <exception cref="ArgumentOutOfRangeException"><paramref name="value"/> is less than zero.</exception>
/// <seealso cref="SurveillanceSource.Push(MediaVisionSource)"/>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public int SkipFramesCount
{
get
/// <feature>http://tizen.org/feature/vision.face_recognition</feature>
/// <feature>http://tizen.org/feature/vision.image_recognition</feature>
/// <seealso cref="PersonAppearanceDetectionConfiguration"/>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public class PersonAppearanceDetector : SurveillanceEngine
{
private const string KeyAppearedNumber = "NUMBER_OF_APPEARED_PERSONS";
/// Initializes a new instance of the <see cref="PersonAppearanceDetector"/> class.
/// </summary>
/// <exception cref="NotSupportedException">The required features are not supported.</exception>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public PersonAppearanceDetector() : base(PersonAppearanceEventType)
{
}
/// Occurs when the any appearance changes detected.
/// </summary>
/// <remarks>The event handler will be executed on an internal thread.</remarks>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public event EventHandler<PersonAppearanceDetectedEventArgs> Detected;
internal override void OnEventDetected(IntPtr trigger, IntPtr source, int streamId,
/// <exception cref="ArgumentNullException"><paramref name="source"/> is null.</exception>
/// <exception cref="ObjectDisposedException">The <see cref="PersonAppearanceDetector"/> has already been disposed of.</exception>
/// <see cref="SurveillanceSource.Push(MediaVisionSource)"/>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public void AddSource(SurveillanceSource source)
{
AddSource(source, null);
/// <paramref name="config"/> has already been disposed of.
/// </exception>
/// <see cref="SurveillanceSource.Push(MediaVisionSource)"/>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public void AddSource(SurveillanceSource source, PersonAppearanceDetectionConfiguration config)
{
InvokeAddSource(source, config);
/// </summary>
/// <feature>http://tizen.org/feature/vision.face_recognition</feature>
/// <feature>http://tizen.org/feature/vision.image_recognition</feature>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public class PersonRecognitionConfiguration : SurveillanceEngineConfiguration
{
private const string KeyFaceRecognitionModelFilePath = "MV_SURVEILLANCE_FACE_RECOGNITION_MODEL_FILE_PATH";
/// <param name="modelPath">Path to the face recognition model.</param>
/// <exception cref="ArgumentNullException"><paramref name="modelPath"/> is null.</exception>
/// <exception cref="NotSupportedException">The required features are not supported.</exception>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public PersonRecognitionConfiguration(string modelPath)
{
FaceRecognitionModelPath = modelPath;
/// </summary>
/// <exception cref="ArgumentNullException"><paramref name="value"/> is null.</exception>
/// <exception cref="ObjectDisposedException">The <see cref="PersonRecognitionConfiguration"/> already has been disposed of.</exception>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public string FaceRecognitionModelPath
{
get
/// <summary>
/// Represents a result of <see cref="PersonRecognizer"/> instances.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public class PersonRecognitionInfo
{
/// <summary>
/// Initializes a new instance of the <see cref="PersonRecognitionInfo"/> class.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public PersonRecognitionInfo(Rectangle area, int label, double confidence)
{
Area = area;
/// <summary>
/// Gets the rectangular location where person face was recognized.
/// </summary>
- /// <since_tizen> 3</since_tizen>
+ /// <since_tizen> 4</since_tizen>
public Rectangle Area { get; }
/// <summary>
/// Gets the label that correspond to the recognized person.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public int Label { get; }
/// <summary>
/// Gets the confidence value that correspond to the recognized person.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public double Confidence { get; }
}
}
/// <summary>
/// Provides data for the <see cref="PersonRecognizer.Recognized"/> event.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public class PersonRecognizedEventArgs : EventArgs
{
/// <summary>
/// Initializes a new instance of the <see cref="PersonRecognizedEventArgs"/> class.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public PersonRecognizedEventArgs(IEnumerable<PersonRecognitionInfo> recognitionInfo)
{
Recognitions = recognitionInfo;
/// <summary>
/// Gets a set of information that correspond to the recognized persons.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public IEnumerable<PersonRecognitionInfo> Recognitions { get; }
}
}
/// <feature>http://tizen.org/feature/vision.face_recognition</feature>
/// <feature>http://tizen.org/feature/vision.image_recognition</feature>
/// <seealso cref="PersonRecognitionConfiguration"/>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public class PersonRecognizer : SurveillanceEngine
{
private const string KeyCount = "NUMBER_OF_PERSONS";
/// Initializes a new instance of the <see cref="PersonRecognizer"/> class.
/// </summary>
/// <exception cref="NotSupportedException">The required features are not supported.</exception>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public PersonRecognizer() : base(PersonRecognizedEventType)
{
}
/// </summary>
/// <remarks>The event handler will be executed on an internal thread.</remarks>
/// <seealso cref="PersonRecognitionConfiguration.FaceRecognitionModelPath"/>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public event EventHandler<PersonRecognizedEventArgs> Recognized;
internal override void OnEventDetected(IntPtr trigger, IntPtr source, int streamId,
/// </exception>
/// <exception cref="NotSupportedException">The model file is not supported format or file.</exception>
/// <see cref="SurveillanceSource.Push(MediaVisionSource)"/>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public void AddSource(SurveillanceSource source, PersonRecognitionConfiguration config)
{
if (config == null)
/// <summary>
/// Represents a QR configuration of <see cref="BarcodeGenerator"/>.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public class QrConfiguration
{
/// <summary>
/// var qrConfig = new QrConfiguration(QrMode.Numeric, ErrorCorrectionLevel.Medium, 30);
/// </code>
/// </example>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public QrConfiguration(QrMode qrMode, ErrorCorrectionLevel ecc, int version)
{
if (version < 1 || version > 40)
/// <summary>
/// Gets the encoding mode for the message.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public QrMode Mode { get; }
/// <summary>
/// Gets the error correction level.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public ErrorCorrectionLevel ErrorCorrectionLevel { get; }
/// <summary>
/// Gets the QR code version.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public int Version { get; }
}
}
/// <summary>
/// Specifies the supported QR code encoding modes.
/// </summary>
- /// <since_tizen> 3</since_tizen>
+ /// <since_tizen> 4</since_tizen>
public enum QrMode
{
/// <summary>
/// <summary>
/// Represents a region with 4 <see cref="Point"/>s.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public class Quadrangle
{
/// <remarks><paramref name="points"/> must have 4 elements.</remarks>
/// <param name="points">Four points that define the object bounding quadrangle.</param>
/// <exception cref="ArgumentException">The length of <paramref name="points"/> is not 4.</exception>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public Quadrangle(Point[] points)
{
if (points.Length != 4)
/// <summary>
/// Gets four points that define the object bounding quadrangle.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public Point[] Points { get; }
/// <summary>
/// Returns a string that represents the current object.
/// </summary>
/// <returns>A string that represents the current object.</returns>
+ /// <since_tizen> 4 </since_tizen>
public override string ToString() =>
$"[{{{Points[0].ToString()}}}, {{{Points[1].ToString()}}}, {{{Points[2].ToString()}}}, {{{Points[3].ToString()}}}]";
}
/// </summary>
/// <feature>http://tizen.org/feature/vision.face_recognition</feature>
/// <feature>http://tizen.org/feature/vision.image_recognition</feature>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public class SurveillanceEngineConfiguration : EngineConfiguration
{
internal SurveillanceEngineConfiguration() : base("face_recognition", "image_recognition")
/// <seealso cref="MovementDetector"/>
/// <seealso cref="PersonAppearanceDetector"/>
/// <seealso cref="PersonRecognizer"/>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public abstract class SurveillanceEngine : IDisposable
{
private IntPtr _handle = IntPtr.Zero;
/// Sets and gets the ROI (Region Of Interest).
/// </summary>
/// <exception cref="ObjectDisposedException">The <see cref="SurveillanceEngine"/> has already been disposed of.</exception>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public Point[] Roi
{
get
/// <exception cref="ArgumentNullException"><paramref name="source"/> is null.</exception>
/// <exception cref="ObjectDisposedException">The <see cref="SurveillanceEngine"/> has already been disposed of.</exception>
/// <exception cref="ArgumentException"><paramref name="source"/> has not been added.</exception>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public void RemoveSource(SurveillanceSource source)
{
if (source == null)
/// <summary>
/// Releases all the resources used by the <see cref="SurveillanceEngine"/> object.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public void Dispose()
{
Dispose(true);
/// <param name="disposing">
/// true to release both managed and unmanaged resources; otherwise false to release only unmanaged resources.
/// </param>
+ /// <since_tizen> 4 </since_tizen>
protected virtual void Dispose(bool disposing)
{
if (_disposed)
/// <seealso cref="MovementDetector"/>
/// <seealso cref="PersonAppearanceDetector"/>
/// <seealso cref="PersonRecognizer"/>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public class SurveillanceSource
{
private static int _nextStreamId = int.MinValue;
/// <summary>
/// Initializes a new instance of the <see cref="SurveillanceSource"/> class.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public SurveillanceSource()
{
StreamId = GetNextStreamId();
/// <seealso cref="PersonAppearanceDetector.AddSource(SurveillanceSource)"/>
/// <seealso cref="PersonAppearanceDetector.AddSource(SurveillanceSource, PersonAppearanceDetectionConfiguration)"/>
/// <seealso cref="PersonRecognizer.AddSource(SurveillanceSource, PersonRecognitionConfiguration)"/>
- /// <since_tizen> 3</since_tizen>
+ /// <since_tizen> 4</since_tizen>
public void Push(MediaVisionSource source)
{
if (source == null)
/// <summary>
/// Provides the ability to query the information of sound devices.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class AudioDevice
{
private readonly int _id;
/// Gets the ID of the device.
/// </summary>
/// <value>The id of the device.</value>
+ /// <since_tizen> 3 </since_tizen>
public int Id => _id;
/// <summary>
/// Gets the name of the device.
/// </summary>
/// <value>The name of the device.</value>
+ /// <since_tizen> 3 </since_tizen>
public string Name { get; }
/// <summary>
/// Gets the type of the device.
/// </summary>
/// <value>The <see cref="AudioDeviceType"/> of the device.</value>
+ /// <since_tizen> 3 </since_tizen>
public AudioDeviceType Type => _type;
/// <summary>
/// Gets the IO direction of the device.
/// </summary>
/// <value>The IO direction of the device.</value>
+ /// <since_tizen> 3 </since_tizen>
public AudioDeviceIoDirection IoDirection => _ioDirection;
/// <summary>
/// Gets the state of the device.
/// </summary>
/// <value>The <see cref="AudioDeviceState"/> of the device.</value>
+ /// <since_tizen> 3 </since_tizen>
public AudioDeviceState State
{
get
/// Returns a string that represents the current object.
/// </summary>
/// <returns>A string that represents the current object.</returns>
+ /// <since_tizen> 4 </since_tizen>
public override string ToString() =>
$"Id={Id}, Name={Name}, Type={Type}, IoDirection={IoDirection}, State={State}";
/// </summary>
/// <param name="obj">A <see cref="Object"/> to compare.</param>
/// <returns>true if the two devices are equal; otherwise, false.</returns>
+ /// <since_tizen> 4 </since_tizen>
public override bool Equals(object obj)
{
var rhs = obj as AudioDevice;
/// Gets the hash code for this instance of <see cref="AudioDevice"/>.
/// </summary>
/// <returns>The hash code for this instance of <see cref="AudioDevice"/>.</returns>
+ /// <since_tizen> 4 </since_tizen>
public override int GetHashCode()
{
return Id.GetHashCode();
/// <summary>
/// Provides data for the <see cref="AudioManager.DeviceConnectionChanged"/> event.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class AudioDeviceConnectionChangedEventArgs : EventArgs
{
internal AudioDeviceConnectionChangedEventArgs(AudioDevice device, bool isConnected)
/// Gets the device.
/// </summary>
/// <value>The <see cref="AudioDevice"/>.</value>
+ /// <since_tizen> 3 </since_tizen>
public AudioDevice Device { get; }
/// <summary>
/// Gets the connection state of the device.
/// </summary>
/// <value>true if the device is connected; otherwise, false.</value>
+ /// <since_tizen> 3 </since_tizen>
public bool IsConnected { get; }
}
}
/// <summary>
/// Provides data for the <see cref="AudioManager.DeviceStateChanged"/> event.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class AudioDeviceStateChangedEventArgs : EventArgs
{
internal AudioDeviceStateChangedEventArgs(AudioDevice device, AudioDeviceState changedState)
/// Gets the device.
/// </summary>
/// <value>The <see cref="AudioDevice"/>.</value>
+ /// <since_tizen> 3 </since_tizen>
public AudioDevice Device { get; }
/// <summary>
/// Gets the state of the device.
/// </summary>
/// <value>The <see cref="AudioDeviceState"/> of the device.</value>
+ /// <since_tizen> 4 </since_tizen>
public AudioDeviceState State { get; }
}
}
/// <summary>
/// Provides the ability to control volume levels and monitor audio devices.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public static class AudioManager
{
static AudioManager()
/// Gets the volume controller.
/// </summary>
/// <value>The <see cref="AudioVolume"/>.</value>
+ /// <since_tizen> 3 </since_tizen>
public static AudioVolume VolumeController { get; }
/// <summary>
/// Gets the all devices currently connected.
/// </summary>
/// <returns>An IEnumerable<AudioDevice> that contains connected devices.</returns>
+ /// <since_tizen> 4 </since_tizen>
public static IEnumerable<AudioDevice> GetConnectedDevices()
{
IntPtr deviceListHandle = IntPtr.Zero;
/// <summary>
/// Occurs when the state of a connection of an audio device changes.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public static event EventHandler<AudioDeviceConnectionChangedEventArgs> DeviceConnectionChanged
{
add
/// <summary>
/// Occurs when the state of an audio device changes.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public static event EventHandler<AudioDeviceStateChangedEventArgs> DeviceStateChanged
{
add
/// <summary>
/// Specifies the audio device types.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public enum AudioDeviceType
{
/// <summary>
/// <summary>
/// Specifies the audio device directions.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public enum AudioDeviceIoDirection
{
/// <summary>
/// <summary>
/// Specifies the audio device states.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public enum AudioDeviceState
{
/// <summary>
/// <summary>
/// Specifies the audio volume types.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public enum AudioVolumeType
{
/// <summary>
/// <summary>
/// Specifies the audio stream types.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public enum AudioStreamType
{
/// <summary>
/// <summary>
/// Specifies the change reasons of the audio stream focus state.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public enum AudioStreamFocusChangedReason
{
/// <summary>
/// This enumeration has a <see cref="FlagsAttribute"/> attribute that allows a bitwise combination of its member values.
/// </para>
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
[Flags]
public enum AudioStreamFocusOptions
{
/// <summary>
/// Specifies the audio stream focus states.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public enum AudioStreamFocusState
{
/// <summary>
/// This enumeration has a <see cref="FlagsAttribute"/> attribute that allows a bitwise combination of its member values.
/// </para>
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
[Flags]
public enum AudioStreamBehaviors
{
/// <summary>
/// The exception that is thrown when noncompliance with the sound system policy happens.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public class AudioPolicyException : InvalidOperationException
{
/// <summary>
/// Initializes a new instance of the <see cref="AudioPolicyException"/> class.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public AudioPolicyException()
{
}
/// Initializes a new instance of the <see cref="AudioPolicyException"/> class with a specified error message.
/// </summary>
/// <param name="message">The error message that explains the reason for the exception.</param>
+ /// <since_tizen> 4 </since_tizen>
public AudioPolicyException(string message) : base(message)
{
}
/// </summary>
/// <param name="message">The error message that explains the reason for the exception.</param>
/// <param name="innerException">The exception that is the cause of the current exception..</param>
+ /// <since_tizen> 4 </since_tizen>
public AudioPolicyException(string message, Exception innerException) : base(message, innerException)
{
}
/// <summary>
/// Provides the ability to control the sound stream.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class AudioStreamPolicy : IDisposable
{
private AudioStreamPolicyHandle _handle;
/// </remarks>
/// <param name="streamType">The type of the sound stream for which the policy needs to be created.</param>
/// <exception cref="ArgumentException"><paramref name="streamType"/> is invalid.</exception>
+ /// <since_tizen> 3 </since_tizen>
public AudioStreamPolicy(AudioStreamType streamType)
{
ValidationUtil.ValidateEnum(typeof(AudioStreamType), streamType, nameof(streamType));
/// <remarks>
/// The event is raised in the internal thread.
/// </remarks>
+ /// <since_tizen> 4 </since_tizen>
public event EventHandler<AudioStreamPolicyFocusStateChangedEventArgs> FocusStateChanged;
/// <summary>
/// </remarks>
/// <value>The <see cref="AudioVolumeType"/> of the policy instance.</value>
/// <exception cref="ObjectDisposedException">The <see cref="AudioStreamPolicy"/> has already been disposed of.</exception>
+ /// <since_tizen> 3 </since_tizen>
public AudioVolumeType VolumeType
{
get
/// </summary>
/// <value>The state of focus for playback.</value>
/// <exception cref="ObjectDisposedException">The <see cref="AudioStreamPolicy"/> has already been disposed of.</exception>
+ /// <since_tizen> 3 </since_tizen>
public AudioStreamFocusState PlaybackFocusState => GetFocusState(true);
/// <summary>
/// </summary>
/// <value>The state of focus for recording.</value>
/// <exception cref="ObjectDisposedException">The <see cref="AudioStreamPolicy"/> has already been disposed of.</exception>
+ /// <since_tizen> 3 </since_tizen>
public AudioStreamFocusState RecordingFocusState => GetFocusState(false);
/// <summary>
/// disable the focus reacquisition.
/// </remarks>
/// <exception cref="ObjectDisposedException">The <see cref="AudioStreamPolicy"/> has already been disposed of.</exception>
+ /// <since_tizen> 3 </since_tizen>
public bool FocusReacquisitionEnabled
{
get
/// <exception cref="InvalidOperationException">The focus has already been acquired.</exception>
/// <exception cref="AudioPolicyException">Called in <see cref="FocusStateChanged"/> raised by releasing focus.</exception>
/// <exception cref="ObjectDisposedException">The <see cref="AudioStreamPolicy"/> has already been disposed of.</exception>
+ /// <since_tizen> 3 </since_tizen>
public void AcquireFocus(AudioStreamFocusOptions options, AudioStreamBehaviors behaviors, string extraInfo)
{
if (options == 0)
/// </exception>
/// <exception cref="InvalidOperationException">The focus has not been acquired.</exception>
/// <exception cref="ObjectDisposedException">The <see cref="AudioStreamPolicy"/> has already been disposed of.</exception>
+ /// <since_tizen> 3 </since_tizen>
public void ReleaseFocus(AudioStreamFocusOptions options, AudioStreamBehaviors behaviors, string extraInfo)
{
if (options == 0)
/// <seealso cref="AddDeviceForStreamRouting(AudioDevice)"/>
/// <seealso cref="RemoveDeviceForStreamRouting(AudioDevice)"/>
/// <exception cref="ObjectDisposedException">The <see cref="AudioStreamPolicy"/> has already been disposed of.</exception>
+ /// <since_tizen> 3 </since_tizen>
public void ApplyStreamRouting()
{
Interop.AudioStreamPolicy.ApplyStreamRouting(Handle).Validate("Failed to apply stream routing");
/// <exception cref="ObjectDisposedException">The <see cref="AudioStreamPolicy"/> has already been disposed of.</exception>
/// <seealso cref="AudioManager.GetConnectedDevices()"/>
/// <seealso cref="ApplyStreamRouting"/>
+ /// <since_tizen> 3 </since_tizen>
public void AddDeviceForStreamRouting(AudioDevice device)
{
if (device == null)
/// <exception cref="ArgumentNullException"><paramref name="device"/> is null.</exception>
/// <exception cref="ObjectDisposedException">The <see cref="AudioStreamPolicy"/> has already been disposed of.</exception>
/// <seealso cref="AudioManager.GetConnectedDevices()"/>
+ /// <since_tizen> 3 </since_tizen>
public void RemoveDeviceForStreamRouting(AudioDevice device)
{
if (device == null)
/// <summary>
/// Releases all resources used by the <see cref="AudioStreamPolicy"/>.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public void Dispose()
{
Dispose(true);
/// Releases the unmanaged resources used by the <see cref="AudioStreamPolicy"/>.
/// </summary>
/// <param name="disposing">true to release both managed and unmanaged resources; false to release only unmanaged resources.</param>
+ /// <since_tizen> 3 </since_tizen>
protected virtual void Dispose(bool disposing)
{
if (!_disposed)
/// <summary>
/// Occurs when the focus state for stream types is changed regardless of the process.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public static event EventHandler<StreamFocusStateChangedEventArgs> StreamFocusStateChanged
{
add
/// <summary>
/// Provides data for the <see cref="AudioStreamPolicy.FocusStateChanged"/> event.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public class AudioStreamPolicyFocusStateChangedEventArgs : EventArgs
{
internal AudioStreamPolicyFocusStateChangedEventArgs(AudioStreamFocusOptions options,
/// Gets the focus options.
/// </summary>
/// <value>The focus options.</value>
+ /// <since_tizen> 4 </since_tizen>
public AudioStreamFocusOptions FocusOptions { get; }
/// <summary>
/// Gets the focus state.
/// </summary>
/// <value>The focus state.</value>
+ /// <since_tizen> 4 </since_tizen>
public AudioStreamFocusState FocusState { get; }
/// <summary>
/// Gets the reason for state change of the focus.
/// </summary>
/// <value>The reason for state change of the focus.</value>
+ /// <since_tizen> 4 </since_tizen>
public AudioStreamFocusChangedReason Reason { get; }
/// <summary>
/// Gets the requested behaviors that should be followed.
/// </summary>
/// <value>The requested behaviors that should be followed.</value>
+ /// <since_tizen> 4 </since_tizen>
public AudioStreamBehaviors Behaviors { get; }
/// <summary>
/// </value>
/// <seealso cref="AudioStreamPolicy.AcquireFocus(AudioStreamFocusOptions, AudioStreamBehaviors, string)"/>
/// <seealso cref="AudioStreamPolicy.ReleaseFocus(AudioStreamFocusOptions, AudioStreamBehaviors, string)"/>
+ /// <since_tizen> 4 </since_tizen>
public string ExtraInfo { get; }
}
}
/// Provides the ability to control the volume levels.
/// </summary>
/// <seealso cref="AudioManager"/>
+ /// <since_tizen> 3 </since_tizen>
public class AudioVolume
{
private const string Tag = "Tizen.Multimedia.AudioVolume";
/// <summary>
/// Occurs when the volume level is changed.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public event EventHandler<VolumeChangedEventArgs> Changed
{
add
/// Gets the volume type of the sound being currently played.
/// </summary>
/// <value>The volume type of the sound being currently played.</value>
+ /// <since_tizen> 3 </since_tizen>
public AudioVolumeType CurrentPlaybackType
{
get
/// Gets the <see cref="VolumeLevel"/>.
/// </summary>
/// <value>The <see cref="VolumeLevel"/>.</value>
+ /// <since_tizen> 3 </since_tizen>
public VolumeLevel Level { get; }
/// <summary>
/// Gets the <see cref="MaxVolumeLevel"/>.
/// </summary>
/// <value>The <see cref="MaxVolumeLevel"/>.</value>
+ /// <since_tizen> 3 </since_tizen>
public MaxVolumeLevel MaxLevel { get; }
private void RegisterVolumeChangedEvent()
/// <summary>
/// Provides a means to get max volume levels.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class MaxVolumeLevel
{
internal MaxVolumeLevel()
/// <value>The maximum volume level.</value>
/// <exception cref="ArgumentException"><paramref name="type"/> is invalid.</exception>
/// <exception cref="ArgumentOutOfRangeException"><paramref name="type"/> is <see cref="AudioVolumeType.None"/>.</exception>
+ /// <since_tizen> 3 </since_tizen>
public int this[AudioVolumeType type]
{
get
/// <summary>
/// Provides data for the <see cref="AudioStreamPolicy.StreamFocusStateChanged"/> event.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class StreamFocusStateChangedEventArgs : EventArgs
{
internal StreamFocusStateChangedEventArgs(AudioStreamFocusOptions options,
/// Gets the focus options.
/// </summary>
/// <value>The focus options.</value>
+ /// <since_tizen> 4 </since_tizen>
public AudioStreamFocusOptions FocusOptions { get; }
/// <summary>
/// Gets the changed focus state.
/// </summary>
/// <value>The focus state.</value>
+ /// <since_tizen> 4 </since_tizen>
public AudioStreamFocusState FocusState { get; }
/// <summary>
/// Gets the reason for state change of the focus.
/// </summary>
/// <value>The reason for state change of the focus.</value>
+ /// <since_tizen> 4 </since_tizen>
public AudioStreamFocusChangedReason Reason { get; }
/// <summary>
/// </value>
/// <seealso cref="AudioStreamPolicy.AcquireFocus(AudioStreamFocusOptions, AudioStreamBehaviors, string)"/>
/// <seealso cref="AudioStreamPolicy.ReleaseFocus(AudioStreamFocusOptions, AudioStreamBehaviors, string)"/>
+ /// <since_tizen> 4 </since_tizen>
public string ExtraInfo { get; }
}
}
/// <summary>
/// Provides data for the <see cref="AudioVolume.Changed"/> event.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class VolumeChangedEventArgs : EventArgs
{
internal VolumeChangedEventArgs(AudioVolumeType type, uint level)
/// Gets the sound type that volume is changed.
/// </summary>
/// <value>The sound type that volume is changed.</value>
+ /// <since_tizen> 3 </since_tizen>
public AudioVolumeType Type { get; }
/// <summary>
/// Gets the new volume level.
/// </summary>
/// <value>The new volume level.</value>
+ /// <since_tizen> 3 </since_tizen>
public int Level { get; }
}
}
/// <summary>
/// Provides a means to control volume levels.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class VolumeLevel
{
internal VolumeLevel()
/// <paramref name="value"/> is greater than <see cref="MaxVolumeLevel.this[AudioVolumeType]"/>.
/// </exception>
/// <exception cref="UnauthorizedAccessException">The caller does not have required privilege to set volume.</exception>
+ /// <since_tizen> 3 </since_tizen>
public int this[AudioVolumeType type]
{
get
/// <summary>
/// Specifies whether a codec is an audio codec or a video codec.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public enum CodecKind
{
/// <summary>
/// The exception that is thrown when the codec for an input file or a data stream is not supported
/// or the input is malformed.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class CodecNotSupportedException : InvalidOperationException
{
/// <summary>
/// Initializes a new instance of the <see cref="CodecNotSupportedException"/> class
/// with <see cref="CodecKind"/> indicating which codec is not supported.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public CodecNotSupportedException(CodecKind kind)
{
CodecKind = kind;
/// Initializes a new instance of the <see cref="CodecNotSupportedException"/> class with
/// <see cref="CodecKind"/> indicating which codec is not supported and a specified error message.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public CodecNotSupportedException(CodecKind kind, string message) : base(message)
{
CodecKind = kind;
/// <summary>
/// Gets the <see cref="CodecKind"/> of the exception.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public CodecKind CodecKind { get; }
}
}
/// <summary>
/// Specifies color spaces for Tizen.Multimedia.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public enum ColorSpace
{
/// <summary>
/// <seealso cref="T:Tizen.Multimedia.Player"/>
/// <seealso cref="T:Tizen.Multimedia.Camera"/>
/// <seealso cref="T:Tizen.Multimedia.Remoting.ScreenMirroring"/>
+ /// <since_tizen> 3 </since_tizen>
public class Display
{
private readonly IDisplaySetter _setter;
/// <param name="mediaView">A <see cref="MediaView"/> to display.</param>
/// <feature>http://tizen.org/feature/multimedia.raw_video</feature>
/// <exception cref="NotSupportedException">The required feature is not supported.</exception>
+ /// <since_tizen> 3 </since_tizen>
public Display(MediaView mediaView)
{
ValidationUtil.ValidateFeatureSupported(Features.RawVideo);
/// Initializes a new instance of the <see cref="Display"/> class with a <see cref="Window"/> class.
/// </summary>
/// <param name="window">A <see cref="Window"/> to display.</param>
+ /// <since_tizen> 3 </since_tizen>
public Display(Window window)
{
if (window == null)
/// The <see cref="NUI.Window.BackgroundColor"/> must be <see cref="NUI.Color.Transparent"/>
/// for the <see cref="Display"/> to be rendered correctly.
/// </remarks>
+ /// <since_tizen> 3 </since_tizen>
public Display(NUI.Window window)
{
if (window == null)
/// The exception that is thrown when an input file or a data stream that is supposed to conform
/// to a certain file format specification, is malformed.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class FileFormatException : FormatException
{
/// <summary>
/// Initializes a new instance of the <see cref="FileFormatException"/> class.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public FileFormatException()
{
}
/// <summary>
/// Initializes a new instance of the <see cref="FileFormatException"/> class with a specified error message.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public FileFormatException(string message) : base(message)
{
}
/// <summary>
/// Specifies the flip operation.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
[Flags]
public enum Flips
{
/// <summary>
/// Provides functionality to read and write the media buffer.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public interface IMediaBuffer
{
/// <summary>
/// </exception>
/// <exception cref="ObjectDisposedException">The object that owns the current buffer has already been disposed of.</exception>
/// <exception cref="InvalidOperationException">The buffer is not available, i.e. not writable state.</exception>
+ /// <since_tizen> 4 </since_tizen>
byte this[int index]
{
get;
/// <summary>
/// Gets the size of the buffer, in bytes.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
int Length { get; }
/// <summary>
/// Gets the value indicating whether the <see cref="IMediaBuffer"/> is read-only.
/// </summary>
/// <value> true if the <see cref="IMediaBuffer"/> is read-only; otherwise, false.</value>
+ /// <since_tizen> 4 </since_tizen>
bool IsReadOnly { get; }
/// <summary>
/// <exception cref="ArgumentNullException"><paramref name="dest"/> is null.</exception>
/// <exception cref="ArgumentOutOfRangeException"><paramref name="startIndex"/> or <paramref name="length"/> is not valid.</exception>
/// <exception cref="ObjectDisposedException">The object that owns the current buffer has already been disposed of.</exception>
+ /// <since_tizen> 4 </since_tizen>
void CopyTo(byte[] dest, int startIndex, int length);
/// <summary>
/// <exception cref="ArgumentOutOfRangeException"><paramref name="startIndex"/>, <paramref name="length"/>,
/// or <paramref name="offset"/> is not valid.</exception>
/// <exception cref="ObjectDisposedException">The object that owns the current buffer has already been disposed of.</exception>
+ /// <since_tizen> 4 </since_tizen>
void CopyTo(byte[] dest, int startIndex, int length, int offset);
/// <summary>
/// <exception cref="ArgumentOutOfRangeException"><paramref name="startIndex"/> or <paramref name="length"/> is not valid.</exception>
/// <exception cref="ObjectDisposedException">The object that owns the current buffer has already been disposed of.</exception>
/// <exception cref="InvalidOperationException">The buffer is not available. i.e. not writable state.</exception>
+ /// <since_tizen> 3 </since_tizen>
void CopyFrom(byte[] source, int startIndex, int length);
/// <summary>
/// or <paramref name="offset"/> is not valid.</exception>
/// <exception cref="ObjectDisposedException">The object that owns the current buffer has already been disposed of.</exception>
/// <exception cref="InvalidOperationException">The buffer is not available. i.e. not writable state.</exception>
+ /// <since_tizen> 3 </since_tizen>
void CopyFrom(byte[] source, int startIndex, int length, int offset);
}
}
/// <summary>
/// Represents a point in the 2D space.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public struct Point
{
/// </summary>
/// <param name="x">X-axis coordinate of the point in the 2D space.</param>
/// <param name="y">Y-axis coordinate of the point in the 2D space.</param>
+ /// <since_tizen> 3 </since_tizen>
public Point(int x, int y)
{
X = x;
/// <summary>
/// Gets or sets the X-axis coordinate of the point in the 2D space.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public int X
{
get;
/// <summary>
/// Gets or sets the Y-axis coordinate of the point in the 2D space.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public int Y
{
get;
/// Returns a string that represents the current object.
/// </summary>
/// <returns>A string that represents the current object.</returns>
+ /// <since_tizen> 3 </since_tizen>
public override string ToString() => $"X={X.ToString()}, Y={Y.ToString()}";
/// <summary>
/// Gets the hash code for this instance of <see cref="Point"/>.
/// </summary>
/// <returns>The hash code for this instance of <see cref="Point"/>.</returns>
+ /// <since_tizen> 3 </since_tizen>
public override int GetHashCode()
{
return new { X, Y }.GetHashCode();
/// </summary>
/// <param name="obj">A <see cref="Object"/> to compare.</param>
/// <returns>true if the points are equal; otherwise, false.</returns>
+ /// <since_tizen> 3 </since_tizen>
public override bool Equals(object obj)
{
return obj is Point && this == (Point)obj;
/// <param name="point1">A <see cref="Point"/> to compare.</param>
/// <param name="point2">A <see cref="Point"/> to compare.</param>
/// <returns>true if the two instances of <see cref="Point"/> are equal; otherwise false.</returns>
+ /// <since_tizen> 3 </since_tizen>
public static bool operator ==(Point point1, Point point2)
{
return point1.X == point2.X && point1.Y == point2.Y;
/// <param name="point1">A <see cref="Point"/> to compare.</param>
/// <param name="point2">A <see cref="Point"/> to compare.</param>
/// <returns>true if the two instances of <see cref="Point"/> are not equal; otherwise false.</returns>
+ /// <since_tizen> 3 </since_tizen>
public static bool operator !=(Point point1, Point point2)
{
return !(point1 == point2);
/// <summary>
/// Represents a range(min, max) value.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public struct Range
{
/// <summary>
/// <param name="min">Minimum value of the range.</param>
/// <param name="max">Maximum value of the range.</param>
/// <exception cref="ArgumentException"><paramref name="max"/> is less than <paramref name="min"/>.</exception>
+ /// <since_tizen> 3 </since_tizen>
public Range(int min, int max)
{
if (min > max)
/// <summary>
/// Gets or sets the minimum value of the range.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public int Min
{
get;
/// <summary>
/// Gets or sets the maximum value of the range.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public int Max
{
get;
/// <summary>
/// Gets the length of the range.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public int Length => Max - Min;
/// <summary>
/// </summary>
/// <param name="value">The value to check.</param>
/// <returns>true if the value is within the range; otherwise false.</returns>
+ /// <since_tizen> 3 </since_tizen>
public bool IsInside(int value)
{
return Min <= value && value <= Max;
/// Returns a string that represents the current object.
/// </summary>
/// <returns>A string that represents the current object.</returns>
+ /// <since_tizen> 3 </since_tizen>
public override string ToString() => $"Min={Min.ToString()}, Max={Max.ToString()}";
/// <summary>
/// Gets the hash code for this instance of <see cref="Range"/>.
/// </summary>
/// <returns>The hash code for this instance of <see cref="Range"/>.</returns>
+ /// <since_tizen> 3 </since_tizen>
public override int GetHashCode()
{
return new { Min, Max }.GetHashCode();
/// </summary>
/// <param name="obj">A <see cref="Object"/> to compare.</param>
/// <returns>true if the two ranges are equal; otherwise, false.</returns>
+ /// <since_tizen> 3 </since_tizen>
public override bool Equals(object obj)
{
return obj is Range && this == (Range)obj;
/// <param name="range1">A <see cref="Range"/> to compare.</param>
/// <param name="range2">A <see cref="Range"/> to compare.</param>
/// <returns>true if the two instances of <see cref="Range"/> are equal; otherwise false.</returns>
+ /// <since_tizen> 3 </since_tizen>
public static bool operator ==(Range range1, Range range2)
{
return range1.Min == range2.Min && range1.Max == range2.Max;
/// <param name="range1">A <see cref="Range"/> to compare.</param>
/// <param name="range2">A <see cref="Range"/> to compare.</param>
/// <returns>true if the two instances of <see cref="Range"/> are not equal; otherwise false.</returns>
+ /// <since_tizen> 3 </since_tizen>
public static bool operator !=(Range range1, Range range2)
{
return !(range1 == range2);
/// Represents the location of the object bounded by a rectangle defined by
/// coordinates of top left corner, width and height.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public struct Rectangle
{
private Point _location;
/// <param name="y">The y-coordinate of the upper-left corner of the rectangle.</param>
/// <param name="width">The Width of the rectangle.</param>
/// <param name="height">The Height of the rectangle.</param>
+ /// <since_tizen> 3 </since_tizen>
public Rectangle(int x, int y, int width, int height) : this(new Point(x, y),
new Size(width, height))
{
/// </summary>
/// <param name="location">A <see cref="Location"/> that represents the upper-left corner of the rectangular region.</param>
/// <param name="size">A <see cref="Size"/> that represents the width and height of the rectangular region.</param>
+ /// <since_tizen> 3 </since_tizen>
public Rectangle(Point location, Size size)
{
_location = location;
/// <summary>
/// Gets or sets the coordinates of the upper-left corner of the rectangle.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public Point Location
{
get { return _location; }
/// <summary>
/// Gets or sets the x-coordinate of the upper-left corner of the rectangle.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public int X
{
get { return _location.X; }
/// <summary>
/// Gets or sets the y-coordinate of the upper-left corner of the rectangle.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public int Y
{
get { return _location.Y; }
/// <summary>
/// Gets or sets the width of the rectangle.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public int Width
{
get { return _size.Width; }
/// <summary>
/// Gets or sets the height of the rectangle.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public int Height
{
get { return _size.Height; }
/// <summary>
/// Gets the x-coordinate of the left edge of the rectangle.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public int Left => X;
/// <summary>
/// Gets the y-coordinate of the top edge of the rectangle.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public int Top => Y;
/// <summary>
/// Gets the x-coordinate of the right edge of the rectangle.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public int Right => X + Width;
/// <summary>
/// Gets the y-coordinate of the bottom edge of the rectangle.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public int Bottom => Y + Height;
/// <summary>
/// Gets or sets the size of the rectangle.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public Size Size
{
get { return _size; }
/// Returns a string that represents the current object.
/// </summary>
/// <returns>A string that represents the current object.</returns>
+ /// <since_tizen> 3 </since_tizen>
public override string ToString() => $"{_location.ToString()}, {_size.ToString()}";
/// <summary>
/// Gets the hash code for this instance of <see cref="Rectangle"/>.
/// </summary>
/// <returns>The hash code for this instance of <see cref="Rectangle"/>.</returns>
+ /// <since_tizen> 3 </since_tizen>
public override int GetHashCode()
{
return new { Location, Size }.GetHashCode();
/// </summary>
/// <param name="obj">A <see cref="Object"/> to compare.</param>
/// <returns>true if the rectangles are equal; otherwise, false.</returns>
+ /// <since_tizen> 3 </since_tizen>
public override bool Equals(object obj)
{
return obj is Rectangle && this == (Rectangle)obj;
/// <param name="rect1">A <see cref="Rectangle"/> to compare.</param>
/// <param name="rect2">A <see cref="Rectangle"/> to compare.</param>
/// <returns>true if the two instances of <see cref="Rectangle"/> are equal; otherwise false.</returns>
+ /// <since_tizen> 3 </since_tizen>
public static bool operator ==(Rectangle rect1, Rectangle rect2)
{
return rect1.Location == rect2.Location && rect1.Size == rect2.Size;
/// <param name="rect1">A <see cref="Rectangle"/> to compare.</param>
/// <param name="rect2">A <see cref="Rectangle"/> to compare.</param>
/// <returns>true if the two instances of <see cref="Rectangle"/> are not equal; otherwise false.</returns>
+ /// <since_tizen> 3 </since_tizen>
public static bool operator !=(Rectangle rect1, Rectangle rect2)
{
return !(rect1 == rect2);
/// <summary>
/// Specifies the directions of rotation.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public enum Rotation
{
/// <summary>
/// <summary>
/// Represents a size in 2D space.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public struct Size
{
/// <summary>
/// </summary>
/// <param name="width">Width of the size.</param>
/// <param name="height">Height of the size.</param>
+ /// <since_tizen> 3 </since_tizen>
public Size(int width, int height)
{
Width = width;
/// <summary>
/// Gets or sets the width.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public int Width
{
get;
/// <summary>
/// Gets or sets the height.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public int Height
{
get;
/// Returns a string that represents the current object.
/// </summary>
/// <returns>A string that represents the current object.</returns>
+ /// <since_tizen> 3 </since_tizen>
public override string ToString() => $"Width={ Width.ToString() }, Height={ Height.ToString() }";
/// <summary>
/// Gets the hash code for this instance of <see cref="Size"/>.
/// </summary>
/// <returns>The hash code for this instance of <see cref="Size"/>.</returns>
+ /// <since_tizen> 3 </since_tizen>
public override int GetHashCode()
{
return new { Width, Height }.GetHashCode();
/// </summary>
/// <param name="obj">A <see cref="Object"/> to compare.</param>
/// <returns>true if the two sizes are equal; otherwise, false.</returns>
+ /// <since_tizen> 3 </since_tizen>
public override bool Equals(object obj)
{
return obj is Size && this == (Size)obj;
/// <param name="size1">A <see cref="Size"/> to compare.</param>
/// <param name="size2">A <see cref="Size"/> to compare.</param>
/// <returns>true if the two instances of <see cref="Size"/> are equal; otherwise false.</returns>
+ /// <since_tizen> 3 </since_tizen>
public static bool operator ==(Size size1, Size size2)
{
return size1.Width == size2.Width && size1.Height == size2.Height;
/// <param name="size1">A <see cref="Size"/> to compare.</param>
/// <param name="size2">A <see cref="Size"/> to compare.</param>
/// <returns>true if the two instances of <see cref="Size"/> are not equal; otherwise false.</returns>
+ /// <since_tizen> 3 </since_tizen>
public static bool operator !=(Size size1, Size size2)
{
return !(size1 == size2);
/// <summary>
/// Specifies visibilities.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public enum Visibility
{
/// <summary>
/// <summary>
/// Represents an audio media format. This class cannot be inherited.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public sealed class AudioMediaFormat : MediaFormat
{
/// <exception cref="ArgumentOutOfRangeException">
/// <paramref name="channel"/>, <paramref name="sampleRate"/>, <paramref name="bit"/>, or <paramref name="bitRate"/> is less than zero.
/// </exception>
+ /// <since_tizen> 3 </since_tizen>
public AudioMediaFormat(MediaFormatAudioMimeType mimeType,
int channel, int sampleRate, int bit, int bitRate)
: this(mimeType, channel, sampleRate, bit, bitRate, MediaFormatAacType.None)
/// <exception cref="ArgumentOutOfRangeException">
/// <paramref name="channel"/>, <paramref name="sampleRate"/>, <paramref name="bit"/>, or <paramref name="bitRate"/> is less than zero.
/// </exception>
+ /// <since_tizen> 3 </since_tizen>
public AudioMediaFormat(MediaFormatAudioMimeType mimeType,
int channel, int sampleRate, int bit, int bitRate, MediaFormatAacType aacType)
: base(MediaFormatType.Audio)
/// <summary>
/// Gets the mime type of the current format.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public MediaFormatAudioMimeType MimeType { get; }
/// <summary>
/// Gets the channel value of the current format.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public int Channel { get; }
/// <summary>
/// Gets the sample rate value of the current format.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public int SampleRate { get; }
/// <summary>
/// Gets the bit value of the current format.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public int Bit { get; }
/// <summary>
/// Gets the bit rate value of the current format.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public int BitRate { get; }
/// <summary>
/// Gets the AAC type of the current format.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public MediaFormatAacType AacType { get; }
/// <summary>
/// Returns a string that represents the current object.
/// </summary>
/// <returns>A string that represents the current object.</returns>
+ /// <since_tizen> 3 </since_tizen>
public override string ToString()
=> $@"MimeType={ MimeType.ToString() }, Channel={ Channel.ToString() }, SampleRate=
{ SampleRate }, Bit={ Bit.ToString() }, BitRate={ BitRate.ToString() }, AacType={ AacType.ToString() }";
/// </summary>
/// <param name="obj">A <see cref="Object"/> to compare.</param>
/// <returns>true if the formats are equal; otherwise, false.</returns>
+ /// <since_tizen> 3 </since_tizen>
public override bool Equals(object obj)
{
var rhs = obj as AudioMediaFormat;
/// Gets the hash code for this instance of <see cref="AudioMediaFormat"/>.
/// </summary>
/// <returns>The hash code for this instance of <see cref="AudioMediaFormat"/>.</returns>
+ /// <since_tizen> 3 </since_tizen>
public override int GetHashCode()
=> new { MimeType, Channel, SampleRate, Bit, BitRate }.GetHashCode();
}
/// <summary>
/// Represents a container media format. This class cannot be inherited.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public sealed class ContainerMediaFormat : MediaFormat
{
/// <summary>
/// </summary>
/// <param name="mimeType">The mime type of the container format.</param>
/// <exception cref="ArgumentException"><paramref name="mimeType"/> is invalid (i.e. undefined value).</exception>
+ /// <since_tizen> 3 </since_tizen>
public ContainerMediaFormat(MediaFormatContainerMimeType mimeType)
: base(MediaFormatType.Container)
{
/// <summary>
/// Gets the mime type of the current format.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public MediaFormatContainerMimeType MimeType { get; }
internal override void AsNativeHandle(IntPtr handle)
/// Returns a string that represents the current object.
/// </summary>
/// <returns>A string that represents the current object.</returns>
+ /// <since_tizen> 3 </since_tizen>
public override string ToString() => $"MimeType={ MimeType.ToString() }";
/// <summary>
/// </summary>
/// <param name="obj">A <see cref="Object"/> to compare.</param>
/// <returns>true if the formats are equal; otherwise, false.</returns>
+ /// <since_tizen> 3 </since_tizen>
public override bool Equals(object obj)
{
var rhs = obj as ContainerMediaFormat;
/// Gets the hash code for this instance of <see cref="ContainerMediaFormat"/>.
/// </summary>
/// <returns>The hash code for this instance of <see cref="ContainerMediaFormat"/>.</returns>
+ /// <since_tizen> 3 </since_tizen>
public override int GetHashCode()
=> (int)MimeType;
}
/// <summary>
/// MediaFormat is a base class for media formats.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public abstract class MediaFormat
{
/// <summary>
/// <summary>
/// Gets the type of the current format.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public MediaFormatType Type
{
get;
/// <summary>
/// Specifies the AAC types for <see cref="AudioMediaFormat"/>.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public enum MediaFormatAacType
{
/// <summary>
/// Specifies the media format types.
/// </summary>
/// <seealso cref="MediaFormat"/>
+ /// <since_tizen> 3 </since_tizen>
public enum MediaFormatType
{
/// <summary>
/// <summary>
/// Specifies the mime types for audio media formats.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public enum MediaFormatAudioMimeType
{
/// <summary>
/// <summary>
/// Specifies the mime types for video media formats.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public enum MediaFormatVideoMimeType
{
/// <summary>
/// <summary>
/// Specifies the mime types for container media formats.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public enum MediaFormatContainerMimeType
{
/// <summary>
/// <summary>
/// Specifies the text mime types.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public enum MediaFormatTextMimeType
{
/// <summary>
/// <summary>
/// Specifies the text types.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public enum MediaFormatTextType
{
/// <summary>
/// <summary>
/// Represents a packet for multimedia.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public abstract partial class MediaPacket : IDisposable
{
private readonly LockState _lock = new LockState();
/// <summary>
/// Gets the media format of the current packet.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public MediaFormat Format
{
get
/// <exception cref="InvalidOperationException">
/// The MediaPacket is not in the writable state, which means it is being used by another module.
/// </exception>
+ /// <since_tizen> 3 </since_tizen>
public ulong Pts
{
get
/// <exception cref="InvalidOperationException">
/// The MediaPacket is not in the writable state, which means it is being used by another module.
/// </exception>
+ /// <since_tizen> 3 </since_tizen>
public ulong Dts
{
get
/// </summary>
/// <value>true if the packet is the encoded type; otherwise, false.</value>
/// <exception cref="ObjectDisposedException">The MediaPacket has already been disposed of.</exception>
+ /// <since_tizen> 3 </since_tizen>
public bool IsEncoded
{
get
/// <exception cref="ObjectDisposedException">The MediaPacket has already been disposed of.</exception>
/// <seealso cref="IsEncoded"/>
/// <seealso cref="VideoPlanes"/>
+ /// <since_tizen> 3 </since_tizen>
public IMediaBuffer Buffer
{
get
/// -or-<br/>
/// The MediaPacket is not in the writable state, which means it is being used by another module.
/// </exception>
+ /// <since_tizen> 3 </since_tizen>
public int BufferWrittenLength
{
get
/// <exception cref="ObjectDisposedException">The MediaPacket has already been disposed of.</exception>
/// <seealso cref="IsEncoded"/>
/// <seealso cref="Buffer"/>
+ /// <since_tizen> 3 </since_tizen>
public MediaPacketVideoPlane[] VideoPlanes
{
get
/// <exception cref="InvalidOperationException">
/// The MediaPacket is not in the writable state, which means it is being used by another module.
/// </exception>
+ /// <since_tizen> 3 </since_tizen>
public MediaPacketBufferFlags BufferFlags
{
get
/// Gets a value indicating whether the packet has been disposed of.
/// </summary>
/// <value>true if the packet has been disposed of; otherwise, false.</value>
+ /// <since_tizen> 3 </since_tizen>
public bool IsDisposed => _isDisposed;
private bool _isDisposed = false;
/// <exception cref="InvalidOperationException">
/// The MediaPacket can not be disposed, which means it is being used by another module.
/// </exception>
+ /// <since_tizen> 3 </since_tizen>
public void Dispose()
{
if (_isDisposed)
/// <param name="disposing">
/// true to release both managed and unmanaged resources; false to release only unmanaged resources.
/// </param>
+ /// <since_tizen> 3 </since_tizen>
protected virtual void Dispose(bool disposing)
{
if (_isDisposed)
/// </summary>
/// <param name="format">The media format for the new packet.</param>
/// <returns>A new MediaPacket object.</returns>
+ /// <since_tizen> 3 </since_tizen>
public static MediaPacket Create(MediaFormat format)
{
return new SimpleMediaPacket(format);
/// This enumeration has a <see cref="FlagsAttribute"/> attribute that allows a bitwise combination of its member values.
/// </para>
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
[Flags]
public enum MediaPacketBufferFlags
{
/// Represents a video plane for the <see cref="MediaPacket"/>.
/// This class is used if and only if the format of the packet is the raw video.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class MediaPacketVideoPlane
{
private readonly MediaPacket _packet;
/// Gets the buffer of the current video plane.
/// </summary>
/// <exception cref="ObjectDisposedException">The MediaPacket that owns the current buffer has already been disposed of.</exception>
+ /// <since_tizen> 3 </since_tizen>
public IMediaBuffer Buffer
{
get
/// Gets the stride width of the current video plane.
/// </summary>
/// <exception cref="ObjectDisposedException">The MediaPacket that owns the current buffer has already been disposed of.</exception>
+ /// <since_tizen> 3 </since_tizen>
public int StrideWidth
{
get
/// Gets the stride height of the current video plane.
/// </summary>
/// <exception cref="ObjectDisposedException">The MediaPacket that owns the current buffer has already been disposed of.</exception>
+ /// <since_tizen> 3 </since_tizen>
public int StrideHeight
{
get
/// <summary>
/// Represents a text media format. This class cannot be inherited.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public sealed class TextMediaFormat : MediaFormat
{
/// <summary>
/// <exception cref="ArgumentException">
/// <paramref name="mimeType"/> or <paramref name="textType"/> is invalid (i.e. undefined value).
/// </exception>
+ /// <since_tizen> 3 </since_tizen>
public TextMediaFormat(MediaFormatTextMimeType mimeType, MediaFormatTextType textType)
: base(MediaFormatType.Text)
{
/// <summary>
/// Gets the mime type of the current format.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public MediaFormatTextMimeType MimeType { get; }
/// <summary>
/// Gets the text type of the current format.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public MediaFormatTextType TextType { get; }
/// <summary>
/// Returns a string that represents the current object.
/// </summary>
/// <returns>A string that represents the current object.</returns>
+ /// <since_tizen> 3 </since_tizen>
public override string ToString()
=> $"MimeType={ MimeType.ToString() }, TextType={ TextType.ToString() }";
/// </summary>
/// <param name="obj">A <see cref="Object"/> to compare.</param>
/// <returns>true if the formats are equal; otherwise, false.</returns>
+ /// <since_tizen> 3 </since_tizen>
public override bool Equals(object obj)
{
var rhs = obj as TextMediaFormat;
/// Gets the hash code for this instance of <see cref="TextMediaFormat"/>.
/// </summary>
/// <returns>The hash code for this instance of <see cref="TextMediaFormat"/>.</returns>
+ /// <since_tizen> 3 </since_tizen>
public override int GetHashCode() => new { MimeType, TextType }.GetHashCode();
}
}
/// <summary>
/// Represents a video media format. This class cannot be inherited.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public sealed class VideoMediaFormat : MediaFormat
{
private const int DefaultFrameRate = 0;
/// <param name="height">The height value of the format</param>
/// <exception cref="ArgumentException"><paramref name="mimeType"/> is invalid (i.e. undefined value).</exception>
/// <exception cref="ArgumentOutOfRangeException"><paramref name="width"/> or <paramref name="height"/> is less than zero.</exception>
+ /// <since_tizen> 3 </since_tizen>
public VideoMediaFormat(MediaFormatVideoMimeType mimeType, int width, int height)
: this(mimeType, width, height, DefaultFrameRate)
{
/// <param name="size">The size of the format.</param>
/// <exception cref="ArgumentException"><paramref name="mimeType"/> is invalid (i.e. undefined value).</exception>
/// <exception cref="ArgumentOutOfRangeException">The width or the height of <paramref name="size"/> is less than zero.</exception>
+ /// <since_tizen> 3 </since_tizen>
public VideoMediaFormat(MediaFormatVideoMimeType mimeType, Size size)
: this(mimeType, size, DefaultFrameRate)
{
/// <exception cref="ArgumentOutOfRangeException">
/// <paramref name="width"/>, <paramref name="height"/>, or <paramref name="frameRate"/> is less than zero.
/// </exception>
+ /// <since_tizen> 3 </since_tizen>
public VideoMediaFormat(MediaFormatVideoMimeType mimeType, int width, int height, int frameRate)
: this(mimeType, width, height, frameRate, DefaultBitRate)
{
/// -or-<br/>
/// <paramref name="frameRate"/> is less than zero.
/// </exception>
+ /// <since_tizen> 3 </since_tizen>
public VideoMediaFormat(MediaFormatVideoMimeType mimeType, Size size,
int frameRate)
: this(mimeType, size, frameRate, DefaultBitRate)
/// <exception cref="ArgumentOutOfRangeException">
/// <paramref name="width"/>, <paramref name="height"/>, <paramref name="frameRate"/>, or <paramref name="bitRate"/> is less than zero.
/// </exception>
+ /// <since_tizen> 3 </since_tizen>
public VideoMediaFormat(MediaFormatVideoMimeType mimeType, int width, int height,
int frameRate, int bitRate)
: this(mimeType, new Size(width, height), frameRate, bitRate)
/// -or-<br/>
/// <paramref name="bitRate"/> is less than zero.
/// </exception>
+ /// <since_tizen> 3 </since_tizen>
public VideoMediaFormat(MediaFormatVideoMimeType mimeType, Size size,
int frameRate, int bitRate)
: base(MediaFormatType.Video)
/// <summary>
/// Gets the mime type of the current format.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public MediaFormatVideoMimeType MimeType { get; }
/// <summary>
/// Gets the size of the current format.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public Size Size { get; }
/// <summary>
/// Gets the frame rate value of the current format.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public int FrameRate { get; }
/// <summary>
/// Gets the bit rate value of the current format.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public int BitRate { get; }
/// <summary>
/// Returns a string that represents the current object.
/// </summary>
/// <returns>A string that represents the current object.</returns>
+ /// <since_tizen> 3 </since_tizen>
public override string ToString()
=> $@"MimeType={ MimeType.ToString() }, Size=({ Size.ToString() }), FrameRate=
{ FrameRate.ToString() }, BitRate={ BitRate.ToString() }";
/// </summary>
/// <param name="obj">A <see cref="Object"/> to compare.</param>
/// <returns>true if the formats are equal; otherwise, false.</returns>
+ /// <since_tizen> 3 </since_tizen>
public override bool Equals(object obj)
{
var rhs = obj as VideoMediaFormat;
/// Gets the hash code for this instance of <see cref="VideoMediaFormat"/>.
/// </summary>
/// <returns>The hash code for this instance of <see cref="VideoMediaFormat"/>.</returns>
+ /// <since_tizen> 3 </since_tizen>
public override int GetHashCode()
=> new { MimeType, Size, FrameRate, BitRate }.GetHashCode();
}
/// var display = new Display((Tizen.Multimedia.MediaView)mediaView.NativeView);
/// </code>
/// </example>
+ /// <since_tizen> 3 </since_tizen>
public class MediaView : EvasObject
{
/// <summary>
/// This constructor is used by the infrastructure and is not intended to be used directly from application code.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public MediaView(EvasObject parent) : base(parent)
{
}
/// <summary>
/// This method is used by the infrastructure and is not intended to be used directly from application code.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
protected override IntPtr CreateHandle(EvasObject parent)
{
IntPtr evas = Interop.EvasObject.evas_object_evas_get(parent);
/// The BluetoothAdapter class is used to discover neighbouring bluetooth devices.
/// </summary>
/// <privilege> http://tizen.org/privilege/bluetooth </privilege>
+ /// <since_tizen> 3 </since_tizen>
static public class BluetoothAdapter
{
/// <summary>
/// </summary>
/// <exception cref="NotSupportedException">Thrown when the Bluetooth is not supported.</exception>
/// <exception cref="InvalidOperationException">Thrown when the Bluetooth is not enabled.</exception>
+ /// <since_tizen> 3 </since_tizen>
static public bool IsBluetoothEnabled
{
get
/// </remarks>
/// <exception cref="NotSupportedException">Thrown when the Bluetooth is not supported.</exception>
/// <exception cref="InvalidOperationException">Thrown when the Bluetooth is not enabled.</exception>
+ /// <since_tizen> 3 </since_tizen>
static public string Address
{
get
/// </remarks>
/// <exception cref="NotSupportedException">Thrown when the Bluetooth is not supported.</exception>
/// <exception cref="InvalidOperationException">Thrown when the Bluetooth is not enabled.</exception>
+ /// <since_tizen> 3 </since_tizen>
static public string Name
{
get
/// </remarks>
/// <exception cref="NotSupportedException">Thrown when the Bluetooth is not supported.</exception>
/// <exception cref="InvalidOperationException">Thrown when the Bluetooth is not enabled.</exception>
+ /// <since_tizen> 3 </since_tizen>
static public VisibilityMode Visibility
{
get
/// </remarks>
/// <exception cref="NotSupportedException">Thrown when the Bluetooth is not supported.</exception>
/// <exception cref="InvalidOperationException">Thrown when the Bluetooth is not enabled.</exception>
+ /// <since_tizen> 3 </since_tizen>
static public bool IsDiscoveryInProgress
{
get
/// </remarks>
/// <exception cref="NotSupportedException">Thrown when the Bluetooth is not supported.</exception>
/// <exception cref="InvalidOperationException">Thrown when the Bluetooth is not enabled.</exception>
+ /// <since_tizen> 3 </since_tizen>
static public int RemainingTimeAsVisible
{
get
/// </summary>
/// <exception cref="NotSupportedException">Thrown when the Bluetooth is not supported.</exception>
/// <exception cref="InvalidOperationException">Thrown when the Bluetooth is not enabled.</exception>
+ /// <since_tizen> 3 </since_tizen>
static public event EventHandler<StateChangedEventArgs> StateChanged
{
add
/// </summary>
/// <exception cref="NotSupportedException">Thrown when the Bluetooth is not supported.</exception>
/// <exception cref="InvalidOperationException">Thrown when the Bluetooth is not enabled.</exception>
+ /// <since_tizen> 3 </since_tizen>
static public event EventHandler<NameChangedEventArgs> NameChanged
{
add
/// </summary>
/// <exception cref="NotSupportedException">Thrown when the Bluetooth is not supported.</exception>
/// <exception cref="InvalidOperationException">Thrown when the Bluetooth is not enabled.</exception>
+ /// <since_tizen> 3 </since_tizen>
static public event EventHandler<VisibilityModeChangedEventArgs> VisibilityModeChanged
{
add
/// </summary>
/// <exception cref="NotSupportedException">Thrown when the Bluetooth is not supported.</exception>
/// <exception cref="InvalidOperationException">Thrown when the Bluetooth is not enabled.</exception>
+ /// <since_tizen> 3 </since_tizen>
static public event EventHandler<VisibilityDurationChangedEventArgs> VisibilityDurationChanged
{
add
/// </summary>
/// <exception cref="NotSupportedException">Thrown when the Bluetooth is not supported.</exception>
/// <exception cref="InvalidOperationException">Thrown when the Bluetooth is not enabled.</exception>
+ /// <since_tizen> 3 </since_tizen>
static public event EventHandler<DiscoveryStateChangedEventArgs> DiscoveryStateChanged
{
add
/// </summary>
/// <exception cref="NotSupportedException">Thrown when the Bluetooth is not supported.</exception>
/// <exception cref="InvalidOperationException">Thrown when the Bluetooth is not enabled.</exception>
+ /// <since_tizen> 3 </since_tizen>
static public event EventHandler<AdapterLeScanResultChangedEventArgs> ScanResultChanged
{
add
/// <exception cref="NotSupportedException">Thrown when the Bluetooth is not supported.</exception>
/// <exception cref="InvalidOperationException">Thrown when the Bluetooth is not enabled
/// or the start discovery fails.</exception>
+ /// <since_tizen> 3 </since_tizen>
static public void StartDiscovery()
{
if (IsBluetoothEnabled)
/// <exception cref="NotSupportedException">Thrown when the Bluetooth is not supported.</exception>
/// <exception cref="InvalidOperationException">Thrown when the Bluetooth is not enabled or
/// the discovery process is not is progress. </exception>
+ /// <since_tizen> 3 </since_tizen>
static public void StopDiscovery()
{
if (IsDiscoveryInProgress)
/// <exception cref="NotSupportedException">Thrown when the Bluetooth is not supported.</exception>
/// <exception cref="InvalidOperationException">Thrown when the Bluetooth is not enabled
/// or reading the Bonded devices list is failed.</exception>
+ /// <since_tizen> 3 </since_tizen>
static public IEnumerable<BluetoothDevice> GetBondedDevices()
{
if (IsBluetoothEnabled)
/// <exception cref="NotSupportedException">Thrown when the Bluetooth is not supported.</exception>
/// <exception cref="InvalidOperationException">Thrown when the Bluetooth is not enabled
/// or reading the bonded device information fails.</exception>
+ /// <since_tizen> 3 </since_tizen>
static public BluetoothDevice GetBondedDevice(string address)
{
if (IsBluetoothEnabled)
/// <param name="serviceUuid">The UUID of Service.</param>
/// <exception cref="NotSupportedException">Thrown when the Bluetooth is not supported.</exception>
/// <exception cref="InvalidOperationException">Thrown when the Bluetooth is not enabled.</exception>
+ /// <since_tizen> 3 </since_tizen>
static public bool IsServiceUsed(string serviceUuid)
{
try
/// <exception cref="NotSupportedException">Thrown when the Bluetooth is not supported.</exception>
/// <exception cref="InvalidOperationException">Thrown when the Bluetooth is not enabled
/// or the read OObData procedure is failed.</exception>
+ /// <since_tizen> 3 </since_tizen>
static public BluetoothOobData GetLocalOobData()
{
if (IsBluetoothEnabled && Globals.IsInitialize)
/// <exception cref="NotSupportedException">Thrown when the Bluetooth is not supported.</exception>
/// <exception cref="InvalidOperationException">Thrown when the Bluetooth is not enabled
/// or the set OobData procedure is failed.</exception>
+ /// <since_tizen> 3 </since_tizen>
static public void SetRemoteOobData(string address, BluetoothOobData oobData)
{
if (IsBluetoothEnabled && Globals.IsInitialize)
/// <exception cref="NotSupportedException">Thrown when the Bluetooth is not supported.</exception>
/// <exception cref="InvalidOperationException">Thrown when the Bluetooth is not enabled.
/// or if the Remove Oobdata procedure is failed.</exception>
+ /// <since_tizen> 3 </since_tizen>
static public void RemoveRemoteOobData(string address)
{
if (IsBluetoothEnabled && Globals.IsInitialize)
/// <exception cref="NotSupportedException">Thrown when the Bluetooth LE is not supported.</exception>
/// <exception cref="InvalidOperationException">Thrown when the Bluetooth LE is not enabled
/// or the Start LE scan is failed.</exception>
+ /// <since_tizen> 3 </since_tizen>
static public void StartLeScan()
{
if (BluetoothAdapter.IsBluetoothEnabled && Globals.IsInitialize)
/// <exception cref="NotSupportedException">Thrown when the Bluetooth LE is not supported.</exception>
/// <exception cref="InvalidOperationException">Thrown when the Bluetooth LE is not enabled
/// or the Stop LE scan is failed.</exception>
+ /// <since_tizen> 3 </since_tizen>
static public void StopLeScan()
{
if (BluetoothAdapter.IsBluetoothEnabled && Globals.IsInitialize)
/// The Bluetooth must be enabled before calling this API.
/// </remarks>
/// <returns>The BluetoothLeAdvertiser instance.</returns>
+ /// <since_tizen> 3 </since_tizen>
static public BluetoothLeAdvertiser GetBluetoothLeAdvertiser()
{
return BluetoothLeAdvertiser.Instance;
/// <exception cref="NotSupportedException">Thrown when the Bluetooth is not supported.</exception>
/// <exception cref="InvalidOperationException">Thrown when the Bluetooth is not enabled
/// or the socket create error occurs.</exception>
+ /// <since_tizen> 3 </since_tizen>
static public BluetoothServerSocket CreateServerSocket(string serviceUuid)
{
if (IsBluetoothEnabled && Globals.IsInitialize)
/// <exception cref="NotSupportedException">Thrown when the Bluetooth is not supported.</exception>
/// <exception cref="InvalidOperationException">Thrown when the Bluetooth is not enabled
/// or the socket destroy error occurs.</exception>
+ /// <since_tizen> 3 </since_tizen>
static public void DestroyServerSocket(BluetoothServerSocket socket)
{
if (IsBluetoothEnabled && Globals.IsInitialize)
/// like headset, hands-free, and headphone.
/// </summary>
/// <privilege> http://tizen.org/privilege/bluetooth </privilege>
+ /// <since_tizen> 3 </since_tizen>
public class BluetoothAudio : BluetoothProfile
{
internal BluetoothAudio()
/// <summary>
/// The AudioConnectionStateChanged event is called when the audio connection state is changed.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public event EventHandler<AudioConnectionStateChangedEventArgs> AudioConnectionStateChanged
{
add
/// <exception cref="NotSupportedException">Thrown when the Bluetooth is not supported.</exception>
/// <exception cref="InvalidOperationException">Thrown when the Bluetooth is not enabled
/// or when the connection attempt fails.</exception>
+ /// <since_tizen> 3 </since_tizen>
public void Connect(BluetoothAudioProfileType profileType)
{
if (BluetoothAdapter.IsBluetoothEnabled && Globals.IsInitialize)
/// <exception cref="NotSupportedException">Thrown when the Bluetooth is not supported.</exception>
/// <exception cref="InvalidOperationException">Thrown when the Bluetooth is not enabled
/// or when Disconnection attempt fails.</exception>
+ /// <since_tizen> 3 </since_tizen>
public void Disconnect(BluetoothAudioProfileType type)
{
if (BluetoothAdapter.IsBluetoothEnabled && Globals.IsInitialize)
/// This class is used to notify changes of the target device (For example, media player) to the control device (For example, headset).
/// </summary>
/// <privilege> http://tizen.org/privilege/bluetooth </privilege>
+ /// <since_tizen> 3 </since_tizen>
public class BluetoothAvrcp : BluetoothProfile
{
internal BluetoothAvrcp()
/// <summary>
/// The TargetConnectionStateChanged event is invoked when the connection state is changed.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public event EventHandler<TargetConnectionStateChangedEventArgs> TargetConnectionStateChanged
{
add
/// <summary>
/// The EqualizerStateChanged event is invoked when the equalizer state is changed by the remote control device.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public event EventHandler<EqualizerStateChangedEventArgs> EqualizerStateChanged
{
add
/// <summary>
/// The RepeatModeChanged event is invoked when the repeat mode is changed by the remote control device.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public event EventHandler<RepeatModeChangedEventArgs> RepeatModeChanged
{
add
/// <summary>
/// The ShuffleModeChanged event is invoked when the shuffle mode is changed by the remote control device.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public event EventHandler<ShuffleModeChangedeventArgs> ShuffleModeChanged
{
add
/// <summary>
/// The ScanModeChanged event is invoked when the scan mode is changed by the remote control device.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public event EventHandler<ScanModeChangedEventArgs> ScanModeChanged
{
add
/// <exception cref="NotSupportedException">Thrown when the Bluetooth is not supported.</exception>
/// <exception cref="InvalidOperationException">Thrown when the Bluetooth is not enabled
/// or when notifying the equalizer state to the remote device fails.</exception>
+ /// <since_tizen> 3 </since_tizen>
public void NotifyEqualizerState(EqualizerState state)
{
if (BluetoothAdapter.IsBluetoothEnabled && Globals.IsInitialize)
/// <exception cref="InvalidOperationException">Thrown when the Bluetooth is not enabled
/// or when notifying the repeat mode state to the remote device fails.
/// </exception>
+ /// <since_tizen> 3 </since_tizen>
public void NotifyRepeatMode(RepeatMode mode)
{
if (BluetoothAdapter.IsBluetoothEnabled && Globals.IsInitialize)
/// <exception cref="NotSupportedException">Thrown when the Bluetooth is not supported.</exception>
/// <exception cref="InvalidOperationException">Thrown when the Bluetooth is not enabled
/// or when notifying the shuffle mode state to the remote device fails.</exception>
+ /// <since_tizen> 3 </since_tizen>
public void NotifyShuffleMode(ShuffleMode mode)
{
if (BluetoothAdapter.IsBluetoothEnabled && Globals.IsInitialize)
/// <exception cref="NotSupportedException">Thrown when the Bluetooth is not supported.</exception>
/// <exception cref="InvalidOperationException">Thrown when the Bluetooth is not enabled
/// or when notifying the scan mode state to the remote device fails.</exception>
+ /// <since_tizen> 3 </since_tizen>
public void NotifyScanMode(ScanMode mode)
{
if (BluetoothAdapter.IsBluetoothEnabled && Globals.IsInitialize)
/// <exception cref="NotSupportedException">Thrown when the Bluetooth is not supported.</exception>
/// <exception cref="InvalidOperationException">Thrown when the Bluetooth is not enabled
/// or when notifying the player state to the remote device fails.</exception>
+ /// <since_tizen> 3 </since_tizen>
public void NotifyPlayerState(PlayerState state)
{
if (BluetoothAdapter.IsBluetoothEnabled && Globals.IsInitialize)
/// <exception cref="NotSupportedException">Thrown when the Bluetooth is not supported.</exception>
/// <exception cref="InvalidOperationException">Thrown when the Bluetooth is not enabled
/// or when notifying the current position state to the remote device fails.</exception>
+ /// <since_tizen> 3 </since_tizen>
public void NotifyCurrentPosition(uint position)
{
if (BluetoothAdapter.IsBluetoothEnabled && Globals.IsInitialize)
/// <exception cref="NotSupportedException">Thrown when the Bluetooth is not supported.</exception>
/// <exception cref="InvalidOperationException">Thrown when the Bluetooth is not enabled
/// or when notifying the shuffle track state to the remote device fails.</exception>
+ /// <since_tizen> 3 </since_tizen>
public void NotifyTrack(Track trackData)
{
if (BluetoothAdapter.IsBluetoothEnabled && Globals.IsInitialize)
/// <summary>
/// This class is used to handle the device class types and the service.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class BluetoothClass
{
internal BluetoothMajorDeviceClassType MajorType;
/// <summary>
/// The type of the major device class.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public BluetoothMajorDeviceClassType MajorDeviceClassType
{
get
/// <summary>
/// The type of the minor device class.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public BluetoothMinorDeviceClassType MinorDeviceClassType
{
get
/// <summary>
/// The major service class mask.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public int MajorServiceClassMask
{
get
/// <summary>
/// This class contains the information of the Bluetooth OOB data.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class BluetoothOobData
{
/// <summary>
/// The default constructor. Initializes an object of the BluetoothOobData.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public BluetoothOobData()
{
}
/// <summary>
/// The hash value.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public byte[] HashValue
{
get;
/// <summary>
/// The randomizer value.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public byte[] RandomizerValue
{
get;
/// <summary>
/// This class contains the information of the Bluetooth device SDP data.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class BluetoothDeviceSdpData
{
internal string Address;
/// <summary>
/// The device address.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public string DeviceAddress
{
get
/// <summary>
/// The service UUID.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public IEnumerable<string> ServiceUuid
{
get
/// <summary>
/// This class contains the information of the Bluetooth device connection data.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class BluetoothDeviceConnectionData
{
internal string RemoteAddress;
/// <summary>
/// The device address.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public string Address
{
get
/// <summary>
/// The type of the connection link.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public BluetoothConnectionLinkType LinkType
{
get
/// <summary>
/// The disconnect reason.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public BluetoothDisconnectReason DisconnectReason
{
get
/// <summary>
/// This class contains the information of the track data.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class Track
{
/// <summary>
/// The default constructor. Initializes an object of the track.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public Track()
{
}
/// <summary>
/// The title of the track.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public string Title
{
get;
/// <summary>
/// The artist of the track.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public string Artist
{
get;
/// <summary>
/// The album of the track.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public string Album
{
get;
/// <summary>
/// The genre of the track.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public string Genre
{
get;
/// <summary>
/// The track number.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public uint TrackNum
{
get;
/// <summary>
/// The number of all tracks.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public uint TotalTracks
{
get;
/// <summary>
/// The duration of the track in milliseconds.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public uint Duration
{
get;
/// <summary>
/// This class contains the information of the manufacturer data.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class ManufacturerData
{
/// <summary>
/// The default Constructor. Initializes an object of the ManufacturerData.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public ManufacturerData()
{
}
/// <summary>
/// The manufacturer ID.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public int Id
{
get;
/// <summary>
/// The length of the manufacturer data.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public int DataLength
{
get;
/// <summary>
/// The manufacturer data.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public byte[] Data
{
get;
/// <summary>
/// This class contains the information of the Bluetooth service data.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class BluetoothServiceData
{
/// <summary>
/// The default constructor. Initializes an object of the BluetoothServiceData.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public BluetoothServiceData()
{
}
/// <summary>
/// The UUID of the service.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public string Uuid
{
get;
/// <summary>
/// The data length of the service data.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public int DataLength
{
get;
/// <summary>
/// The service data.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public byte[] Data
{
get;
/// <summary>
/// This class contains the service data information.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class BluetoothLeServiceData
{
internal string Uuid;
/// <summary>
/// The Bluetooth LE service UUID.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public string ServiceUuid
{
get
/// <summary>
/// The Bluetooth LE service data.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public byte[] ServiceData
{
get
/// <summary>
/// The length of the service data.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public int ServiceDataLength
{
get
/// <summary>
/// This class contains the information of the socket data.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class SocketData
{
internal string RecvData;
/// <summary>
/// The socket FD.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public int SocketFd
{
get
/// <summary>
/// The length of the received data.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public int DataSize
{
get
/// <summary>
/// The received data.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public string Data
{
get
/// <summary>
/// This class contains the information of the socket connection.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class SocketConnection
{
internal string Uuid;
/// <summary>
/// The connected socket FD.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public int SocketFd
{
get
/// <summary>
/// The remote device address.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public string Address
{
get
/// <summary>
/// The service UUID.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public string ServiceUuid
{
get
/// The BluetoothDevice class is used to search for services available on remote devices.
/// </summary>
/// <privilege> http://tizen.org/privilege/bluetooth </privilege>
+ /// <since_tizen> 3 </since_tizen>
public class BluetoothDevice
{
private event EventHandler<BondCreatedEventArgs> _bondCreated;
/// <summary>
/// The address of the device.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public string Address
{
get
/// <summary>
/// The name of the device.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public string Name
{
get
/// <summary>
/// The strength indicator of received signal of the device.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public int Rssi
{
get
/// <summary>
/// The class of the device.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public BluetoothClass Class
{
get
/// <summary>
/// The service UUID list of the device.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public IEnumerable<string> ServiceUuidList
{
get
/// <summary>
/// The number of services.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public int ServiceCount
{
get
/// <summary>
/// The paired state of the device.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public bool IsPaired
{
get
/// <summary>
/// The connection state of the device.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public bool IsConnected
{
get
/// <summary>
/// The authorization state of the device.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public bool IsAuthorized
{
get
/// <summary>
/// The Bluetooth appearance.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public BluetoothAppearanceType AppearanceType
{
get
/// <summary>
/// The length of the manufacturer data.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public int ManufacturerDataLength
{
get
/// <summary>
/// The manufacturer data.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public string ManufacturerData
{
get
/// <summary>
/// The BondCreated event is raised when the process of creating the bond is finished.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public event EventHandler<BondCreatedEventArgs> BondCreated
{
add
/// <summary>
/// The BondDestroyed event is raised when the bond is destroyed.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public event EventHandler<BondDestroyedEventArgs> BondDestroyed
{
add
/// <summary>
/// The AuthorizationChanged event is raised when the authorization of the device is changed.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public event EventHandler<AuthorizationChangedEventArgs> AuthorizationChanged
{
add
/// <summary>
/// The ServiceSearched event is raised when the process of service searched is finished.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public event EventHandler<ServiceSearchedEventArgs> ServiceSearched
{
add
/// <summary>
/// The ConnectionStateChanged event is raised when the connection state is changed.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public event EventHandler<DeviceConnectionStateChangedEventArgs> ConnectionStateChanged
{
add
/// </remarks>
/// <exception cref="InvalidOperationException">Thrown when the BT/BTLE is not enabled
/// or when the create bonding process to the remote device fails.</exception>
+ /// <since_tizen> 3 </since_tizen>
public void CreateBond()
{
if (BluetoothAdapter.IsBluetoothEnabled)
/// </remarks>
/// <exception cref="InvalidOperationException">Thrown when the BT/BTLE is not enabled
/// or when the cancel bonding procedure to remote device fails.</exception>
+ /// <since_tizen> 3 </since_tizen>
public void CancelBonding()
{
int ret = Interop.Bluetooth.CancelBonding();
/// </remarks>
/// <exception cref="InvalidOperationException">Thrown when the BT/BTLE is not enabled
/// or when the destroy bonding procedure fails.</exception>
+ /// <since_tizen> 3 </since_tizen>
public void DestroyBond()
{
if (BluetoothAdapter.IsBluetoothEnabled)
/// <param name="aliasName">The alias name of the remote device.</param>
/// <exception cref="InvalidOperationException">Thrown when the BT/BTLE is not enabled
/// or when the set alias name to remote device fails.</exception>
+ /// <since_tizen> 3 </since_tizen>
public void SetAlias(string aliasName)
{
if (BluetoothAdapter.IsBluetoothEnabled)
/// <param name="authorizationState">The authorization state.</param>
/// <exception cref="InvalidOperationException">Thrown when the BT/BTLE is not enabled
/// or when the set authorization to remote device fails.</exception>
+ /// <since_tizen> 3 </since_tizen>
public void SetAuthorization(BluetoothAuthorizationType authorizationState)
{
if (BluetoothAdapter.IsBluetoothEnabled)
/// <param name="uuids">The UUID list of the device.</param>
/// <exception cref="InvalidOperationException">Thrown when the BT/BTLE is not enabled
/// or when the get Mask from UUID fails.</exception>
+ /// <since_tizen> 3 </since_tizen>
public BluetoothServiceClassType GetMaskFromUuid(string[] uuids)
{
BluetoothServiceClassType serviceMask;
/// </remarks>
/// <exception cref="InvalidOperationException">Thrown when the BT/BTLE is not enabled
/// or when the remote device service search fails.</exception>
+ /// <since_tizen> 3 </since_tizen>
public void StartServiceSearch()
{
Log.Info(Globals.LogTag, "startservicesearch entry");
/// <returns>The connected Bluetooth profiles.</returns>
/// <exception cref="InvalidOperationException">Thrown when the BT/BTLE is not enabled
/// or when there is no BT connection.</exception>
+ /// <since_tizen> 3 </since_tizen>
public IEnumerable<BluetoothProfileType> GetConnectedProfiles()
{
if (BluetoothAdapter.IsBluetoothEnabled)
/// <param name="profileType">The Bluetooth profile type.</param>
/// <exception cref="InvalidOperationException">Thrown when the BT/BTLE is not enabled
/// or when there is no BT connection.</exception>
+ /// <since_tizen> 3 </since_tizen>
public bool IsProfileConnected(BluetoothProfileType profileType)
{
if (BluetoothAdapter.IsBluetoothEnabled)
/// <remarks>
/// The Bluetooth must be enabled.
/// </remarks>
+ /// <since_tizen> 3 </since_tizen>
public T GetProfile<T>() where T : BluetoothProfile
{
/*
/// </summary>
/// <returns>The IBluetoothClientSocket instance.</returns>
/// <param name="serviceUuid">The UUID of the service.</param>
+ /// <since_tizen> 3 </since_tizen>
public IBluetoothClientSocket CreateSocket(string serviceUuid)
{
BluetoothSocket clientSocket = new BluetoothSocket();
/// <summary>
/// Enumeration for the Bluetooth states.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public enum BluetoothState
{
/// <summary>
/// <summary>
/// Enumeration for the Bluetooth errors.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public enum BluetoothError
{
/// <summary>
/// <summary>
/// Enumeration for the Bluetooth visibility modes.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public enum VisibilityMode
{
/// <summary>
/// <summary>
/// Enumeration for the Bluetooth major device class types.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public enum BluetoothMajorDeviceClassType
{
/// <summary>
/// <summary>
/// Enumeration for the Bluetooth minor device class types.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public enum BluetoothMinorDeviceClassType
{
/// <summary>
/// <summary>
/// Enumeration for the Bluetooth device discovery states.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public enum BluetoothDeviceDiscoveryState
{
/// <summary>
/// <summary>
/// Enumeration for the Bluetooth appearance types.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public enum BluetoothAppearanceType
{
/// <summary>
/// <summary>
/// Enumeration for the Bluetooth audio profile types.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public enum BluetoothAudioProfileType
{
/// <summary>
/// <summary>
/// Enumeration for the Bluetooth service class types.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public enum BluetoothServiceClassType
{
/// <summary>
/// <summary>
/// Enumeration for the Bluetooth profile types.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public enum BluetoothProfileType
{
/// <summary>
/// <summary>
/// Enumeration for the Bluetooth authorization types.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public enum BluetoothAuthorizationType
{
/// <summary>
/// <summary>
/// Enumeration for the Bluetooth connection link types.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public enum BluetoothConnectionLinkType
{
/// <summary>
/// <summary>
/// Enumeration for the Bluetooth disconnect reason.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public enum BluetoothDisconnectReason
{
/// <summary>
/// <summary>
/// Enumeration for the connected Bluetooth device event roles.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public enum BluetoothSocketRole
{
/// <summary>
/// <summary>
/// Enumeration for the Bluetooth socket connection states.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public enum BluetoothSocketState
{
/// <summary>
/// <summary>
/// Enumeration for the equalizer states.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public enum EqualizerState
{
/// <summary>
/// <summary>
/// Enumeration for the repeat modes.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public enum RepeatMode
{
/// <summary>
/// <summary>
/// Enumeration for the shuffle modes.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public enum ShuffleMode
{
/// <summary>
/// <summary>
/// Enumeration for the scan modes.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public enum ScanMode
{
/// <summary>
/// <summary>
/// Enumeration for the player states.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public enum PlayerState
{
/// <summary>
/// <summary>
/// Enumeration for the Bluetooth LE device address types.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public enum BluetoothLeDeviceAddressType
{
/// <summary>
/// <summary>
/// Enumeration for the Bluetooth LePacket types.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public enum BluetoothLePacketType
{
/// <summary>
/// <summary>
/// Enumeration for the Bluetooth LE data types.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public enum BluetoothLeDataType
{
/// <summary>
/// <summary>
/// Enumeration for the Bluetooth LE advertising mode types.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public enum BluetoothLeAdvertisingMode
{
/// <summary>
/// <summary>
/// Enumeration for the Bluetooth LE advertising mode type.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public enum BluetoothLeAdvertisingState
{
/// <summary>
/// <summary>
/// Enumeration for the integer type for GATT handle's values.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public enum IntDataType
{
/// <summary>
/// <summary>
/// Enumerations of the float type for GATT handle's values.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public enum FloatDataType
{
/// <summary>
/// <summary>
/// Enumeration for the GATT handle's types.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public enum GattHandleType
{
/// <summary>
/// <summary>
/// Enumeration for the service types.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public enum BluetoothGattServiceType
{
/// <summary>
/// <summary>
/// Enumeration for the characteristic's property.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
[Flags]
public enum BluetoothGattProperty
{
/// <summary>
/// Enumeration for the Bluetooth GATT permission types.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
[Flags]
public enum BluetoothGattPermission
{
/// <summary>
/// Enumeration for the write types.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public enum BluetoothGattWriteType
{
/// <summary>
/// <summary>
/// Enumeration for the remote device request types for attributes.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public enum BluetoothGattRequestType
{
/// <summary>
/// <summary>
/// An extended EventArgs class contains the changed Bluetooth state.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class StateChangedEventArgs : EventArgs
{
private BluetoothState _type;
/// <summary>
/// The state of Bluetooth.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public BluetoothState BTState
{
get
/// <summary>
/// The BluetoothError result.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public BluetoothError Result
{
get
/// <summary>
/// An extended EventArgs class contains the changed Bluetooth name.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class NameChangedEventArgs : EventArgs
{
private string _name;
/// <summary>
/// The name of the device.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public string DeviceName
{
get
/// <summary>
/// An extended EventArgs class contains the changed Bluetooth visibility mode.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class VisibilityModeChangedEventArgs : EventArgs
{
private VisibilityMode _mode;
/// <summary>
/// The visibility mode.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public VisibilityMode Visibility
{
get
/// <summary>
/// The BluetoothError result.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public BluetoothError Result
{
get
/// <summary>
/// An extended EventArgs class contains the duration until the visibility mode is changed from TimeLimitedDiscoverable to NonDiscoverable.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class VisibilityDurationChangedEventArgs : EventArgs
{
private int _duration;
/// <summary>
/// The duration.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public int Duration
{
get
/// <summary>
/// An extended EventArgs class contains the changed Bluetooth device discovery state and the discovered device information.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class DiscoveryStateChangedEventArgs : EventArgs
{
private BluetoothError _result;
/// <summary>
/// The BluetoothError result.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public BluetoothError Result
{
get
/// <summary>
/// The state of the discovery.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public BluetoothDeviceDiscoveryState DiscoveryState
{
get
/// <summary>
/// The remote device found.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public BluetoothDevice DeviceFound
{
get
/// <summary>
/// An extended EventArgs class contains the bonded device information.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class BondCreatedEventArgs : EventArgs
{
private BluetoothError _result;
/// <summary>
/// The BluetoothError result.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public BluetoothError Result
{
get
/// <summary>
/// The remote device.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public BluetoothDevice Device
{
get
/// <summary>
/// An extended EventArgs class contains the address of the remote Bluetooth device to destroy bond with.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class BondDestroyedEventArgs : EventArgs
{
private BluetoothError _result;
/// <summary>
/// The BluetoothError result.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public BluetoothError Result
{
get
/// The remote device address.
/// </summary>
/// <value>The device address.</value>
+ /// <since_tizen> 3 </since_tizen>
public string DeviceAddress
{
get
/// <summary>
/// An extended EventArgs class contains the authorization state and the address of the remote Bluetooth device.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class AuthorizationChangedEventArgs : EventArgs
{
private BluetoothAuthorizationType _authType;
/// <summary>
/// The authorization.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public BluetoothAuthorizationType Authorization
{
get
/// <summary>
/// The device address.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public string DeviceAddress
{
get
/// <summary>
/// An extended EventArgs class contains the service lists found on the remote Bluetooth device.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class ServiceSearchedEventArgs : EventArgs
{
private BluetoothDeviceSdpData _sdpData;
/// <summary>
/// The BluetoothError result.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public BluetoothError Result
{
get
/// <summary>
/// The sdp data.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public BluetoothDeviceSdpData SdpData
{
get
/// <summary>
/// An extended EventArgs class contains the connection state and the connection information of the remote device.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class DeviceConnectionStateChangedEventArgs : EventArgs
{
private bool _isConnected;
/// <summary>
/// A value indicating whether the device is connected.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public bool IsConnected
{
get
/// <summary>
/// The device connection data.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public BluetoothDeviceConnectionData ConnectionData
{
get
/// <summary>
/// An extended EventArgs class contains the data received information.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class SocketDataReceivedEventArgs : EventArgs
{
private SocketData _data;
/// <summary>
/// The socket data.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public SocketData Data
{
get
/// <summary>
/// An extended EventArgs class contains the changed connection state.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class SocketConnectionStateChangedEventArgs : EventArgs
{
private BluetoothError _result;
/// <summary>
/// The BluetoothError result.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public BluetoothError Result
{
get
/// <summary>
/// The socket state.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public BluetoothSocketState State
{
get
/// <summary>
/// The socket connection.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public SocketConnection Connection
{
get
/// <summary>
/// The AcceptStateChanged event is raised when the socket connection state is changed.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class AcceptStateChangedEventArgs : EventArgs
{
private BluetoothError _result;
/// <summary>
/// The BluetoothError result.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public BluetoothError Result
{
get
/// <summary>
/// The socket state.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public BluetoothSocketState State
{
get
/// <summary>
/// The socket connection.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public SocketConnection Connection
{
get
/// <summary>
/// The server socket instance.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public IBluetoothServerSocket Server
{
get
/// <summary>
/// An extended EventArgs class contains the connection state, remote address, and the type of audio profile.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class AudioConnectionStateChangedEventArgs : EventArgs
{
private int _result;
/// <summary>
/// The result.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public int Result
{
get
/// <summary>
/// A value indicating whether this instance is connected.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public bool IsConnected
{
get
/// <summary>
/// The address.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public string Address
{
get
/// <summary>
/// The type of the audio profile.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public BluetoothAudioProfileType ProfileType
{
get
/// <summary>
/// An extended EventArgs class contains the connection state and the address of the remote Bluetooth device.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class HidConnectionStateChangedEventArgs : EventArgs
{
private int _result;
/// <summary>
/// The result.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public int Result
{
get
/// <summary>
/// A value indicating whether this instance is connected.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public bool IsConnected
{
get
/// <summary>
/// The address.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public string Address
{
get
/// <summary>
/// An extended EventArgs class contains the changed equalizer state.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class EqualizerStateChangedEventArgs : EventArgs
{
private EqualizerState _state;
/// <summary>
/// The state of the equalizer.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public EqualizerState State
{
get
/// <summary>
/// An extended EventArgs class contains the changed repeat mode.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class RepeatModeChangedEventArgs : EventArgs
{
private RepeatMode _mode;
/// <summary>
/// The repeat mode.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public RepeatMode Mode
{
get
/// <summary>
/// An extended EventArgs class contains the changed shuffle mode.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class ShuffleModeChangedeventArgs : EventArgs
{
private ShuffleMode _mode;
/// <summary>
/// The shuffle mode.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public ShuffleMode Mode
{
get
/// <summary>
/// An extended EventArgs class contains the changed scan mode.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class ScanModeChangedEventArgs : EventArgs
{
private ScanMode _mode;
/// <summary>
/// The scan mode.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public ScanMode Mode
{
get
/// <summary>
/// An extended EventArgs class contains the connection state and the remote device address.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class TargetConnectionStateChangedEventArgs : EventArgs
{
private bool _isConnected;
/// <summary>
/// A value indicating whether this instance is connected.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public bool IsConnected
{
get
/// <summary>
/// The address.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public string Address
{
get
/// <summary>
/// An extended EventArgs class contains the changed Bluetooth LE advertising state changed information.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class AdvertisingStateChangedEventArgs : EventArgs
{
private BluetoothLeAdvertisingState _state;
/// <summary>
/// The result.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public int Result
{
get
/// <summary>
/// The advertiser handle.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public IntPtr AdvertiserHandle
{
get
/// <summary>
/// The LE advertising state.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public BluetoothLeAdvertisingState State
{
get
/// <summary>
/// An extended EventArgs class contains the changed Bluetooth LE scan result information.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class AdapterLeScanResultChangedEventArgs : EventArgs
{
private BluetoothLeDevice _deviceData;
/// <summary>
/// The result.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public BluetoothError Result
{
get
/// <summary>
/// The LE device data.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public BluetoothLeDevice DeviceData
{
get
/// <summary>
/// An extended EventArgs class contains the changed Bluetooth LE GATT connection state.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class GattConnectionStateChangedEventArgs : EventArgs
{
private bool _isConnected;
/// <summary>
/// The result.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public int Result
{
get
/// <summary>
/// A value indicating whether this instance is connected.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public bool IsConnected
{
get
/// <summary>
/// The remote address.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public string RemoteAddress
{
get
/// <summary>
/// An extended EventArgs class contains the changed attribute value.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class ValueChangedEventArgs : EventArgs
{
internal ValueChangedEventArgs(byte[] value)
/// <summary>
/// The attribute value.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public byte[] Value { get; }
}
/// <summary>
/// An extended EventArgs class contains the read value request data.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class ReadRequestedEventArgs : EventArgs
{
internal ReadRequestedEventArgs(BluetoothGattServer server, string clientAddress, int requestId, int offset)
/// <summary>
/// The GATT server instance.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public BluetoothGattServer Server { get; }
/// <summary>
/// The client address.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public string ClientAddress { get; }
/// <summary>
/// The request identifier.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public int RequestId { get; }
/// <summary>
/// The offset.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public int Offset { get; }
}
/// <summary>
/// An extended EventArgs class contains the read value request data.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class WriteRequestedEventArgs : EventArgs
{
internal WriteRequestedEventArgs(BluetoothGattServer server, string clientAddress, int requestId, byte[] value, int offset, bool response_needed)
/// <summary>
/// The GATT server instance.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public BluetoothGattServer Server { get; }
/// <summary>
/// The client address.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public string ClientAddress { get; }
/// <summary>
/// The request identifier.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public int RequestId { get; }
/// <summary>
/// The read value.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public byte[] Value { get; }
/// <summary>
/// The offset.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public int Offset { get; }
/// <summary>
/// Indicates whether a response is required by the remote device.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public bool Response_needed { get; }
}
/// <summary>
/// An extended EventArgs class contains the client preference to enable or disable the Notification/Indication.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class NotificationStateChangedEventArg : EventArgs
{
internal NotificationStateChangedEventArg(BluetoothGattServer server, bool value)
/// <summary>
/// The GATT server instance.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public BluetoothGattServer Server { get; }
/// <summary>
/// A value indicating whether the notification is enabled.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public bool Value { get; }
}
/// <summary>
/// An extended EventArgs class contains the read value request data.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class NotificationSentEventArg : EventArgs
{
internal NotificationSentEventArg(BluetoothGattServer server, string clientAddress, int result, bool completed)
/// <summary>
/// The GATT server instance.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public BluetoothGattServer Server { get; }
/// <summary>
/// The client address.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public string ClientAddress { get; }
/// <summary>
/// The result.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public int Result { get; }
/// <summary>
/// Gets a value indicating whether the notification sent is completed.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public bool Completed { get; }
}
/// <summary>
/// An extended EventArgs class which contains the connection state and address of the remote Bluetooth device.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public class ConnectionRequestedEventArgs : EventArgs
{
private string _address;
/// <summary>
/// The address.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public string Address
{
get
/// <summary>
/// An extended EventArgs class which contains the file transfer progress state, file transfer progress by percent.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public class TransferProgressEventArgs : EventArgs
{
private string _file;
/// <summary>
/// The File name.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public string File
{
get
/// <summary>
/// The File size.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public long Size
{
get
/// <summary>
/// The File transfer percent.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public int Percent
{
get
/// <summary>
/// An extended EventArgs class which contains the file transfer finished state and file state.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public class TransferFinishedEventArgs : EventArgs
{
private string _file;
/// <summary>
/// The File name.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public string File
{
get
/// <summary>
/// The File size.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public long Size
{
get
/// <summary>
/// The return value.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public int Result
{
get
/// <Summary>
/// An extended EventArgs class which contains the Push Request respond state
/// </Summary>
+ /// <since_tizen> 4 </since_tizen>
public class PushRespondedEventArgs : EventArgs
{
/// <summary>
/// The return value.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public int Result
{
get
/// <summary>
/// The address.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public string Address
{
get
/// <summary>
/// An extended EventArgs class which contains the file push progress state, push progress by percent.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public class PushProgressEventArgs : EventArgs
{
private string _file;
/// <summary>
/// The File name.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public string File
{
get
/// <summary>
/// The File size.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public long Size
{
get
/// <summary>
/// The File transfer percent.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public int Percent
{
get
/// <Summary>
/// An extended EventArgs class which contains the Push Request respond state
/// </Summary>
+ /// <since_tizen> 4 </since_tizen>
public class PushFinishedEventArgs : EventArgs
{
/// <summary>
/// The return value.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public int Result
{
get
/// <summary>
/// The address.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public string Address
{
get
/// <summary>
/// The Bluetooth GATT server.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class BluetoothGattServer
{
private static BluetoothGattServer _instance;
/// <summary>
/// (event) This event is called when the indication acknowledgement is received for each notified client.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public event EventHandler<NotificationSentEventArg> NotificationSent
{
add
/// <returns></returns>
/// <exception cref="NotSupportedException">Thrown when the BT/BTLE is not supported.</exception>
/// <exception cref="InvalidOperationException">Thrown when the create GATT server fails.</exception>
+ /// <since_tizen> 3 </since_tizen>
public static BluetoothGattServer CreateServer()
{
if (_instance == null)
/// </summary>
/// <exception cref="NotSupportedException">Thrown when the BT/BTLE is not supported.</exception>
/// <exception cref="InvalidOperationException">Thrown when the register server application fails.</exception>
+ /// <since_tizen> 3 </since_tizen>
public void Start()
{
_impl.Start();
/// <param name="service">The service, which needs to be registered with this server.</param>
/// <exception cref="NotSupportedException">Thrown when the BT/BTLE is not supported.</exception>
/// <exception cref="InvalidOperationException">Thrown when the register service fails.</exception>
+ /// <since_tizen> 3 </since_tizen>
public void RegisterGattService(BluetoothGattService service)
{
if (service.IsRegistered())
/// </remarks>
/// <exception cref="NotSupportedException">Thrown when the BT/BTLE is not supported.</exception>
/// <exception cref="InvalidOperationException">Thrown when the unregister service fails.</exception>
+ /// <since_tizen> 3 </since_tizen>
public void UnregisterGattService(BluetoothGattService service)
{
if (service.GetGattServer() != this)
/// </remarks>
/// <exception cref="NotSupportedException">Thrown when the BT/BTLE is not supported.</exception>
/// <exception cref="InvalidOperationException">Thrown when the unregister all services fail.</exception>
+ /// <since_tizen> 3 </since_tizen>
public void UnregisterGattServices()
{
_impl.UnregisterAllGattServices(this);
/// </summary>
/// <param name="uuid">The UUID for the service to get.</param>
/// <returns>The Service with the given UUID if it exists, null otherwise.</returns>
+ /// <since_tizen> 3 </since_tizen>
public BluetoothGattService GetService(string uuid)
{
return _impl.GetService(this, uuid);
/// Gets the list of services that belongs to this server.
/// </summary>
/// <returns>The list of services that belongs to this server.</returns>
+ /// <since_tizen> 3 </since_tizen>
public IEnumerable<BluetoothGattService> GetServices()
{
return _impl.GetServices(this);
/// <param name="clientAddress">The remote device address to send, notify, or indicate and if set to NULL, then notify/indicate all is enabled.</param>
/// <exception cref="InvalidOperationException">Thrown when the BT/BTLE is not enabled
/// or when the remote device is disconnected, or when service is not registered, or when the CCCD is not enabled.</exception>
+ /// <since_tizen> 3 </since_tizen>
public async Task<bool> SendIndicationAsync(BluetoothGattCharacteristic characteristic, string clientAddress)
{
return await _impl.SendIndicationAsync(this, characteristic, clientAddress);
/// <param name="clientAddress">The remote device address to send, notify, or indicate and if set to NULL, then notify/indicate all is enabled.</param>
/// <exception cref="InvalidOperationException">Thrown when the BT/BTLE is not enabled
/// or when the remote device is disconnected, or when service is not registered, or when the CCCD is not enabled.</exception>
+ /// <since_tizen> 3 </since_tizen>
public void SendNotification(BluetoothGattCharacteristic characteristic, string clientAddress)
{
_impl.SendNotification(characteristic, clientAddress);
/// <param name="offset">The offset from where the value is read.</param>
/// <exception cref="InvalidOperationException">Thrown when the BT/BTLE is not enabled
/// or when the remote device is disconnected, or the send response procedure fails.</exception>
+ /// <since_tizen> 3 </since_tizen>
public void SendResponse(int requestId, BluetoothGattRequestType type, int status, byte[] value, int offset)
{
_impl.SendResponse(requestId, (int)type, status, value, offset);
/// <summary>
/// The Bluetooth GATT client.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class BluetoothGattClient
{
private BluetoothGattClientImpl _impl;
/// <summary>
/// Destroy Bluetooth GATT client
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public void DestroyClient()
{
_impl.GetHandle().Dispose();
/// </summary>
/// <exception cref="InvalidOperationException">Thrown when the BT/BTLE is not enabled
/// or when the remote device is disconnected.</exception>
+ /// <since_tizen> 3 </since_tizen>
public string RemoteAddress
{
get
/// <returns>The service with the given UUID if it exists, null otherwise.</returns>
/// <exception cref="InvalidOperationException">Thrown when the BT/BTLE is not enabled
/// or when the remote device is disconnected, or when the get service fails.</exception>
+ /// <since_tizen> 3 </since_tizen>
public BluetoothGattService GetService(string uuid)
{
return _impl.GetService(this, uuid);
/// <returns>The list of services that belongs to the remote device.</returns>
/// <exception cref="InvalidOperationException">Thrown when the BT/BTLE is not enabled
/// or when the remote device is disconnected, or when the get service fails.</exception>
+ /// <since_tizen> 3 </since_tizen>
public IEnumerable<BluetoothGattService> GetServices()
{
return _impl.GetServices(this);
/// <returns>true on success, false otherwise.</returns>
/// <exception cref="InvalidOperationException">Thrown when the BT/BTLE is not enabled
/// or when the remote device is disconnected, or when the read attribute value fails.</exception>
+ /// <since_tizen> 3 </since_tizen>
public async Task<bool> ReadValueAsync(BluetoothGattCharacteristic characteristic)
{
return await _impl.ReadValueAsyncTask(characteristic.GetHandle());
/// <returns>true on success, false otherwise.</returns>
/// <exception cref="InvalidOperationException">Thrown when the BT/BTLE is not enabled
/// or when the remote device is disconnected, or when the read attribute value fails.</exception>
+ /// <since_tizen> 3 </since_tizen>
public async Task<bool> ReadValueAsync(BluetoothGattDescriptor descriptor)
{
return await _impl.ReadValueAsyncTask(descriptor.GetHandle());
/// <returns>true on success, false otherwise.</returns>
/// <exception cref="InvalidOperationException">Thrown when the BT/BTLE is not enabled
/// or when the remote device is disconnected or when the write attribute value fails.</exception>
+ /// <since_tizen> 3 </since_tizen>
public async Task<bool> WriteValueAsync(BluetoothGattCharacteristic characteristic)
{
return await _impl.WriteValueAsyncTask(characteristic.GetHandle());
/// <returns>true on success, false otherwise.</returns>
/// <exception cref="InvalidOperationException">Thrown when the BT/BTLE is not enabled
/// or when the remote device is disconnected, or when the write attribute value fails.</exception>
+ /// <since_tizen> 3 </since_tizen>
public async Task<bool> WriteValueAsync(BluetoothGattDescriptor descriptor)
{
return await _impl.WriteValueAsyncTask(descriptor.GetHandle());
/// <summary>
/// The Bluetooth GATT service.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class BluetoothGattService
{
private BluetoothGattServiceImpl _impl;
/// <param name="uuid">The UUID of the service.</param>
/// <param name="type">The type of service.</param>
/// <exception cref="InvalidOperationException">Thrown when the create GATT service procedure fails.</exception>
+ /// <since_tizen> 3 </since_tizen>
public BluetoothGattService(string uuid, BluetoothGattServiceType type)
{
Uuid = uuid;
/// <summary>
/// Specification name from the UUID.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public string Uuid { get; }
/// <summary>
/// <param name="characteristic">The characteristic to be added.</param>
/// <returns>true on success, false otherwise.</returns>
/// <exception cref="InvalidOperationException">Thrown when the add GATT characteristic procedure fails.</exception>
+ /// <since_tizen> 3 </since_tizen>
public void AddCharacteristic(BluetoothGattCharacteristic characteristic)
{
if (GetGattClient() != null)
/// </summary>
/// <param name="uuid">The UUID for the characteristic to get.</param>
/// <returns>The characteristic with a given UUID if it exists, null otherwise.</returns>
+ /// <since_tizen> 3 </since_tizen>
public BluetoothGattCharacteristic GetCharacteristic(string uuid)
{
return _impl.GetCharacteristic(this, uuid);
/// Gets list of the characteristic that belongs to this service.
/// </summary>
/// <returns>The list of the characteristic that belongs to this service.</returns>
+ /// <since_tizen> 3 </since_tizen>
public IEnumerable<BluetoothGattCharacteristic> GetCharacteristics()
{
return _impl.GetCharacteristics(this);
/// <param name="service">The service to be included.</param>
/// <returns>true on success, false otherwise</returns>
/// <exception cref="InvalidOperationException">Thrown when the add GATT service procedure fails.</exception>///
+ /// <since_tizen> 3 </since_tizen>
public void AddService(BluetoothGattService service)
{
if (GetGattClient() != null)
/// </summary>
/// <param name="uuid">The UUID for the service to get.</param>
/// <returns>The service with a given UUID if it exists, null otherwise.</returns>
+ /// <since_tizen> 3 </since_tizen>
public BluetoothGattService GetIncludeService(string uuid)
{
return _impl.GetIncludeService(this, uuid);
/// Gets the included service list of this service.
/// </summary>
/// <returns>The included service list of this service.</returns>
+ /// <since_tizen> 3 </since_tizen>
public IEnumerable<BluetoothGattService> GetIncludeServices()
{
return _impl.GetIncludeServices(this);
/// Gets the server instance which the specified service belongs to.
/// </summary>
/// <returns>The server instance which the specified service belongs to.</returns>
+ /// <since_tizen> 3 </since_tizen>
public BluetoothGattServer GetGattServer()
{
return _parentServer;
/// Gets the client instance which the specified service belongs to.
/// </summary>
/// <returns>The client instance which the specified service belongs to.</returns>
+ /// <since_tizen> 3 </since_tizen>
public BluetoothGattClient GetGattClient()
{
return _parentClient;
/// <summary>
/// The Bluetooth GATT characteristic.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class BluetoothGattCharacteristic : BluetoothGattAttribute
{
private BluetoothGattCharacteristicImpl _impl;
/// <param name="value">The value associated with the characterstic.</param>
/// <remarks>throws in case of internal error.</remarks>
/// <exception cref="InvalidOperationException">Thrown when the create GATT characteristics procedure fails.</exception>
+ /// <since_tizen> 3 </since_tizen>
public BluetoothGattCharacteristic(string uuid, BluetoothGattPermission permissions, BluetoothGattProperty properties, byte[] value) : base(uuid, permissions)
{
_impl = new BluetoothGattCharacteristicImpl(uuid, permissions, properties, value);
/// <remarks>
/// Adding the event handle on characteristic on the server side will not have any effect.
/// </remarks>
+ /// <since_tizen> 3 </since_tizen>
public event EventHandler<ValueChangedEventArgs> ValueChanged
{
add
/// <remarks>
/// Adding event handle on the characteristic on the client side will not have any effect.
/// </remarks>
+ /// <since_tizen> 3 </since_tizen>
public event EventHandler<NotificationStateChangedEventArg> NotificationStateChanged
{
add
/// <summary>
/// The property for this characteristic.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public BluetoothGattProperty Properties
{
get
/// <summary>
/// The write type to be used for write operations.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public BluetoothGattWriteType WriteType
{
get
/// <param name="descriptor">The descriptor to be added.</param>
/// <returns>true on success, false otherwise.</returns>
/// <exception cref="InvalidOperationException">Thrown when the add GATT descriptor procedure fails.</exception>
+ /// <since_tizen> 3 </since_tizen>
public void AddDescriptor(BluetoothGattDescriptor descriptor)
{
if (Client != null)
/// </summary>
/// <param name="uuid">The UUID for the descriptor to get.</param>
/// <returns>The descriptor with a given UUID if it exists, null otherwise.</returns>
+ /// <since_tizen> 3 </since_tizen>
public BluetoothGattDescriptor GetDescriptor(string uuid)
{
return _impl.GetDescriptor(this, uuid);
/// Gets the list of descriptors that belongs to this characteristic.
/// </summary>
/// <returns>The list of descriptors that belongs to this characteristic.</returns>
+ /// <since_tizen> 3 </since_tizen>
public IEnumerable<BluetoothGattDescriptor> GetDescriptors()
{
return _impl.GetDescriptors(this);
/// Gets the service instance, which the specified characterstic belongs to.
/// </summary>
/// <returns>The characteristic instance, the specified characterstic belongs to.</returns>
+ /// <since_tizen> 3 </since_tizen>
public BluetoothGattService GetService()
{
return _parent;
/// <summary>
/// The Bluetooth GATT descriptor.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class BluetoothGattDescriptor : BluetoothGattAttribute
{
private BluetoothGattCharacteristic _parent = null;
/// <param name="value">The value associated with the descriptor.</param>
/// <remarks>throws in case of internal error.</remarks>
/// <exception cref="InvalidOperationException">Thrown when the create GATT descriptor procedure fails.</exception>
+ /// <since_tizen> 3 </since_tizen>
public BluetoothGattDescriptor(string uuid, BluetoothGattPermission permisions, byte[] value) : base (uuid, permisions)
{
_impl = new BluetoothGattDescriptorImpl(uuid, permisions, value);
/// Gets the characteristic instance, which the specified descriptor belongs to.
/// </summary>
/// <returns>The characteristic instance, the specified descriptor belongs to.</returns>
+ /// <since_tizen> 3 </since_tizen>
public BluetoothGattCharacteristic GetCharacteristic()
{
return _parent;
/// <summary>
/// The Bluetooth GATT attribute.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public abstract class BluetoothGattAttribute
{
private Interop.Bluetooth.BtGattServerReadValueRequestedCallback _readValueRequestedCallback;
/// </summary>
/// <param name="uuid">The UUID of the GATT attribute.</param>
/// <param name="permission">Permission for the GATT attribute.</param>
+ /// <since_tizen> 3 </since_tizen>
public BluetoothGattAttribute(string uuid, BluetoothGattPermission permission)
{
Uuid = uuid;
/// This event is called when the client request to read the value of a characteristic or a descriptor.
/// </summary>
/// <exception cref="InvalidOperationException">Thrown when the set read value requested callback procedure fails.</exception>
+ /// <since_tizen> 3 </since_tizen>
public event EventHandler<ReadRequestedEventArgs> ReadRequested
{
add
/// This event is called when a value of a characteristic or a descriptor has been changed by a client.
/// </summary>
/// <exception cref="InvalidOperationException">Thrown when the set write value requested callback procedure fails.</exception>
+ /// <since_tizen> 3 </since_tizen>
public event EventHandler<WriteRequestedEventArgs> WriteRequested
{
add
/// <summary>
/// The attribute's UUID.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public string Uuid { get; }
/// <summary>
/// Permissions for this attribute.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public BluetoothGattPermission Permissions { get; }
/// <summary>
/// The value of this descriptor.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public byte[] Value
{
get
/// </summary>
/// <param name="offset"></param>
/// <returns>The string value at specified offset.</returns>
+ /// <since_tizen> 3 </since_tizen>
public string GetValue(int offset)
{
return Impl.GetValue(offset);
/// </summary>
/// <param name="value">value to set</param>
/// <exception cref="InvalidOperationException">Throws exception if the value is null.</exception>
+ /// <since_tizen> 3 </since_tizen>
public void SetValue(string value)
{
if (string.IsNullOrEmpty(value))
/// <param name="offset">An offset in the attribute value buffer.</param>
/// <returns>The int value at given offset.</returns>
/// <exception cref="InvalidOperationException">Throws exception if (offset + size of int value) is greater than the length of the value buffer.</exception>
+ /// <since_tizen> 3 </since_tizen>
public int GetValue(IntDataType type, int offset)
{
return Impl.GetValue(type, offset);
/// <param name="value">The value to set.</param>
/// <param name="offset">An offset in the attribute value buffer.</param>
/// <exception cref="InvalidOperationException">Throws exception if (offset + size of int value) is greater than the length of the value buffer.</exception>
+ /// <since_tizen> 3 </since_tizen>
public void SetValue(IntDataType type, int value, int offset)
{
Impl.SetValue(type, value, offset);
/// <param name="offset">An offset in the attribute value buffer.</param>
/// <returns>The float value at given offset.</returns>
/// <exception cref="InvalidOperationException">Throws exception if (offset + size of float value) is greater than the length of the value buffer.</exception>
+ /// <since_tizen> 3 </since_tizen>
public float GetValue(FloatDataType type, int offset)
{
return Impl.GetValue(type, offset);
/// <param name="exponent">An exponent of the float value.</param>
/// <param name="offset">An offset in the attribute value buffer.</param>
/// <exception cref="InvalidOperationException">Throws exception if (offset + size of float value) is greater than the length of the value buffer.</exception>
+ /// <since_tizen> 3 </since_tizen>
public void SetValue(FloatDataType type, int mantissa, int exponent, int offset)
{
Impl.SetValue(type, mantissa, exponent, offset);
/// A class which is used to handle the connection to Bluetooth HID like keyboards and mouse.
/// </summary>
/// <privilege> http://tizen.org/privilege/bluetooth </privilege>
+ /// <since_tizen> 3 </since_tizen>
public class BluetoothHid : BluetoothProfile
{
internal BluetoothHid()
/// <summary>
/// The HidConnectionStateChanged event is called when the HID host connection state is changed.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public event EventHandler<HidConnectionStateChangedEventArgs> HidConnectionStateChanged
{
add
/// </remarks>
/// <exception cref="InvalidOperationException">Thrown when the Bluetooth is not enabled
/// or when the connection attempt to the remote device fails.</exception>
+ /// <since_tizen> 3 </since_tizen>
public void Connect()
{
if (BluetoothAdapter.IsBluetoothEnabled && Globals.IsInitialize)
/// </summary>
/// <exception cref="InvalidOperationException">Thrown when the Bluetooth is not enabled
/// or when the disconnection attempt to the remote device fails.</exception>
+ /// <since_tizen> 3 </since_tizen>
public void Disconnect()
{
if (BluetoothAdapter.IsBluetoothEnabled && Globals.IsInitialize)
/// <summary>
/// This is the BluetoothLeAdvertiser class. It handles the LE advertising operation amd callback.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class BluetoothLeAdvertiser
{
private static readonly BluetoothLeAdvertiser _instance = new BluetoothLeAdvertiser();
/// <summary>
/// This event is called when the LE advertising state changes.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public event EventHandler<AdvertisingStateChangedEventArgs> AdvertisingStateChanged
{
add
/// <param name="advertiseData">The advertiser object carrying information of the advertising.</param>
/// <exception cref="NotSupportedException">Thrown when the Bluetooth LE is not supported.</exception>
/// <exception cref="InvalidOperationException">Thrown when the Bluetooth LE is not enabled.</exception>
+ /// <since_tizen> 3 </since_tizen>
public void StartAdvertising(BluetoothLeAdvertiseData advertiseData)
{
if (BluetoothAdapter.IsBluetoothEnabled && Globals.IsInitialize)
/// <param name="advertiseData">The advertiser object carrying information of the advertising.</param>
/// <exception cref="NotSupportedException">Thrown when the Bluetooth LE is not supported.</exception>
/// <exception cref="InvalidOperationException">Thrown when the Bluetooth LE is not enabled.</exception>
+ /// <since_tizen> 3 </since_tizen>
public void StopAdvertising(BluetoothLeAdvertiseData advertiseData)
{
if (BluetoothAdapter.IsBluetoothEnabled && Globals.IsInitialize)
/// This is the BluetoothLeDevice class.
/// It handles the LE device operations like getting data from the scan result information.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class BluetoothLeDevice
{
//properties of Bluetoothlesacandata
/// <summary>
/// This event is called when the GATT client connects/disconnects with the server.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public event EventHandler<GattConnectionStateChangedEventArgs> GattConnectionStateChanged
{
add
/// <summary>
/// The remote address.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public string RemoteAddress
{
get
/// <summary>
/// The type of the address.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public BluetoothLeDeviceAddressType AddressType
{
get
/// <summary>
/// The rssi value.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public int Rssi
{
get
/// <summary>
/// The advertsing data information.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public byte[] AdvertsingDataInformation
{
get
/// <summary>
/// The scan data information.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public byte[] ScanDataInformation
{
get
/// <summary>
/// The type of the packet.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public BluetoothLePacketType PacketType
{
get
/// </remarks>
/// <exception cref="NotSupportedException">Thrown when the Bluetooth LE is not supported.</exception>
/// <exception cref="InvalidOperationException">Thrown when the Bluetooth LE is not enabled.</exception>
+ /// <since_tizen> 3 </since_tizen>
public IEnumerable<string> ServiceUuid
{
get
/// </remarks>
/// <exception cref="NotSupportedException">Thrown when the Bluetooth LE is not supported.</exception>
/// <exception cref="InvalidOperationException">Thrown when the Bluetooth LE is not enabled.</exception>
+ /// <since_tizen> 3 </since_tizen>
public string DeviceName
{
get
/// </remarks>
/// <exception cref="NotSupportedException">Thrown when the Bluetooth LE is not supported.</exception>
/// <exception cref="InvalidOperationException">Thrown when the Bluetooth LE is not enabled.</exception>
+ /// <since_tizen> 3 </since_tizen>
public int TxPowerLevel
{
get
/// </remarks>
/// <exception cref="NotSupportedException">Thrown when the Bluetooth LE is not supported.</exception>
/// <exception cref="InvalidOperationException">Thrown when the Bluetooth LE is not enabled.</exception>
+ /// <since_tizen> 3 </since_tizen>
public IEnumerable<string> ServiceSolictationUuid
{
get
/// </remarks>
/// <exception cref="NotSupportedException">Thrown when the Bluetooth LE is not supported.</exception>
/// <exception cref="InvalidOperationException">Thrown when the Bluetooth LE is not enabled.</exception>
+ /// <since_tizen> 3 </since_tizen>
public int Appearance
{
get
/// </remarks>
/// <exception cref="NotSupportedException">Thrown when the Bluetooth LE is not supported.</exception>
/// <exception cref="InvalidOperationException">Thrown when the Bluetooth LE is not enabled.</exception>///
+ /// <since_tizen> 3 </since_tizen>
public ManufacturerData ManufacturerData
{
get
/// <returns> Returns the service data list.</returns>
/// <exception cref="NotSupportedException">Thrown when the Bluetooth LE is not supported.</exception>
/// <exception cref="InvalidOperationException">Thrown when the Bluetooth LE is not enabled.</exception>
+ /// <since_tizen> 3 </since_tizen>
public IEnumerable<BluetoothLeServiceData> GetServiceDataList()
{
int serviceCount = 0;
/// <exception cref="NotSupportedException">Thrown when the Bluetooth LE is not supported.</exception>
/// <exception cref="InvalidOperationException">Thrown when the Bluetooth LE is not enabled
/// or when the gatt connection attempt to remote device fails.</exception>
+ /// <since_tizen> 3 </since_tizen>
public BluetoothGattClient GattConnect(bool autoConnect)
{
BluetoothGattClient client = null;
/// <exception cref="NotSupportedException">Thrown when the Bluetooth LE is not supported.</exception>
/// <exception cref="InvalidOperationException">Thrown when the Bluetooth LE is not enabled
/// or when the GATT disconnection attempt to remote device fails.</exception>
+ /// <since_tizen> 3 </since_tizen>
public void GattDisconnect()
{
if (BluetoothAdapter.IsBluetoothEnabled && Globals.IsInitialize)
/// <summary>
/// Bluetooth LE advertise data. Handles the data advertising.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class BluetoothLeAdvertiseData:IDisposable
{
private IntPtr _handle = IntPtr.Zero;
/// <exception cref="NotSupportedException">Thrown when the Bluetooth LE is not supported.</exception>
/// <exception cref="InvalidOperationException">Thrown when the Bluetooth LE is not enabled
/// or when create advertiser fails.</exception>
+ /// <since_tizen> 3 </since_tizen>
public BluetoothLeAdvertiseData()
{
if (BluetoothAdapter.IsBluetoothEnabled && Globals.IsInitialize)
/// <exception cref="NotSupportedException">Thrown when the Bluetooth LE is not supported.</exception>
/// <exception cref="InvalidOperationException">Thrown when the Bluetooth LE is not enabled
/// or when the set advertising mode fails.</exception>
+ /// <since_tizen> 3 </since_tizen>
public BluetoothLeAdvertisingMode AdvertisingMode
{
get
/// <exception cref="NotSupportedException">Thrown when the Bluetooth LE is not supported.</exception>
/// <exception cref="InvalidOperationException">Thrown when the Bluetooth LE is not enabled
/// or when the set advertising connectable mode fails.</exception>
+ /// <since_tizen> 3 </since_tizen>
public bool AdvertisingConnectable
{
get
/// <summary>
/// Dispose
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public void Dispose()
{
Dispose(true);
/// <summary>
/// The type of the packet.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public BluetoothLePacketType PacketType
{
get
/// <exception cref="NotSupportedException">Thrown when the Bluetooth LE is not supported.</exception>
/// <exception cref="InvalidOperationException">Thrown when the Bluetooth LE is not enabled
/// or when the set appearance fails.</exception>
+ /// <since_tizen> 3 </since_tizen>
public int Appearance
{
get
/// <exception cref="NotSupportedException">Thrown when the Bluetooth LE is not supported.</exception>
/// <exception cref="InvalidOperationException">Thrown when the Bluetooth LE is not enabled
/// or when the set advertising device name fails.</exception>
+ /// <since_tizen> 3 </since_tizen>
public bool IncludeDeviceName
{
get
/// <exception cref="NotSupportedException">Thrown when the Bluetooth LE is not supported.</exception>
/// <exception cref="InvalidOperationException">Thrown when the Bluetooth LE is not enabled
/// or when the set advertising TC power level fails.</exception>
+ /// <since_tizen> 3 </since_tizen>
public bool IncludeTxPowerLevel
{
get
/// <exception cref="NotSupportedException">Thrown when the Bluetooth LE is not supported.</exception>
/// <exception cref="InvalidOperationException">Thrown when the Bluetooth LE is not enabled
/// or when the add advertising service UUID procedure fails.</exception>
+ /// <since_tizen> 3 </since_tizen>
public void AddAdvertisingServiceUuid(BluetoothLePacketType packetType, string serviceUuid)
{
if (BluetoothAdapter.IsBluetoothEnabled && Globals.IsInitialize)
/// <exception cref="NotSupportedException">Thrown when the Bluetooth LE is not supported.</exception>
/// <exception cref="InvalidOperationException">Thrown when the Bluetooth LE is not enabled
/// or when the add advertising service solicitation UUID procedure fails.</exception>
+ /// <since_tizen> 3 </since_tizen>
public void AddAdvertisingServiceSolicitationUuid(BluetoothLePacketType packetType,
string serviceSolicitationUuid)
{
/// <exception cref="NotSupportedException">Thrown when the Bluetooth LE is not supported.</exception>
/// <exception cref="InvalidOperationException">Thrown when the Bluetooth LE is not enabled
/// or when the add advertising data procedure fails.</exception>
+ /// <since_tizen> 3 </since_tizen>
public void AddAdvertisingServiceData(BluetoothLePacketType packetType, BluetoothServiceData data)
{
if (BluetoothAdapter.IsBluetoothEnabled && Globals.IsInitialize)
/// <exception cref="NotSupportedException">Thrown when the Bluetooth LE is not supported.</exception>
/// <exception cref="InvalidOperationException">Thrown when the Bluetooth LE is not enabled
/// or when the add advertising manufacturer data procedure fails.</exception>
+ /// <since_tizen> 3 </since_tizen>
public void AddAdvertisingManufacturerData(BluetoothLePacketType packetType,
ManufacturerData manufacturerData)
{
/// A class which is used to handle the connection and send and receive the object over Opp profile.
/// </summary>
/// <privilege> http://tizen.org/privilege/bluetooth </privilege>
+ /// <since_tizen> 4 </since_tizen>
public class BluetoothOppServer
{
private static BluetoothOppServerImpl _impl;
/// <summary>
/// The constructor
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public BluetoothOppServer()
{
_impl = BluetoothOppServerImpl.Instance;
/// <summary>
/// (event) ConnectionRequested is called when OPP client requests for connection.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public event EventHandler<ConnectionRequestedEventArgs> ConnectionRequested
{
add
/// <summary>
/// (event) TransferProgress is called when the file transfer state is changed.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public event EventHandler<TransferProgressEventArgs> TransferProgress
{
add
/// <summary>
/// (event) TransferFinished is called when the file tranfser is completed.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public event EventHandler<TransferFinishedEventArgs> TransferFinished
{
add
/// <exception cref="NotSupportedException">Thrown when the required feature is not Supported.</exception>
/// <exception cref="NotSupportedException">Thrown when the BT/BTLE is not Supported.</exception>
/// <exception cref="InvalidOperationException">Thrown when the BT/BTLE is not Enabled or Other Bluetooth Errors.</exception>
+ /// <since_tizen> 4 </since_tizen>
public static BluetoothOppServer StartServer(string FilePath)
{
if (BluetoothAdapter.IsBluetoothEnabled && Globals.IsInitialize)
/// <exception cref="NotSupportedException">Thrown when the required feature is not Supported.</exception>
/// <exception cref="NotSupportedException">Thrown when the BT/BTLE is not Supported.</exception>
/// <exception cref="InvalidOperationException">Thrown when the BT/BTLE is not Enabled or Other Bluetooth Errors.</exception>
+ /// <since_tizen> 4 </since_tizen>
public void StopServer()
{
if (BluetoothAdapter.IsBluetoothEnabled && Globals.IsInitialize)
/// <exception cref="NotSupportedException">Thrown when the required feature is not Supported.</exception>
/// <exception cref="NotSupportedException">Thrown when the BT/BTLE is not Supported.</exception>
/// <exception cref="InvalidOperationException">Thrown when the BT/BTLE is not Enabled or Other Bluetooth Errors.</exception>
+ /// <since_tizen> 4 </since_tizen>
public int AcceptPush(string FileName)
{
int _transitionId = -1;
/// <exception cref="NotSupportedException">Thrown when the required feature is not Supported.</exception>
/// <exception cref="NotSupportedException">Thrown when the BT/BTLE is not Supported.</exception>
/// <exception cref="InvalidOperationException">Thrown when the BT/BTLE is not Enabled or Other Bluetooth Errors.</exception>
+ /// <since_tizen> 4 </since_tizen>
public void RejectPush()
{
if (BluetoothAdapter.IsBluetoothEnabled && Globals.IsInitialize)
/// <exception cref="NotSupportedException">Thrown when the required feature is not Supported.</exception>
/// <exception cref="NotSupportedException">Thrown when the BT/BTLE is not Supported.</exception>
/// <exception cref="InvalidOperationException">Thrown when the BT/BTLE is not Enabled or Other Bluetooth Errors.</exception>
+ /// <since_tizen> 4 </since_tizen>
public void CancelTransfer(int TransferId)
{
if (BluetoothAdapter.IsBluetoothEnabled && Globals.IsInitialize)
/// <exception cref="NotSupportedException">Thrown when the required feature is not Supported.</exception>
/// <exception cref="NotSupportedException">Thrown when the BT/BTLE is not Supported.</exception>
/// <exception cref="InvalidOperationException">Thrown when the BT/BTLE is not Enabled or Other Bluetooth Errors.</exception>
+ /// <since_tizen> 4 </since_tizen>
public void SetDestinationPath(string FilePath)
{
if (BluetoothAdapter.IsBluetoothEnabled && Globals.IsInitialize)
/// A class which is used to handle the connection and send and receive the object over Opp profile.
/// </summary>
/// <privilege> http://tizen.org/privilege/bluetooth </privilege>
+ /// <since_tizen> 4 </since_tizen>
public class BluetoothOppClient : BluetoothProfile
{
internal BluetoothOppClient()
/// <summary>
/// (event) PushResponded is called when remote OPP Server responds to a File push request.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public event EventHandler<PushRespondedEventArgs> PushResponded
{
add
/// <summary>
/// (event) PushProgress is called when the file transfer state is changed.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public event EventHandler<PushProgressEventArgs> PushProgress
{
add
/// <summary>
/// (event) PushFinished is called when the file tranfser is completed.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public event EventHandler<PushFinishedEventArgs> PushFinished
{
add
/// <exception cref="NotSupportedException">Thrown when the required feature is not Supported.</exception>
/// <exception cref="NotSupportedException">Thrown when the BT/BTLE is not Supported.</exception>
/// <exception cref="InvalidOperationException">Thrown when the BT/BTLE is not Enabled or Other Bluetooth Errors.</exception>
+ /// <since_tizen> 4 </since_tizen>
public void AddFile(string FilePath)
{
if (BluetoothAdapter.IsBluetoothEnabled && Globals.IsInitialize)
/// <exception cref="NotSupportedException">Thrown when the required feature is not Supported.</exception>
/// <exception cref="NotSupportedException">Thrown when the BT/BTLE is not Supported.</exception>
/// <exception cref="InvalidOperationException">Thrown when the BT/BTLE is not Enabled or Other Bluetooth Errors.</exception>
+ /// <since_tizen> 4 </since_tizen>
public void ClearFiles()
{
if (BluetoothAdapter.IsBluetoothEnabled && Globals.IsInitialize)
/// <exception cref="NotSupportedException">Thrown when the required feature is not Supported.</exception>
/// <exception cref="NotSupportedException">Thrown when the BT/BTLE is not Supported.</exception>
/// <exception cref="InvalidOperationException">Thrown when the BT/BTLE is not Enabled or Other Bluetooth Errors.</exception>
+ /// <since_tizen> 4 </since_tizen>
public void CancelPush()
{
if (BluetoothAdapter.IsBluetoothEnabled && Globals.IsInitialize)
/// <exception cref="NotSupportedException">Thrown when the required feature is not Supported.</exception>
/// <exception cref="NotSupportedException">Thrown when the BT/BTLE is not Supported.</exception>
/// <exception cref="InvalidOperationException">Thrown when the BT/BTLE is not Enabled or Other Bluetooth Errors.</exception>
+ /// <since_tizen> 4 </since_tizen>
public void PushFile(string Destination)
{
if (BluetoothAdapter.IsBluetoothEnabled && Globals.IsInitialize)
/// Any common properties/functions can be added in this class in future.
/// </summary>
/// <privilege> http://tizen.org/privilege/bluetooth </privilege>
+ /// <since_tizen> 3 </since_tizen>
public abstract class BluetoothProfile
{
internal string RemoteAddress { get; set; }
/// <summary>
/// The BluetoothSocket provides functions for managing connections to other devices and exchanging data.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class BluetoothServerSocket : IDisposable
{
private event EventHandler<AcceptStateChangedEventArgs> _acceptStateChanged;
/// </summary>
/// <exception cref="InvalidOperationException">Thrown when the Bluetooth is not enabled
/// or when the register accpet state changed callback fails.</exception>
+ /// <since_tizen> 3 </since_tizen>
public event EventHandler<AcceptStateChangedEventArgs> AcceptStateChanged
{
add
/// </remarks>
/// <exception cref="InvalidOperationException">Thrown when the Bluetooth is not enabled
/// or when the listen on socket procedure fails.</exception>
+ /// <since_tizen> 3 </since_tizen>
public void Listen()
{
int ret = Interop.Bluetooth.Listen(socketFd, 1);
/// <summary>
/// Dispose
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public void Dispose()
{
Dispose(true);
/// <summary>
/// The IBluetoothServerSocket interface handles the server socket operations.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public interface IBluetoothServerSocket
{
/// <summary>
/// Event handler to receive data over bluetooth socket.
/// This event occurs when the socket server receives data from the client.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
event EventHandler<SocketDataReceivedEventArgs> DataReceived;
/// <summary>
/// Event handler method to receive bluetooth socket connection state changed events.
/// This event occurs when the connection state between two devices is changed.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
event EventHandler<SocketConnectionStateChangedEventArgs> ConnectionStateChanged;
/// <summary>
/// </remarks>
/// <param name="data">The data to be sent.</param>
/// <returns></returns>
+ /// <since_tizen> 3 </since_tizen>
int SendData(string data);
}
/// <summary>
/// The IBluetoothClientSocket interface handles the client socket operations.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public interface IBluetoothClientSocket : IBluetoothServerSocket
{
/// <summary>
/// Connect client socket to server socket on remote device.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
void Connect();
/// <summary>
/// Disconnect client socket from server socket.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
void Disconnect();
}
/// <summary>
/// This class manages the connection handle resources.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
[EditorBrowsable(EditorBrowsableState.Never)]
public sealed class SafeConnectionHandle : SafeHandle
{
/// Checks whether the handle value is valid or not.
/// </summary>
/// <value>True if the handle is invalid, otherwise false.</value>
+ /// <since_tizen> 3 </since_tizen>
public override bool IsInvalid
{
get
/// <summary>
/// A class for Mtp Device information. It allows applications to handle device information.
/// </summary>
- /// <since_tizen> 5 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public class MtpDevice : IDisposable
{
private int _deviceHandle = -1;
/// Gets the manufacturer name of the device information.
/// </summary>
/// <value>Manufacture name of device.</value>
- /// <since_tizen> 5 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public string ManufacturerName
{
get
/// Gets the model name of the device information.
/// </summary>
/// <value>Model name of device.</value>
- /// <since_tizen> 5 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public string ModelName
{
get
/// Gets the serial number of the device information.
/// </summary>
/// <value>Serial number of device.</value>
- /// <since_tizen> 5 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public string SerialNumber
{
get
/// Gets the device version of the device information.
/// </summary>
/// <value>Version number of device.</value>
- /// <since_tizen> 5 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public string DeviceVersion
{
get
/// <summary>
/// Dispose
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public void Dispose()
{
Dispose(true);
/// <feature>http://tizen.org/feature/network.mtp</feature>
/// <exception cref="NotSupportedException">Thrown when Mtp is not supported.</exception>
/// <exception cref="InvalidOperationException">Thrown when the method failed due to invalid operation.</exception>
- /// <since_tizen> 5 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public IEnumerable<MtpStorage> GetStorages()
{
IntPtr storagePtr;
/// <summary>
/// Enumeration for Mtp storage type.
/// </summary>
- /// <since_tizen> 5 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public enum MtpStorageType
{
/// <summary>
/// <summary>
/// Enumeration for Mtp file type.
/// </summary>
- /// <since_tizen> 5 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public enum MtpFileType
{
/// <summary>
/// <summary>
/// Enumeration for Mtp Event type.
/// </summary>
- /// <since_tizen> 5 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public enum MtpEventType
{
/// <summary>
/// <summary>
/// Enumeration for Mtp Error.
/// </summary>
- /// <since_tizen> 5 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public enum MtpError
{
/// <summary>
/// <summary>
/// An extended EventArgs class which contains Mtp event.
/// </summary>
- /// <since_tizen> 5 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public class MtpStateChangedEventArgs : EventArgs
{
private MtpEventType _type = MtpEventType.Unknown;
/// <summary>
/// The Mtp event type.
/// </summary>
- /// <since_tizen> 5 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public MtpEventType Type
{
get
/// <summary>
/// The event parameter.
/// </summary>
- /// <since_tizen> 5 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public int EventParameter
{
get
/// http://tizen.org/privilege/mediastorage is needed if input or output path are relevant to media storage.
/// http://tizen.org/privilege/externalstorage is needed if input or output path are relevant to external storage.
/// </remarks>
- /// <since_tizen> 5 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
static public class MtpManager
{
/// <summary>
/// <feature>http://tizen.org/feature/network.mtp</feature>
/// <exception cref="NotSupportedException">Thrown when Mtp is not supported.</exception>
/// <exception cref="InvalidOperationException">Thrown when the method failed due to invalid operation.</exception>
- /// <since_tizen> 5 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
static public IEnumerable<MtpDevice> GetDevices()
{
try
/// <summary>
/// MtpStateChanged is raised when the Mtp device state is changed.
/// </summary>
- /// <since_tizen> 5 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
static public event EventHandler<MtpStateChangedEventArgs> MtpStateChanged
{
add
/// <summary>
/// A class for Mtp Object information. It allows applications to handle object information.
/// </summary>
- /// <since_tizen> 5 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public class MtpObject : IDisposable
{
private int _deviceHandle = -1;
/// Gets the filename of the object information.
/// </summary>
/// <value>File name of object.</value>
- /// <since_tizen> 5 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public string FileName
{
get
/// Gets the keywords of the object information.
/// </summary>
/// <value>Keywords of object.</value>
- /// <since_tizen> 5 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public string Keywords
{
get
/// Gets the association description of the object information.
/// </summary>
/// <value>Association description of object.</value>
- /// <since_tizen> 5 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public int AssociationDescription
{
get
/// Gets the association type of the object information.
/// </summary>
/// <value>Association type of object.</value>
- /// <since_tizen> 5 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public int AssociationType
{
get
/// Gets the size of the object information.
/// </summary>
/// <value>Size of object.</value>
- /// <since_tizen> 5 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public int Size
{
get
/// Gets the parent object handle of the object information.
/// </summary>
/// <value>Handle of Parent object.</value>
- /// <since_tizen> 5 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public int ParentObjectHandle
{
get
/// Gets the mtp storage of the object information.
/// </summary>
/// <value>Storage of object.</value>
- /// <since_tizen> 5 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public int Storage
{
get
/// Gets the object created time of the object information.
/// </summary>
/// <value>Date created of object.</value>
- /// <since_tizen> 5 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public int DateCreated
{
get
/// Gets the object modified time of the object information.
/// </summary>
/// <value>Date modified of object.</value>
- /// <since_tizen> 5 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public int DateModified
{
get
/// Gets the file type of the object information.
/// </summary>
/// <value>File type of object.</value>
- /// <since_tizen> 5 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public MtpFileType FileType
{
get
/// Gets the image bit depth of the object information.
/// </summary>
/// <value>Bit depth of image.</value>
- /// <since_tizen> 5 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public int ImageBitDepth
{
get
/// Gets the image pixel width of the object information.
/// </summary>
/// <value>Pixel width of image.</value>
- /// <since_tizen> 5 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public int ImagePixelWidth
{
get
/// Gets the image pixel height of the object information.
/// </summary>
/// <value>Pixel height of image.</value>
- /// <since_tizen> 5 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public int ImagePixelHeight
{
get
/// Gets the thumbnail size of the object information.
/// </summary>
/// <value>Size of thumbnail.</value>
- /// <since_tizen> 5 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public int ThumbnailSize
{
get
/// Gets the thumbnail file type of the object information.
/// </summary>
/// <value>File type of thumbnail.</value>
- /// <since_tizen> 5 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public int ThumbnailFileType
{
get
/// Gets the thumbnail pixel width of the object information.
/// </summary>
/// <value>Pixel width of thumbnail.</value>
- /// <since_tizen> 5 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public int ThumbnailPixelWidth
{
get
/// Gets the thumbnail pixel height of the object information.
/// </summary>
/// <value>Pixel height of thumbnail.</value>
- /// <since_tizen> 5 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public int ThumbnailPixelHeight
{
get
/// <summary>
/// Dispose
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public void Dispose()
{
Dispose(true);
/// <summary>
/// A class for Mtp Storage information. It allows applications to handle storage information.
/// </summary>
- /// <since_tizen> 5 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public class MtpStorage : IDisposable
{
private int _deviceHandle = -1;
/// Gets the description of the storage information.
/// </summary>
/// <value>Description of storage.</value>
- /// <since_tizen> 5 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public string Description
{
get
/// Gets the free space of the storage information in bytes.
/// </summary>
/// <value>Free space of storage(bytes).</value>
- /// <since_tizen> 5 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public UInt64 FreeSpace
{
get
/// Gets the max capacity of the storage information in bytes.
/// </summary>
/// <value>Max capacity of storage(bytes).</value>
- /// <since_tizen> 5 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public UInt64 MaxCapacity
{
get
/// Gets the storage type of the storage information.
/// </summary>
/// <value>Type of storage.</value>
- /// <since_tizen> 5 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public MtpStorageType StorageType
{
get
/// Gets the volume identifier of the storage information.
/// </summary>
/// <value>Volume identifier of stroage.</value>
- /// <since_tizen> 5 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public string VolumeIdentifier
{
get
/// <summary>
/// Dispose
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public void Dispose()
{
Dispose(true);
/// http://tizen.org/privilege/mediastorage is needed if input or output path are relevant to media storage.
/// http://tizen.org/privilege/externalstorage is needed if input or output path are relevant to external storage.
/// </remarks>
- /// <since_tizen> 5 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public MtpObject GetRootObject()
{
_rootObject = new MtpObject(_deviceHandle, 0);
/// <exception cref="NotSupportedException">Thrown when Mtp is not supported.</exception>
/// <exception cref="ArgumentException">Thrown when method is failed due to an invalid parameter.</exception>
/// <exception cref="InvalidOperationException">Thrown when the method failed due to invalid operation.</exception>
- /// <since_tizen> 5 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public IEnumerable<MtpObject> GetObjectList(MtpObject parentObject, MtpFileType fileType)
{
IntPtr objectPtr;
/// <summary>
/// Dispose
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public void Dispose()
{
Dispose(true);
/// <summary>
/// Dispose
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public void Dispose()
{
Dispose(true);
/// <summary>
/// Dispose
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public void Dispose()
{
Dispose(true);
/// <summary>
/// Dispose
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public void Dispose()
{
Dispose(true);
/// <summary>
/// Dispose
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public void Dispose()
{
Dispose(true);
/// <summary>
/// Dispose
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public void Dispose()
{
Dispose(true);
/// <summary>
/// Dispose
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public void Dispose()
{
Dispose(true);
/// <summary>
/// Dispose
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public void Dispose()
{
Dispose(true);
/// <summary>
/// Dispose
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public void Dispose()
{
Dispose(true);
/// <summary>
/// This interface is used for managing network service discovery using DNSSD/SSDP.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public interface INsdBrowser
{
/// <summary>
/// <summary>
/// This interface is used for managing local service registration using DNSSD/SSDP.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public interface INsdService : IDisposable
{
/// <summary>
/// <summary>
/// Available DNS-SD service found.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
Available,
/// <summary>
/// DNS-SD service not available.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
Unavailable,
/// <summary>
/// Lookup failure for service name.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
ServiceNameLookupFailed,
/// <summary>
/// Lookup failure for host name and port number.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
HostNameLookupFailed,
/// <summary>
/// Lookup failure for IP address.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
AddressLookupFailed
}
/// <summary>
/// Available SSDP service found.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
Available,
/// <summary>
/// SSDP service not available.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
Unavailable
}
/// <summary>
/// Dispose
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public void Dispose()
{
Dispose(true);
/// <summary>
/// Dispose
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public void Dispose()
{
Dispose(true);
/// <summary>
/// Dispose
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public void Dispose()
{
Dispose(true);
/// <summary>
/// A class which is used to represent WPS PBC information of the access point.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class WpsPbcInfo : WpsInfo
{
}
/// <summary>
/// A class which is used to represent WPS PIN information of the access point.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class WpsPinInfo : WpsInfo
{
private string _pin;
/// <summary>
/// A class for managing the WiFiManager handle.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
[EditorBrowsable(EditorBrowsableState.Never)]
public sealed class SafeWiFiManagerHandle : SafeHandle
{
/// Checks the validity of the handle.
/// </summary>
/// <value>Represents the validity of the handle.</value>
+ /// <since_tizen> 3 </since_tizen>
public override bool IsInvalid
{
get
/// <summary>
/// Enumeration for the Wi-Fi Direct discovery state.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public enum WiFiDirectDiscoveryState
{
/// <summary>
/// <summary>
/// Enumeration for the Wi-Fi Direct display device types.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public enum WiFiDirectDisplayType
{
/// <summary>
/// <summary>
/// Enumeration for the Wi-Fi Discovery channel.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public enum WiFiDirectDiscoveryChannel
{
/// <summary>
/// <summary>
/// Enumeration for the Wi-Fi Direct connection state.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public enum WiFiDirectConnectionState
{
/// <summary>
/// <summary>
/// Enumeration for the Wi-Fi Direct primary device type.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public enum WiFiDirectPrimaryDeviceType
{
/// <summary>
/// <summary>
/// Enumeration for the Wi-Fi Direct secondary device type.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public enum WiFiDirectSecondaryDeviceType
{
/// <summary>
/// <summary>
/// Enumeration for the Wi-Fi Direct link status.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public enum WiFiDirectState
{
/// <summary>
/// <summary>
/// Enumeration for the Wi-Fi WPS type.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public enum WiFiDirectWpsType
{
/// <summary>
/// <summary>
/// Enumeration for the service discovery type.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public enum WiFiDirectServiceType
{
/// <summary>
/// <summary>
/// Enumeration for the Wi-Fi Direct service discovery state.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public enum WiFiDirectServiceDiscoveryState
{
/// <summary>
/// <summary>
/// Enumeration for the Wi-Fi Direct device state.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public enum WiFiDirectDeviceState
{
/// <summary>
/// <summary>
/// Enumeration for the Wi-Fi Direct error code.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public enum WiFiDirectError
{
/// <summary>
/// <summary>
/// An extended EventArgs class which contains the changed connection state during connecting or disconnecting the peer device.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class ConnectionStateChangedEventArgs : EventArgs
{
private WiFiDirectError _error;
/// <summary>
/// The Wi-Fi Direct result.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public WiFiDirectError Error
{
get
/// <summary>
/// The Wi-Fi Direct connection state of the peer.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public WiFiDirectConnectionState State
{
get
/// <summary>
/// The MacAddress of the peer.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public string MacAddress
{
get
/// <summary>
/// An extended EventArgs class which contains address properties of the peer when it connects to a group owner.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class IpAddressAssignedEventArgs : EventArgs
{
private string _macAddress;
/// <summary>
/// The MacAddress of the connected peer.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public string MacAddress
{
get
/// <summary>
/// The IpAddress of the connected peer.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public string IpAddress
{
get
/// <summary>
/// The InterfaceAddress of the connected peer.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public string InterfaceAddress
{
get
/// <summary>
/// An extended EventArgs class which contains the changed Wi-Fi Direct state of the local device.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class StateChangedEventArgs : EventArgs
{
private WiFiDirectState _state;
/// <summary>
/// The Wi-Fi Direct state.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public WiFiDirectState State
{
get
/// <summary>
/// An extended EventArgs class which contains the changed Wi-Fi Direct discovery state during the Wi-Fi Direct scan operation.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class DiscoveryStateChangedEventArgs : EventArgs
{
private WiFiDirectError _error;
/// <summary>
/// The Wi-Fi Direct result.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public WiFiDirectError Error
{
get
/// <summary>
/// The Wi-Fi Direct discovery state.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public WiFiDirectDiscoveryState DiscoveryState
{
get
/// <summary>
/// An extended EventArgs class which contains the found peer information during the Wi-Fi Direct scan operation.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class PeerFoundEventArgs : EventArgs
{
private WiFiDirectError _error;
/// <summary>
/// The Wi-Fi Direct result.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public WiFiDirectError Error
{
get
/// <summary>
/// The Wi-Fi Direct discovery state.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public WiFiDirectDiscoveryState DiscoveryState
{
get
/// <summary>
/// The found peer.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public WiFiDirectPeer Peer
{
get
/// <summary>
/// An extended EventArgs class which contains the changed device state during activation or deactivation.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class DeviceStateChangedEventArgs : EventArgs
{
private WiFiDirectError _error;
/// <summary>
/// The Wi-Fi Direct result.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public WiFiDirectError Error
{
get
/// <summary>
/// The state of the device.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public WiFiDirectDeviceState DeviceState
{
get
/// <summary>
/// An extended EventArgs class which contains the changed service information during the service discovery.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class ServiceStateChangedEventArgs : EventArgs
{
private WiFiDirectError _error;
/// <summary>
/// The Wi-Fi Direct result.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public WiFiDirectError Error
{
get
/// <summary>
/// The service discovery state.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public WiFiDirectServiceDiscoveryState ServiceDiscoveryState
{
get
/// <summary>
/// The types of service.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public WiFiDirectServiceType ServiceType
{
get
/// <summary>
/// The received response.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public string Response
{
get
/// <summary>
/// The peer servicing device.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public WiFiDirectPeer Peer
{
get
/// <summary>
/// An extended EventArgs class which contains the changed connection state during disconnecting of all peers or grouping related operations.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class ConnectionStatusChangedEventArgs : EventArgs
{
private WiFiDirectError _error;
/// <summary>
/// The Wi-Fi Direct result.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public WiFiDirectError Error
{
get
/// <summary>
/// The connection state.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public WiFiDirectConnectionState ConnectionState
{
get
/// A class which is used to manage settings of Wi-Fi Direct.<br/>
/// This class is used to discover peer devices and manage settings of Wi-Fi Direct.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public static class WiFiDirectManager
{
/// <summary>
/// </remarks>
/// <exception cref="NotSupportedException">The required feature is not supported.</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when application does not have privilege to access this method.</exception>
+ /// <since_tizen> 3 </since_tizen>
[EditorBrowsable(EditorBrowsableState.Never)]
public static bool IsInitialized
{
/// </remarks>
/// <exception cref="NotSupportedException">The required feature is not supported.</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when application does not have privilege to access this method.</exception>
+ /// <since_tizen> 3 </since_tizen>
public static bool IsGroupOwner
{
get
/// </remarks>
/// <exception cref="NotSupportedException">The required feature is not supported.</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when application does not have privilege to access this method.</exception>
+ /// <since_tizen> 3 </since_tizen>
public static bool IsAutonomousGroup
{
get
/// </remarks>
/// <exception cref="NotSupportedException">The required feature is not supported.</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when application does not have privilege to access this method.</exception>
+ /// <since_tizen> 3 </since_tizen>
public static string Ssid
{
get
/// </remarks>
/// <exception cref="NotSupportedException">The required feature is not supported.</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when application does not have privilege to access this method.</exception>
+ /// <since_tizen> 3 </since_tizen>
public static string NetworkInterface
{
get
/// </remarks>
/// <exception cref="NotSupportedException">The required feature is not supported.</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when application does not have privilege to access this method.</exception>
+ /// <since_tizen> 3 </since_tizen>
public static string IpAddress
{
get
/// </remarks>
/// <exception cref="NotSupportedException">The required feature is not supported.</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when application does not have privilege to access this method.</exception>
+ /// <since_tizen> 3 </since_tizen>
public static string SubnetMask
{
get
/// </remarks>
/// <exception cref="NotSupportedException">The required feature is not supported.</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when application does not have privilege to access this method.</exception>
+ /// <since_tizen> 3 </since_tizen>
public static string GatewayAddress
{
get
/// </remarks>
/// <exception cref="NotSupportedException">The required feature is not supported.</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when application does not have privilege to access this method.</exception>
+ /// <since_tizen> 3 </since_tizen>
public static string MacAddress
{
get
/// </privilege>
/// <exception cref="NotSupportedException">The required feature is not supported.</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when application does not have privilege to access this method.</exception>
+ /// <since_tizen> 3 </since_tizen>
public static WiFiDirectState State
{
get
/// </privilege>
/// <exception cref="NotSupportedException">The required feature is not supported.</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when application does not have privilege to access this method.</exception>
+ /// <since_tizen> 3 </since_tizen>
public static bool IsDiscoverable
{
get
/// </remarks>
/// <exception cref="NotSupportedException">The required feature is not supported.</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when application does not have privilege to access this method.</exception>
+ /// <since_tizen> 3 </since_tizen>
public static bool IsListenOnly
{
get
/// </remarks>
/// <exception cref="NotSupportedException">The required feature is not supported.</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when application does not have privilege to access this method.</exception>
+ /// <since_tizen> 3 </since_tizen>
public static WiFiDirectPrimaryDeviceType PrimaryType
{
get
/// </remarks>
/// <exception cref="NotSupportedException">The required feature is not supported.</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when application does not have privilege to access this method.</exception>
+ /// <since_tizen> 3 </since_tizen>
public static WiFiDirectSecondaryDeviceType SecondaryType
{
get
/// </remarks>
/// <exception cref="NotSupportedException">The required feature is not supported.</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when application does not have privilege to access this method.</exception>
+ /// <since_tizen> 3 </since_tizen>
public static int WpsMode
{
get
/// </privilege>
/// <exception cref="NotSupportedException">The required feature is not supported.</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when application does not have privilege to access this method.</exception>
+ /// <since_tizen> 3 </since_tizen>
public static WiFiDirectWpsType Wps
{
get
/// </remarks>
/// <exception cref="NotSupportedException">The required feature is not supported.</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when application does not have privilege to access this method.</exception>
+ /// <since_tizen> 3 </since_tizen>
public static int OperatingChannel
{
get
/// <exception cref="InvalidOperationException">The object is in invalid state.</exception>
/// <exception cref="NotSupportedException">The required feature is not supported.</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when application does not have privilege to access this method.</exception>
+ /// <since_tizen> 3 </since_tizen>
public static bool PersistentGroupEnabled
{
get
/// <exception cref="InvalidOperationException">The object is in invalid state.</exception>
/// <exception cref="NotSupportedException">The required feature is not supported.</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when application does not have privilege to access this method.</exception>
+ /// <since_tizen> 3 </since_tizen>
public static bool AutoConnect
{
get
/// <exception cref="InvalidOperationException">The object is in invalid state.</exception>
/// <exception cref="NotSupportedException">The required feature is not supported.</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when application does not have privilege to access this method.</exception>
+ /// <since_tizen> 3 </since_tizen>
public static string WpsPin
{
get
/// <exception cref="InvalidOperationException">The object is in invalid state.</exception>
/// <exception cref="NotSupportedException">The required feature is not supported.</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when application does not have privilege to access this method.</exception>
+ /// <since_tizen> 3 </since_tizen>
public static string Name
{
get
/// <exception cref="InvalidOperationException">The object is in invalid state.</exception>
/// <exception cref="NotSupportedException">The required feature is not supported.</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when application does not have privilege to access this method.</exception>
+ /// <since_tizen> 3 </since_tizen>
public static WiFiDirectWpsType RequestedWps
{
get
/// <exception cref="InvalidOperationException">The object is in invalid state.</exception>
/// <exception cref="NotSupportedException">The required feature is not supported.</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when application does not have privilege to access this method.</exception>
+ /// <since_tizen> 3 </since_tizen>
public static int GroupOwnerIntent
{
get
/// <exception cref="InvalidOperationException">The object is in invalid state.</exception>
/// <exception cref="NotSupportedException">The required feature is not supported.</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when application does not have privilege to access this method.</exception>
+ /// <since_tizen> 3 </since_tizen>
public static int MaxClients
{
get
/// <exception cref="InvalidOperationException">The object is in invalid state.</exception>
/// <exception cref="NotSupportedException">The required feature is not supported.</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when application does not have privilege to access this method.</exception>
+ /// <since_tizen> 3 </since_tizen>
public static string Passphrase
{
get
/// <exception cref="InvalidOperationException">The object is in invalid state.</exception>
/// <exception cref="NotSupportedException">The required feature is not supported.</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when application does not have privilege to access this method.</exception>
+ /// <since_tizen> 3 </since_tizen>
public static int SessionTimer
{
get
/// <summary>
/// (event) StateChanged is raised when Wi-Fi Direct state is changed.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public static event EventHandler<StateChangedEventArgs> StateChanged
{
add
/// <summary>
/// (event) DiscoveryStateChanged is raised when Wi-Fi Direct discovery state is changed.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public static event EventHandler<DiscoveryStateChangedEventArgs> DiscoveryStateChanged
{
add
/// <summary>
/// (event) DeviceStateChanged is raised when device state is changed.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public static event EventHandler<DeviceStateChangedEventArgs> DeviceStateChanged
{
add
/// <summary>
/// (event) PeerFound is raised when peer is found.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public static event EventHandler<PeerFoundEventArgs> PeerFound
{
add
/// <summary>
/// (event) ConnectionStatusChanged is raised when status of connection is changed.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public static event EventHandler<ConnectionStatusChangedEventArgs> ConnectionStatusChanged
{
add
/// <exception cref="InvalidOperationException">The object is in invalid state.</exception>
/// <exception cref="NotSupportedException">The required feature is not supported.</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when application does not have privilege to access this method.</exception>
+ /// <since_tizen> 3 </since_tizen>
public static void Activate()
{
if (Globals.IsInitialize)
/// <exception cref="InvalidOperationException">The object is in invalid state.</exception>
/// <exception cref="NotSupportedException">The required feature is not supported.</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when application does not have privilege to access this method.</exception>
+ /// <since_tizen> 3 </since_tizen>
public static void Deactivate()
{
if (Globals.IsActivated)
/// <exception cref="InvalidOperationException">The object is in invalid state.</exception>
/// <exception cref="NotSupportedException">The required feature is not supported.</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when application does not have privilege to access this method.</exception>
+ /// <since_tizen> 3 </since_tizen>
public static void StartDiscovery(bool listenOnly, int duration, WiFiDirectDiscoveryChannel channel = WiFiDirectDiscoveryChannel.FullScan)
{
if (Globals.IsActivated)
/// <exception cref="InvalidOperationException">The object is in invalid state.</exception>
/// <exception cref="NotSupportedException">The required feature is not supported.</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when application does not have privilege to access this method.</exception>
+ /// <since_tizen> 3 </since_tizen>
public static void CancelDiscovery()
{
if (WiFiDirectManager.State == WiFiDirectState.Discovering)
/// <exception cref="InvalidOperationException">The object is in invalid state.</exception>
/// <exception cref="NotSupportedException">The required feature is not supported.</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when application does not have privilege to access this method.</exception>
+ /// <since_tizen> 3 </since_tizen>
public static IEnumerable<WiFiDirectPeer> GetDiscoveredPeers()
{
if (Globals.IsActivated)
/// <exception cref="InvalidOperationException">The object is in invalid state.</exception>
/// <exception cref="NotSupportedException">The required feature is not supported.</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when application does not have privilege to access this method.</exception>
+ /// <since_tizen> 3 </since_tizen>
public static IEnumerable<WiFiDirectPeer> GetConnectedPeers()
{
if (Globals.IsActivated)
/// <exception cref="InvalidOperationException">The object is in invalid state.</exception>
/// <exception cref="NotSupportedException">The required feature is not supported.</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when application does not have privilege to access this method.</exception>
+ /// <since_tizen> 3 </since_tizen>
public static void DisconnectAll()
{
if (Globals.IsActivated)
/// <exception cref="InvalidOperationException">The object is in invalid state.</exception>
/// <exception cref="NotSupportedException">The required feature is not supported.</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when application does not have privilege to access this method.</exception>
+ /// <since_tizen> 3 </since_tizen>
public static void CreateGroup()
{
if (Globals.IsActivated)
/// <exception cref="InvalidOperationException">The object is in invalid state.</exception>
/// <exception cref="NotSupportedException">The required feature is not supported.</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when application does not have privilege to access this method.</exception>
+ /// <since_tizen> 3 </since_tizen>
public static void DestroyGroup()
{
if (Globals.IsActivated)
/// <exception cref="InvalidOperationException">The object is in invalid state.</exception>
/// <exception cref="NotSupportedException">The required feature is not supported.</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when application does not have privilege to access this method.</exception>
+ /// <since_tizen> 3 </since_tizen>
public static void ActivatePushButton()
{
if (Globals.IsActivated)
/// <exception cref="InvalidOperationException">The object is in invalid state.</exception>
/// <exception cref="NotSupportedException">The required feature is not supported.</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when application does not have privilege to access this method.</exception>
+ /// <since_tizen> 3 </since_tizen>
public static IEnumerable<WiFiDirectWpsType> GetSupportedWpsTypes()
{
if (Globals.IsInitialize)
/// <exception cref="InvalidOperationException">The object is in invalid state.</exception>
/// <exception cref="NotSupportedException">The required feature is not supported.</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when application does not have privilege to access this method.</exception>
+ /// <since_tizen> 3 </since_tizen>
public static IEnumerable<WiFiDirectPersistentGroup> GetPersistentGroups()
{
if (Globals.IsInitialize)
/// <exception cref="InvalidOperationException">The object is in invalid state.</exception>
/// <exception cref="NotSupportedException">The required feature is not supported.</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when application does not have privilege to access this method.</exception>
+ /// <since_tizen> 3 </since_tizen>
public static void RemovePersistentGroup(WiFiDirectPersistentGroup group)
{
if (Globals.IsInitialize)
/// </exception>
/// <exception cref="InvalidOperationException">The object is in invalid state.</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when application does not have privilege to access this method.</exception>
+ /// <since_tizen> 3 </since_tizen>
public static void InitMiracast(bool enable)
{
if (Globals.IsActivated)
/// </exception>
/// <exception cref="InvalidOperationException">The object is in invalid state.</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when application does not have privilege to access this method.</exception>
+ /// <since_tizen> 3 </since_tizen>
public static void InitDisplay()
{
if (Globals.IsActivated)
/// </exception>
/// <exception cref="InvalidOperationException">The object is in invalid state.</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when application does not have privilege to access this method.</exception>
+ /// <since_tizen> 3 </since_tizen>
public static void DeinitDisplay()
{
if (Globals.IsActivated && Globals.s_isDisplay)
/// </exception>
/// <exception cref="InvalidOperationException">The object is in invalid state.</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when application does not have privilege to access this method.</exception>
+ /// <since_tizen> 3 </since_tizen>
public static void SetDisplay(WiFiDirectDisplayType type, int port, int hdcp)
{
if (Globals.IsActivated && Globals.s_isDisplay)
/// </exception>
/// <exception cref="InvalidOperationException">The object is in invalid state.</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when application does not have privilege to access this method.</exception>
+ /// <since_tizen> 3 </since_tizen>
public static void SetDisplayAvailability(bool availability)
{
if (Globals.IsActivated && Globals.s_isDisplay)
/// <exception cref="InvalidOperationException">The object is in invalid state.</exception>
/// <exception cref="NotSupportedException">The required feature is not supported.</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when application does not have privilege to access this method.</exception>
+ /// <since_tizen> 3 </since_tizen>
public static void SetAutoGroupRemove(bool enable)
{
if (Globals.IsActivated)
/// </exception>
/// <exception cref="InvalidOperationException">The object is in invalid state.</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when application does not have privilege to access this method.</exception>
+ /// <since_tizen> 3 </since_tizen>
public static uint RegisterService(WiFiDirectServiceType type, string info, string serviceInfo)
{
if (Globals.IsActivated)
/// </exception>
/// <exception cref="InvalidOperationException">The object is in invalid state.</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when application does not have privilege to access this method.</exception>
+ /// <since_tizen> 3 </since_tizen>
public static void DeregisterService(uint serviceId)
{
if (Globals.IsActivated)
/// The WiFiDirectPeer class is used to handle the connection with remote devices using Wi-Fi Direct.
/// </summary>
/// <privilege> http://tizen.org/privilege/wifidirect </privilege>
+ /// <since_tizen> 3 </since_tizen>
public class WiFiDirectPeer
{
private event EventHandler<ConnectionStateChangedEventArgs> _connectionStateChanged;
/// <summary>
/// The name of the peer device.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public string Name
{
get
/// <summary>
/// The IP address of the peer device.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public string IpAddress
{
get
/// <summary>
/// The MAC address of the peer device.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public string MacAddress
{
get
/// <summary>
/// The Interface address of the peer device.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public string InterfaceAddress
{
get
/// <summary>
/// The listening channel of the peer device.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public int Channel
{
get
/// <summary>
/// The connected state of the peer device.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public bool IsConnected
{
get
/// <summary>
/// The P2P group state of the peer device.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public bool IsGroupOwner
{
get
/// <summary>
/// The P2P state of the peer device.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public bool P2PSupport
{
get
/// <summary>
/// The primary catagory of the peer device.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public WiFiDirectPrimaryDeviceType PrimaryType
{
get
/// <summary>
/// The sub category of the peer device.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public WiFiDirectSecondaryDeviceType SecondaryType
{
get
/// <summary>
/// The list of the supported WPS type of the peer device.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public int WpsTypes
{
get
/// <summary>
/// The P2P invitation state of the peer device.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public bool IsP2PInvitationSupported
{
get
/// <summary>
/// The number of registered services of the peer device.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public uint ServiceCount
{
get
/// <summary>
/// The list of registered services of the peer device.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public IEnumerable<string> ServiceList
{
get
/// <summary>
/// Checks if the peer device is a Wi-Fi display device.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public bool IsMiracastDevice
{
get
/// Wi-Fi Direct must be activated.
/// If there is any error, a default value of WiFiDirectDisplayType will be returned.
/// </remarks>
+ /// <since_tizen> 3 </since_tizen>
public WiFiDirectDisplayType Display
{
get
/// Wi-Fi Direct must be activated.
/// If there is any error, false will be returned.
/// </remarks>
+ /// <since_tizen> 3 </since_tizen>
public bool DisplayAvailability
{
get
/// Wi-Fi Direct must be activated.
/// If there is any error, -1 will be returned.
/// </remarks>
+ /// <since_tizen> 3 </since_tizen>
public int Hdcp
{
get
/// Wi-Fi Direct must be activated.
/// If there is any error, -1 will be returned.
/// </remarks>
+ /// <since_tizen> 3 </since_tizen>
public int Port
{
get
/// Wi-Fi Direct must be activated.
/// If there is any error, -1 will be returned.
/// </remarks>
+ /// <since_tizen> 3 </since_tizen>
public int Throughput
{
get
/// Wi-Fi Direct must be activated.
/// If there is any error, -1 will be returned.
/// </remarks>
+ /// <since_tizen> 3 </since_tizen>
public int Rssi
{
get
/// <summary>
/// The ConnectionStateChanged event is raised when the connection state of the peer device changes.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public event EventHandler<ConnectionStateChangedEventArgs> ConnectionStateChanged
{
add
/// <summary>
/// The IpAddressAssigned event is raised when the IP address of the peer device is assigned.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public event EventHandler<IpAddressAssignedEventArgs> IpAddressAssigned
{
add
/// <summary>
/// The ServiceStateChanged event is raised when the state of service discovery is changed.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public event EventHandler<ServiceStateChangedEventArgs> ServiceStateChanged
{
add
/// If this succeeds, the ConnectionStateChanged event will be invoked.
/// </remarks>
/// <exception cref="NotSupportedException">Thrown when the Wi-Fi Direct is not supported</exception>
+ /// <since_tizen> 3 </since_tizen>
public void Connect()
{
if (Globals.IsActivated)
/// Wi-Fi Direct must be activated.
/// </remarks>
/// <exception cref="NotSupportedException">Thrown when the Wi-Fi Direct is not supported.</exception>
+ /// <since_tizen> 3 </since_tizen>
public void CancelConnection()
{
if (Globals.IsActivated)
/// If this succeeds, the ConnectionStateChanged event will be invoked.
/// </remarks>
/// <exception cref="NotSupportedException">Thrown when the Wi-Fi Direct is not supported.</exception>
+ /// <since_tizen> 3 </since_tizen>
public void Disconnect()
{
if (Globals.IsActivated)
/// Wi-Fi Direct must be activated.
/// </remarks>
/// <exception cref="NotSupportedException">Thrown when the Wi-Fi Direct is not supported.</exception>
+ /// <since_tizen> 3 </since_tizen>
public void SetAutoConnect()
{
if (Globals.IsActivated)
/// 2. When the Wi-Fi Direct service discovery is not supported.
/// </exception>
/// <param name="type">The type of the service.</param>
+ /// <since_tizen> 3 </since_tizen>
public void StartServiceDiscovery(WiFiDirectServiceType type)
{
if (Globals.IsActivated)
/// 2. When the Wi-Fi Direct service discovery is not supported.
/// </exception>
/// <param name="type">The type of the service.</param>
+ /// <since_tizen> 3 </since_tizen>
public void CancelServiceDiscovery(WiFiDirectServiceType type)
{
if (Globals.IsActivated)
/// <summary>
/// A class to handle persistent groups.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class WiFiDirectPersistentGroup
{
private string _address;
/// <summary>
/// The MAC address of the persistent group owner.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public string MacAddress
{
get
/// <summary>
/// The SSID (Service Set Identifier) of the persistent group owner.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public string Ssid
{
get
/// <summary>
/// The PhonenumberUtils class provides methods for parsing, formatting and normalizing phone numbers.
/// </summary>
- /// <since_tizen> 4 </since_tizen>
+ /// <since_tizen> 3 </since_tizen>
public class PhonenumberUtils : IDisposable
{
private bool disposed = false;
/// <feature>http://tizen.org/feature/network.telephony</feature>
/// <exception cref="InvalidOperationException">Thrown when method failed due to invalid operation</exception>
/// <exception cref="NotSupportedException">Thrown when feature is not supported</exception>
- /// <since_tizen> 4 </since_tizen>
+ /// <since_tizen> 3 </since_tizen>
public PhonenumberUtils()
{
int ret;
/// Releases all resources used by the PhonenumberUtils.
/// It should be called after finished using of the object.
/// </summary>
- /// <since_tizen> 4 </since_tizen>
+ /// <since_tizen> 3 </since_tizen>
public void Dispose()
{
Dispose(true);
/// <exception cref="NotSupportedException">Thrown when feature is not supported</exception>
/// <exception cref="ArgumentException">Thrown when input coordinates are invalid</exception>
/// <exception cref="OutOfMemoryException">Thrown when failed due to out of memory</exception>
- /// <since_tizen> 4 </since_tizen>
+ /// <since_tizen> 3 </since_tizen>
public string GetLocationFromNumber(string number, Region region, Language language)
{
int ret;
/// <exception cref="NotSupportedException">Thrown when feature is not supported</exception>
/// <exception cref="ArgumentException">Thrown when input coordinates are invalid</exception>
/// <exception cref="OutOfMemoryException">Thrown when failed due to out of memory</exception>
- /// <since_tizen> 4 </since_tizen>
+ /// <since_tizen> 3 </since_tizen>
public string GetFormattedNumber(string number, Region region)
{
int ret;
/// Normalized number starts with plus('+') and country code, and excludes the separators such as dash or space.
/// It is a format of E.164 standard including the country code based on current network.
/// </remarks>
- /// <since_tizen> 4 </since_tizen>
+ /// <since_tizen> 3 </since_tizen>
public string GetNormalizedNumber(string number)
{
int ret;
/// <summary>
/// Enumeration for language type.
/// </summary>
- /// <since_tizen> 4 </since_tizen>
+ /// <since_tizen> 3 </since_tizen>
public enum Language
{
/// <summary>
/// <summary>
/// Enumeration for region type.
/// </summary>
- /// <since_tizen> 4 </since_tizen>
+ /// <since_tizen> 3 </since_tizen>
public enum Region
{
/// <summary>
/// <summary>
/// Registers a callback function to be invoked when a record changes.
- /// <since_tizen> 4 </since_tizen>
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
/// <param name="viewUri">The view URI of the record to subscribe for change notifications</param>
/// <param name="DBChanged">The EventHandler to register</param>
/// <privilege>http://tizen.org/privilege/calendar.read</privilege>
/// <summary>
/// Enumeration for the filter match type of a string.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public enum StringMatchType
{
/// <summary>
/// <summary>
/// Enumeration for the filter match type of an integer.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public enum IntegerMatchType
{
/// <summary>
/// <summary>
/// Enumeration for a filter operator.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public enum LogicalOperator
{
/// <summary>
/// Dispose
/// </summary>
/// <param name="disposing">true to release both managed and unmanaged resources; false to release only unmanaged resources.</param>
+ /// <since_tizen> 4 </since_tizen>
protected virtual void Dispose(bool disposing)
{
if (!disposedValue)
/// Releases all resources used by the CalendarFilter.
/// It should be called after having finished using of the object.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public void Dispose()
{
Dispose(true);
/// Disposes of the resources (other than memory) used by the CalendarList.
/// </summary>
/// <param name="disposing">true to release both managed and unmanaged resources; false to release only unmanaged resources.</param>
+ /// <since_tizen> 4 </since_tizen>
protected virtual void Dispose(bool disposing)
{
if (!disposedValue)
/// Releases all resources used by the CalendarList.
/// It should be called after having finished using of the object.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public void Dispose()
{
Dispose(true);
/// Disposes of the resources (other than memory) used by the CalendarManager.
/// </summary>
/// <param name="disposing">true to release both managed and unmanaged resources; false to release only unmanaged resources.</param>
+ /// <since_tizen> 4 </since_tizen>
protected virtual void Dispose(bool disposing)
{
if (!disposedValue)
/// Releases all resources used by the CalendarManager.
/// It should be called after having finished using of the object.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public void Dispose()
{
Dispose(true);
/// Disposes of the resources (other than memory) used by the CalendarQuery.
/// </summary>
/// <param name="disposing">true to release both managed and unmanaged resources; false to release only unmanaged resources.</param>
+ /// <since_tizen> 4 </since_tizen>
protected virtual void Dispose(bool disposing)
{
if (!disposedValue)
/// Releases all resources used by the CalendarQuery.
/// It should be called after having finished using of the object.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public void Dispose()
{
Dispose(true);
/// Disposes of the resources (other than memory) used by the CalendarRecord.
/// </summary>
/// <param name="disposing">true to release both managed and unmanaged resources; false to release only unmanaged resources.</param>
+ /// <since_tizen> 4 </since_tizen>
protected virtual void Dispose(bool disposing)
{
if (!_disposedValue)
/// Releases all resources used by the CalendarRecord.
/// It should be called after having finished using of the object.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public void Dispose()
{
Dispose(true);
/// Disposes of the resources (other than memory) used by the CalendarReminder.
/// </summary>
/// <param name="disposing">true to release both managed and unmanaged resources; false to release only unmanaged resources.</param>
+ /// <since_tizen> 4 </since_tizen>
protected virtual void Dispose(bool disposing)
{
if (!disposedValue)
/// Releases all resources used by the CalendarReminder.
/// It should be called after having finished using of the object.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public void Dispose()
{
Dispose(true);
/// </summary>
/// <param name="record">The record</param>
/// <returns>true to continue with the next iteration of the loop, otherwise false to break out of the loop</returns>
+ /// <since_tizen> 4 </since_tizen>
public delegate bool ParseCallback(CalendarRecord record);
/// <summary>
/// <remarks>
/// It's based on the vCalendar v2.0 specification
/// </remarks>
+ /// <since_tizen> 4 </since_tizen>
public static class CalendarVcalendar
{
/// <summary>
/// </returns>
/// <exception cref="ArgumentException">Thrown when one of the arguments provided to a method is not valid</exception>
/// <exception cref="OutOfMemoryException">Thrown when failed due to out of memory</exception>
+ /// <since_tizen> 4 </since_tizen>
public static string Compose(CalendarList list)
{
string stream;
/// </returns>
/// <exception cref="ArgumentException">Thrown when one of the arguments provided to a method is not valid</exception>
/// <exception cref="OutOfMemoryException">Thrown when failed due to out of memory</exception>
+ /// <since_tizen> 4 </since_tizen>
public static CalendarList Parse(string stream)
{
int error = 0;
/// <exception cref="InvalidOperationException">Thrown when method failed due to invalid operation</exception>
/// <exception cref="ArgumentException">Thrown when one of the arguments provided to a method is not valid</exception>
/// <exception cref="OutOfMemoryException">Thrown when failed due to out of memory</exception>
+ /// <since_tizen> 4 </since_tizen>
public static void ParseForEach(string path, ParseCallback callback)
{
int error = 0;
/// <summary>
/// Normal
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
Normal,
/// <summary>
/// Changing collation.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
ChangingCollation
}
/// <summary>
/// None
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
None = 0,
/// <summary>
/// Search record from name
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
Name = 0x00000001,
/// <summary>
/// Search record from number
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
Number = 0x00000002,
/// <summary>
/// Search record from data
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
Data = 0x00000004,
/// <summary>
/// Search record from email. Now, support only PersonEmail view
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
Email = 0x00000008,
}
/// <summary>
/// Full string, case-sensitive
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
Exactly,
/// <summary>
/// Full string, case-insensitive
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
FullString,
/// <summary>
/// Sub string, case-insensitive
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
Contains,
/// <summary>
/// Start with, case-insensitive
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
StartsWith,
/// <summary>
/// End with, case-insensitive
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
EndsWith,
/// <summary>
/// IS NOT NUL
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
Exists,
}
/// <summary>
/// =
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
Equal,
/// <summary>
/// >
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
GreaterThan,
/// <summary>
/// >=
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
GreaterThanOrEqual,
/// <summary>
/// <
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
LessThan,
/// <summary>
/// <=
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
LessThanOrEqual,
/// <summary>
/// <>, this flag can yield poor performance
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
NotEqual,
/// <summary>
/// IS NULL
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
None,
}
/// <summary>
/// AND
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
And,
/// <summary>
/// OR
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
Or,
}
/// <summary>
/// First name comes at the first
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
FirstLast,
/// <summary>
/// First name comes at the last
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
LastFirst
};
/// <summary>
/// Contacts are first sorted based on the first name
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
FirstLast,
/// <summary>
/// Contacts are first sorted based on the last name
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
LastFirst
};
/// <summary>
/// Inserted
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
Inserted,
/// <summary>
/// Updated
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
Updated,
/// <summary>
/// Deleted
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
Deleted,
}
/// <summary>
/// Identifier of this contacts address book view
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const string Uri = "tizen.contacts_view.addressbook";
/// <summary>
/// integer, read only, DB record ID of the address book
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Id = (uint)Property.Id.AddressBookId;
/// <summary>
/// integer, read/write once, Account ID that the address book belongs to
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint AccountId = (uint)Property.Id.AddressBookAccountId;
/// <summary>
/// string, read/write, It cannot be NULL. Duplicate names are not allowed.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Name = (uint)Property.Id.AddressBookName;
/// <summary>
/// integer, read/write, AddressBook mode, refer to the ModeValue
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Mode = (uint)Property.Id.AddressBookMode;
/// <summary>
/// <summary>
/// All module can read and write contacts of this address_book
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
None,
/// <summary>
/// All module can only read contacts of this address_book
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
ReadOnly,
}
}
/// <summary>
/// Identifier of this contacts group view
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const string Uri = "tizen.contacts_view.group";
/// <summary>
/// DB record ID of the group
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Id = (uint)Property.Id.GroupId;
/// <summary>
/// AddressBook ID that the group belongs to
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint AddressBookId = (uint)Property.Id.GroupAddressBookId;
/// <summary>
/// Group name
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Name = (uint)Property.Id.GroupName;
/// <summary>
/// Ringtone path of the group
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint RingtonePath = (uint)Property.Id.GroupRingtone;
/// <summary>
/// Image path of the group
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint ImagePath = (uint)Property.Id.GroupImage;
/// <summary>
/// Vibration path of the group
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Vibration = (uint)Property.Id.GroupVibration;
/// <summary>
/// Extra data for default group name
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint ExtraData = (uint)Property.Id.GroupExtraData;
/// <summary>
/// The group is read only or not
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint IsReadOnly = (uint)Property.Id.GroupIsReadOnly;
/// <summary>
/// Message alert path of the group
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint MessageAlert = (uint)Property.Id.GroupMessageAlert;
}
/// <summary>
/// Identifier of this contacts person view
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const string Uri = "tizen.contacts_view.person";
/// <summary>
/// DB record ID of the person
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Id = (uint)Property.Id.PersonId;
/// <summary>
/// Display name of the person
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint DisplayName = (uint)Property.Id.PersonDisplayName;
/// <summary>
/// The first character of first string for grouping. This is normalized using ICU (projection)
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint DisplayNameIndex = (uint)Property.Id.PersonDisplayNameIndex;
/// <summary>
/// Display contact ID that the person belongs to
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint DisplayContactId = (uint)Property.Id.PersonDisplayContactId;
/// <summary>
/// Ringtone path of the person
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint RingtonePath = (uint)Property.Id.PersonRingtone;
/// <summary>
/// Image thumbnail path of the person
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint ThumbnailPath = (uint)Property.Id.PersonThumbnail;
/// <summary>
/// Vibration path of the person
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Vibration = (uint)Property.Id.PersonVibration;
/// <summary>
/// Message alert path of the person
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint MessageAlert = (uint)Property.Id.PersonMessageAlert;
/// <summary>
/// Status of social account
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Status = (uint)Property.Id.PersonStatus;
/// <summary>
/// The person is favorite or not
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint IsFavorite = (uint)Property.Id.PersonIsFavorite;
/// <summary>
/// The priority of favorite contacts. it can be used as sorting key
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint FavoritePriority = (uint)Property.Id.PersonFavoritePriority;
/// <summary>
/// Link count of contact records (projection)
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint LinkCount = (uint)Property.Id.PersonLinkCount;
/// <summary>
/// AddressBook IDs that the person belongs to (projection)
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint AddressBookIds = (uint)Property.Id.PersonAddressBookIds;
/// <summary>
/// The person has phone number or not
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint HasPhoneNumber = (uint)Property.Id.PersonHasPhoneNumber;
/// <summary>
/// The person has email or not
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint HasEmail = (uint)Property.Id.PersonHasEmail;
/// <summary>
/// keyword matched data type
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint SnippetType = (uint)Property.Id.PersonSnippetType;
/// <summary>
/// keyword matched data string
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint SnippetString = (uint)Property.Id.PersonSnippetString;
}
/// <summary>
/// Identifier of this contact view
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const string Uri = "tizen.contacts_view.contact";
/// <summary>
/// DB record ID of the contact
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Id = (uint)Property.Id.ContactId;
/// <summary>
/// Display name of the contact
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint DisplayName = (uint)Property.Id.ContactDisplayName;
/// <summary>
/// The source type of display name, refer to the DisplayNameSourceType
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint DisplaySourceType = (uint)Property.Id.ContactDisplaySourceDataId;
/// <summary>
/// AddressBook ID that the contact belongs to
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint AddressBookId = (uint)Property.Id.ContactAddressBookId;
/// <summary>
/// Ringtone path of the contact
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint RingtonePath = (uint)Property.Id.ContactRingtone;
/// <summary>
/// Image thumbnail path of the contact
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint ThumbnailPath = (uint)Property.Id.ContactThumbnail;
/// <summary>
/// The contact is favorite or not
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint IsFavorite = (uint)Property.Id.ContactIsFavorite;
/// <summary>
/// The contact has phone number or not
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint HasPhoneNumber = (uint)Property.Id.ContactHasPhoneNumber;
/// <summary>
/// The contact has email or not
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint HasEmail = (uint)Property.Id.ContactHasEmail;
/// <summary>
/// Person ID that the contact belongs to. If set when inserting, a contact will be linked to person
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint PersonId = (uint)Property.Id.ContactPersonId;
/// <summary>
/// Unique identifier
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint UId = (uint)Property.Id.ContactUId;
/// <summary>
/// Vibration path of the contact
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Vibration = (uint)Property.Id.ContactVibration;
/// <summary>
/// Message alert path of the contact
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint MessageAlert = (uint)Property.Id.ContactMessageAlert;
/// <summary>
/// Last changed contact time
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint ChangedTime = (uint)Property.Id.ContactChangedTime;
/// <summary>
/// The link mode, refer to the LinkModeValue. If the person_id was set, this value will be ignored
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint LinkMode = (uint)Property.Id.ContactLinkMode;
/// <summary>
/// Name child record (single)
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Name = (uint)Property.Id.ContactName;
/// <summary>
/// Company child record (multiple)
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Company = (uint)Property.Id.ContactCompany;
/// <summary>
/// Note child record (multiple)
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Note = (uint)Property.Id.ContactNote;
/// <summary>
/// Number child record (multiple)
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Number = (uint)Property.Id.ContactNumber;
/// <summary>
/// Email child record (multiple)
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Email = (uint)Property.Id.ContactEmail;
/// <summary>
/// Event child record (multiple)
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Event = (uint)Property.Id.ContactEvent;
/// <summary>
/// Messenger child record (multiple)
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Messenger = (uint)Property.Id.ContactMessenger;
/// <summary>
/// Address child record (multiple)
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Address = (uint)Property.Id.ContactAddress;
/// <summary>
/// URL child record (multiple)
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint URL = (uint)Property.Id.ContactURL;
/// <summary>
/// Nickname child record (multiple)
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Nickname = (uint)Property.Id.ContactNickname;
/// <summary>
/// Profile child record (multiple)
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Profile = (uint)Property.Id.ContactProfile;
/// <summary>
/// Relationship child record (multiple)
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Relationship = (uint)Property.Id.ContactRelationship;
/// <summary>
/// Image child record (multiple)
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Image = (uint)Property.Id.ContactImage;
/// <summary>
/// GroupRelation child record (multiple)
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint GroupRelation = (uint)Property.Id.ContactGroupRelation;
/// <summary>
/// Extension child record (multiple)
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Extension = (uint)Property.Id.ContactExtension;
/// <summary>
/// Sip child record (multiple)
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Sip = (uint)Property.Id.ContactSip;
/// <summary>
/// <summary>
/// Auto link immediately
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
Auto,
/// <summary>
/// Do not auto link when the contact is inserted
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
None
}
/// <summary>
/// Invalid source of display name
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
Invalid,
/// <summary>
/// Produced display name from email record
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
Email,
/// <summary>
/// Produced display name from number record
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
Number,
/// <summary>
/// Produced display name from nickname record
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
Nickname,
/// <summary>
/// Produced display name from company record
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
Company,
/// <summary>
/// Produced display name from name record
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
Name,
}
/// <summary>
/// None
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
None,
/// <summary>
/// Name
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
Name = 1,
/// <summary>
/// Address
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
Address = 2,
/// <summary>
/// Messenger
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
Messenger = 3,
/// <summary>
/// URL
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
URL = 4,
/// <summary>
/// Event
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
Event = 5,
/// <summary>
/// Company
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
Company = 6,
/// <summary>
/// Nickname
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
Nickname = 7,
/// <summary>
/// Number
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
Number = 8,
/// <summary>
/// Email
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
Email = 9,
/// <summary>
/// Profile
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
Profile = 10,
/// <summary>
/// Relationship
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
Relationship = 11,
/// <summary>
/// Note
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
Note = 12,
/// <summary>
/// Image
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
Image = 13,
/// <summary>
/// SIP
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
Sip = 14,
/// <summary>
/// Extension
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
Extension = 100
}
}
/// <summary>
/// Identifier of this simple contact view
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const string Uri = "tizen.contacts_view.simple_contact";
/// <summary>
/// DB record ID of the contact
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Id = (uint)Property.Id.ContactId;
/// <summary>
/// Display name of the contact
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint DisplayName = (uint)Property.Id.ContactDisplayName;
/// <summary>
/// The source type of display name, refer to the Contact.DisplayNameSourceType
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint DisplaySourceType = (uint)Property.Id.ContactDisplaySourceDataId;
/// <summary>
/// AddressBook that the contact belongs to
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint AddressBookId = (uint)Property.Id.ContactAddressBookId;
/// <summary>
/// Ringtone path of the contact
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint RingtonePath = (uint)Property.Id.ContactRingtone;
/// <summary>
/// Image thumbnail path of the contact
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint ThumbnailPath = (uint)Property.Id.ContactThumbnail;
/// <summary>
/// The contact is favorite or not
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint IsFavorite = (uint)Property.Id.ContactIsFavorite;
/// <summary>
/// The contact has phone number or not
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint HasPhoneNumber = (uint)Property.Id.ContactHasPhoneNumber;
/// <summary>
/// The contact has email or not
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint HasEmail = (uint)Property.Id.ContactHasEmail;
/// <summary>
/// Person ID that the contact belongs to
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint PersonId = (uint)Property.Id.ContactPersonId;
/// <summary>
/// Unique identifier
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint UId = (uint)Property.Id.ContactUId;
/// <summary>
/// Vibration path of the contact
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Vibration = (uint)Property.Id.ContactVibration;
/// <summary>
/// Message alert path of the contact
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint MessageAlert = (uint)Property.Id.ContactMessageAlert;
/// <summary>
/// Last changed contact time
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint ChangedTime = (uint)Property.Id.ContactChangedTime;
}
/// <summary>
/// Identifier of this my profile view
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const string Uri = "tizen.contacts_view.my_profile";
/// <summary>
/// DB record ID of the my profile
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Id = (uint)Property.Id.MyProfileId;
/// <summary>
/// Display name of the profile
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint DisplayName = (uint)Property.Id.MyProfileDisplayName;
/// <summary>
/// AddressBook ID that the profile belongs to
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint AddressBookId = (uint)Property.Id.MyProfileAddressBookId;
/// <summary>
/// Image thumbnail path of the profile
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint ThumbnailPath = (uint)Property.Id.MyProfileThumbnail;
/// <summary>
/// Unique identifier
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint UId = (uint)Property.Id.MyProfileUId;
/// <summary>
/// Last changed profile time
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint ChangedTime = (uint)Property.Id.MyProfileChangedTime;
/// <summary>
/// Name child record (single)
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Name = (uint)Property.Id.MyProfileName;
/// <summary>
/// Company child record (multiple)
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Company = (uint)Property.Id.MyProfileCompany;
/// <summary>
/// Note child record (multiple)
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Note = (uint)Property.Id.MyProfileNote;
/// <summary>
/// Number child record (multiple)
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Number = (uint)Property.Id.MyProfileNumber;
/// <summary>
/// Email child record (multiple)
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Email = (uint)Property.Id.MyProfileEmail;
/// <summary>
/// Event child record (multiple)
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Event = (uint)Property.Id.MyProfileEvent;
/// <summary>
/// Messenger child record (multiple)
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Messenger = (uint)Property.Id.MyProfileMessenger;
/// <summary>
/// Address child record (multiple)
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Address = (uint)Property.Id.MyProfileAddress;
/// <summary>
/// URL child record (multiple)
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint URL = (uint)Property.Id.MyProfileURL;
/// <summary>
/// Nickname child record (multiple)
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Nickname = (uint)Property.Id.MyProfileNickname;
/// <summary>
/// Profile child record (multiple)
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Profile = (uint)Property.Id.MyProfileProfile;
/// <summary>
/// Relationship child record (multiple)
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Relationship = (uint)Property.Id.MyProfileRelationship;
/// <summary>
/// Image child record (multiple)
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Image = (uint)Property.Id.MyProfileImage;
/// <summary>
/// Extension child record (multiple)
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Extension = (uint)Property.Id.MyProfileExtension;
/// <summary>
/// Sip child record (multiple)
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Sip = (uint)Property.Id.MyProfileSip;
}
/// <summary>
/// Identifier of this contacts name view
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const string Uri = "tizen.contacts_view.name";
/// <summary>
/// DB record ID of the name
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Id = (uint)Property.Id.NameId;
/// <summary>
/// Contacts ID that the name record belongs to
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint ContactId = (uint)Property.Id.NameContactId;
/// <summary>
/// First name
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint First = (uint)Property.Id.NameFirst;
/// <summary>
/// Last name
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Last = (uint)Property.Id.NameLast;
/// <summary>
/// Middle name
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Addition = (uint)Property.Id.NameAddition;
/// <summary>
/// Suffix
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Suffix = (uint)Property.Id.NameSuffix;
/// <summary>
/// Prefix
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Prefix = (uint)Property.Id.NamePrefix;
/// <summary>
/// Pronounce the first name
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint PhoneticFirst = (uint)Property.Id.NamePhoneticFirst;
/// <summary>
/// Pronounce the middle name
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint PhoneticMiddle = (uint)Property.Id.NamePhoneticMiddle;
/// <summary>
/// Pronounce the last name
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint PhoneticLast = (uint)Property.Id.NamePhoneticLast;
}
/// <summary>
/// Identifier of this contacts number view
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const string Uri = "tizen.contacts_view.number";
/// <summary>
/// DB record ID of the number
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Id = (uint)Property.Id.NumberId;
/// <summary>
/// Contact ID that the number belongs to
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint ContactId = (uint)Property.Id.NumberContactId;
/// <summary>
/// Number type, refer to the Types
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Type = (uint)Property.Id.NumberType;
/// <summary>
/// Custom number type label, when the number type is Types.Custom
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Label = (uint)Property.Id.NumberLabel;
/// <summary>
/// The number is default number or not
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint IsDefault = (uint)Property.Id.NumberIsDefault;
/// <summary>
/// Number
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint NumberData = (uint)Property.Id.NumberNumber;
/// <summary>
/// You can only use this property for search filter.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint NormalizedNumber = (uint)Property.Id.NumberNormalizedNumber;
/// <summary>
/// You can only use this property for search filter.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint CleanedNumber = (uint)Property.Id.NumberCleanedNumber;
/// <summary>
/// You can only use this property for search filter.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint NumberFilter = (uint)Property.Id.NumberNumberFilter;
/// <summary>
/// <summary>
/// Other number type
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
Other = 0,
/// <summary>
/// Custom number type
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
Custom = 1 << 0,
/// <summary>
/// A telephone number associated with a residence
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
Home = 1 << 1,
/// <summary>
/// A telephone number associated with a place of work
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
Work = 1 << 2,
/// <summary>
/// A voice telephone number
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
Voice = 1 << 3,
/// <summary>
/// A facsimile telephone number
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
Fax = 1 << 4,
/// <summary>
/// The telephone number has voice messaging support
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
Message = 1 << 5,
/// <summary>
/// A cellular telephone number
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
Cell = 1 << 6,
/// <summary>
/// A paging device telephone number
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
Pager = 1 << 7,
/// <summary>
/// A bulletin board system telephone number
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
BBS = 1 << 8,
/// <summary>
/// A MODEM connected telephone number
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
Modem = 1 << 9,
/// <summary>
/// A car-phone telephone number
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
Car = 1 << 10,
/// <summary>
/// An ISDN service telephone number
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
ISDN = 1 << 11,
/// <summary>
/// A video conferencing telephone number
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
Video = 1 << 12,
/// <summary>
/// A personal communication services telephone number
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
PCS = 1 << 13,
/// <summary>
/// A company main number
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
Company = 1 << 14,
/// <summary>
/// A radio phone number
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
Radio = 1 << 15,
/// <summary>
/// An additional type for main
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
Main = 1 << 29,
/// <summary>
/// An additional type for assistant
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
Assistant = 1 << 30,
}
}
/// <summary>
/// Identifier of this contacts email view
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const string Uri = "tizen.contacts_view.email";
/// <summary>
/// DB record ID of the email
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Id = (uint)Property.Id.EmailId;
/// <summary>
/// Contact ID that the email belongs to
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint ContactId = (uint)Property.Id.EmailContactId;
/// <summary>
/// Email type, refer to the Types
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Type = (uint)Property.Id.EmailType;
/// <summary>
/// Custom mail type label, when the email type is Types.Custom
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Label = (uint)Property.Id.EmailLabel;
/// <summary>
/// The email is default email or not
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint IsDefault = (uint)Property.Id.EmailIsDefault;
/// <summary>
/// Email address
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Address = (uint)Property.Id.EmailEmail;
/// <summary>
/// <summary>
/// Other email type
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
Other = 0,
/// <summary>
/// Custom email type
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
Custom = 1 << 0,
/// <summary>
/// An email address associated with a residence
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
Home = 1 << 1,
/// <summary>
/// An email address associated with a place of work
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
Work = 1 << 2,
/// <summary>
/// A mobile email address
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
Mobile = 1 << 3,
}
}
/// <summary>
/// Identifier of this contacts address view
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const string Uri = "tizen.contacts_view.address";
/// <summary>
/// DB record ID of the address
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Id = (uint)Property.Id.AddressId;
/// <summary>
/// Contact ID that the address belongs to
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint ContactId = (uint)Property.Id.AddressContactId;
/// <summary>
/// Address type, refer to the Types
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Type = (uint)Property.Id.AddressType;
/// <summary>
/// Address type label, when the address type is Types.Custom
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Label = (uint)Property.Id.AddressLabel;
/// <summary>
/// Post office box
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Postbox = (uint)Property.Id.AddressPostbox;
/// <summary>
/// Postal code
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint PostalCode = (uint)Property.Id.AddressPostalCode;
/// <summary>
/// Region
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Region = (uint)Property.Id.AddressRegion;
/// <summary>
/// Locality
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Locality = (uint)Property.Id.AddressLocality;
/// <summary>
/// Street
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Street = (uint)Property.Id.AddressStreet;
/// <summary>
/// Country
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Country = (uint)Property.Id.AddressCountry;
/// <summary>
/// Extended address
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Extended = (uint)Property.Id.AddressExtended;
/// <summary>
/// The address is default or not
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint IsDefault = (uint)Property.Id.AddressIsDefault;
/// <summary>
/// <summary>
/// Other address type
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
Other = 0,
/// <summary>
/// Custom address type
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
Custom = 1 << 0,
/// <summary>
/// A delivery address for a residence
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
Home = 1 << 1,
/// <summary>
/// A delivery address for a place of work
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
Work = 1 << 2,
/// <summary>
/// A domestic delivery address
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
Domestic = 1 << 3,
/// <summary>
/// An international delivery address
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
International = 1 << 4,
/// <summary>
/// A postal delivery address
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
Postal = 1 << 5,
/// <summary>
/// A parcel delivery address
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
Parcel = 1 << 6,
}
}
/// <summary>
/// Identifier of this contacts note view
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const string Uri = "tizen.contacts_view.note";
/// <summary>
/// DB record ID of the note
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Id = (uint)Property.Id.NoteId;
/// <summary>
/// Contact ID that the note belongs to
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint ContactId = (uint)Property.Id.NoteContactId;
/// <summary>
/// Note contents
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Contents = (uint)Property.Id.NoteNote;
}
/// <summary>
/// Identifier of this contacts URL view
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const string Uri = "tizen.contacts_view.url";
/// <summary>
/// DB record ID of the URL
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Id = (uint)Property.Id.URLId;
/// <summary>
/// Contact ID that the URL belongs to
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint ContactId = (uint)Property.Id.URLContactId;
/// <summary>
/// URL type, refer to the TypeValue
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Type = (uint)Property.Id.URLType;
/// <summary>
/// Custom URL type label, when the URL type is TypeValue.Custom
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Label = (uint)Property.Id.URLLabel;
/// <summary>
/// URL
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint URLData = (uint)Property.Id.URLData;
/// <summary>
/// <summary>
/// Other URL type
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
Other,
/// <summary>
/// Custom URL type
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
Custom,
/// <summary>
/// Home URL type
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
Home,
/// <summary>
/// Work URL type
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
Work,
}
}
/// <summary>
/// Identifier of this contacts event view
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const string Uri = "tizen.contacts_view.event";
/// <summary>
/// DB record ID of the event
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Id = (uint)Property.Id.EventId;
/// <summary>
/// Contact ID that the event belongs to
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint ContactId = (uint)Property.Id.EventContactId;
/// <summary>
/// Event type, refer to the TypeValue
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Type = (uint)Property.Id.EventType;
/// <summary>
/// Custom event type label, when the event type is TypeValue.Custom
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Label = (uint)Property.Id.EventLabel;
/// <summary>
/// Event date(YYYYMMDD). e.g. 2014/1/1 : 20140101. Even if the calendar_type is set as CONTACTS_EVENT_CALENDAR_TYPE_CHINESE, you SHOULD set Gregorian date
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Date = (uint)Property.Id.EventDate;
/// <summary>
/// Calendar type, refer to the CalendarType
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint IsLeapMonth = (uint)Property.Id.EventIsLeapMonth;
/// <summary>
/// <summary>
/// Other event type
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
Other,
/// <summary>
/// Custom event type
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
Custom,
/// <summary>
/// Birthday event type
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
Birthday,
/// <summary>
/// Anniversary event type
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
Anniversary
}
/// <summary>
/// Gregorian calendar
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
Gregorian,
/// <summary>
/// Chinese calendar
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
Chinese
}
}
/// <summary>
/// Identifier of this relationship view
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const string Uri = "tizen.contacts_view.relationship";
/// <summary>
/// DB record ID of the relationship
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Id = (uint)Property.Id.RelationshipId;
/// <summary>
/// Contact ID that the relationship belongs to
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint ContactId = (uint)Property.Id.RelationshipContactId;
/// <summary>
/// Relationship type, refer to the TypeValue
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Type = (uint)Property.Id.RelationshipType;
/// <summary>
/// Custom relationship type label, when the relationship type is TypeValue.Custom
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Label = (uint)Property.Id.RelationshipLabel;
/// <summary>
/// Selected contact name that the relationship belongs to
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Name = (uint)Property.Id.RelationshipName;
/// <summary>
/// <summary>
/// Other relationship type
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
Other,
/// <summary>
/// Assistant type
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
Assistant,
/// <summary>
/// Brother type
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
Brother,
/// <summary>
/// Child type
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
Child,
/// <summary>
/// Domestic Partner type
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
DomesticPartner,
/// <summary>
/// Father type
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
Father,
/// <summary>
/// Friend type
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
Friend,
/// <summary>
/// Manager type
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
Manager,
/// <summary>
/// Mother type
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
Mother,
/// <summary>
/// Parent type
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
Parent,
/// <summary>
/// Partner type
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
Partner,
/// <summary>
/// Referred by type
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
ReferredBy,
/// <summary>
/// Relative type
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
Relative,
/// <summary>
/// Sister type
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
Sister,
/// <summary>
/// Spouse type
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
Spouse,
/// <summary>
/// Custom type
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
Custom,
}
}
/// <summary>
/// Identifier of this contacts image view
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const string Uri = "tizen.contacts_view.image";
/// <summary>
/// DB record ID of the image
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Id = (uint)Property.Id.ImageId;
/// <summary>
/// Contact ID that the image belongs to
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint ContactId = (uint)Property.Id.ImageContactId;
/// <summary>
/// Image type, refer to the TypeValue
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Type = (uint)Property.Id.ImageType;
/// <summary>
/// Custom image type label, when the image type is TypeValue.Custom
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Label = (uint)Property.Id.ImageLabel;
/// <summary>
/// Image thumbnail path
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Path = (uint)Property.Id.ImagePath;
/// <summary>
/// The Image is default or not
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint IsDefault = (uint)Property.Id.ImageIsDefault;
/// <summary>
/// <summary>
/// Other type
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
Other,
/// <summary>
/// Custom type
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
Custom,
}
}
/// <summary>
/// Identifier of this contacts company view
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const string Uri = "tizen.contacts_view.company";
/// <summary>
/// DB record ID of the company
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Id = (uint)Property.Id.CompanyId;
/// <summary>
/// Contact ID that the company belongs to
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint ContactId = (uint)Property.Id.CompanyContactId;
/// <summary>
/// Company type, refer to the TypeValue
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Type = (uint)Property.Id.CompanyType;
/// <summary>
/// Custom company type label, when the company type is TypeValue.Custom
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Label = (uint)Property.Id.CompanyLabel;
/// <summary>
/// Company name
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Name = (uint)Property.Id.CompanyName;
/// <summary>
/// Department
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Department = (uint)Property.Id.CompanyDepartment;
/// <summary>
/// Job title
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint JobTitle = (uint)Property.Id.CompanyJobTitle;
/// <summary>
/// Assistant name
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint AssistantName = (uint)Property.Id.CompanyAssistantName;
/// <summary>
/// Role
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Role = (uint)Property.Id.CompanyRole;
/// <summary>
/// Company logo image file path
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Logo = (uint)Property.Id.CompanyLogo;
/// <summary>
/// Company location
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Location = (uint)Property.Id.CompanyLocation;
/// <summary>
/// Description
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Description = (uint)Property.Id.CompanyDescription;
/// <summary>
/// Pronounce the company name
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint PhoneticName = (uint)Property.Id.CompanyPhoneticName;
/// <summary>
/// <summary>
/// Other type
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
Other = 0,
/// <summary>
/// Custom type
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
Custom = 1 << 0,
/// <summary>
/// Work type
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
Work = 1 << 1,
}
}
/// <summary>
/// Identifier of this contacts nickname view
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const string Uri = "tizen.contacts_view.nickname";
/// <summary>
/// DB record ID of the nickname
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Id = (uint)Property.Id.NicknameId;
/// <summary>
/// Contact ID that the nickname belongs to
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint ContactId = (uint)Property.Id.NicknameContactId;
/// <summary>
/// Nickname
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Name = (uint)Property.Id.NicknameName;
}
/// <summary>
/// Identifier of this contacts messenger view
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const string Uri = "tizen.contacts_view.messenger";
/// <summary>
/// DB record ID of the messenger
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Id = (uint)Property.Id.MessengerId;
/// <summary>
/// Contact ID that the messenger belongs to
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint ContactId = (uint)Property.Id.MessengerContactId;
/// <summary>
/// Messenger type, refer to the TypeValue
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Type = (uint)Property.Id.MessengerType;
/// <summary>
/// Custom messenger type label, when the messenger type is TypeValue.Custom
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Label = (uint)Property.Id.MessengerLabel;
/// <summary>
/// Messenger ID (email address or email ID...)
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint IMId = (uint)Property.Id.MessengerIMId;
/// <summary>
/// <summary>
/// Other messenger type
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
Other,
/// <summary>
/// Custom messenger type
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
Custom,
/// <summary>
/// Google messenger type
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
Google,
/// <summary>
/// Windows live messenger type
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
WindowsLive,
/// <summary>
/// Yahoo messenger type
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
Yahoo,
/// <summary>
/// Facebook messenger type
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
Facebook,
/// <summary>
/// ICQ type
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
ICQ,
/// <summary>
/// AOL instance messenger type
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
AOL,
/// <summary>
/// QQ type
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
QQ,
/// <summary>
/// Jabber type
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
Jabber,
/// <summary>
/// Skype type
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
Skype,
/// <summary>
/// IRC type
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
IRC,
}
}
/// <summary>
/// Identifier of this contacts profile view
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const string Uri = "tizen.contacts_view.profile";
/// <summary>
/// DB record ID of profile
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Id = (uint)Property.Id.ProfileId;
/// <summary>
/// Contacts ID that the profile belongs to
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint ContactId = (uint)Property.Id.ProfileContactId;
/// <summary>
/// Unique identifier
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint UId = (uint)Property.Id.ProfileUId;
/// <summary>
/// Profile contents
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Text = (uint)Property.Id.ProfileText;
/// <summary>
/// Priority to display the profile
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Order = (uint)Property.Id.ProfileOrder;
/// <summary>
/// Data for app_control_set_operation
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint ServiceOperation = (uint)Property.Id.ProfileServiceOperation;
/// <summary>
/// Data for app_control_set_mime
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Mime = (uint)Property.Id.ProfileMIME;
/// <summary>
/// Data for app_control_set_app_id
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint AppId = (uint)Property.Id.ProfileAppId;
/// <summary>
/// Data for app_control_set_uri
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint ProfileUri = (uint)Property.Id.ProfileUri;
/// <summary>
/// Data for app_control_set_category
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Category = (uint)Property.Id.ProfileCategory;
/// <summary>
/// It includes "key:value,key:value," pairs. You should parse it. And you must base64 encode each key and value
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint ExtraData = (uint)Property.Id.ProfileExtraData;
}
/// <summary>
/// Identifier of this contacts sip view
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const string Uri = "tizen.contacts_view.sip";
/// <summary>
/// DB record ID of the sip
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Id = (uint)Property.Id.SipId;
/// <summary>
/// Contact ID that the sip belongs to
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint ContactId = (uint)Property.Id.SipContactId;
/// <summary>
/// SIP address
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Address = (uint)Property.Id.SipAddress;
/// <summary>
/// sip type, refer to the TypeValue
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Type = (uint)Property.Id.SipType;
/// <summary>
/// Custom sip type label, when the sip type is TypeValue.Custom
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Label = (uint)Property.Id.SipLabel;
/// <summary>
/// <summary>
/// Other SIP type
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
Other,
/// <summary>
/// Custom SIP type
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
Custom,
/// <summary>
/// Home SIP type
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
Home,
/// <summary>
/// Work SIP type
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
Work,
}
}
/// <summary>
/// Identifier of this contacts extension view
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const string Uri = "tizen.contacts_view.extension";
/// <summary>
/// DB record ID of the contact extension
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Id = (uint)Property.Id.ExtensionId;
/// <summary>
/// Contact ID that the contact extension belongs to
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint ContactId = (uint)Property.Id.ExtensionContactId;
/// <summary>
/// The extra child record format for non-provided from contacts-service
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Data1 = (uint)Property.Id.ExtensionData1;
/// <summary>
/// The extra child record format for non-provided from contacts-service
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Data2 = (uint)Property.Id.ExtensionData2;
/// <summary>
/// The extra child record format for non-provided from contacts-service
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Data3 = (uint)Property.Id.ExtensionData3;
/// <summary>
/// The extra child record format for non-provided from contacts-service
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Data4 = (uint)Property.Id.ExtensionData4;
/// <summary>
/// The extra child record format for non-provided from contacts-service
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Data5 = (uint)Property.Id.ExtensionData5;
/// <summary>
/// The extra child record format for non-provided from contacts-service
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Data6 = (uint)Property.Id.ExtensionData6;
/// <summary>
/// The extra child record format for non-provided from contacts-service
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Data7 = (uint)Property.Id.ExtensionData7;
/// <summary>
/// The extra child record format for non-provided from contacts-service
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Data8 = (uint)Property.Id.ExtensionData8;
/// <summary>
/// The extra child record format for non-provided from contacts-service
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Data9 = (uint)Property.Id.ExtensionData9;
/// <summary>
/// The extra child record format for non-provided from contacts-service
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Data10 = (uint)Property.Id.ExtensionData10;
/// <summary>
/// The extra child record format for non-provided from contacts-service
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Data11 = (uint)Property.Id.ExtensionData11;
/// <summary>
/// The extra child record format for non-provided from contacts-service
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Data12 = (uint)Property.Id.ExtensionData12;
}
/// <summary>
/// Identifier of this relationship view
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const string Uri = "tizen.contacts_view.group_relation";
/// <summary>
/// DB record ID of the group relation (can not be used as filter)
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Id = (uint)Property.Id.GroupRelationId;
/// <summary>
/// DB record ID of the group
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint GroupId = (uint)Property.Id.GroupRelationGroupId;
/// <summary>
/// DB record ID of the contact
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint ContactId = (uint)Property.Id.GroupRelationContactId;
/// <summary>
/// Group name
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Name = (uint)Property.Id.GroupRelationGroupName;
}
/// <summary>
/// Identifier of this contact speed dial view
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const string Uri = "tizen.contacts_view.speeddial";
/// <summary>
/// Stored speed dial number
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint SpeedDialNumber = (uint)Property.Id.SpeedDialDialNumber;
/// <summary>
/// Number ID that the speed dial belongs to
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint NumberId = (uint)Property.Id.SpeedDialNumberId;
/// <summary>
/// Contact number of specified speed dial
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Number = (uint)Property.Id.SpeedDialNumber;
/// <summary>
/// Contact number label of specified speed dial, when the number type is Number.Types.Custom
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint NumberLabel = (uint)Property.Id.SpeedDialNumberLabel;
/// <summary>
/// Contact number type, refer to the Number.Types
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint NumberType = (uint)Property.Id.SpeedDialNumberType;
/// <summary>
/// Person ID that the speed dial belongs to
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint PersonId = (uint)Property.Id.SpeedDialPersonId;
/// <summary>
/// Display name that the speed dial belongs to
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint DisplayName = (uint)Property.Id.SpeedDialDisplayName;
/// <summary>
/// Image thumbnail path that the speed dial belongs to
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint ThumbnailPath = (uint)Property.Id.SpeedDialThumbnail;
/// <summary>
/// You can only use this property for search filter
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint NormalizedNumber = (uint)Property.Id.SpeedDialNormalizedNumber;
/// <summary>
/// You can only use this property for search filter
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint CleanedNumber = (uint)Property.Id.SpeedDialCleanedNumber;
/// <summary>
/// If you add filter with this property, the string will be normalized as minimal match length internally and the match rule will be applied ContactsFilter.StringMatchType.Exactly
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint NumberFilter = (uint)Property.Id.SpeedDialNumberFilter;
}
/// <summary>
/// Identifier of this phone log view
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const string Uri = "tizen.contacts_view.phonelog";
/// <summary>
/// DB record ID of phone log
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Id = (uint)Property.Id.PhonelogId;
/// <summary>
/// Person ID that the phone log belongs to
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint PersonId = (uint)Property.Id.PhonelogPersonId;
/// <summary>
/// Number or Email that the phone log displays
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Address = (uint)Property.Id.PhonelogAddress;
/// <summary>
/// Call end time. The value means number of seconds since 1970-01-01 00:00:00 (UTC)
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint LogTime = (uint)Property.Id.PhonelogLogTime;
/// <summary>
/// Log type, refer to the Type
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint LogType = (uint)Property.Id.PhonelogLogType;
/// <summary>
/// You can set the related integer data (e.g. message_id, email_id or duration(seconds) of call)
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint ExtraData1 = (uint)Property.Id.PhonelogExtraData1;
/// <summary>
/// You can set the related string data (e.g. short message, subject)
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint ExtraData2 = (uint)Property.Id.PhonelogExtraData2;
/// <summary>
/// You can only use this property for search filter
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint NormalizedAddress = (uint)Property.Id.PhonelogNormalizedAddress;
/// <summary>
/// You can only use this property for search filter
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint CleanedAddress = (uint)Property.Id.PhonelogCleanedAddress;
/// <summary>
/// You can only use this property for search filter
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint AddressFilter = (uint)Property.Id.PhonelogAddressFilter;
/// <summary>
/// You can set the related Sim slot number. SimSlotNo 0 means first Sim card, SimSlotNo 1 means second Sim.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint SimSlotNo = (uint)Property.Id.PhonelogSimSlotNo;
/// <summary>
/// <summary>
/// None
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
None,
/// <summary>
/// Incoming call
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
VoiceIncoming = 1,
/// <summary>
/// Outgoing call
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
VoiceOutgoing = 2,
/// <summary>
/// Incoming video call
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
VideoIncoming = 3,
/// <summary>
/// Outgoing video call
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
VideoOutgoing = 4,
/// <summary>
/// Not confirmed missed call
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
VoiceMissedUnseen = 5,
/// <summary>
/// Confirmed missed call
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
VoiceMissedSeen = 6,
/// <summary>
/// Not confirmed missed video call
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
VideoMissedUnseen = 7,
/// <summary>
/// Confirmed missed video call
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
VideoMissedSeen = 8,
/// <summary>
/// Rejected call
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
VoiceRejected = 9,
/// <summary>
/// Rejected video call
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
VideoRejected = 10,
/// <summary>
/// Blocked call
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
VoiceBlocked = 11,
/// <summary>
/// Blocked video call
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
VideoBlocked = 12,
/// <summary>
/// Incoming MMS
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
MMSIncoming = 101,
/// <summary>
/// Outgoing MMS
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
MMSOutgoing = 102,
/// <summary>
/// Incoming SMS
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
SMSIncoming = 103,
/// <summary>
/// Outgoing SMS
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
SMSOutgoing = 104,
/// <summary>
/// Blocked SMS
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
SMSBlocked = 105,
/// <summary>
/// Blocked MMS
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
MMSBlocked = 106,
/// <summary>
/// Received email
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
EmailReceived = 201,
/// <summary>
/// Sent email
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
EmailSent = 202,
}
/// <summary>
/// Identifier of this contact updated info view
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const string Uri = "tizen.contacts_view.contacts_updated_info";
/// <summary>
/// Updated contact ID
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint ContactId = (uint)Property.Id.UpdateInfoId;
/// <summary>
/// AddressBook ID that the updated contact belongs to
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint AddressBookId = (uint)Property.Id.UpdateInfoAddressBookId;
/// <summary>
/// Contact change type, refer to the ContactsViews.ChangeType
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Type = (uint)Property.Id.UpdateInfoType;
/// <summary>
/// Updated version
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Version = (uint)Property.Id.UpdateInfoVersion;
/// <summary>
/// Contact image is changed or not
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint ImageChanged = (uint)Property.Id.UpdateInfoImageChanged;
}
/// <summary>
/// Identifier of this my profile updated info view
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const string Uri = "tizen.contacts_view.my_profile_updated_info";
/// <summary>
/// Address book ID that the updated my profile belongs to
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint AddressBookId = (uint)Property.Id.UpdateInfoAddressBookId;
/// <summary>
/// MyProfile change type, refer to the ContactsViews.ChangeType
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint LastChangedType = (uint)Property.Id.UpdateInfoLastChangedType;
/// <summary>
/// Updated version
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Version = (uint)Property.Id.UpdateInfoVersion;
}
/// <summary>
/// Identifier of this group updated info view
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const string Uri = "tizen.contacts_view.groups_updated_info";
/// <summary>
/// Updated group ID
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint GroupId = (uint)Property.Id.UpdateInfoId;
/// <summary>
/// Address book ID that the updated group belongs to
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint AddressBookId = (uint)Property.Id.UpdateInfoAddressBookId;
/// <summary>
/// Group change type, refer to the ContactsViews.ChangeType
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Type = (uint)Property.Id.UpdateInfoType;
/// <summary>
/// Updated version
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Version = (uint)Property.Id.UpdateInfoVersion;
}
/// <summary>
/// Identifier of this group member updated info view
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const string Uri = "tizen.contacts_view.groups_member_updated_info";
/// <summary>
/// Updated group ID
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint GroupId = (uint)Property.Id.UpdateInfoId;
/// <summary>
/// Address book ID that the updated group belongs to
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint AddressBookId = (uint)Property.Id.UpdateInfoAddressBookId;
/// <summary>
/// Updated version
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Version = (uint)Property.Id.UpdateInfoVersion;
}
/// <summary>
/// Identifier of this group relation updated info view
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const string Uri = "tizen.contacts_view.group_relations_updated_info";
/// <summary>
/// Group ID of group relation
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint GroupId = (uint)Property.Id.GroupId;
/// <summary>
/// Contact ID of the updated group relation
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint ContactId = (uint)Property.Id.ContactId;
/// <summary>
/// Address book ID of contact that the updated group relation
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint AddressBookId = (uint)Property.Id.AddressBookId;
/// <summary>
/// Group relation change type, refer to the ContactsViews.ChangeType
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Type = (uint)Property.Id.UpdateInfoType;
/// <summary>
/// Updated version
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Version = (uint)Property.Id.UpdateInfoVersion;
}
/// <summary>
/// Identifier of this person contact view
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const string Uri = "tizen.contacts_view.person/simple_contact";
/// <summary>
/// DB record ID of the person
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint PersonId = (uint)Property.Id.PersonId;
/// <summary>
/// Display name of the person
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint DisplayName = (uint)Property.Id.PersonDisplayName;
/// <summary>
/// The first character of first string for grouping. This is normalized using ICU (projection)
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint DisplayNameIndex = (uint)Property.Id.PersonDisplayNameIndex;
/// <summary>
/// Display contact ID that the person belongs to (projection)
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint DisplayContactId = (uint)Property.Id.PersonDisplayContactId;
/// <summary>
/// Ringtone path of the person (projection)
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint RingtonePath = (uint)Property.Id.PersonRingtone;
/// <summary>
/// Image thumbnail path of the person (projection)
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint ThumbnailPath = (uint)Property.Id.PersonThumbnail;
/// <summary>
/// Vibration path of the person (projection)
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Vibration = (uint)Property.Id.PersonVibration;
/// <summary>
/// Message alert path of the person (projection)
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint MessageAlert = (uint)Property.Id.PersonMessageAlert;
/// <summary>
/// Status of social account (projection)
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Status = (uint)Property.Id.PersonStatus;
/// <summary>
/// The person is favorite or not
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint IsFavorite = (uint)Property.Id.PersonIsFavorite;
/// <summary>
/// Link count of contact records (projection)
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint LinkCount = (uint)Property.Id.PersonLinkCount;
/// <summary>
/// Contact ID that the person belongs to
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint ContactId = (uint)Property.Id.ContactId;
/// <summary>
/// AddressBook IDs that the person belongs to (projection)
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint AddressBookIds = (uint)Property.Id.PersonAddressBookIds;
/// <summary>
/// The person has phone number or not
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint HasPhoneNumber = (uint)Property.Id.PersonHasPhoneNumber;
/// <summary>
/// The person has email or not
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint HasEmail = (uint)Property.Id.PersonHasEmail;
/// <summary>
/// AddressBook ID that the person belongs to
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint AddressBookId = (uint)Property.Id.ContactAddressBookId;
/// <summary>
/// AddressBook mode, refer to the AddressBook.Mode
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint AddressBookMode = (uint)Property.Id.AddressBookMode;
/// <summary>
/// AddressBook name that the person belongs to
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint AddressBookName = (uint)Property.Id.AddressBookName;
/// <summary>
/// keyword matched data type, refer to the Contact.DataType
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint SnippetType = (uint)Property.Id.PersonSnippetType;
/// <summary>
/// keyword matched data string
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint SnippetString = (uint)Property.Id.PersonSnippetString;
};
/// <summary>
/// Identifier of this person number view
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const string Uri = "tizen.contacts_view.person/simple_contact/number";
/// <summary>
/// DB record ID of the person
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint PersonId = (uint)Property.Id.PersonId;
/// <summary>
/// Display name of the person
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint DisplayName = (uint)Property.Id.PersonDisplayName;
/// <summary>
/// The first character of first string for grouping. This is normalized using ICU (projection)
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint DisplayNameIndex = (uint)Property.Id.PersonDisplayNameIndex;
/// <summary>
/// Display contact ID that the person belongs to (projection)
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint DisplayContactId = (uint)Property.Id.PersonDisplayContactId;
/// <summary>
/// Ringtone path of the person (projection)
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint RingtonePath = (uint)Property.Id.PersonRingtone;
/// <summary>
/// Image thumbnail path of the person (projection)
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint ThumbnailPath = (uint)Property.Id.PersonThumbnail;
/// <summary>
/// Vibration path of the person (projection)
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Vibration = (uint)Property.Id.PersonVibration;
/// <summary>
/// Message alert path of the person (projection)
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint MessageAlert = (uint)Property.Id.PersonMessageAlert;
/// <summary>
/// The person is favorite or not
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint IsFavorite = (uint)Property.Id.PersonIsFavorite;
/// <summary>
/// The person has phone number or not
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint HasPhoneNumber = (uint)Property.Id.PersonHasPhoneNumber;
/// <summary>
/// The person has email or not
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint HasEmail = (uint)Property.Id.PersonHasEmail;
/// <summary>
/// Number ID that the person belongs to
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint NumberId = (uint)Property.Id.NumberId;
/// <summary>
/// Number type, refer to the Number.Types (projection)
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Type = (uint)Property.Id.NumberType;
/// <summary>
/// Custom number type label, when the number type is Number.Types.Custom (projection)
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Label = (uint)Property.Id.NumberLabel;
/// <summary>
/// The number is default number or not
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint IsPrimaryDefault = (uint)Property.Id.DataIsPrimaryDefault;
/// <summary>
/// Number
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Number = (uint)Property.Id.NumberNumber;
/// <summary>
/// If you add filter with this property, the string will be normalized as minimal match length internally and the match rule will be applied ContactsFilter.StringMatchType.Exactly.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint NumberFilter = (uint)Property.Id.NumberNumberFilter;
/// <summary>
/// You can only use this property for search filter
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint NormalizedNumber = (uint)Property.Id.NumberNormalizedNumber;
/// <summary>
/// You can only use this property for search filter
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint CleanedNumber = (uint)Property.Id.NumberCleanedNumber;
/// <summary>
/// keyword matched data type, refer to they Contact.DataType
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint SnippetType = (uint)Property.Id.PersonSnippetType;
/// <summary>
/// keyword matched data string
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint SnippetString = (uint)Property.Id.PersonSnippetString;
};
/// <summary>
/// Identifier of this person email view
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const string Uri = "tizen.contacts_view.person/simple_contact/email";
/// <summary>
/// DB record ID of the person
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint PersonId = (uint)Property.Id.PersonId;
/// <summary>
/// Display name of the person
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint DisplayName = (uint)Property.Id.PersonDisplayName;
/// <summary>
/// The first character of first string for grouping. This is normalized using ICU (projection)
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint DisplayNameIndex = (uint)Property.Id.PersonDisplayNameIndex;
/// <summary>
/// Display contact ID that the person belongs to (projection)
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint DisplayContactId = (uint)Property.Id.PersonDisplayContactId;
/// <summary>
/// Ringtone path of the person (projection)
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint RingtonePath = (uint)Property.Id.PersonRingtone;
/// <summary>
/// Image thumbnail path of the person (projection)
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint ThumbnailPath = (uint)Property.Id.PersonThumbnail;
/// <summary>
/// Vibration path of the person (projection)
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Vibration = (uint)Property.Id.PersonVibration;
/// <summary>
/// Message alert path of the person (projection)
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint MessageAlert = (uint)Property.Id.PersonMessageAlert;
/// <summary>
/// The person is favorite or not
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint IsFavorite = (uint)Property.Id.PersonIsFavorite;
/// <summary>
/// The person has phone number or not
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint HasPhoneNumber = (uint)Property.Id.PersonHasPhoneNumber;
/// <summary>
/// The person has email or not
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint HasEmail = (uint)Property.Id.PersonHasEmail;
/// <summary>
/// Email ID that the person belongs to
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint EmailId = (uint)Property.Id.EmailId;
/// <summary>
/// Email type, refer to the Email.Types (projection)
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Type = (uint)Property.Id.EmailType;
/// <summary>
/// Custom mail type label, when the email type is Email.Types.Custom (projection)
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Label = (uint)Property.Id.EmailLabel;
/// <summary>
/// The email is default email or not
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint IsPrimaryDefault = (uint)Property.Id.DataIsPrimaryDefault;
/// <summary>
/// Email address
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Email = (uint)Property.Id.EmailEmail;
/// <summary>
/// keyword matched data type, refer to they Contact.DataType
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint SnippetType = (uint)Property.Id.PersonSnippetType;
/// <summary>
/// keyword matched data string
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint SnippetString = (uint)Property.Id.PersonSnippetString;
};
/// <summary>
/// Identifier of this person group relation view
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const string Uri = "tizen.contacts_view.person/simple_contact/group";
/// <summary>
/// DB record ID of the person
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint PersonId = (uint)Property.Id.PersonId;
/// <summary>
/// Display name of the person
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint DisplayName = (uint)Property.Id.PersonDisplayName;
/// <summary>
/// The first character of first string for grouping. This is normalized using ICU (projection)
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint DisplayNameIndex = (uint)Property.Id.PersonDisplayNameIndex;
/// <summary>
/// Display contact ID that the person belongs to (projection)
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint DisplayContactId = (uint)Property.Id.PersonDisplayContactId;
/// <summary>
/// Ringtone path of the person (projection)
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint RingtonePath = (uint)Property.Id.PersonRingtone;
/// <summary>
/// Image thumbnail path of the person (projection)
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint ThumbnailPath = (uint)Property.Id.PersonThumbnail;
/// <summary>
/// Vibration path of the person (projection)
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Vibration = (uint)Property.Id.PersonVibration;
/// <summary>
/// Message alert path of the person (projection)
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint MessageAlert = (uint)Property.Id.PersonMessageAlert;
/// <summary>
/// Status of social account (projection)
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Status = (uint)Property.Id.PersonStatus;
/// <summary>
/// The person is favorite or not
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint IsFavorite = (uint)Property.Id.PersonIsFavorite;
/// <summary>
/// The person has phone number or not
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint HasPhoneNumber = (uint)Property.Id.PersonHasPhoneNumber;
/// <summary>
/// The person has email or not
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint HasEmail = (uint)Property.Id.PersonHasEmail;
/// <summary>
/// Link count of contact records (projection)
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint LinkCount = (uint)Property.Id.PersonLinkCount;
/// <summary>
/// AddressBook IDs that the person belongs to (projection)
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint AddressBookIds = (uint)Property.Id.PersonAddressBookIds;
/// <summary>
/// AddressBook ID that the person belongs to
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint AddressBookId = (uint)Property.Id.ContactAddressBookId;
/// <summary>
/// AddressBook name that the person belongs to
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint AddressBookName = (uint)Property.Id.AddressBookName;
/// <summary>
/// AddressBook mode, refer to the AddressBook.Mode
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint AddressBookMode = (uint)Property.Id.AddressBookMode;
/// <summary>
/// Group ID that the person belongs to
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint GroupId = (uint)Property.Id.GroupRelationGroupId;
/// <summary>
/// Contact ID that the person belongs to (projection)
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint ContactId = (uint)Property.Id.GroupRelationContactId;
/// <summary>
/// keyword matched data type, refer to they Contact.DataType
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint SnippetType = (uint)Property.Id.PersonSnippetType;
/// <summary>
/// keyword matched data string
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint SnippetString = (uint)Property.Id.PersonSnippetString;
};
/// <summary>
/// Identifier of this person group assigned view
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const string Uri = "tizen.contacts_view.person/simple_contact/group_assigned";
/// <summary>
/// DB record ID of the person
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint PersonId = (uint)Property.Id.PersonId;
/// <summary>
/// Display name of the person
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint DisplayName = (uint)Property.Id.PersonDisplayName;
/// <summary>
/// The first character of first string for grouping. This is normalized using ICU (projection)
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint DisplayNameIndex = (uint)Property.Id.PersonDisplayNameIndex;
/// <summary>
/// Display contact ID that the person belongs to (projection)
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint DisplayContactId = (uint)Property.Id.PersonDisplayContactId;
/// <summary>
/// Ringtone path of the person (projection)
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint RingtonePath = (uint)Property.Id.PersonRingtone;
/// <summary>
/// Image thumbnail path of the person (projection)
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint ThumbnailPath = (uint)Property.Id.PersonThumbnail;
/// <summary>
/// Vibration path of the person (projection)
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Vibration = (uint)Property.Id.PersonVibration;
/// <summary>
/// Message alert path of the person (projection)
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint MessageAlert = (uint)Property.Id.PersonMessageAlert;
/// <summary>
/// Status of social account (projection)
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Status = (uint)Property.Id.PersonStatus;
/// <summary>
/// The person is favorite or not
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint IsFavorite = (uint)Property.Id.PersonIsFavorite;
/// <summary>
/// The person has phone number or not
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint HasPhoneNumber = (uint)Property.Id.PersonHasPhoneNumber;
/// <summary>
/// The person has email or not
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint HasEmail = (uint)Property.Id.PersonHasEmail;
/// <summary>
/// Link count of contact records (projection)
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint LinkCount = (uint)Property.Id.PersonLinkCount;
/// <summary>
/// AddressBook IDs that the linked person belongs to (projection)
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint AddressBookIds = (uint)Property.Id.PersonAddressBookIds;
/// <summary>
/// AddressBook ID that the person belongs to
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint AddressBookId = (uint)Property.Id.ContactAddressBookId;
/// <summary>
/// AddressBook mode, refer to the AddressBook.Mode
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint AddressBookMode = (uint)Property.Id.AddressBookMode;
/// <summary>
/// Group ID that the person belongs to
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint GroupId = (uint)Property.Id.GroupRelationGroupId;
/// <summary>
/// Contact ID that the person belongs to (projection)
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint ContactId = (uint)Property.Id.GroupRelationContactId;
/// <summary>
/// keyword matched data type, refer to they Contact.DataType
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint SnippetType = (uint)Property.Id.PersonSnippetType;
/// <summary>
/// keyword matched data string
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint SnippetString = (uint)Property.Id.PersonSnippetString;
};
/// <summary>
/// Identifier of this person group not assigned view
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const string Uri = "tizen.contacts_view.person/simple_contact/group_not_assigned";
/// <summary>
/// DB record ID of the person
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint PersonId = (uint)Property.Id.PersonId;
/// <summary>
/// Display name of the person
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint DisplayName = (uint)Property.Id.PersonDisplayName;
/// <summary>
/// The first character of first string for grouping. This is normalized using ICU (projection)
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint DisplayNameIndex = (uint)Property.Id.PersonDisplayNameIndex;
/// <summary>
/// Display contact ID that the person belongs to (projection)
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint DisplayContactId = (uint)Property.Id.PersonDisplayContactId;
/// <summary>
/// Ringtone path of the person (projection)
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint RingtonePath = (uint)Property.Id.PersonRingtone;
/// <summary>
/// Image thumbnail path of the person (projection)
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint ThumbnailPath = (uint)Property.Id.PersonThumbnail;
/// <summary>
/// Vibration path of the person (projection)
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Vibration = (uint)Property.Id.PersonVibration;
/// <summary>
/// Message alert path of the person (projection)
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint MessageAlert = (uint)Property.Id.PersonMessageAlert;
/// <summary>
/// Status of social account (projection)
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Status = (uint)Property.Id.PersonStatus;
/// <summary>
/// The person is favorite or not
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint IsFavorite = (uint)Property.Id.PersonIsFavorite;
/// <summary>
/// The person has phone number or not
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint HasPhoneNumber = (uint)Property.Id.PersonHasPhoneNumber;
/// <summary>
/// The person has email or not
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint HasEmail = (uint)Property.Id.PersonHasEmail;
/// <summary>
/// Link count of contact records (projection)
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint LinkCount = (uint)Property.Id.PersonLinkCount;
/// <summary>
/// AddressBook IDs that the linked person belongs to (projection)
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint AddressBookIds = (uint)Property.Id.PersonAddressBookIds;
/// <summary>
/// AddressBook ID that the person belongs to
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint AddressBookId = (uint)Property.Id.ContactAddressBookId;
/// <summary>
/// AddressBook mode, refer to the AddressBook.Mode
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint AddressBookMode = (uint)Property.Id.AddressBookMode;
/// <summary>
/// Contact ID that the person belongs to (projection)
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint ContactId = (uint)Property.Id.ContactId;
/// <summary>
/// keyword matched data type, refer to they Contact.DataType
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint SnippetType = (uint)Property.Id.PersonSnippetType;
/// <summary>
/// keyword matched data string
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint SnippetString = (uint)Property.Id.PersonSnippetString;
};
/// <summary>
/// Identifier of this phone log view
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const string Uri = "tizen.contacts_view.person/simple_contact/phonelog";
/// <summary>
/// DB record ID of the person
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint PersonId = (uint)Property.Id.PersonId;
/// <summary>
/// Display name of the person
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint DisplayName = (uint)Property.Id.PersonDisplayName;
/// <summary>
/// Image thumbnail path of the person (projection)
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint ThumbnailPath = (uint)Property.Id.PersonThumbnail;
/// <summary>
/// DB record ID of phone log
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint LogId = (uint)Property.Id.PhonelogId;
/// <summary>
/// Number or Email that the phone log displays
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Address = (uint)Property.Id.PhonelogAddress;
/// <summary>
/// Number or Email type (projection)
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint AddressType = (uint)Property.Id.DataData1;
/// <summary>
/// Call end time. The value means number of seconds since 1970-01-01 00:00:00 (UTC)
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint LogTime = (uint)Property.Id.PhonelogLogTime;
/// <summary>
/// Log type, refer to the PhoneLog.Types
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint LogType = (uint)Property.Id.PhonelogLogType;
/// <summary>
/// You can set the related integer data (e.g. message_id, email_id or duration(seconds) of call) (projection)
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint ExtraData1 = (uint)Property.Id.PhonelogExtraData1;
/// <summary>
/// You can set the related string data (e.g. short message, subject) (projection)
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint ExtraData2 = (uint)Property.Id.PhonelogExtraData2;
/// <summary>
/// You can only use this property for search filter
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint NormalizedAddress = (uint)Property.Id.PhonelogNormalizedAddress;
/// <summary>
/// You can only use this property for search filter
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint CleanedAddress = (uint)Property.Id.PhonelogCleanedAddress;
/// <summary>
/// You can only use this property for search filter
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint AddressFilter = (uint)Property.Id.PhonelogAddressFilter;
/// <summary>
/// It is related to the Sim slot number. SimSlotNo 0 means first Sim card, SimSlotNo 1 means second Sim.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint SimSlotNo = (uint)Property.Id.PhonelogSimSlotNo;
};
/// <summary>
/// Identifier of this person usage view
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const string Uri = "tizen.contacts_view.person/usag";
/// <summary>
/// DB record ID of the person
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint PersonId = (uint)Property.Id.PersonId;
/// <summary>
/// Display name of the person
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint DisplayName = (uint)Property.Id.PersonDisplayName;
/// <summary>
/// The first character of first string for grouping. This is normalized using ICU (projection)
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint DisplayNameIndex = (uint)Property.Id.PersonDisplayNameIndex;
/// <summary>
/// Display contact ID that the person belongs to (projection)
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint DisplayContactId = (uint)Property.Id.PersonDisplayContactId;
/// <summary>
/// Ringtone path of the person (projection)
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint RingtonePath = (uint)Property.Id.PersonRingtone;
/// <summary>
/// Image thumbnail path of the person (projection)
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint ThumbnailPath = (uint)Property.Id.PersonThumbnail;
/// <summary>
/// Vibration path of the person (projection)
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Vibration = (uint)Property.Id.PersonVibration;
/// <summary>
/// Message alert path of the person (projection)
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint MessageAlert = (uint)Property.Id.PersonMessageAlert;
/// <summary>
/// The person is favorite or not
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint IsFavorite = (uint)Property.Id.PersonIsFavorite;
/// <summary>
/// The person has phone number or not
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint HasPhoneNumber = (uint)Property.Id.PersonHasPhoneNumber;
/// <summary>
/// The person has email or not
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint HasEmail = (uint)Property.Id.PersonHasEmail;
/// <summary>
/// Usage type, refer to the Type
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint UsageType = (uint)Property.Id.PersonUsageType;
/// <summary>
/// Usage number of person
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint TimesUsed = (uint)Property.Id.PersonTimesUsed;
/// <summary>
/// <summary>
/// None
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
None,
/// <summary>
/// Outgoing call
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
OutgoingCall,
/// <summary>
/// Outgoing message
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
OutgoingMessage,
/// <summary>
/// Outgoing email
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
OutgoingEmail,
/// <summary>
/// Incoming call
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
IncomingCall,
/// <summary>
/// Incoming message
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
IncomingMessage,
/// <summary>
/// Incoming email
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
IncomingEmail,
/// <summary>
/// Missed call
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
MissedCall,
/// <summary>
/// Rejected call
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
RejectedCall,
/// <summary>
/// Blocked call
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
BlockedCall,
/// <summary>
/// Blocked message
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
BlockedMessage
}
};
/// <summary>
/// Identifier of this contacts number view
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const string Uri = "tizen.contacts_view.simple_contact/number";
/// <summary>
/// Contact ID that the number belongs to
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint ContactId = (uint)Property.Id.ContactId;
/// <summary>
/// Display name of contact that the number belongs to
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint DisplayName = (uint)Property.Id.ContactDisplayName;
/// <summary>
/// The source type of display name, refer to the Contact.DisplayNameSourceType (projection)
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint DisplaySourceType = (uint)Property.Id.ContactDisplaySourceDataId;
/// <summary>
/// AddressBook ID that the number belongs to
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint AddressBookId = (uint)Property.Id.ContactAddressBookId;
/// <summary>
/// Person ID that the number belongs to
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint PersonId = (uint)Property.Id.ContactPersonId;
/// <summary>
/// Ringtone path that the number belongs to (projection)
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint RingtonePath = (uint)Property.Id.ContactRingtone;
/// <summary>
/// Image thumbnail path that the number belongs to (projection)
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint ThumbnailPath = (uint)Property.Id.ContactThumbnail;
/// <summary>
/// DB record ID of the number
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint NumberId = (uint)Property.Id.NumberId;
/// <summary>
/// Number type, refer to the Number.Types (projection)
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Type = (uint)Property.Id.NumberType;
/// <summary>
/// Custom number type label, when the number type is Number.Types.Custom (projection)
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Label = (uint)Property.Id.NumberLabel;
/// <summary>
/// The number is default number or not
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint IsDefault = (uint)Property.Id.NumberIsDefault;
/// <summary>
/// Number
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Number = (uint)Property.Id.NumberNumber;
/// <summary>
/// If you add filter with this property, the string will be normalized as minimal match length internally and the match rule will be applied ContactsFilter.StringMatchType.Exactly
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint NumberFilter = (uint)Property.Id.NumberNumberFilter;
/// <summary>
/// You can only use this property for search filter
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint NormalizedNumber = (uint)Property.Id.NumberNormalizedNumber;
/// <summary>
/// You can only use this property for search filter
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint CleanedNumber = (uint)Property.Id.NumberCleanedNumber;
};
/// <summary>
/// Identifier of this contacts email view
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const string Uri = "tizen.contacts_view.simple_contact/email";
/// <summary>
/// Contact ID that the number belongs to
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint ContactId = (uint)Property.Id.ContactId;
/// <summary>
/// Display name of contact that the number belongs to
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint DisplayName = (uint)Property.Id.ContactDisplayName;
/// <summary>
/// The source type of display name, refer to the Contact.DisplayNameSourceType (projection)
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint DisplaySourceType = (uint)Property.Id.ContactDisplaySourceDataId;
/// <summary>
/// AddressBook ID that the number belongs to
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint AddressBookId = (uint)Property.Id.ContactAddressBookId;
/// <summary>
/// Person ID that the number belongs to
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint PersonId = (uint)Property.Id.ContactPersonId;
/// <summary>
/// Ringtone path that the number belongs to (projection)
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint RingtonePath = (uint)Property.Id.ContactRingtone;
/// <summary>
/// Image thumbnail path that the number belongs to (projection)
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint ThumbnailPath = (uint)Property.Id.ContactThumbnail;
/// <summary>
/// DB record ID of the email
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint EmailId = (uint)Property.Id.EmailId;
/// <summary>
/// Email type, refer to the Email.Types (projection)
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Type = (uint)Property.Id.EmailType;
/// <summary>
/// Custom mail type label, when the email type is Email.Types.Custom (projection)
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Label = (uint)Property.Id.EmailLabel;
/// <summary>
/// Email is default email or not
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint IsDefault = (uint)Property.Id.EmailIsDefault;
/// <summary>
/// Email address
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint Email = (uint)Property.Id.EmailEmail;
};
/// <summary>
/// Identifier of this contact group relation view
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const string Uri = "tizen.contacts_view.simple_contact/group";
/// <summary>
/// Contact ID that the number belongs to
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint ContactId = (uint)Property.Id.ContactId;
/// <summary>
/// Display name of contact that the number belongs to
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint DisplayName = (uint)Property.Id.ContactDisplayName;
/// <summary>
/// The source type of display name, refer to the Contact.DisplayNameSourceType (projection)
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint DisplaySourceType = (uint)Property.Id.ContactDisplaySourceDataId;
/// <summary>
/// AddressBook ID that the number belongs to
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint AddressBookId = (uint)Property.Id.ContactAddressBookId;
/// <summary>
/// Person ID that the number belongs to
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint PersonId = (uint)Property.Id.ContactPersonId;
/// <summary>
/// Ringtone path that the number belongs to (projection)
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint RingtonePath = (uint)Property.Id.ContactRingtone;
/// <summary>
/// Image thumbnail path that the number belongs to (projection)
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint ThumbnailPath = (uint)Property.Id.ContactThumbnail;
/// <summary>
/// DB record ID of the group relation
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint GroupId = (uint)Property.Id.GroupRelationGroupId;
/// <summary>
/// Group name (projection)
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint GroupName = (uint)Property.Id.GroupRelationGroupName;
};
/// <summary>
/// Identifier of this log statistics view
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const string Uri = "tizen.contacts_view.phonelog_stat";
/// <summary>
/// Log count (projection)
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint LogCount = (uint)Property.Id.PhonelogStatLogCount;
/// <summary>
/// Log type, see the contacts_phone_log_type_e
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint LogType = (uint)Property.Id.PhonelogStatLogType;
/// <summary>
/// It is related to the Sim slot number. sim_slot_no 0 means first Sim card, sim_slot_no 1 means second Sim. It is same with handle index of telephony handle list. Refer to the telephony_init()
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public const uint SimSlotNo = (uint)Property.Id.PhonelogStatSimSlotNo;
};
}
/// <summary>
/// The PrivacyPrivilegeManager provides the properties or methods to check and request a permission for privacy privilege.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public static class PrivacyPrivilegeManager
{
private const string LogTag = "Tizen.Privilege";
/// }
/// </code>
/// </example>
+ /// <since_tizen> 4 </since_tizen>
public static CheckResult CheckPermission(string privilege)
{
Interop.PrivacyPrivilegeManager.CheckResult result;
/// }
/// </code>
/// </example>
+ /// <since_tizen> 4 </since_tizen>
public static void RequestPermission(string privilege)
{
int ret = (int)Interop.PrivacyPrivilegeManager.RequestPermission(privilege, s_requestResponseCb, IntPtr.Zero);
/// }
/// </code>
/// </example>
+ /// <since_tizen> 4 </since_tizen>
public static WeakReference<ResponseContext> GetResponseContext(string privilege)
{
if (!s_responseMap.ContainsKey(privilege))
/// This class manages event handlers of the privilege permission requests.
/// This class enables having event handlers for an individual privilege.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public class ResponseContext
{
private string _privilege;
/// Occurs when the response for a permission request is fetched.
/// </summary>
/// <exception cref="System.InvalidOperationException">Thrown when the bundle instance has been disposed.</exception>
+ /// <since_tizen> 4 </since_tizen>
public event EventHandler<RequestResponseEventArgs> ResponseFetched
{
add
/// <summary>
/// This class is an event argument of the RequestResponse event.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public class RequestResponseEventArgs : EventArgs
{
/// <summary>
/// The cause of a triggered response.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public CallCause cause { get; internal set; }
/// <summary>
/// The result of a permission request.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public RequestResult result { get; internal set; }
/// <summary>
/// The privilege for which a permission was requested for.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public string privilege { get; internal set; }
}
}
public class LoginMethod
{
/// <summary>No login data is provided.</summary>
+ /// <since_tizen> 3 </since_tizen>
public const uint Public = 0x00000000;
/// <summary>Login data about the user running the client application process is provided.</summary>
+ /// <since_tizen> 3 </since_tizen>
public const uint User = 0x00000001;
/// <summary>Login data about the group running the client application process is provided.</summary>
+ /// <since_tizen> 3 </since_tizen>
public const uint Group = 0x00000002;
/// <summary>Login data about the running client application itself is provided.</summary>
+ /// <since_tizen> 3 </since_tizen>
public const uint Application = 0x00000003;
}
/// <summary>
/// The Accelerometer changed event arguments class is used for storing the data returned by a accelerometer.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class AccelerometerDataUpdatedEventArgs : EventArgs
{
internal AccelerometerDataUpdatedEventArgs(float[] values)
/// <summary>
/// The FaceDownGestureDetector changed event arguments class is used for storing the data returned by a face down gesture detector.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class FaceDownGestureDetectorDataUpdatedEventArgs : EventArgs
{
internal FaceDownGestureDetectorDataUpdatedEventArgs(float state)
/// <summary>
/// The GravitySensor changed event arguments class is used for storing the data returned by a gravity sensor.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class GravitySensorDataUpdatedEventArgs : EventArgs
{
internal GravitySensorDataUpdatedEventArgs(float[] values)
/// <summary>
/// The Gyroscope changed event arguments class is used for storing the data returned by a gyroscope.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class GyroscopeDataUpdatedEventArgs : EventArgs
{
internal GyroscopeDataUpdatedEventArgs(float[] values)
/// <summary>
/// The GyroscopeRotationVectorSensor changed event arguments class is used for storing the data returned by a gyroscope rotation vector sensor.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class GyroscopeRotationVectorSensorDataUpdatedEventArgs : EventArgs
{
internal GyroscopeRotationVectorSensorDataUpdatedEventArgs(float[] values, SensorDataAccuracy accuracy)
/// <summary>
/// The HeartRateMonitor changed event arguments class is used for storing the data returned by a heart rate monitor.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class HeartRateMonitorDataUpdatedEventArgs : EventArgs
{
internal HeartRateMonitorDataUpdatedEventArgs(int heartRate)
/// <summary>
/// The HumiditySensor changed event arguments class is used for storing the data returned by a humidity sensor.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class HumiditySensorDataUpdatedEventArgs : EventArgs
{
internal HumiditySensorDataUpdatedEventArgs(float humidity)
/// <summary>
/// The InVehicleActivityDetector changed event arguments class is used for storing the data returned by a in-vehicle activity detector.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class InVehicleActivityDetectorDataUpdatedEventArgs : EventArgs
{
internal InVehicleActivityDetectorDataUpdatedEventArgs(float state)
/// <summary>
/// The LightSensor changed event arguments class is used for storing the data returned by a light sensor.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class LightSensorDataUpdatedEventArgs : EventArgs
{
internal LightSensorDataUpdatedEventArgs(float level)
/// <summary>
/// The LinearAccelerationSensor changed event arguments class is used for storing the data returned by a linear acceleration sensor.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class LinearAccelerationSensorDataUpdatedEventArgs : EventArgs
{
internal LinearAccelerationSensorDataUpdatedEventArgs(float[] values)
/// <summary>
/// The Magnetometer changed event arguments class is used for storing the data returned by a magnetometer sensor.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class MagnetometerDataUpdatedEventArgs : EventArgs
{
internal MagnetometerDataUpdatedEventArgs(float[] values)
/// <summary>
/// The MagnetometerRotationVectorSensor changed event arguments class is used for storing the data returned by a magnetometer rotation vector sensor.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class MagnetometerRotationVectorSensorDataUpdatedEventArgs : EventArgs
{
internal MagnetometerRotationVectorSensorDataUpdatedEventArgs(float[] values, SensorDataAccuracy accuracy)
/// <summary>
/// The OrientationSensor changed event arguments class is used for storing the data returned by a orientation sensor.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class OrientationSensorDataUpdatedEventArgs : EventArgs
{
internal OrientationSensorDataUpdatedEventArgs(float[] values)
/// <summary>
/// The Pedometer changed event arguments class is used for storing the data returned by a pedometer.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class PedometerDataUpdatedEventArgs : EventArgs
{
internal PedometerDataUpdatedEventArgs(float[] values)
/// <summary>
/// The PickUpGestureDetector changed event arguments class is used for storing the data returned by a pickup gesture detector.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class PickUpGestureDetectorDataUpdatedEventArgs : EventArgs
{
internal PickUpGestureDetectorDataUpdatedEventArgs(float state)
/// <summary>
/// The PressureSensor changed event arguments class is used for storing the data returned by a pressure sensor.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class PressureSensorDataUpdatedEventArgs : EventArgs
{
internal PressureSensorDataUpdatedEventArgs(float pressure)
/// <summary>
/// The ProximitySensor changed event arguments class is used for storing the data returned by a proximity sensor.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class ProximitySensorDataUpdatedEventArgs : EventArgs
{
internal ProximitySensorDataUpdatedEventArgs(float proximity)
/// <summary>
/// The RotationVectorSensor changed event arguments class is used for storing the data returned by a rotation vector sensor.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class RotationVectorSensorDataUpdatedEventArgs : EventArgs
{
internal RotationVectorSensorDataUpdatedEventArgs(float[] values, SensorDataAccuracy accuracy)
/// <summary>
/// The RunningActivityDetector changed event arguments class is used for storing the data returned by a running activity detector.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class RunningActivityDetectorDataUpdatedEventArgs : EventArgs
{
internal RunningActivityDetectorDataUpdatedEventArgs(float state)
/// <summary>
/// The sensor accuracy changed event arguments class contains the parameters to be returned through the accuracy callback.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class SensorAccuracyChangedEventArgs : EventArgs
{
internal SensorAccuracyChangedEventArgs(TimeSpan timespan, SensorDataAccuracy accuracy)
/// <summary>
/// The SleepMonitor changed event arguments class is used for storing the data returned by a sleep monitor.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class SleepMonitorDataUpdatedEventArgs : EventArgs
{
internal SleepMonitorDataUpdatedEventArgs(int sleepState)
/// <summary>
/// The StationaryActivityDetector changed event arguments class is used for storing the data returned by a stationary activity detector.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class StationaryActivityDetectorDataUpdatedEventArgs : EventArgs
{
internal StationaryActivityDetectorDataUpdatedEventArgs(float state)
/// <summary>
/// The TemperatureSensor changed event arguments class is used for storing the data returned by a temperature sensor.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class TemperatureSensorDataUpdatedEventArgs : EventArgs
{
internal TemperatureSensorDataUpdatedEventArgs(float temperature)
/// <summary>
/// The UltravioletSensor changed event arguments class is used for storing the data returned by a ultraviolet sensor.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class UltravioletSensorDataUpdatedEventArgs : EventArgs
{
internal UltravioletSensorDataUpdatedEventArgs(float ultravioletIndex)
/// <summary>
/// The UncalibratedGyroscope changed event arguments class is used for storing the data returned by a uncalibrated gyroscope.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class UncalibratedGyroscopeDataUpdatedEventArgs : EventArgs
{
internal UncalibratedGyroscopeDataUpdatedEventArgs(float[] values)
/// <summary>
/// The UncalibratedMagnetometer changed event arguments class is used for storing the data returned by a uncalibrated magnetometer.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class UncalibratedMagnetometerDataUpdatedEventArgs : EventArgs
{
internal UncalibratedMagnetometerDataUpdatedEventArgs(float[] values)
/// <summary>
/// The WalkingActivityDetector changed event arguments class is used for storing the data returned by a walking activity detector.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class WalkingActivityDetectorDataUpdatedEventArgs : EventArgs
{
internal WalkingActivityDetectorDataUpdatedEventArgs(float state)
/// <summary>
/// The WristUpGestureDetector changed event arguments class is used for storing the data returned by a wrist up gesture detector.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class WristUpGestureDetectorDataUpdatedEventArgs : EventArgs
{
internal WristUpGestureDetectorDataUpdatedEventArgs(float state)
/// <summary>
/// The Accelerometer Sensor class is used for registering callbacks for the accelerometer and getting the accelerometer data.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public sealed class Accelerometer : Sensor
{
private static string AccelerometerKey = "http://tizen.org/feature/sensor.accelerometer";
/// <summary>
/// The Activity Detector class is used for storing the common activity information.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public abstract class ActivityDetector : Sensor
{
/// <summary>
/// Attribute key for a activity detector.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
protected const int ActivityAttribute = (((int)SensorType.StationaryActivityDetector << 8) | 0x80 | 0x1);
/// <summary>
/// <summary>
/// The FaceDownGestureDetector class is used for registering callbacks for the face down gesture detector and getting the face down state.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public sealed class FaceDownGestureDetector : Sensor
{
private static string GestureDetectorKey = "http://tizen.org/feature/sensor.gesture_recognition";
/// <summary>
/// The GravitySensor class is used for registering callbacks for the gravity sensor and getting the gravity data.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public sealed class GravitySensor : Sensor
{
private const string GravitySensorKey = "http://tizen.org/feature/sensor.gravity";
/// <summary>
/// The Gyroscope Sensor class is used for registering callbacks for the gyroscope and getting the gyroscope data.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public sealed class Gyroscope : Sensor
{
private const string GyroscopeKey = "http://tizen.org/feature/sensor.gyroscope";
/// <summary>
/// The GyroscopeRotationVectorSensor class is used for registering callbacks for the gyroscope rotation vector sensor and getting the gyroscope rotation vector data.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public sealed class GyroscopeRotationVectorSensor : Sensor
{
private const string GyroscopeRVKey = "http://tizen.org/feature/sensor.gyroscope_rotation_vector";
/// <summary>
/// The HeartRateMonitor class is used for registering callbacks for the heart rate monitor and getting the heart rate data.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public sealed class HeartRateMonitor : Sensor
{
private const string HRMKey = "http://tizen.org/feature/sensor.heart_rate_monitor";
/// <summary>
/// The HumiditySensor class is used for registering callbacks for the humidity sensor and getting the humidity data.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public sealed class HumiditySensor : Sensor
{
private const string HumiditySensorKey = "http://tizen.org/feature/sensor.humidity";
/// <summary>
/// The InVehicleActivityDetector class is used for registering callbacks for the in-vehicle activity detector and getting the in-vehicle state.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public sealed class InVehicleActivityDetector : ActivityDetector
{
private const string ActivityDetectorKey = "http://tizen.org/feature/sensor.activity_recognition";
/// <summary>
/// The LightSensor class is used for registering callbacks for the light sensor and getting the light data.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public sealed class LightSensor : Sensor
{
private const string LightSensorKey = "http://tizen.org/feature/sensor.photometer";
/// <summary>
/// The LinearAccelerationSensor class is used for registering callbacks for the linear acceleration sensor and getting the linear acceleration data.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public sealed class LinearAccelerationSensor : Sensor
{
private const string LinearAccelerationSensorKey = "http://tizen.org/feature/sensor.linear_acceleration";
/// <summary>
/// The Magnetometer class is used for registering callbacks for the magnetometer and getting the magnetometer data.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public sealed class Magnetometer : Sensor
{
private static string MagnetometerKey = "http://tizen.org/feature/sensor.magnetometer";
/// <summary>
/// The MagnetometerRotationVectorSensor class is used for registering callbacks for the magnetometer rotation vector sensor and getting the magnetometer rotation vector data.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public sealed class MagnetometerRotationVectorSensor : Sensor
{
private static string MagnetometerRVKey = "http://tizen.org/feature/sensor.geomagnetic_rotation_vector";
/// <summary>
/// The OrientationSensor class is used for registering callbacks for the orientation sensor and getting the orientation data.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public sealed class OrientationSensor : Sensor
{
private static string OrientationSensorKey = "http://tizen.org/feature/sensor.tiltmeter";
/// <summary>
/// The Pedometer Sensor class is used for registering callbacks for the pedometer and getting the pedometer data.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public sealed class Pedometer : Sensor
{
private static string PedometerKey = "http://tizen.org/feature/sensor.pedometer";
/// <summary>
/// The PickUpGestureDetector class is used for registering callbacks for the pick up activity detector and getting the pick up state.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public sealed class PickUpGestureDetector : Sensor
{
private static string GestureDetectorKey = "http://tizen.org/feature/sensor.gesture_recognition";
/// <summary>
/// The PressureSensor class is used for registering callbacks for the pressure sensor and getting the pressure data.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public sealed class PressureSensor : Sensor
{
private static string PressureSensorKey = "http://tizen.org/feature/sensor.barometer";
/// <summary>
/// The ProximitySensor class is used for registering callbacks for the proximity sensor and getting the proximity data.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public sealed class ProximitySensor : Sensor
{
private static string ProximitySensorKey = "http://tizen.org/feature/sensor.proximity";
/// <summary>
/// The RotationVectorSensor class is used for registering callbacks for the rotation vector sensor and getting the rotation vector data.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public sealed class RotationVectorSensor : Sensor
{
private static string RotationVectorKey = "http://tizen.org/feature/sensor.rotation_vector";
/// <summary>
/// The RunningActivityDetector class is used for registering callbacks for running the activity detector and getting the running state.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public sealed class RunningActivityDetector : ActivityDetector
{
private static string ActivityDetectorKey = "http://tizen.org/feature/sensor.activity_recognition";
/// <summary>
/// The SleepMonitor class is used for registering callbacks for the sleep monitor and getting the sleep data.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public sealed class SleepMonitor : Sensor
{
private static string SleepMonitorKey = "http://tizen.org/feature/sensor.sleep_monitor";
/// <summary>
/// The StationaryActivityDetector class is used for registering callbacks for the stationary activity detector and getting the stationary state.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public sealed class StationaryActivityDetector : ActivityDetector
{
private static string ActivityDetectorKey = "http://tizen.org/feature/sensor.activity_recognition";
/// <summary>
/// The TemperatureSensor class is used for registering callbacks for the temperature sensor and getting the temperature data.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public sealed class TemperatureSensor : Sensor
{
private static string TemperatureSensorKey = "http://tizen.org/feature/sensor.temperature";
/// <summary>
/// The UltravioletSensor class is used for registering callbacks for the ultraviolet sensor and getting the ultraviolet data.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public sealed class UltravioletSensor : Sensor
{
private static string UltravioletSensorKey = "http://tizen.org/feature/sensor.ultraviolet";
/// <summary>
/// The UncalibratedGyroscope sensor class is used for registering callbacks for the uncalibrated gyroscope and getting the uncalibrated gyroscope data.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public sealed class UncalibratedGyroscope : Sensor
{
private static string UncalibratedGyroscopeKey = "http://tizen.org/feature/sensor.gyroscope.uncalibrated";
/// <summary>
/// The UncalibratedMagnetometer sensor class is used for registering callbacks for the uncalibrated magnetometer and getting the uncalibrated magnetometer data.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public sealed class UncalibratedMagnetometer : Sensor
{
private static string UncalibratedMagnetometerKey = "http://tizen.org/feature/sensor.magnetometer.uncalibrated";
/// <summary>
/// The WalkingActivityDetector class is used for registering callbacks for the walking activity detector and getting the walking state.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public sealed class WalkingActivityDetector : ActivityDetector
{
private static string ActivityDetectorKey = "http://tizen.org/feature/sensor.activity_recognition";
/// <summary>
/// The WristUpGestureDetector class is used for registering callbacks for the wrist up gesture detector and getting the wrist up state.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public sealed class WristUpGestureDetector : Sensor
{
private static string WristUpKey = "http://tizen.org/feature/sensor.wrist_up";
/// <summary>
/// The Sensor class is used for storing the hardware information about a particular sensor.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public abstract class Sensor : IDisposable
{
private string _name;
/// <summary>
/// Destroy the current object.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public void Dispose()
{
Dispose(true);
/// true if managed resources should be disposed
/// otherwise, false.
/// </param>
+ /// <since_tizen> 3 </since_tizen>
protected virtual void Dispose(bool disposing)
{
if (_disposed)
/// bool res = feedback.IsSupportedPattern(FeedbackType.Vibration, "Tap");
/// </code>
/// </example>
+ /// <since_tizen> 3 </since_tizen>
public class Feedback
{
private const string LogTag = "Tizen.System.Feedback";
/// <summary>
/// The Information class provides functions to obtain various system information.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public static class Information
{
internal const string HttpPrefix = "http://";
/// <summary>
/// Enumeration for the GPS status.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public enum GpsStatus
{
/// <summary>
/// <summary>
/// Enumeration for the type of audio jack connected.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public enum AudioJackConnectionType
{
/// <summary>
/// <summary>
/// RuntimeFeatureStatusChangedEventArgs is an extended EventArgs class. This class contains event arguments for runtime event listeners.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public class RuntimeFeatureStatusChangedEventArgs : EventArgs
{
/// <summary>
/// The key indicating the runtime system preference which was changed.
/// It includes the prefix "http://" though you don't use for registering callback.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public String Key { get; internal set; }
}
}
/// The SystemInfo class provides static system feature.
/// Please use Tizen.System.Information class. Information class supports same function.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
[Obsolete("Use class Tizen.System.Information")]
[EditorBrowsable(EditorBrowsableState.Never)]
public static class SystemInfo
/// <param name="key">The name of the feature.</param>
/// <param name="value">The value of the given feature.</param>
/// <returns>Returns true on success, otherwise false.</returns>
+ /// <since_tizen> 3 </since_tizen>
public static bool TryGetValue<T>(string key, out T value)
{
bool res = false;
/// <param name="key">The name of the feature.</param>
/// <param name="value">The value of the given feature.</param>
/// <returns>Returns true on success, otherwise false.</returns>
+ /// <since_tizen> 3 </since_tizen>
public static bool TryGetValue(string key, out bool value)
{
Interop.SystemInfo.SystemInfoValueType valueType;
/// <param name="key">The name of the feature.</param>
/// <param name="value">The value of the given feature.</param>
/// <returns>Returns true on success, otherwise false.</returns>
+ /// <since_tizen> 3 </since_tizen>
public static bool TryGetValue(string key, out int value)
{
Interop.SystemInfo.SystemInfoValueType valueType;
/// <param name="key">The name of the feature.</param>
/// <param name="value">The value of the given feature.</param>
/// <returns>Returns true on success, otherwise false.</returns>
+ /// <since_tizen> 3 </since_tizen>
public static bool TryGetValue(string key, out double value)
{
Interop.SystemInfo.SystemInfoValueType valueType;
/// <param name="key">The name of the feature.</param>
/// <param name="value">The value of the given feature.</param>
/// <returns>Returns true on success, otherwise false.</returns>
+ /// <since_tizen> 3 </since_tizen>
public static bool TryGetValue(string key, out string value)
{
Interop.SystemInfo.SystemInfoValueType valueType;
/// <summary>
/// The class for CPU usage per process.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class ProcessCpuUsage
{
private int[] Pids;
/// <summary>
/// The class for memory information per process.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public class ProcessMemoryUsage
{
private int[] Pids;
/// <summary>
/// The class for system CPU usage.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public class SystemCpuUsage
{
private Interop.RuntimeInfo.CpuUsage Usage;
/// <summary>
/// The class for system memory information.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public class SystemMemoryUsage
{
private Interop.RuntimeInfo.MemoryInfo Info;
/// <summary>
/// The class for event arguments of the media key.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class MediaKeyEventArgs : EventArgs
{
/// <summary>
/// <summary>
/// The class for receiving events of media keys.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public static class MediaKey
{
private static EventHandler<MediaKeyEventArgs> s_eventHandler;
namespace Tizen.System
{
+ /// <since_tizen> 4 </since_tizen>
[EditorBrowsable(EditorBrowsableState.Never)]
public class PlatformConfig
{
return Interop.PlatformConfig.GetId(name);
}
+ /// <since_tizen> 4 </since_tizen>
public static string GetEnv(string name)
{
return Interop.PlatformConfig.GetEnv(Interop.PlatformConfig.GetId(name));
/// <summary>
/// The class to access the storage device information.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class Storage
{
private const string LogTag = "Tizen.System";
/// <summary>
/// The StorageManager provides the properties or methods to access storage in the device.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public static class StorageManager
{
private const string LogTag = "Tizen.System";
/// The System Settings API provides functions for getting the system configuration related to user preferences.
/// The main features of the System Settings API include accessing system-wide configurations, such as ringtones, wallpapers, and so on.
/// </remarks>
+ /// <since_tizen> 3 </since_tizen>
public static class SystemSettings
{
/// <summary>
/// <exception cref="NotSupportedException">Not Supported feature</exception>
/// <exception cref="InvalidOperationException">Invalid operation</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when application does not have privilege to access this method.</exception>
+ /// <since_tizen> 3 </since_tizen>
public static string IncomingCallRingtone
{
get
/// <exception cref="NotSupportedException">Not Supported feature</exception>
/// <exception cref="InvalidOperationException">Invalid operation</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when application does not have privilege to access this method.</exception>
+ /// <since_tizen> 3 </since_tizen>
public static string WallpaperHomeScreen
{
get
/// <exception cref="NotSupportedException">Not Supported feature</exception>
/// <exception cref="InvalidOperationException">Invalid operation</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when application does not have privilege to access this method.</exception>
+ /// <since_tizen> 3 </since_tizen>
public static string WallpaperLockScreen
{
get
/// <exception cref="NotSupportedException">Not Supported feature</exception>
/// <exception cref="InvalidOperationException">Invalid operation</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when application does not have privilege to access this method.</exception>
+ /// <since_tizen> 3 </since_tizen>
public static SystemSettingsFontSize FontSize
{
get
/// <exception cref="NotSupportedException">Not Supported feature</exception>
/// <exception cref="InvalidOperationException">Invalid operation</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when application does not have privilege to access this method.</exception>
+ /// <since_tizen> 3 </since_tizen>
public static string FontType
{
get
/// <exception cref="NotSupportedException">Not Supported feature</exception>
/// <exception cref="InvalidOperationException">Invalid operation</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when application does not have privilege to access this method.</exception>
+ /// <since_tizen> 3 </since_tizen>
public static bool MotionActivationEnabled
{
get
/// <exception cref="NotSupportedException">Not Supported feature</exception>
/// <exception cref="InvalidOperationException">Invalid operation</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when application does not have privilege to access this method.</exception>
+ /// <since_tizen> 3 </since_tizen>
public static string EmailAlertRingtone
{
get
/// <exception cref="NotSupportedException">Not Supported feature</exception>
/// <exception cref="InvalidOperationException">Invalid operation</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when application does not have privilege to access this method.</exception>
+ /// <since_tizen> 3 </since_tizen>
public static bool UsbDebuggingEnabled
{
get
/// <exception cref="NotSupportedException">Not Supported feature</exception>
/// <exception cref="InvalidOperationException">Invalid operation</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when application does not have privilege to access this method.</exception>
+ /// <since_tizen> 3 </since_tizen>
public static bool Data3GNetworkEnabled
{
get
/// <exception cref="NotSupportedException">Not Supported feature</exception>
/// <exception cref="InvalidOperationException">Invalid operation</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when application does not have privilege to access this method.</exception>
+ /// <since_tizen> 4 </since_tizen>
public static string LockScreenApp
{
get
/// <exception cref="NotSupportedException">Not Supported feature</exception>
/// <exception cref="InvalidOperationException">Invalid operation</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when application does not have privilege to access this method.</exception>
+ /// <since_tizen> 3 </since_tizen>
public static string DefaultFontType
{
get
/// <exception cref="NotSupportedException">Not Supported feature</exception>
/// <exception cref="InvalidOperationException">Invalid operation</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when application does not have privilege to access this method.</exception>
+ /// <since_tizen> 3 </since_tizen>
public static string LocaleCountry
{
get
/// <exception cref="NotSupportedException">Not Supported feature</exception>
/// <exception cref="InvalidOperationException">Invalid operation</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when application does not have privilege to access this method.</exception>
+ /// <since_tizen> 3 </since_tizen>
public static string LocaleLanguage
{
get
/// <exception cref="NotSupportedException">Not Supported feature</exception>
/// <exception cref="InvalidOperationException">Invalid operation</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when application does not have privilege to access this method.</exception>
+ /// <since_tizen> 3 </since_tizen>
public static bool LocaleTimeFormat24HourEnabled
{
get
/// <exception cref="NotSupportedException">Not Supported feature</exception>
/// <exception cref="InvalidOperationException">Invalid operation</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when application does not have privilege to access this method.</exception>
+ /// <since_tizen> 3 </since_tizen>
public static string LocaleTimeZone
{
get
/// <exception cref="NotSupportedException">Not Supported feature</exception>
/// <exception cref="InvalidOperationException">Invalid operation</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when application does not have privilege to access this method.</exception>
+ /// <since_tizen> 3 </since_tizen>
public static int Time
{
get
/// <exception cref="NotSupportedException">Not Supported feature</exception>
/// <exception cref="InvalidOperationException">Invalid operation</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when application does not have privilege to access this method.</exception>
+ /// <since_tizen> 3 </since_tizen>
public static bool SoundLockEnabled
{
get
/// <exception cref="NotSupportedException">Not Supported feature</exception>
/// <exception cref="InvalidOperationException">Invalid operation</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when application does not have privilege to access this method.</exception>
+ /// <since_tizen> 3 </since_tizen>
public static bool SoundSilentModeEnabled
{
get
/// <exception cref="NotSupportedException">Not Supported feature</exception>
/// <exception cref="InvalidOperationException">Invalid operation</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when application does not have privilege to access this method.</exception>
+ /// <since_tizen> 3 </since_tizen>
public static bool SoundTouchEnabled
{
get
/// <exception cref="NotSupportedException">Not Supported feature</exception>
/// <exception cref="InvalidOperationException">Invalid operation</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when application does not have privilege to access this method.</exception>
+ /// <since_tizen> 3 </since_tizen>
public static bool DisplayScreenRotationAutoEnabled
{
get
/// <exception cref="NotSupportedException">Not Supported feature</exception>
/// <exception cref="InvalidOperationException">Invalid operation</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when application does not have privilege to access this method.</exception>
+ /// <since_tizen> 3 </since_tizen>
public static string DeviceName
{
get
/// <exception cref="NotSupportedException">Not Supported feature</exception>
/// <exception cref="InvalidOperationException">Invalid operation</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when application does not have privilege to access this method.</exception>
+ /// <since_tizen> 3 </since_tizen>
public static bool MotionEnabled
{
get
/// <exception cref="NotSupportedException">Not Supported feature</exception>
/// <exception cref="InvalidOperationException">Invalid operation</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when application does not have privilege to access this method.</exception>
+ /// <since_tizen> 3 </since_tizen>
public static bool NetworkWifiNotificationEnabled
{
get
/// <exception cref="NotSupportedException">Not Supported feature</exception>
/// <exception cref="InvalidOperationException">Invalid operation</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when application does not have privilege to access this method.</exception>
+ /// <since_tizen> 3 </since_tizen>
public static bool NetworkFlightModeEnabled
{
get
/// <exception cref="NotSupportedException">Not Supported feature</exception>
/// <exception cref="InvalidOperationException">Invalid operation</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when application does not have privilege to access this method.</exception>
+ /// <since_tizen> 3 </since_tizen>
public static int ScreenBacklightTime
{
get
/// <exception cref="NotSupportedException">Not Supported feature</exception>
/// <exception cref="InvalidOperationException">Invalid operation</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when application does not have privilege to access this method.</exception>
+ /// <since_tizen> 3 </since_tizen>
public static string SoundNotification
{
get
/// <exception cref="NotSupportedException">Not Supported feature</exception>
/// <exception cref="InvalidOperationException">Invalid operation</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when application does not have privilege to access this method.</exception>
+ /// <since_tizen> 3 </since_tizen>
public static int SoundNotificationRepetitionPeriod
{
get
/// <exception cref="NotSupportedException">Not Supported feature</exception>
/// <exception cref="InvalidOperationException">Invalid operation</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when application does not have privilege to access this method.</exception>
+ /// <since_tizen> 3 </since_tizen>
public static SystemSettingsIdleLockState LockState
{
get
/// <exception cref="NotSupportedException">Not Supported feature</exception>
/// <exception cref="InvalidOperationException">Invalid operation</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when application does not have privilege to access this method.</exception>
+ /// <since_tizen> 3 </since_tizen>
public static string AdsId
{
get
/// <exception cref="NotSupportedException">Not Supported feature</exception>
/// <exception cref="InvalidOperationException">Invalid operation</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when application does not have privilege to access this method.</exception>
+ /// <since_tizen> 3 </since_tizen>
public static SystemSettingsUdsState UltraDataSave
{
get
/// <exception cref="NotSupportedException">Not Supported feature</exception>
/// <exception cref="InvalidOperationException">Invalid operation</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when application does not have privilege to access this method.</exception>
+ /// <since_tizen> 4 </since_tizen>
public static bool AccessibilityTtsEnabled
{
get
/// <exception cref="NotSupportedException">Not Supported feature</exception>
/// <exception cref="InvalidOperationException">Invalid operation</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when application does not have privilege to access this method.</exception>
+ /// <since_tizen> 3 </since_tizen>
public static event EventHandler<IncomingCallRingtoneChangedEventArgs> IncomingCallRingtoneChanged
{
add
/// <exception cref="NotSupportedException">Not Supported feature</exception>
/// <exception cref="InvalidOperationException">Invalid operation</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when application does not have privilege to access this method.</exception>
+ /// <since_tizen> 3 </since_tizen>
public static event EventHandler<WallpaperHomeScreenChangedEventArgs> WallpaperHomeScreenChanged
{
add
/// <exception cref="NotSupportedException">Not Supported feature</exception>
/// <exception cref="InvalidOperationException">Invalid operation</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when application does not have privilege to access this method.</exception>
+ /// <since_tizen> 3 </since_tizen>
public static event EventHandler<WallpaperLockScreenChangedEventArgs> WallpaperLockScreenChanged
{
add
/// <exception cref="NotSupportedException">Not Supported feature</exception>
/// <exception cref="InvalidOperationException">Invalid operation</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when application does not have privilege to access this method.</exception>
+ /// <since_tizen> 3 </since_tizen>
public static event EventHandler<FontSizeChangedEventArgs> FontSizeChanged
{
add
/// <exception cref="NotSupportedException">Not Supported feature</exception>
/// <exception cref="InvalidOperationException">Invalid operation</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when application does not have privilege to access this method.</exception>
+ /// <since_tizen> 3 </since_tizen>
public static event EventHandler<FontTypeChangedEventArgs> FontTypeChanged
{
add
/// <exception cref="NotSupportedException">Not Supported feature</exception>
/// <exception cref="InvalidOperationException">Invalid operation</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when application does not have privilege to access this method.</exception>
+ /// <since_tizen> 3 </since_tizen>
public static event EventHandler<MotionActivationSettingChangedEventArgs> MotionActivationSettingChanged
{
add
/// <exception cref="NotSupportedException">Not Supported feature</exception>
/// <exception cref="InvalidOperationException">Invalid operation</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when application does not have privilege to access this method.</exception>
+ /// <since_tizen> 3 </since_tizen>
public static event EventHandler<EmailAlertRingtoneChangedEventArgs> EmailAlertRingtoneChanged
{
add
/// <exception cref="NotSupportedException">Not Supported feature</exception>
/// <exception cref="InvalidOperationException">Invalid operation</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when application does not have privilege to access this method.</exception>
+ /// <since_tizen> 3 </since_tizen>
public static event EventHandler<UsbDebuggingSettingChangedEventArgs> UsbDebuggingSettingChanged
{
add
/// <exception cref="NotSupportedException">Not Supported feature</exception>
/// <exception cref="InvalidOperationException">Invalid operation</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when application does not have privilege to access this method.</exception>
+ /// <since_tizen> 3 </since_tizen>
public static event EventHandler<Data3GNetworkSettingChangedEventArgs> Data3GNetworkSettingChanged
{
add
/// <exception cref="NotSupportedException">Not Supported feature</exception>
/// <exception cref="InvalidOperationException">Invalid operation</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when application does not have privilege to access this method.</exception>
+ /// <since_tizen> 4 </since_tizen>
public static event EventHandler<LockScreenAppChangedEventArgs> LockScreenAppChanged
{
add
/// <exception cref="NotSupportedException">Not Supported feature</exception>
/// <exception cref="InvalidOperationException">Invalid operation</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when application does not have privilege to access this method.</exception>
+ /// <since_tizen> 3 </since_tizen>
public static event EventHandler<LocaleCountryChangedEventArgs> LocaleCountryChanged
{
add
/// <exception cref="NotSupportedException">Not Supported feature</exception>
/// <exception cref="InvalidOperationException">Invalid operation</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when application does not have privilege to access this method.</exception>
+ /// <since_tizen> 3 </since_tizen>
public static event EventHandler<LocaleLanguageChangedEventArgs> LocaleLanguageChanged
{
add
/// <exception cref="NotSupportedException">Not Supported feature</exception>
/// <exception cref="InvalidOperationException">Invalid operation</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when application does not have privilege to access this method.</exception>
+ /// <since_tizen> 3 </since_tizen>
public static event EventHandler<LocaleTimeFormat24HourSettingChangedEventArgs> LocaleTimeFormat24HourSettingChanged
{
add
/// <exception cref="NotSupportedException">Not Supported feature</exception>
/// <exception cref="InvalidOperationException">Invalid operation</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when application does not have privilege to access this method.</exception>
+ /// <since_tizen> 3 </since_tizen>
public static event EventHandler<LocaleTimeZoneChangedEventArgs> LocaleTimeZoneChanged
{
add
/// <exception cref="NotSupportedException">Not Supported feature</exception>
/// <exception cref="InvalidOperationException">Invalid operation</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when application does not have privilege to access this method.</exception>
+ /// <since_tizen> 3 </since_tizen>
public static event EventHandler<TimeChangedEventArgs> TimeChanged
{
add
/// <exception cref="NotSupportedException">Not Supported feature</exception>
/// <exception cref="InvalidOperationException">Invalid operation</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when application does not have privilege to access this method.</exception>
+ /// <since_tizen> 3 </since_tizen>
public static event EventHandler<SoundLockSettingChangedEventArgs> SoundLockSettingChanged
{
add
/// <exception cref="NotSupportedException">Not Supported feature</exception>
/// <exception cref="InvalidOperationException">Invalid operation</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when application does not have privilege to access this method.</exception>
+ /// <since_tizen> 3 </since_tizen>
public static event EventHandler<SoundSilentModeSettingChangedEventArgs> SoundSilentModeSettingChanged
{
add
/// <exception cref="NotSupportedException">Not Supported feature</exception>
/// <exception cref="InvalidOperationException">Invalid operation</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when application does not have privilege to access this method.</exception>
+ /// <since_tizen> 3 </since_tizen>
public static event EventHandler<SoundTouchSettingChangedEventArgs> SoundTouchSettingChanged
{
add
/// <exception cref="NotSupportedException">Not Supported feature</exception>
/// <exception cref="InvalidOperationException">Invalid operation</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when application does not have privilege to access this method.</exception>
+ /// <since_tizen> 3 </since_tizen>
public static event EventHandler<DisplayScreenRotationAutoSettingChangedEventArgs> DisplayScreenRotationAutoSettingChanged
{
add
/// <exception cref="NotSupportedException">Not Supported feature</exception>
/// <exception cref="InvalidOperationException">Invalid operation</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when application does not have privilege to access this method.</exception>
+ /// <since_tizen> 3 </since_tizen>
public static event EventHandler<DeviceNameChangedEventArgs> DeviceNameChanged
{
add
/// <exception cref="NotSupportedException">Not Supported feature</exception>
/// <exception cref="InvalidOperationException">Invalid operation</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when application does not have privilege to access this method.</exception>
+ /// <since_tizen> 3 </since_tizen>
public static event EventHandler<MotionSettingChangedEventArgs> MotionSettingChanged
{
add
/// <exception cref="NotSupportedException">Not Supported feature</exception>
/// <exception cref="InvalidOperationException">Invalid operation</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when application does not have privilege to access this method.</exception>
+ /// <since_tizen> 3 </since_tizen>
public static event EventHandler<NetworkWifiNotificationSettingChangedEventArgs> NetworkWifiNotificationSettingChanged
{
add
/// <exception cref="NotSupportedException">Not Supported feature</exception>
/// <exception cref="InvalidOperationException">Invalid operation</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when application does not have privilege to access this method.</exception>
+ /// <since_tizen> 3 </since_tizen>
public static event EventHandler<NetworkFlightModeSettingChangedEventArgs> NetworkFlightModeSettingChanged
{
add
/// <exception cref="NotSupportedException">Not Supported feature</exception>
/// <exception cref="InvalidOperationException">Invalid operation</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when application does not have privilege to access this method.</exception>
+ /// <since_tizen> 3 </since_tizen>
public static event EventHandler<ScreenBacklightTimeChangedEventArgs> ScreenBacklightTimeChanged
{
add
/// <exception cref="NotSupportedException">Not Supported feature</exception>
/// <exception cref="InvalidOperationException">Invalid operation</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when application does not have privilege to access this method.</exception>
+ /// <since_tizen> 3 </since_tizen>
public static event EventHandler<SoundNotificationChangedEventArgs> SoundNotificationChanged
{
add
/// <exception cref="NotSupportedException">Not Supported feature</exception>
/// <exception cref="InvalidOperationException">Invalid operation</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when application does not have privilege to access this method.</exception>
+ /// <since_tizen> 3 </since_tizen>
public static event EventHandler<SoundNotificationRepetitionPeriodChangedEventArgs> SoundNotificationRepetitionPeriodChanged
{
add
/// <exception cref="NotSupportedException">Not Supported feature</exception>
/// <exception cref="InvalidOperationException">Invalid operation</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when application does not have privilege to access this method.</exception>
+ /// <since_tizen> 3 </since_tizen>
public static event EventHandler<LockStateChangedEventArgs> LockStateChanged
{
add
/// <exception cref="NotSupportedException">Not Supported feature</exception>
/// <exception cref="InvalidOperationException">Invalid operation</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when application does not have privilege to access this method.</exception>
+ /// <since_tizen> 3 </since_tizen>
public static event EventHandler<AdsIdChangedEventArgs> AdsIdChanged
{
add
/// <exception cref="NotSupportedException">Not Supported feature</exception>
/// <exception cref="InvalidOperationException">Invalid operation</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when application does not have privilege to access this method.</exception>
+ /// <since_tizen> 3 </since_tizen>
public static event EventHandler<UltraDataSaveChangedEventArgs> UltraDataSaveChanged
{
add
/// <exception cref="NotSupportedException">Not Supported feature</exception>
/// <exception cref="InvalidOperationException">Invalid operation</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when application does not have privilege to access this method.</exception>
+ /// <since_tizen> 3 </since_tizen>
public static event EventHandler<UltraDataSavePackageListChangedEventArgs> UltraDataSavePackageListChanged
{
add
/// <exception cref="NotSupportedException">Not Supported feature</exception>
/// <exception cref="InvalidOperationException">Invalid operation</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when application does not have privilege to access this method.</exception>
+ /// <since_tizen> 4 </since_tizen>
public static event EventHandler<AccessibilityTtsSettingChangedEventArgs> AccessibilityTtsSettingChanged
{
add
/// <summary>
/// Enumeration for all the available system settings.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public enum SystemSettingsKeys : int
{
/// <summary>
/// <summary>
/// GET (string) Indicates the lock-screen application package name.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
LockScreenApp = Data3GNetworkEnabled + 2,
/// <summary>
/// GET (string) The current system default font type (only supports Get).
/// <summary>
/// GET (bool) Indicates whether the the accessibility TTS is enabled on the device.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
AccessibilityTtsEnabled,
}
/// <summary>
/// Enumeration for the Idle Lock State.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public enum SystemSettingsIdleLockState : int
{
/// <summary>
/// <summary>
/// Enumeration for the font size.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public enum SystemSettingsFontSize : int
{
/// <summary>
/// <summary>
/// Enumeration for the ultra data save.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public enum SystemSettingsUdsState : int
{
/// <summary>
/// <exception cref="NotSupportedException">Not Supported feature</exception>
/// <exception cref="InvalidOperationException">Invalid operation</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when application does not have privilege to access this method.</exception>
+ /// <since_tizen> 3 </since_tizen>
public class IncomingCallRingtoneChangedEventArgs : EventArgs
{
private readonly string _incomingCallRingtone = null;
/// <summary>
/// The file path of the current ringtone.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public string Value
{
get
/// <exception cref="NotSupportedException">Not Supported feature</exception>
/// <exception cref="InvalidOperationException">Invalid operation</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when application does not have privilege to access this method.</exception>
+ /// <since_tizen> 3 </since_tizen>
public class WallpaperHomeScreenChangedEventArgs : EventArgs
{
private readonly string _wallpaperHomeScreen = null;
/// <summary>
/// The file path of the current home screen wallpaper.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public string Value
{
get
/// <exception cref="NotSupportedException">Not Supported feature</exception>
/// <exception cref="InvalidOperationException">Invalid operation</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when application does not have privilege to access this method.</exception>
+ /// <since_tizen> 3 </since_tizen>
public class WallpaperLockScreenChangedEventArgs : EventArgs
{
private readonly string _wallpaperLockScreen = null;
/// <summary>
/// The file path of the current lock screen wallpaper.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public string Value
{
get
/// <exception cref="NotSupportedException">Not Supported feature</exception>
/// <exception cref="InvalidOperationException">Invalid operation</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when application does not have privilege to access this method.</exception>
+ /// <since_tizen> 3 </since_tizen>
public class FontSizeChangedEventArgs : EventArgs
{
private readonly SystemSettingsFontSize _fontSize;
/// <summary>
/// The current system font size.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public SystemSettingsFontSize Value
{
get
/// <exception cref="NotSupportedException">Not Supported feature</exception>
/// <exception cref="InvalidOperationException">Invalid operation</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when application does not have privilege to access this method.</exception>
+ /// <since_tizen> 3 </since_tizen>
public class FontTypeChangedEventArgs : EventArgs
{
private readonly string _fontType = null;
/// <summary>
/// The current system font type.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public string Value
{
get
/// <exception cref="NotSupportedException">Not Supported feature</exception>
/// <exception cref="InvalidOperationException">Invalid operation</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when application does not have privilege to access this method.</exception>
+ /// <since_tizen> 3 </since_tizen>
public class MotionActivationSettingChangedEventArgs : EventArgs
{
private readonly bool _motionActivation;
/// <summary>
/// Indicates whether the motion service is activated.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public bool Value
{
get
/// <exception cref="NotSupportedException">Not Supported feature</exception>
/// <exception cref="InvalidOperationException">Invalid operation</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when application does not have privilege to access this method.</exception>
+ /// <since_tizen> 3 </since_tizen>
public class EmailAlertRingtoneChangedEventArgs : EventArgs
{
private readonly string _emailAlertRingtone = null;
/// <summary>
/// The file path of the current email alert ringtone.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public string Value
{
get
/// <exception cref="NotSupportedException">Not Supported feature</exception>
/// <exception cref="InvalidOperationException">Invalid operation</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when application does not have privilege to access this method.</exception>
+ /// <since_tizen> 3 </since_tizen>
public class UsbDebuggingSettingChangedEventArgs : EventArgs
{
private readonly bool _usbDebuggingEnabled;
/// <summary>
/// Indicates whether the USB debugging is enabled.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public bool Value
{
get
/// <exception cref="NotSupportedException">Not Supported feature</exception>
/// <exception cref="InvalidOperationException">Invalid operation</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when application does not have privilege to access this method.</exception>
+ /// <since_tizen> 3 </since_tizen>
public class Data3GNetworkSettingChangedEventArgs : EventArgs
{
private readonly bool _data3GNetworkEnabled;
/// <summary>
/// Indicates whether the 3G data network is enabled.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public bool Value
{
get
/// <exception cref="NotSupportedException">Not Supported feature</exception>
/// <exception cref="InvalidOperationException">Invalid operation</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when application does not have privilege to access this method.</exception>
+ /// <since_tizen> 4 </since_tizen>
public class LockScreenAppChangedEventArgs : EventArgs
{
private readonly string _lockscreenApp = null;
/// <summary>
/// Indicates the lock screen application package name.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public string Value
{
get
/// <exception cref="NotSupportedException">Not Supported feature</exception>
/// <exception cref="InvalidOperationException">Invalid operation</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when application does not have privilege to access this method.</exception>
+ /// <since_tizen> 3 </since_tizen>
public class LocaleCountryChangedEventArgs : EventArgs
{
private readonly string _localeCountry = null;
/// Indicates the current country setting in the <LANGUAGE>_<REGION> syntax.
/// The country setting is in the ISO 639-2 format, and the region setting is in the ISO 3166-1 alpha-2 format.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public string Value
{
get
/// <exception cref="NotSupportedException">Not Supported feature</exception>
/// <exception cref="InvalidOperationException">Invalid operation</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when application does not have privilege to access this method.</exception>
+ /// <since_tizen> 3 </since_tizen>
public class LocaleLanguageChangedEventArgs : EventArgs
{
private readonly string _localeLanguage = null;
/// Indicates the current language setting in the <LANGUAGE>_<REGION> syntax.
/// The language setting is in the ISO 639-2 format and the region setting is in the ISO 3166-1 alpha-2 format.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public string Value
{
get
/// <exception cref="NotSupportedException">Not Supported feature</exception>
/// <exception cref="InvalidOperationException">Invalid operation</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when application does not have privilege to access this method.</exception>
+ /// <since_tizen> 3 </since_tizen>
public class LocaleTimeFormat24HourSettingChangedEventArgs : EventArgs
{
private readonly bool _localeTimeFormat24Hour;
/// <summary>
/// Indicates whether the 24-hour clock is used. If the value is false, the 12-hour clock is used.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public bool Value
{
get
/// <exception cref="NotSupportedException">Not Supported feature</exception>
/// <exception cref="InvalidOperationException">Invalid operation</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when application does not have privilege to access this method.</exception>
+ /// <since_tizen> 3 </since_tizen>
public class LocaleTimeZoneChangedEventArgs : EventArgs
{
private readonly string _localeTimeZone = null;
/// <summary>
/// Indicates the current time zone.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public string Value
{
get
/// <exception cref="NotSupportedException">Not Supported feature</exception>
/// <exception cref="InvalidOperationException">Invalid operation</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when application does not have privilege to access this method.</exception>
+ /// <since_tizen> 3 </since_tizen>
public class TimeChangedEventArgs : EventArgs
{
private readonly int _time;
/// <summary>
/// Indicates the current time.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public int Value
{
get
/// <exception cref="NotSupportedException">Not Supported feature</exception>
/// <exception cref="InvalidOperationException">Invalid operation</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when application does not have privilege to access this method.</exception>
+ /// <since_tizen> 3 </since_tizen>
public class SoundLockSettingChangedEventArgs : EventArgs
{
private readonly bool _soundLock;
/// <summary>
/// Indicates whether the screen lock sound is enabled on the device, for example, the LCD on or off sound.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public bool Value
{
get
/// <exception cref="NotSupportedException">Not Supported feature</exception>
/// <exception cref="InvalidOperationException">Invalid operation</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when application does not have privilege to access this method.</exception>
+ /// <since_tizen> 3 </since_tizen>
public class SoundSilentModeSettingChangedEventArgs : EventArgs
{
private readonly bool _soundSilentMode;
/// <summary>
/// Indicates whether the device is in the silent mode.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public bool Value
{
get
/// <exception cref="NotSupportedException">Not Supported feature</exception>
/// <exception cref="InvalidOperationException">Invalid operation</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when application does not have privilege to access this method.</exception>
+ /// <since_tizen> 3 </since_tizen>
public class SoundTouchSettingChangedEventArgs : EventArgs
{
private readonly bool _soundTouch;
/// <summary>
/// Indicates whether the screen touch sound is enabled on the device.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public bool Value
{
get
/// <exception cref="NotSupportedException">Not Supported feature</exception>
/// <exception cref="InvalidOperationException">Invalid operation</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when application does not have privilege to access this method.</exception>
+ /// <since_tizen> 3 </since_tizen>
public class DisplayScreenRotationAutoSettingChangedEventArgs : EventArgs
{
private readonly bool _displayScreenRotationAuto;
/// <summary>
/// Indicates whether the rotation control is automatic.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public bool Value
{
get
/// <exception cref="NotSupportedException">Not Supported feature</exception>
/// <exception cref="InvalidOperationException">Invalid operation</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when application does not have privilege to access this method.</exception>
+ /// <since_tizen> 3 </since_tizen>
public class DeviceNameChangedEventArgs : EventArgs
{
private readonly string _deviceName = null;
/// <summary>
/// Indicates the device name.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public string Value
{
get
/// <exception cref="NotSupportedException">Not Supported feature</exception>
/// <exception cref="InvalidOperationException">Invalid operation</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when application does not have privilege to access this method.</exception>
+ /// <since_tizen> 3 </since_tizen>
public class MotionSettingChangedEventArgs : EventArgs
{
private readonly bool _motionEnabled;
/// <summary>
/// Indicates whether the device user has enabled the motion feature.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public bool Value
{
get
/// <exception cref="NotSupportedException">Not Supported feature</exception>
/// <exception cref="InvalidOperationException">Invalid operation</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when application does not have privilege to access this method.</exception>
+ /// <since_tizen> 3 </since_tizen>
public class NetworkWifiNotificationSettingChangedEventArgs : EventArgs
{
private readonly bool _networkWifiNotification;
/// <summary>
/// Indicates whether Wi-Fi-related notifications are enabled on the device.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public bool Value
{
get
/// <exception cref="NotSupportedException">Not Supported feature</exception>
/// <exception cref="InvalidOperationException">Invalid operation</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when application does not have privilege to access this method.</exception>
+ /// <since_tizen> 3 </since_tizen>
public class NetworkFlightModeSettingChangedEventArgs : EventArgs
{
private readonly bool _networkFlightMode;
/// <summary>
/// Indicates whether the device is in the flight mode.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public bool Value
{
get
/// <exception cref="NotSupportedException">Not Supported feature</exception>
/// <exception cref="InvalidOperationException">Invalid operation</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when application does not have privilege to access this method.</exception>
+ /// <since_tizen> 3 </since_tizen>
public class ScreenBacklightTimeChangedEventArgs : EventArgs
{
private readonly int _screenBacklightTime;
/// <summary>
/// Indicates the backlight time (in seconds).
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public int Value
{
get
/// <exception cref="NotSupportedException">Not Supported feature</exception>
/// <exception cref="InvalidOperationException">Invalid operation</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when application does not have privilege to access this method.</exception>
+ /// <since_tizen> 3 </since_tizen>
public class SoundNotificationChangedEventArgs : EventArgs
{
private readonly string _soundNotification = null;
/// <summary>
/// Indicates the file path of the current notification tone set by the user.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public string Value
{
get
/// <exception cref="NotSupportedException">Not Supported feature</exception>
/// <exception cref="InvalidOperationException">Invalid operation</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when application does not have privilege to access this method.</exception>
+ /// <since_tizen> 3 </since_tizen>
public class SoundNotificationRepetitionPeriodChangedEventArgs : EventArgs
{
private readonly int _soundNotificationRepetitionPeriod;
/// <summary>
/// Indicates the time period for notification repetitions.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public int Value
{
get
/// <exception cref="NotSupportedException">Not Supported feature</exception>
/// <exception cref="InvalidOperationException">Invalid operation</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when application does not have privilege to access this method.</exception>
+ /// <since_tizen> 3 </since_tizen>
public class LockStateChangedEventArgs : EventArgs
{
private readonly SystemSettingsIdleLockState _lockState;
/// <summary>
/// Indicates the current lock state.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public SystemSettingsIdleLockState Value
{
get
/// <exception cref="NotSupportedException">Not Supported feature</exception>
/// <exception cref="InvalidOperationException">Invalid operation</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when application does not have privilege to access this method.</exception>
+ /// <since_tizen> 3 </since_tizen>
public class AdsIdChangedEventArgs : EventArgs
{
private readonly string _adsId = null;
/// <summary>
/// Indicates the current lock state.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public string Value
{
get
/// <exception cref="NotSupportedException">Not Supported feature</exception>
/// <exception cref="InvalidOperationException">Invalid operation</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when application does not have privilege to access this method.</exception>
+ /// <since_tizen> 3 </since_tizen>
public class UltraDataSaveChangedEventArgs : EventArgs
{
private readonly SystemSettingsUdsState _ultraDataSave = SystemSettingsUdsState.UdsOff;
/// <summary>
/// Indicates the current lock state.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public SystemSettingsUdsState Value
{
get
/// <exception cref="NotSupportedException">Not Supported feature</exception>
/// <exception cref="InvalidOperationException">Invalid operation</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when application does not have privilege to access this method.</exception>
+ /// <since_tizen> 3 </since_tizen>
public class UltraDataSavePackageListChangedEventArgs : EventArgs
{
private readonly string _ultraDataSavePackageList = null;
/// <summary>
/// Indicates the current lock state.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public string Value
{
get
/// <exception cref="NotSupportedException">Not Supported feature</exception>
/// <exception cref="InvalidOperationException">Invalid operation</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when application does not have privilege to access this method.</exception>
+ /// <since_tizen> 4 </since_tizen>
public class AccessibilityTtsSettingChangedEventArgs : EventArgs
{
private readonly bool _AccessibilityTts;
/// <summary>
/// Indicates whether the screen touch sound is enabled on the device.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public bool Value
{
get
/// <summary>
/// Enumeration of transfer direction for Endpoints.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public enum EndpointDirection
{
/// <summary>
/// <summary>
/// Event arguments for Hot Plugged event for USB devices.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public class HotPluggedEventArgs : EventArgs
{
internal HotPluggedEventArgs(UsbDevice device, HotplugEventType type)
/// <summary>
/// USB Device
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public UsbDevice Device { get; }
/// <summary>
/// Event Type
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public HotplugEventType EventType { get; }
}
}
/// <summary>
/// Enumeration of hot plugged event type for USB devices.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public enum HotplugEventType
{
/// <summary>
/// <summary>
/// Enumeration of isochronous endpoint's synchronization type.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public enum SynchronizationType
{
/// <summary>
/// <summary>
/// Enumeration of an endpoint's usage type.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public enum UsageType
{
/// <summary>
/// <summary>
/// USB Bulk Endpoint class.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public class UsbBulkEndpoint : UsbEndpoint
{
internal UsbBulkEndpoint(UsbInterface parent, Interop.UsbEndpointHandle handle) : base(parent, handle)
/// <returns>Number of bytes actually transferred.</returns>
/// <exception cref="InvalidOperationException">Throws exception if device is disconnected or not opened for operation.</exception>
/// <exception cref="TimeoutException">Throws exception if transfer timed-out.</exception>
+ /// <since_tizen> 4 </since_tizen>
public int Transfer(byte[] buffer, int length, uint timeout)
{
return TransferImpl(buffer, length, timeout);
/// <summary>
/// Class to manage USB Configuration.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public class UsbConfiguration : IDisposable
{
internal readonly Interop.UsbConfigHandle _handle;
/// <summary>
/// Checks if device is self-powered in given configuration.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public bool IsSelfPowered
{
get
/// <summary>
/// Checks if device in given configuration supports remote wakeup.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public bool SupportRemoteWakeup
{
get
/// <summary>
/// Gets maximum power required in given configuration, in mA.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public int MaximumPowerRequired
{
get
/// <summary>
/// Dictionary mapping interfaces Ids to interface instances for given configuration.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public IReadOnlyDictionary<int, UsbInterface> Interfaces
{
get
/// <summary>
/// Configuration string.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public string ConfigurationString
{
get
/// <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>
public void SetAsActive()
{
ThrowIfDisposed();
/// <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)
{
if (!disposedValue)
/// <summary>
/// Releases all resources used by the ConnectionProfile.
/// It should be called after finished using of the object.</summary>
+ /// <since_tizen> 4 </since_tizen>
public void Dispose()
{
Dispose(true);
/// <summary>
/// USB Control Endpoint class.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public class UsbControlEndpoint : UsbEndpoint
{
private readonly UsbDevice _device;
/// <summary>
/// Gets number of this endpoint.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public new int Id
{
get
/// <summary>
/// Gets direction of this endpoint.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public new EndpointDirection Direction
{
get
/// <summary>
/// Gets max packet size of given endpoint.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public new int MaxPacketSize
{
get
/// <returns>Transferred Number of transferred bytes.</returns>
/// <exception cref="InvalidOperationException">Throws exception if device is disconnected or not opened for operation.</exception>
/// <exception cref="TimeoutException">Throws exception if transfer timed-out.</exception>
+ /// <since_tizen> 4 </since_tizen>
public int Transfer(byte requestType, byte request, ushort value, ushort index, byte[] data, ushort length, uint timeout)
{
_device.ThrowIfDisposed();
/// <summary>
/// Class to manage USB host devices. This class contains operations for enumerating, opening and closing devices.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public class UsbDevice : IDisposable
{
internal readonly Interop.HostDeviceHandle _handle;
/// Number of the bus, this device is connected to.
/// </summary>
/// <exception cref="UnauthorizedAccessException">Throws exception if user has insufficient permission on device.</exception>
+ /// <since_tizen> 4 </since_tizen>
public int BusId {
get
{
/// <summary>
/// Address of device on the bus.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public int Address
{
get
/// <summary>
/// List of available port numbers from a device.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public IEnumerable<int> Ports
{
get
/// <summary>
/// Checks if device is opened.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public bool IsOpened
{
get
/// <summary>
/// Control endpoint (endpoint 0).
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public UsbControlEndpoint ControlEndpoint
{
get
/// Active configuration for the device.
/// </summary>
/// <exception cref="InvalidOperationException">Throws exception if device is disconnected.</exception>
+ /// <since_tizen> 4 </since_tizen>
public UsbConfiguration ActiveConfiguration
{
get
/// <summary>
/// Dictionary mapping configuration Ids to configuration instances for this device.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public IReadOnlyDictionary<int, UsbConfiguration> Configurations
{
get
/// <summary>
/// Device information such as version, class, subclass etc.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public UsbDeviceInformation DeviceInformation
{
get
/// <summary>
/// String associated with device.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public UsbDeviceStrings Strings
{
get
/// <exception cref="OutOfMemoryException">Throws exception in case of insufficient memory.</exception>
/// <exception cref="InvalidOperationException">Throws exception if device is disconnected.</exception>
/// <exception cref="UnauthorizedAccessException">Throws exception if user has insufficient permission on device.</exception>
+ /// <since_tizen> 4 </since_tizen>
public void Open()
{
ThrowIfDisposed();
/// Closes device for operations.
/// </summary>
/// <exception cref="InvalidOperationException">Throws exception if device is not opened for operation.</exception>
+ /// <since_tizen> 4 </since_tizen>
public void Close()
{
ThrowIfDisposed();
/// <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)
{
if (!disposedValue)
/// <summary>
/// Releases all resources used by the ConnectionProfile.
/// It should be called after finished using of the object.</summary>
+ /// <since_tizen> 4 </since_tizen>
public void Dispose()
{
Dispose(true);
/// <summary>
/// Device information for USB device.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public class UsbDeviceInformation
{
private readonly UsbDevice _device;
/// USB specification release number as binary-coded decimal.
/// </summary>
/// <exception cref="UnauthorizedAccessException">Throws exception if user has insufficient permission on device.</exception>
+ /// <since_tizen> 4 </since_tizen>
public int UsbVersion
{
get
/// <summary>
/// Gets device class.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public int Class
{
get
/// <summary>
/// Gets device sub class.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public int Subclass
{
get
/// <summary>
/// Gets device protocol.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public int Protocol
{
get
/// <summary>
/// Gets vendor id.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public int VendorId
{
get
/// <summary>
/// Gets product id.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public int ProductId
{
get
/// <summary>
/// Gets device release number in binary-coded decimal.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public int DeviceVersion
{
get
/// <summary>
/// String information for USB device.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public class UsbDeviceStrings
{
private readonly UsbDevice _device;
/// </summary>
/// <exception cref="InvalidOperationException">Throws exception if device is disconnected or not opened for operation.</exception>
/// <exception cref="UnauthorizedAccessException">Throws exception if user has insufficient permission on device.</exception>
+ /// <since_tizen> 4 </since_tizen>
public string Manufacturer
{
get
/// </summary>
/// <exception cref="InvalidOperationException">Throws exception if device is not opened for operation.</exception>
/// <exception cref="UnauthorizedAccessException">Throws exception if user has insufficient permission on device.</exception>
+ /// <since_tizen> 4 </since_tizen>
public string Product
{
get
/// </summary>
/// <exception cref="InvalidOperationException">Throws exception if device is not opened for operation.</exception>
/// <exception cref="UnauthorizedAccessException">Throws exception if user has insufficient permission on device.</exception>
+ /// <since_tizen> 4 </since_tizen>
public string Serial
{
get
/// <summary>
/// USB Endpoint class.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public class UsbEndpoint
{
internal readonly Interop.UsbEndpointHandle _handle;
+ /// <since_tizen> 4 </since_tizen>
protected readonly UsbInterface _parent;
internal UsbEndpoint(UsbInterface parent, Interop.UsbEndpointHandle handle)
/// <summary>
/// Gets number of this endpoint.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public int Id
{
get
/// <summary>
/// Gets direction of this endpoint.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public EndpointDirection Direction
{
get
/// <summary>
/// Gets max packet size of given endpoint.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public int MaxPacketSize
{
get
_parent?.ThrowIfDisposed();
}
+ /// <since_tizen> 4 </since_tizen>
protected int TransferImpl(byte[] buffer, int length, uint timeout)
{
ThrowIfDisposed();
/// <summary>
/// Class to manage USB Interfaces.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public class UsbInterface
{
internal readonly Interop.UsbInterfaceHandle _handle;
/// <summary>
/// Gets number of given interface.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public int Id
{
get
/// <summary>
/// Sets alternative setting. Use index of new alternative setting for given interface.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public int AlternateSetting
{
set
/// <summary>
/// Dictionary mapping endpoint Ids to endpoint instances for given interface.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public IReadOnlyDictionary<int, UsbEndpoint> Endpoints
{
get
/// Gets string describing an interface.
/// </summary>
/// <returns></returns>
+ /// <since_tizen> 4 </since_tizen>
public string InterfaceString()
{
ThrowIfDisposed();
/// <exception cref="InvalidOperationException">
/// Throws exception if device is disconnected or not opened for operation or another program or driver has claimed the interface.
/// </exception>
+ /// <since_tizen> 4 </since_tizen>
public void Claim(bool force)
{
ThrowIfDisposed();
/// </summary>
/// <exception cref="InvalidOperationException">Throws exception if device is disconnected or not opened for operation.</exception>
/// <exception cref="UnauthorizedAccessException">Throws exception if user has insufficient permission on device.</exception>
+ /// <since_tizen> 4 </since_tizen>
public void Release()
{
ThrowIfDisposed();
/// <summary>
/// USB Interrupt Endpoint class.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public class UsbInterruptEndpoint : UsbEndpoint
{
internal UsbInterruptEndpoint(UsbInterface parent, Interop.UsbEndpointHandle handle) : base(parent, handle)
/// <summary>
/// Gets interval for polling endpoint for data transfers, in frame counts (refer to USB protocol specification).
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public int PollingInterval
{
get
/// <returns>Number of bytes actually transferred.</returns>
/// <exception cref="InvalidOperationException">Throws exception if device is disconnected or not opened for operation.</exception>
/// <exception cref="TimeoutException">Throws exception if transfer timed-out.</exception>
+ /// <since_tizen> 4 </since_tizen>
public int Transfer(byte[] buffer, int length, uint timeout)
{
return TransferImpl(buffer, length, timeout);
/// <summary>
/// USB Isochronous Endpoint class.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public class UsbIsochronousEndpoint : UsbEndpoint
{
internal UsbIsochronousEndpoint(UsbInterface parent, Interop.UsbEndpointHandle handle) : base(parent, handle)
/// <summary>
/// Gets synchronization type of this endpoint.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public SynchronizationType SynchronizationType
{
get
/// <summary>
/// Gets usage type of this endpoint.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public UsageType UsageType
{
get
/// <summary>
/// USB Manager class.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public class UsbManager : IDisposable
{
private readonly Interop.UsbContextHandle _context = null;
/// <summary>
/// USB Manager Constructor.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public UsbManager()
{
_context = new Interop.UsbContextHandle();
/// <exception cref="NotSupportedException">Throws exception if USB host feature is not enabled.</exception>
/// <exception cref="OutOfMemoryException">Throws exception in case of insufficient memory.</exception>
/// <exception cref="UnauthorizedAccessException">Throws exception if user has insufficient permission on device.</exception>
+ /// <since_tizen> 4 </since_tizen>
public IEnumerable<UsbDevice> AvailableDevices
{
get
/// <summary>
/// Event handler for events when a USB device is attached or detached.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public event EventHandler<HotPluggedEventArgs> DeviceHotPlugged;
internal void HostHotplugCallback(IntPtr devHandle, IntPtr userData)
#region IDisposable Support
private bool disposedValue = false;
+ /// <since_tizen> 4 </since_tizen>
protected virtual void Dispose(bool disposing)
{
if (!disposedValue)
Dispose(false);
}
+ /// <since_tizen> 4 </since_tizen>
public void Dispose()
{
Dispose(true);
/// Console.WriteLine("battery Charging state is: {0}", Tizen.System.Battery.IsCharging);
/// Console.WriteLine("battery Percent is: {0}", Tizen.System.Battery.Percent);
/// </code>
+ /// <since_tizen> 3 </since_tizen>
public static class Battery
{
private static readonly object s_lock = new object();
/// <summary>
/// BatteryPercentChangedEventArgs is an extended EventArgs class. This class contains event arguments for the BatteryPercentChanged event from the battery class.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class BatteryPercentChangedEventArgs : EventArgs
{
internal BatteryPercentChangedEventArgs(){}
/// <summary>
/// BatteryLevelChangedEventArgs is an extended EventArgs class. This class contains event arguments for the BatteryLevelChanged event from the battery class.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class BatteryLevelChangedEventArgs : EventArgs
{
internal BatteryLevelChangedEventArgs(){}
/// <summary>
/// BatteryChargingStateChangedEventArgs is an extended EventArgs class. This class contains event arguments for the BatteryChargingStateChanged event from the battery class.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class BatteryChargingStateChangedEventArgs : EventArgs
{
internal BatteryChargingStateChangedEventArgs() {}
/// <summary>
/// DisplayStateChangedEventArgs is an extended EventArgs class. This class contains event arguments for the DisplayStateChanged event from the display class.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class DisplayStateChangedEventArgs : EventArgs
{
internal DisplayStateChangedEventArgs() {}
/// <summary>
/// LedBrightnessChangedEventArgs is an extended EventArgs class. This class contains event arguments for the LedBrightnessChanged event from the LED class.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class LedBrightnessChangedEventArgs : EventArgs
{
internal LedBrightnessChangedEventArgs() {}
/// Console.WriteLine("Total number of Displays are: {0}", Tizen.System.Display.NumberOfDisplays);
/// </code>
/// </example>
+ /// <since_tizen> 3 </since_tizen>
public class Display
{
private readonly int _displayId;
/// Console.WriteLine("Total number of Vibrators are: {0}", Tizen.System.Vibrator.NumberOfVibrators);
/// </code>
/// </example>
+ /// <since_tizen> 3 </since_tizen>
public class Vibrator : IDisposable
{
private readonly int _vibratorId;
/// Console.WriteLine("IR availability for this device is: {0}", IR.IsAvailable);
/// </code>
/// </example>
+ /// <since_tizen> 3 </since_tizen>
public static class IR
{
/// <summary>
/// Console.WriteLine("Led current Brightness is: {0}", Tizen.System.Led.Brightness);
/// </code>
/// </example>
+ /// <since_tizen> 3 </since_tizen>
public static class Led
{
/// <summary>
/// Gets the maximum brightness value of the LED that is located next to the camera.
+ /// </summary>
/// <since_tizen> 3 </since_tizen>
/// <exception cref="ArgumentException">When an invalid parameter value is set.</exception>
/// <exception cref="UnauthorizedAccessException">If the privilege is not set.</exception>
/// <exception cref="NotSupportedException">In case the device does not support this behavior.</exception>
- /// </summary>
public static int MaxBrightness
{
get
/// <privilege>
/// http://tizen.org/privilege/display
/// </privilege>
+ /// <since_tizen> 3 </since_tizen>
public static class Power
{
/// <summary>
/// The Call APIs allow you to get the voice and video call states.
/// It provides the list of CallHandle which can be used to get the information about call related actions.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class Call
{
internal IntPtr _handle;
/// <summary>
/// This class provides the APIs to get the information about calls.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class CallHandle
{
private IntPtr _callHandle;
/// <summary>
/// Enumeration for the call status.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public enum CallStatus
{
/// <summary>
/// <summary>
/// Enumeration for the call type.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public enum CallType
{
/// <summary>
/// <summary>
/// Enumeration for the call direction.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public enum CallDirection
{
/// <summary>
/// <summary>
/// This class contains the data related to the Notification event.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class ChangeNotificationEventArgs : EventArgs
{
internal ChangeNotificationEventArgs(Notification noti, object data)
/// <summary>
/// Enumeration for the Telephony Notification.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public enum Notification
{
/// <summary>
/// <summary>
/// This class provides APIs to obtain information from the modem.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class Modem
{
internal IntPtr _handle;
/// <summary>
/// Enumeration for the Modem Power Status.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public enum PowerStatus
{
/// <summary>
/// <summary>
/// The Network class provides APIs to obtain information about the current telephony service network.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class Network
{
internal IntPtr _handle;
/// Enumeration for the RSSI (Receive Signal Strength Indicator).
/// Rssi6 indicates the highest strength.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public enum Rssi
{
/// <summary>
/// <summary>
/// Enumeration for the network types.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public enum Type
{
/// <summary>
/// <summary>
/// Enumeration for the PS types.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public enum PsType
{
/// <summary>
/// <summary>
/// Enumeration for the network service states.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public enum ServiceState
{
/// <summary>
/// <summary>
/// Enumeration for the network name priority.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public enum NameOption
{
/// <summary>
/// <summary>
/// Enumeration for the possible 'default' Data Subscriptions for the Packet Switched(PS).
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public enum DefaultDataSubscription
{
/// <summary>
/// <summary>
/// Enumeration for defining the possible 'default' Subscriptions for the Circuit Switched(CS).
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public enum DefaultSubscription
{
/// <summary>
/// <summary>
/// Enumeration for the network selection modes.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public enum SelectionMode
{
/// <summary>
/// <summary>
/// This class provides APIs that allow you to extract the information stored on a SIM card.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class Sim
{
internal IntPtr _handle;
/// <summary>
/// Enumeration for the state of the SIM card.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public enum State
{
/// <summary>
/// <summary>
/// Enumeration for the lock state of the SIM card.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public enum LockState
{
/// <summary>
/// <summary>
/// Enumeration for the type of the SIM card.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public enum ApplicationType
{
/// <summary>
/// <summary>
/// This class provides APIs that provide functionality related to the slot handle.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class SlotHandle
{
internal IntPtr _handle;
/// The event handler for receiving the Telephony state changes.
/// This event will be triggered for the NotificationIds given in the SetNotificationId API.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public event EventHandler<ChangeNotificationEventArgs> ChangeNotification;
internal IntPtr Handle
/// <summary>
/// This class contains the data related to the State changed event.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class StateEventArgs : EventArgs
{
internal StateEventArgs(State s)
/// <summary>
/// Enumeration for the telephony states.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public enum State
{
/// <summary>
/// <summary>
/// Enumeration for the preferred voice call subscription.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public enum CallPreferredVoiceSubscription
{
/// <summary>
/// This class provides APIs to initialize and deinitialize the framework.
/// It also provides APIs to get the SlotHandles, which can then be used to get other Network/Sim/Call/Modem information.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public static class Manager
{
internal static List<SlotHandle> _telephonyHandle = new List<SlotHandle>();
/// <summary>
/// Provides functions for writing a trace message to the system trace buffer.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public static class Tracer
{
/// <summary>
/// </remarks>
/// <param name="name">The name of an event (optionally containing format specifiers).</param>
/// <seealso cref="Tizen.Tracer.End()"/>
+ /// <since_tizen> 3 </since_tizen>
public static void Begin (String name)
{
Interop.Tracer.Begin (name);
/// The specific error code can be obtained using the Tizen.Internals.Errors.ErrorFacts.GetLastResult() method.
/// </remarks>
/// <seealso cref="Tizen.Tracer.Begin(String)"/>
+ /// <since_tizen> 3 </since_tizen>
public static void End ()
{
Interop.Tracer.End ();
/// <param name="cookie">An unique identifier for distinguishing simultaneous events.</param>
/// <param name="name">The name of an event (optionally containing format specifiers).</param>
/// <seealso cref="Tizen.Tracer.AsyncEnd(int, String)"/>
+ /// <since_tizen> 3 </since_tizen>
public static void AsyncBegin (int cookie, String name)
{
Interop.Tracer.AsyncBegin (cookie, name);
/// <param name="cookie">An unique identifier for distinguishing simultaneous events.</param>
/// <param name="name">The name of an event (optionally containing format specifiers).</param>
/// <seealso cref="Tizen.Tracer.AsyncBegin(int, String)"/>
+ /// <since_tizen> 3 </since_tizen>
public static void AsyncEnd (int cookie, String name)
{
Interop.Tracer.AsyncEnd (cookie, name);
/// </remarks>
/// <param name="value">The integer variable to trace.</param>
/// <param name="name">The name of an event (optionally containing format specifiers).</param>
+ /// <since_tizen> 3 </since_tizen>
public static void TraceValue (int value, String name)
{
Interop.Tracer.TraceValue (value, name);
/// <summary>
/// This Class contains data related to AccessibilityStateChanged Event
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public class AccessibilityStateChangedEventArgs
{
internal AccessibilityStateChangedEventArgs(bool state)
/// <summary>
/// Accessibility option state
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public bool State
{
get;
/// <summary>
/// This Class contains data related to CursorPositionUpdated Event
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public class CursorPositionUpdatedEventArgs
{
internal CursorPositionUpdatedEventArgs(int cursorPos)
/// <summary>
/// The cursor position
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public int CursorPosition
{
get;
/// <summary>
/// This Class contains data related to DataSet Event
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public class SetDataEventArgs
{
internal SetDataEventArgs(byte[] destination, uint dataLength)
/// <summary>
/// The specific data to be set to the input panel
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public byte[] Data
{
get;
/// <summary>
/// The length of data, in bytes, to send to the input panel
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public uint DataLength
{
get;
/// <summary>
/// This Class contains data related to DisplayLanguageChanged Event
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public class DisplayLanguageChangedEventArgs
{
internal DisplayLanguageChangedEventArgs(string language)
/// <summary>
/// The language code
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public string Language
{
get;
/// <summary>
/// The Editor window class
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public class EditorWindow : Window
{
internal static IntPtr _handle = IntPtr.Zero;
/// <summary>
/// This API creates handle for editor window.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
protected override IntPtr CreateHandle(EvasObject parent)
{
return _handle;
/// <summary>
/// This API gets handle for editor window.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public IntPtr GetHandle()
{
return _handle;
/// 1) The application does not have the privilege to call this function
/// 2) IME main loop isn't started yet
/// </exception>
+ /// <since_tizen> 4 </since_tizen>
public static void SetSize(int portraitWidth, int portraitHeight, int landscapeWidth, int landscapeHeight)
{
ErrorCode error = ImeSetSize(portraitWidth, portraitHeight, landscapeWidth, landscapeHeight);
/// <summary>
/// This Class contains data related to FocusedIn Event
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public class FocusedInEventArgs
{
internal FocusedInEventArgs(int contextId)
/// <summary>
/// The input context identification value of an associated text input UI control
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public int ContextId
{
get;
/// <summary>
/// This Class contains data related to FocusedOut Event
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public class FocusedOutEventArgs
{
internal FocusedOutEventArgs(int contextId)
/// <summary>
/// The input context identification value of an associated text input UI control
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public int ContextId
{
get;
/// <summary>
/// Enumeration for Input Panel Layout
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public enum InputPanelLayout
{
/// <summary>
/// <summary>
/// Enumeration for Layout Variation
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public enum LayoutVariation
{
/// <summary>
/// <summary>
/// Enumeration for AutoCapital Type
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public enum AutoCapitalization
{
/// <summary>
/// <summary>
/// Enumeration for InputPanel ReturnKey Type
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public enum InputPanelReturnKey
{
/// <summary>
/// <summary>
/// Enumeration for InputHints
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public enum InputHints
{
/// <summary>
/// <summary>
/// Enumeration for BiDi Direction
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public enum BiDirection
{
/// <summary>
/// <summary>
/// Enumeration for InputPanel Language
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public enum InputPanelLanguage
{
/// <summary>
/// <summary>
/// This class represents the context of InputMethodEditor
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public class InputMethodContext
{
private IntPtr _handle;
/// <summary>
/// Gets the layout information.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public InputPanelLayout Layout
{
get
/// <summary>
/// Gets the layout variation information.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public LayoutVariation LayoutVariation
{
get
/// <summary>
/// Gets the cursor position information.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public int CursorPosition
{
get
/// <summary>
/// Gets the autocapital type information.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public AutoCapitalization AutoCapitalization
{
get
/// <summary>
/// Gets the Return key label type information.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public InputPanelReturnKey ReturnKey
{
get
/// <summary>
/// Gets the Return key state information.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public bool ReturnKeyState
{
get
/// <summary>
/// Gets the prediction mode information.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public bool PredictionMode
{
get
/// <summary>
/// Gets the password mode information.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public bool PasswordMode
{
get
/// <summary>
/// Gets the input hint information.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public InputHints InputHint
{
get
/// <summary>
/// Gets the text bidirectional information.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public BiDirection BiDirection
{
get
/// <summary>
/// Gets the preferred language information.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public InputPanelLanguage Language
{
get
/// <summary>
/// Enumeration for Device Class
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public enum DeviceClass
{
/// <summary>
/// <summary>
/// Enumeration for Device SubClass
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public enum DeviceSubclass
{
/// <summary>
/// <summary>
/// this class gives the device information, like the name, class and subclass
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public class InputMethodDeviceInformation
{
private IntPtr _handle;
/// <summary>
/// Gets the device name of the key event.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public string Name
{
get
/// <summary>
/// Gets the device class of the key event.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public DeviceClass DeviceClass
{
get
/// <summary>
/// Gets the device subclass of the key event.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public DeviceSubclass DeviceSubclass
{
get
/// If keycode & 0xff000000 == 0x01000000 then this key code is directly encoded 24-bit UCS character.The UCS value is keycode & 0x00ffffff.
/// Defines the list of keys supported by the system.Note that certain keys may not be available on all devices.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public enum KeyCode
{
/// <summary>
/// Enumeration of the key masks.
/// The key masks indicate which modifier keys is pressed down during the keyboard hit.The special MASK_RELEASED indicates the key release event.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public enum KeyMask
{
/// <summary>
/// <summary>
/// This class contains api's related to IME(Input method editor)
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public static class InputMethodEditor
{
private static Object thisLock = new Object();
/// <summary>
/// Structure representing ContextId
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public struct ContextId : IEquatable<ContextId>
{
internal ContextId(int id)
/// <summary>
/// compare whether ContextId are equal
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public bool Equals(ContextId other)
{
return this.Id == other.Id;
/// <summary>
/// rectangle representing the position and size of UI Control
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public struct Rect
{
/// <summary>
/// The x position in screen
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public int x;
/// <summary>
/// The y position in screen
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public int y;
/// <summary>
/// The window width
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public int w;
/// <summary>
/// The window height
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public int h;
}
/// </summary>
/// <typeparam name="T">Generic Type</typeparam>
/// <param name="a">The out parameter</param>
+ /// <since_tizen> 4 </since_tizen>
public delegate void OutAction<T>(out T a);
/// <summary>
/// </summary>
/// <typeparam name="T">Generic Type</typeparam>
/// <param name="a">The out parameter 1</param>
+ /// <since_tizen> 4 </since_tizen>
public delegate void OutArrayAction<T>(out T[] a);
/// <summary>
/// <param name="b">The Input Parameter 2</param>
/// <param name="c">The Input Parameter 3</param>
/// <returns></returns>
+ /// <since_tizen> 4 </since_tizen>
public delegate bool BoolAction<T, T1, T2>(T a, T1 b, T2 c);
/// <summary>
/// Called when an associated text input UI control has focus.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public static event EventHandler<FocusedInEventArgs> FocusedIn
{
add
/// <summary>
/// Called when an associated text input UI control loses focus.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public static event EventHandler<FocusedOutEventArgs> FocusedOut
{
add
/// <summary>
/// Called when an associated text input UI control responds to a request with the surrounding text.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public static event EventHandler<SurroundingTextUpdatedEventArgs> SurroundingTextUpdated
{
add
/// <summary>
/// Called to reset the input context of an associated text input UI control.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public static event EventHandler<EventArgs> InputContextReset
{
add
/// <summary>
/// Called when the position of the cursor in an associated text input UI control changes.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public static event EventHandler<CursorPositionUpdatedEventArgs> CursorPositionUpdated
{
add
/// Called to set the preferred language to the input panel.
/// It will be only called when the client application changes the edit field's language attribute after the input panel is shown.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public static event EventHandler<LanguageSetEventArgs> LanguageSet
{
add
/// <summary>
/// Called to set the application specific data to deliver to the input panel.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public static event EventHandler<SetDataEventArgs> DataSet
{
add
/// Called when an associated text input UI control requests the input panel to set its layout.
/// It will be only called when the client application changes the edit field's layout attribute after the input panel is shown.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public static event EventHandler<LayoutSetEventArgs> LayoutSet
{
add
/// Called when an associated text input UI control requests the input panel to set the Return key label.
/// The input panel can show text or image on the Return button according to the Return key action.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public static event EventHandler<ReturnKeySetEventArgs> ReturnKeySet
{
add
/// <summary>
/// Called when an associated text input UI control requests the input panel to enable or disable the Return key state.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public static event EventHandler<ReturnKeyStateSetEventArgs> ReturnKeyStateSet
{
add
/// <summary>
/// Called when the system display Language is changed.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public static event EventHandler<DisplayLanguageChangedEventArgs> DisplayLanguageChanged
{
add
/// <summary>
/// Called when the device is rotated.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public static event EventHandler<RotationChangedEventArgs> RotationChanged
{
add
/// <summary>
/// Called when Accessibility in Settings application is on or off.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public static event EventHandler<AccessibilityStateChangedEventArgs> AccessibilityStateChanged
{
add
/// <param name="languageRequested">
/// Called when an associated text input UI control requests the language from the input panel, requesting for language code.
/// </param>
+ /// <since_tizen> 4 </since_tizen>
public static void SetLanguageRequestedCallback(OutAction<string> languageRequested)
{
_imeLanguageRequestedDelegate = (IntPtr userData, out IntPtr langCode) =>
/// 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>
+ /// <since_tizen> 4 </since_tizen>
public static void SetProcessKeyCallback(BoolAction<KeyCode, KeyMask, InputMethodDeviceInformation> processKey)
{
_imeProcessKeyDelegate = (KeyCode keyCode, KeyMask keyMask, IntPtr devInfo, IntPtr userData) =>
/// <param name="imDataRequested">
/// Called when an associated text input UI control requests the application specific data from the input panel, requesting for data array and it's length.
/// </param>
+ /// <since_tizen> 4 </since_tizen>
public static void SetDataRequestedCallback(OutArrayAction<byte> imDataRequested)
{
_imeImDataRequestedDelegate = (IntPtr userData, out IntPtr data, out uint dataLength) =>
/// <param name="geometryRequested">
/// Called when an associated text input UI control requests the position and size from the input panel, requesting for x,y,w,h values.
/// </param>
+ /// <since_tizen> 4 </since_tizen>
public static void SetGeometryRequestedCallback(OutAction<Rect> geometryRequested)
{
_imeGeometryRequestedDelegate = (IntPtr userData, out int x, out int y, out int w, out int h) =>
/// 1) The application does not have the privilege to call this function
/// 2) Operation failed
/// </exception>
+ /// <since_tizen> 4 </since_tizen>
public static void Run(Action create, Action terminate, Action<ContextId, InputMethodContext> show, Action<ContextId> hide)
{
_userCreate = create;
/// 1) The application does not have the privilege to call this function
/// 2) IME main loop isn't started yet
/// </exception>
+ /// <since_tizen> 4 </since_tizen>
public static void SendKeyEvent(KeyCode keyCode, KeyMask keyMask, bool forwardKey = false)
{
ErrorCode error = ImeSendKeyEvent(keyCode, keyMask, forwardKey);
/// 1) The application does not have the privilege to call this function
/// 2) IME main loop isn't started yet
/// </exception>
+ /// <since_tizen> 4 </since_tizen>
public static void CommitString(string str)
{
ErrorCode error = ImeCommitString(str);
/// 1) The application does not have the privilege to call this function
/// 2) IME main loop isn't started yet
/// </exception>
+ /// <since_tizen> 4 </since_tizen>
public static void ShowPreEditString()
{
ErrorCode error = ImeShowPreeditString();
/// 1) The application does not have the privilege to call this function
/// 2) IME main loop isn't started yet
/// </exception>
+ /// <since_tizen> 4 </since_tizen>
public static void HidePreEditString()
{
ErrorCode error = ImeHidePreeditString();
/// 2) IME main loop isn't started yet
/// 3) Invalid Parameter
/// </exception>
+ /// <since_tizen> 4 </since_tizen>
public static void UpdatePreEditString(string str, IEnumerable<PreEditAttribute> attrs)
{
IntPtr einaList = IntPtr.Zero;
/// <postcondition>
/// The requested surrounding text can be received using the SurroundingTextUpdated Event, only if it is set.
/// </postcondition>
+ /// <since_tizen> 4 </since_tizen>
public static void RequestSurroundingText(int maxLenBefore, int maxLenAfter)
{
ErrorCode error = ImeRequestSurroundingText(maxLenBefore, maxLenAfter);
/// 2) IME main loop isn't started yet
/// 3) Invalid Parameter
/// </exception>
+ /// <since_tizen> 4 </since_tizen>
public static void DeleteSurroundingText(int offset, int len)
{
ErrorCode error = ImeDeleteSurroundingText(offset, len);
/// 3) Invalid Parameter
/// 4) Failed to obtain text due to out of memory
/// </exception>
+ /// <since_tizen> 4 </since_tizen>
public static void GetSurroundingText(int maxLenBefore, int maxLenAfter, out string text, out int cursorPosition)
{
IntPtr txt;
/// 2) IME main loop isn't started yet
/// 3) Invalid Parameter
/// </exception>
+ /// <since_tizen> 4 </since_tizen>
public static void SetSelection(int start, int end)
{
ErrorCode error = ImeSetSelection(start, end);
/// 2) IME main loop isn't started yet
/// 3) Operation Failed
/// </exception>
+ /// <since_tizen> 4 </since_tizen>
public static EditorWindow GetMainWindow()
{
EditorWindow._handle = ImeGetMainWindow();
/// 1) The application does not have the privilege to call this function
/// 2) Operation Failed
/// </exception>
+ /// <since_tizen> 4 </since_tizen>
public static void Create()
{
ErrorCode error = ImeInitialize();
/// 1) The application does not have the privilege to call this function
/// 2) Operation Failed
/// </exception>
+ /// <since_tizen> 4 </since_tizen>
public static void Destroy()
{
ErrorCode error = ImeFinalize();
/// <summary>
/// This Class contains data related to LanguageSet Event
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public class LanguageSetEventArgs
{
internal LanguageSetEventArgs(InputPanelLanguage language)
/// <summary>
/// The preferred language that the client application wants
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public InputPanelLanguage Language
{
get;
/// <summary>
/// This Class contains data related to LayoutSet Event
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public class LayoutSetEventArgs
{
internal LayoutSetEventArgs(InputPanelLayout layout)
/// <summary>
/// The input panel layout
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public InputPanelLayout Layout
{
get;
/// <summary>
/// Enumeration for Attribute Type
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public enum AttributeType
{
/// <summary>
/// <summary>
/// This class represents the attributes for preedit string.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public class PreEditAttribute
{
/// <summary>
/// The start position in the string of this attribute
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public uint Start
{
get;
/// <summary>
/// The character length of this attribute, the range is [Start, Start+Length]
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public uint Length
{
get;
/// <summary>
/// The type of this attribute
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public AttributeType Type
{
get;
/// <summary>
/// The value of this attribute
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public uint Value
{
get;
/// <summary>
/// This Class contains data related to ReturnKeyStateSet Event
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public class ReturnKeyStateSetEventArgs
{
internal ReturnKeyStateSetEventArgs(bool state)
/// <summary>
/// The bool state to disable Return key. The Return key is enabled by default
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public bool State
{
get;
/// <summary>
/// This Class contains data related to ReturnKeySet Event
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public class ReturnKeySetEventArgs
{
internal ReturnKeySetEventArgs(InputPanelReturnKey type)
/// <summary>
/// The type of Return key on the input panel
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public InputPanelReturnKey Type
{
get;
/// <summary>
/// This Class contains data related to RotationChanged Event
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public class RotationChangedEventArgs
{
internal RotationChangedEventArgs(int degree)
/// <summary>
/// The rotation degree
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public int Degree
{
get;
/// <summary>
/// This Class contains data related to SurroundingTextUpdated Event
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public class SurroundingTextUpdatedEventArgs
{
internal SurroundingTextUpdatedEventArgs(int contextId, string text, int cursorPos)
/// <summary>
/// The input context identification value of an associated text input UI control
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public int ContextId
{
get;
/// <summary>
/// The cursor position
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public int CursorPosition
{
get;
/// <summary>
/// The string requested
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public string Text
{
get;
/// The manager is a module for managing the installed IMEs.
/// IME developers can use this module to open the installed IME list or the selector menu after their IME installation, and then guide to select the installed IME.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public static class Manager
{
/// <summary>
/// 1) The application does not have the privilege to call this function.
/// 2) Operation failed.
/// </exception>
+ /// <since_tizen> 3 </since_tizen>
public static void ShowIMEList()
{
ErrorCode error = ImeManagerShowImeList();
/// 1) The application does not have the privilege to call this function.
/// 2) Operation failed.
/// </exception>
+ /// <since_tizen> 3 </since_tizen>
public static void ShowIMESelector()
{
ErrorCode error = ImeManagerShowImeSelector();
/// 1) The application does not have the privilege to call this function.
/// 2) Operation failed.
/// </exception>
+ /// <since_tizen> 3 </since_tizen>
public static bool IsIMEEnabled(string appId)
{
bool isIMEEnabled;
/// 1) The application does not have the privilege to call this function.
/// 2) Operation failed.
/// </exception>
+ /// <since_tizen> 3 </since_tizen>
public static string GetActiveIME()
{
string activeIME;
/// 1) The application does not have the privilege to call this function.
/// 2) Operation failed.
/// </exception>
+ /// <since_tizen> 3 </since_tizen>
public static int GetEnabledIMECount()
{
int activeIME = ImeManagerGetEnabledImeCount();
/// <summary>
/// This class holds information related to the STT ErrorOccurred event.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public class ErrorOccurredEventArgs
{
private IntPtr _handle;
/// <summary>
/// The error value.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public Error ErrorValue
{
get;
/// <summary>
/// Gets the current error message.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
/// <returns>
/// String error message.
/// </returns>
/// <summary>
/// Event to be invoked when an error occurs.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public event EventHandler<ErrorOccurredEventArgs> ErrorOccurred
{
add
/// The language is specified as an ISO 3166 alpha-2 two letter country-code followed by ISO 639-1 for the two-letter language code.
/// For example, "ko_KR" for Korean, "en_US" for American English.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
/// <privilege>
/// http://tizen.org/privilege/recorder
/// </privilege>
/// <summary>
/// Enumeration for audio type.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public enum AudioType
{
/// <summary>
/// <summary>
/// Enumeration for result.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public enum ResultEvent
{
/// <summary>
/// <summary>
/// Enumeration for result time.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public enum TimeEvent
{
/// <summary>
/// <summary>
/// Enumeration for speech status.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public enum SpeechStatus
{
/// <summary>
/// <summary>
/// Enumeration representing the result message
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public enum ResultMessage
{
/// <summary>
/// <summary>
/// Enum for Error values that can occur
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public enum Error
{
/// <summary>
/// <summary>
/// This Class represents the Stt Engine which has to be inherited to make the engine.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public abstract class Engine
{
private CallbackStructGCHandle _callbackStructGCHandle = new CallbackStructGCHandle();
/// <param name="a">The Input Parameter 1</param>
/// <param name="b">The Input Parameter 2</param>
/// <returns>Error Value</returns>
+ /// <since_tizen> 4 </since_tizen>
public delegate Error Action<T>(T a, T b);
/// <summary>
/// <param name="a">The Input Parameter 1</param>
/// <param name="b">The Input Parameter 2</param>
/// <returns>Error Value</returns>
+ /// <since_tizen> 4 </since_tizen>
public delegate Error OutAction<T>(T a, out T b);
/// <summary>
/// <param name="userData">The User data</param>
/// <returns>true to continue with the next iteration of the loop, false to break out of the loop</returns>
/// <precondition>SendResult() should be called.</precondition>
+ /// <since_tizen> 4 </since_tizen>
public delegate bool ResultTime(int index, TimeEvent resultEvent, string text, long startTime, long endTime, IntPtr userData);
/// <summary>
/// <param name="userData">The User data</param>
/// <returns>true to continue with the next iteration of the loop, false to break out of the loop</returns>
/// <precondition>ForEachSupportedLanguages() should be called</precondition>
+ /// <since_tizen> 4 </since_tizen>
public delegate bool SupportedLanguages(string language, IntPtr userData);
/// <summary>
/// 2. OperationFailed
/// 3. InvalidParameter
/// </returns>
+ /// <since_tizen> 4 </since_tizen>
public abstract Error GetInformation(out string engineUuid, out string engineName, out string engineSetting, out bool useNetwork);
/// <summary>
/// 3. InvalidState
/// 4. OperationFailed
/// </returns>
+ /// <since_tizen> 4 </since_tizen>
public abstract Error Initialize();
/// <summary>
/// 1. None
/// 2. InvalidState
/// </returns>
+ /// <since_tizen> 4 </since_tizen>
public abstract Error Deinitialize();
/// <summary>
/// <postcondition>
/// This callback function invokes SupportedLanguages repeatedly for getting supported languages.
/// </postcondition>
+ /// <since_tizen> 4 </since_tizen>
public abstract Error ForEachSupportedLanguages(SupportedLanguages callback, IntPtr userData);
/// <summary>
/// 1. None
/// 2. InvalidParameter
/// </returns>
+ /// <since_tizen> 4 </since_tizen>
public abstract Error IsValidLanguage(string language, out bool isValid);
/// <summary>
/// Called when the engine service user checks whether Stt engine supports silence detection.
/// </summary>
/// <returns>true to support silence detection, false not to support silence detection</returns>
+ /// <since_tizen> 4 </since_tizen>
public abstract bool SupportSilenceDetection();
/// <summary>
/// 1. None
/// 2. InvalidParameter
/// </returns>
+ /// <since_tizen> 4 </since_tizen>
public abstract Error SupportRecognitionType(string type, out bool isSupported);
/// <summary>
/// 1. None
/// 2. InvalidState
/// </returns>
+ /// <since_tizen> 4 </since_tizen>
public abstract Error GetRecordingFormat(out AudioType types, out int rate, out int channels);
/// <summary>
/// 2. InvalidState
/// 3. NotSupportedFeature
/// </returns>
+ /// <since_tizen> 4 </since_tizen>
public abstract Error SetSilenceDetection(bool isSet);
/// <summary>
/// 2. InvalidState
/// 3. NotSupportedFeature
/// </returns>
+ /// <since_tizen> 4 </since_tizen>
public abstract Error CheckAppAgreed(string appid, out bool isAgreed);
/// <summary>
/// Called when the engine service user checks whether Stt engine needs the application's credential.
/// </summary>
/// <returns>true if Stt engine needs the application's credential, otherwise false </returns>
+ /// <since_tizen> 4 </since_tizen>
public abstract bool NeedAppCredential();
/// <summary>
/// <postcondition>
/// This function invokes ResultTime repeatedly for getting result time information.
/// </postcondition>
+ /// <since_tizen> 4 </since_tizen>
public abstract Error ForEachResultTime(IntPtr timeInfo, ResultTime callback, IntPtr userData);
/// <summary>
/// <precondition>
/// The engine is not in recognition processing.
/// </precondition>
+ /// <since_tizen> 4 </since_tizen>
public abstract Error Start(string language, string type, string appid, string credential, IntPtr userData);
/// <summary>
/// Start should succeed</precondition>
/// <postcondition>
/// If the engine supports partial result, SendResult() should be invoked.</postcondition>
+ /// <since_tizen> 4 </since_tizen>
public abstract Error SetRecordingData(string data, uint length);
/// <summary>
/// Start should succeed</precondition>
/// <postcondition>
/// After processing of the engine, , SendResult() should be invoked.</postcondition>
+ /// <since_tizen> 4 </since_tizen>
public abstract Error Stop();
/// <summary>
/// 2. InvalidState
/// </returns>
/// <precondition>Stt engine is in recognition processing or recording.</precondition>
+ /// <since_tizen> 4 </since_tizen>
public abstract Error Cancel();
/// <summary>
/// http://tizen.org/feature/speech.recognition
/// http://tizen.org/feature/microphone
/// </feature>
+ /// <since_tizen> 4 </since_tizen>
public Engine()
{
_engine = this;
/// <exception cref="UnauthorizedAccessException">Thrown in case of Permission denied</exception>
/// <exception cref="NotSupportedException">Thrown in case of Not supported</exception>
/// <exception cref="InvalidOperationException">thrown in case of Operation failure</exception>
+ /// <since_tizen> 4 </since_tizen>
public void EngineMain(int argc, string[] argv)
{
_callbackStructGCHandle.CallbackStruct.version = 1;
/// <postcondition>
/// This function invokes ForEachResultTime
/// </postcondition>
+ /// <since_tizen> 4 </since_tizen>
public void SendResult(ResultEvent resultEvent, string type, string[] result, int resultCount, ResultMessage msg, IntPtr timeInfo)
{
if ((result != null) && (result.Length != 0))
/// <precondition>
/// Main function should be invoked before this function is called.
/// </precondition>
+ /// <since_tizen> 4 </since_tizen>
public void SendError(Error error, string msg)
{
Error err = STTESendError(error, msg);
/// <precondition>
/// Main function should be invoked before this function is called. Start() and SetRecordingData() will invoke this function.
/// </precondition>
+ /// <since_tizen> 4 </since_tizen>
public void SendSpeechStatus(SpeechStatus status)
{
Error error = STTESendSpeechStatus(status, IntPtr.Zero);
/// <precondition>
/// Main function should be invoked before this function is called.
/// </precondition>
+ /// <since_tizen> 4 </since_tizen>
public void SetPrivateDataSetDelegate(Action<string> callback)
{
if (null == callback)
/// <precondition>
/// Main function should be invoked before this function is called.
/// </precondition>
+ /// <since_tizen> 4 </since_tizen>
public void SetPrivateDataRequestedDelegate(OutAction<string> callback)
{
if (null == callback)
/// <summary>
/// This class holds information related to the TTS ErrorOccurred event.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public class ErrorOccurredEventArgs
{
private IntPtr _handle;
/// <summary>
/// The utterance ID.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public int UtteranceId
{
get;
/// <summary>
/// The error value.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public Error ErrorValue
{
get;
/// <summary>
/// Gets the current error message.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
/// <returns>
/// String error message.
/// </returns>
/// <summary>
/// Event to be invoked when an error occurs.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public event EventHandler<ErrorOccurredEventArgs> ErrorOccurred
{
add
/// <summary>
/// Enumeration for audio type.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public enum AudioType
{
/// <summary>
/// <summary>
/// Enumeration for result.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public enum ResultEvent
{
/// <summary>
/// <summary>
/// Enumeration for Voice Type
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public enum VoiceType
{
/// <summary>
/// <summary>
/// Enum for Error values that can occur
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public enum Error
{
/// <summary>
/// <summary>
/// This Class represents the Tts Engine which has to be inherited to make the engine.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public abstract class Engine
{
private CallbackStructGCHandle _callbackStructGCHandle = new CallbackStructGCHandle();
/// <param name="a">The Input Parameter 1</param>
/// <param name="b">The Input Parameter 2</param>
/// <returns>Error Value</returns>
+ /// <since_tizen> 4 </since_tizen>
public delegate Error Action<T>(T a, T b);
/// <summary>
/// <param name="a">The Input Parameter 1</param>
/// <param name="b">The Input Parameter 2</param>
/// <returns>Error Value</returns>
+ /// <since_tizen> 4 </since_tizen>
public delegate Error OutAction<T>(T a, out T b);
/// <summary>
/// <param name="userData">The user data passed from ForEachSupportedVoices()</param>
/// <returns>true to continue with the next iteration of the loop false to break out of the loop</returns>
/// <precondition>ForEachSupportedVoices() will invoke this callback function.</precondition>
+ /// <since_tizen> 4 </since_tizen>
public delegate bool SupportedVoice(string language, VoiceType type, IntPtr userData);
/// <summary>
/// 7. PermissionDenied
/// </returns>
/// <postcondition>This function invokes SendResult()</postcondition>
+ /// <since_tizen> 4 </since_tizen>
public abstract Error StartSynthesis(string language, int type, string text, int speed, string appid, string credential, IntPtr userData);
/// <summary>
/// 1. None
/// 2. InvalidState
/// </returns>
+ /// <since_tizen> 4 </since_tizen>
public abstract Error GetInformation(out string engineUuid, out string engineName, out string engineSetting, out bool useNetwork);
/// <summary>
/// 3. NotSupportedFeature
/// 4. PermissionDenied
/// </returns>
+ /// <since_tizen> 4 </since_tizen>
public abstract Error Initialize();
/// <summary>
/// 1. None
/// 2. InvalidState
/// </returns>
+ /// <since_tizen> 4 </since_tizen>
public abstract Error Deinitialize();
/// <summary>
/// 2. OperationFailed
/// </returns>
/// <postcondition>This callback function invokes SupportedVoice() repeatedly for getting all supported voices.</postcondition>
+ /// <since_tizen> 4 </since_tizen>
public abstract Error ForEachSupportedVoices(SupportedVoice callback, IntPtr userData);
/// <summary>
/// 1. None
/// 2. InvalidParameter
/// </returns>
+ /// <since_tizen> 4 </since_tizen>
public abstract Error IsValidVoice(string language, int type, out bool isValid);
/// <summary>
/// 3. OperationFailed
/// 4. InvalidParameter
/// </returns>
+ /// <since_tizen> 4 </since_tizen>
public abstract Error SetPitch(int pitch);
/// <summary>
/// 5. InvalidParameter
/// 6. OutOfMemory
/// </returns>
+ /// <since_tizen> 4 </since_tizen>
public abstract Error LoadVoice(string language, int type);
/// <summary>
/// 4. InvalidVoice
/// 5. InvalidParameter
/// </returns>
+ /// <since_tizen> 4 </since_tizen>
public abstract Error UnloadVoice(string language, int type);
/// <summary>
/// 3. NotSupportedFeature
/// 4. InvalidParameter
/// </returns>
+ /// <since_tizen> 4 </since_tizen>
public abstract Error CheckAppAgreed(string appid, out bool isAgreed);
/// <summary>
/// Called when the engine service user checks whether TTS engine needs the application's credential.
/// </summary>
/// <returns> true if TTS engine needs the application's credential, otherwise false </returns>
+ /// <since_tizen> 4 </since_tizen>
public abstract bool NeedAppCredential();
/// <summary>
/// <precondition>
/// StartSynthesis should be performed
/// </precondition>
+ /// <since_tizen> 4 </since_tizen>
public abstract Error CancelSynthesis();
/// <summary>
/// <feature>
/// http://tizen.org/feature/speech.synthesis
/// </feature>
+ /// <since_tizen> 4 </since_tizen>
public Engine()
{
_engine = this;
/// <param name="argv">The argument(original)</param>
/// <exception cref="NotSupportedException">Thrown in case of Not supported</exception>
/// <exception cref="InvalidOperationException">thrown in case of Operation failure</exception>
+ /// <since_tizen> 4 </since_tizen>
public void EngineMain(int argc, string[] argv)
{
_callbackStructGCHandle.CallbackStruct.version = 1;
/// <param name="max">The maximum speed value</param>
/// <exception cref="NotSupportedException">Thrown in case of Not supported</exception>
/// <exception cref="InvalidOperationException">thrown in case of Operation failure</exception>
+ /// <since_tizen> 4 </since_tizen>
public void GetSpeedRange(out int min, out int normal, out int max)
{
Error error = TTSEGetSpeedRange(out min, out normal, out max);
/// <param name="max">The maximum pitch value</param>
/// <exception cref="NotSupportedException">Thrown in case of Not supported</exception>
/// <exception cref="InvalidOperationException">thrown in case of Operation failure</exception>
+ /// <since_tizen> 4 </since_tizen>
public void GetPitchRange(out int min, out int normal, out int max)
{
Error error = TTSEGetPitchRange(out min, out normal, out max);
/// <precondition>
/// EngineMain function should be invoked before this function is called. StartSynthesis() will invoke this function.
/// </precondition>
+ /// <since_tizen> 4 </since_tizen>
public void SendResult(ResultEvent resultEvent, IntPtr data, int dataSize, AudioType audioType, int rate)
{
Error error = TTSESendResult(resultEvent, data, dataSize, audioType, rate, IntPtr.Zero);
/// <precondition>
/// EngineMain function should be invoked before this function is called.
/// </precondition>
+ /// <since_tizen> 4 </since_tizen>
public void SendError(Error error, string msg)
{
Error err = TTSESendError(error, msg);
/// <precondition>
/// Main function should be invoked before this function is called.
/// </precondition>
+ /// <since_tizen> 4 </since_tizen>
public void SetPrivateDataSetDelegate(Action<string> callback)
{
if (null == callback)
/// <precondition>
/// Main function should be invoked before this function is called.
/// </precondition>
+ /// <since_tizen> 4 </since_tizen>
public void SetPrivateDataRequestedDelegate(OutAction<string> callback)
{
if (null == callback)
/// <summary>
/// This class provides methods to initialize and shutdown Chromium-efl.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public static class Chromium
{
/// <summary>
/// Initializes Chromium's instance.
/// </summary>
/// <returns>A reference count of Chromium's instance</returns>
+ /// <since_tizen> 4 </since_tizen>
public static int Initialize()
{
return Interop.ChromiumEwk.ewk_init();
/// Decreases a reference count of WebKit's instance, possibly destroying it.
/// </summary>
/// <returns>A reference count of Chromium's instance</returns>
+ /// <since_tizen> 4 </since_tizen>
public static int Shutdown()
{
return Interop.ChromiumEwk.ewk_shutdown();
/// <summary>
/// Enumeration that contains option for cache model.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public enum CacheModel
{
/// <summary>
/// Applications have the option of creating a context different from the default one and using it for a group of pages.
/// All pages in the same context share the same preferences, visited link set, local storage, and so on.
/// </remarks>
+ /// <since_tizen> 4 </since_tizen>
public class Context
{
private IntPtr _handle;
/// <remarks>
/// The default cache model is DocumentViewer.
/// </remarks>
+ /// <since_tizen> 4 </since_tizen>
public CacheModel CacheModel
{
get
/// Gets the CookieManager object for this context.
/// </summary>
/// <returns>The CookieManager object</returns>
+ /// <since_tizen> 4 </since_tizen>
public CookieManager GetCookieManager()
{
if (_cookieManager == null)
/// <summary>
/// Enumeration that contains accept policies for the cookies.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public enum CookieAcceptPolicy
{
/// <summary>
/// <summary>
/// Enumeration that creates a type name for the storage of persistent cookies.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public enum CookiePersistentStorage
{
/// <summary>
/// <summary>
/// This class provides methods for the cookie manager.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public class CookieManager
{
private IntPtr _handle;
/// By default, only cookies set by the main document loaded are accepted.
/// </remarks>
/// <param name="policy">The cookie acceptance policy</param>
+ /// <since_tizen> 4 </since_tizen>
public void SetCookieAcceptPolicy(CookieAcceptPolicy policy)
{
Interop.ChromiumEwk.ewk_cookie_manager_accept_policy_set(_handle, (Interop.ChromiumEwk.CookieAcceptPolicy)policy);
/// <summary>
/// Deletes all the cookies.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public void ClearCookies()
{
Interop.ChromiumEwk.ewk_cookie_manager_cookies_clear(_handle);
/// <privilege>http://tizen.org/privilege/externalstorage</privilege>
/// <param name="path">The path where to read/write Cookies</param>
/// <param name="storage">The type of storage</param>
+ /// <since_tizen> 4 </since_tizen>
public void SetPersistentStorage(string path, CookiePersistentStorage storage)
{
Interop.ChromiumEwk.ewk_cookie_manager_persistent_storage_set(_handle, path, (Interop.ChromiumEwk.CookiePersistentStorage)storage);
/// The callback function that is invoked when the message is received from the script.
/// </summary>
/// <param name="message">The JavaScriptMessage returned by the script</param>
+ /// <since_tizen> 4 </since_tizen>
public delegate void JavaScriptMessageHandler(JavaScriptMessage message);
/// <summary>
/// A Script message contains information that sent from JavaScript runtime.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public class JavaScriptMessage
{
private string _name;
/// <summary>
/// Obect name in JavaScript.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public string Name
{
get
/// Gets the value of body as integer type.
/// </summary>
/// <returns>The value of body as integer type</returns>
+ /// <since_tizen> 4 </since_tizen>
public int GetBodyAsInteger()
{
if (_body == IntPtr.Zero)
/// Gets the value of body as double type.
/// </summary>
/// <returns>The value of body as double type</returns>
+ /// <since_tizen> 4 </since_tizen>
public double GetBodyAsDouble()
{
if (_body == IntPtr.Zero)
/// Gets the value of body as boolean type.
/// </summary>
/// <returns>The value of body as boolean type</returns>
+ /// <since_tizen> 4 </since_tizen>
public bool GetBodyAsBoolean()
{
if (_body == IntPtr.Zero)
/// Gets the value of body as string type.
/// </summary>
/// <returns>The value of body as string type</returns>
+ /// <since_tizen> 4 </since_tizen>
public string GetBodyAsString()
{
if (_body == IntPtr.Zero)
/// <summary>
/// This class provides properties for setting the preference of a specific WebView.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public class Settings
{
private IntPtr _handle;
/// <summary>
/// Whether JavaScript can be executable.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public bool JavaScriptEnabled
{
get
/// <summary>
/// Whether images can be loaded automatically.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public bool LoadImageAutomatically
{
get
/// <summary>
/// The default text encoding name.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public string DefaultTextEncodingName
{
get
/// <summary>
/// The default font size of a pixel.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public int DefaultFontSize
{
get
/// <summary>
/// Argument from the SmartCallback.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public class SmartCallbackArgs : EventArgs
{
private IntPtr _arg;
/// Gets argument as integer type.
/// </summary>
/// <returns>Argument as integer type</returns>
+ /// <since_tizen> 4 </since_tizen>
public int GetAsInteger()
{
if (_arg == IntPtr.Zero)
/// Gets argument as double type.
/// </summary>
/// <returns>Argument as double type</returns>
+ /// <since_tizen> 4 </since_tizen>
public double GetAsDouble()
{
if (_arg == IntPtr.Zero)
/// Gets argument as boolean type.
/// </summary>
/// <returns>Argument as boolean type</returns>
+ /// <since_tizen> 4 </since_tizen>
public bool GetAsBoolean()
{
if (_arg == IntPtr.Zero)
/// Gets argument as string type.
/// </summary>
/// <returns>Argument as string type</returns>
+ /// <since_tizen> 4 </since_tizen>
public string GetAsString()
{
if (_arg == IntPtr.Zero)
/// <summary>
/// Enumeration that provides an option to error codes.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public enum LoadErrorCode
{
/// <summary>
/// <summary>
/// Argument from the LoadError SmartCallback.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public class SmartCallbackLoadErrorArgs : EventArgs
{
IntPtr _handle;
/// <summary>
/// Failing URL for the error.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public string Url
{
get
/// <summary>
/// The error code.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public LoadErrorCode Code
{
get
/// <summary>
/// The description for the error.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public string Description
{
get
/// <summary>
/// Whether the error should be treated as a cancellation.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public bool Cancellation
{
get
/// <summary>
/// A view used to render web contents.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public class WebView: EvasObject
{
private static IDictionary<string, JavaScriptMessageHandler> _javaScriptMessageHandlerMap = new Dictionary<string, JavaScriptMessageHandler>();
/// <summary>
/// Event that occurs when load started.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public event EventHandler LoadStarted;
/// <summary>
/// Event that occurs when load finished.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public event EventHandler LoadFinished;
/// <summary>
/// Event that occurs when load error.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public event EventHandler<SmartCallbackLoadErrorArgs> LoadError;
/// <summary>
/// Event that occurs when title of main frame was changed.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public event EventHandler<SmartCallbackArgs> TitleChanged;
/// <summary>
/// Event that occurs when URL of main frame was changed.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public event EventHandler<SmartCallbackArgs> UrlChanged;
/// <summary>
/// Current URL of the main frame.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public string Url
{
get
/// <summary>
/// Current title of the main frame.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public string Title
{
get
/// <summary>
/// Current user agent string of this view.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public string UserAgent
{
get
/// <summary>
/// Whether a view has the focus.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public bool HasFocus
{
get
/// Create a WebView object.
/// </summary>
/// <param name="parent">Parent object of WebView</param>
+ /// <since_tizen> 4 </since_tizen>
public WebView(EvasObject parent) : base(parent)
{
InitializeSmartEvent();
/// Gets the Context object of this view.
/// </summary>
/// <returns>The Context object of this view</returns>
+ /// <since_tizen> 4 </since_tizen>
public Context GetContext()
{
if (_context == null)
/// Gets the Settings object of this view.
/// </summary>
/// <returns>The Settings object of this view</returns>
+ /// <since_tizen> 4 </since_tizen>
public Settings GetSettings()
{
if (_settings == null)
/// You can only be sure that url changed after UrlChanged event.
/// </remarks>
/// <param name="url">The uniform resource identifier to load</param>
+ /// <since_tizen> 4 </since_tizen>
public void LoadUrl(string url)
{
Interop.ChromiumEwk.ewk_view_url_set(_realHandle, url);
/// </summary>
/// <param name="html">HTML data to load</param>
/// <param name="baseUrl">Base URL used for relative paths to external objects</param>
+ /// <since_tizen> 4 </since_tizen>
public void LoadHtml(string html, string baseUrl)
{
Interop.ChromiumEwk.ewk_view_html_string_load(_realHandle, html, baseUrl, null);
/// <summary>
/// Asks the main frame to stop loading.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public void StopLoading()
{
Interop.ChromiumEwk.ewk_view_stop(_realHandle);
/// <summary>
/// Asks the main frame to reload the current document.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public void Reload()
{
Interop.ChromiumEwk.ewk_view_reload(_realHandle);
/// <summary>
/// Asks the main frame to navigate back in history.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public void GoBack()
{
Interop.ChromiumEwk.ewk_view_back(_realHandle);
/// <summary>
/// Asks the main frame to navigate forward in history.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public void GoForward()
{
Interop.ChromiumEwk.ewk_view_forward(_realHandle);
/// Checks whether it is possible to navigate backwards one item in history.
/// </summary>
/// <returns>Whether it is possible to navigate backwards one item in history</returns>
+ /// <since_tizen> 4 </since_tizen>
public bool CanGoBack()
{
return Interop.ChromiumEwk.ewk_view_back_possible(_realHandle);
/// Checks whether it is possible to navigate forwards one item in history.
/// </summary>
/// <returns>Whether it is possible to navigate forwards one item in history</returns>
+ /// <since_tizen> 4 </since_tizen>
public bool CanGoForward()
{
return Interop.ChromiumEwk.ewk_view_forward_possible(_realHandle);
/// <param name="name"> The message callback</param>
/// <param name="handler">The name used to expose the object in JavaScript</param>
/// <returns>'true' on success, otherwise 'false'</returns>
+ /// <since_tizen> 4 </since_tizen>
public bool AddJavaScriptMessageHandler(string name, JavaScriptMessageHandler handler)
{
lock (_javaScriptMessageHandlerMap)
/// </summary>
/// <param name="name">The name used to expose the object in JavaScript</param>
/// <param name="result">The result to the JavaScript runtime</param>
+ /// <since_tizen> 4 </since_tizen>
public void EvalWithResult(string name, string result)
{
Interop.ChromiumEwk.ewk_view_evaluate_javascript(_realHandle, name, result);
/// Requests the execution of the given script.
/// </summary>
/// <param name="script">The JavaScript code string to execute</param>
+ /// <since_tizen> 4 </since_tizen>
public void Eval(string script)
{
Interop.ChromiumEwk.ewk_view_script_execute(_realHandle, script, null, IntPtr.Zero);
/// Requests to set or unset a view as the currently focused one.
/// </summary>
/// <param name="focused">'true' to set the focus on the view, 'false' to remove the focus from the view</param>
+ /// <since_tizen> 4 </since_tizen>
public void SetFocus(bool focused)
{
Interop.ChromiumEwk.ewk_view_focus_set(_realHandle, focused);
/// </summary>
/// <param name="parent">Parent EvasObject</param>
/// <returns>IntPtr of the widget handle</returns>
+ /// <since_tizen> 4 </since_tizen>
protected override IntPtr CreateHandle(EvasObject parent)
{
// focus dummy
/// <summary>
/// Structure that represents a color as RGBA.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public struct Color : IEquatable<Color>
{
/// <summary>
/// Empty color instance. All components are 0.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public static readonly Color Empty = FromRgba(0, 0, 0, 0);
/// <summary>
/// Transparent color instance. All components are 0.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public static readonly Color Transparent = FromRgba(0, 0, 0, 0);
/// <summary>
/// Aqua color instance. Its RGB value is (0, 255, 255).
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public static readonly Color Aqua = FromRgb(0, 255, 255);
/// <summary>
/// Black color instance. Its RGB value is (0, 0, 0).
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public static readonly Color Black = FromRgb(0, 0, 0);
/// <summary>
/// Blue color instance. Its RGB value is (0, 0, 255).
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public static readonly Color Blue = FromRgb(0, 0, 255);
/// <summary>
/// Fuchsia color instance. Its RGB value is (255, 0, 255).
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public static readonly Color Fuchsia = FromRgb(255, 0, 255);
/// <summary>
/// Gray color instance. Its RGB value is (128, 128, 128).
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public static readonly Color Gray = FromRgb(128, 128, 128);
/// <summary>
/// Green color instance. Its RGB value is (0, 128, 0).
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public static readonly Color Green = FromRgb(0, 128, 0);
/// <summary>
/// Lime color instance. Its RGB value is (0, 255, 0).
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public static readonly Color Lime = FromRgb(0, 255, 0);
/// <summary>
/// Maroon color instance. Its RGB value is (128, 0, 0).
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public static readonly Color Maroon = FromRgb(128, 0, 0);
/// <summary>
/// Navy color instance. Its RGB value is (0, 0, 128).
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public static readonly Color Navy = FromRgb(0, 0, 128);
/// <summary>
/// Olive color instance. Its RGB value is (128, 128, 0).
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public static readonly Color Olive = FromRgb(128, 128, 0);
/// <summary>
/// Purple color instance. Its RGB value is (128, 0, 128).
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public static readonly Color Purple = FromRgb(128, 0, 128);
/// <summary>
/// Pink color instance. Its RGB value is (255, 102, 255).
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public static readonly Color Pink = FromRgb(255, 102, 255);
/// <summary>
/// Red color instance. Its RGB value is (255, 0, 0).
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public static readonly Color Red = FromRgb(255, 0, 0);
/// <summary>
/// Silver color instance. Its RGB value is (192, 192, 192).
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public static readonly Color Silver = FromRgb(192, 192, 192);
/// <summary>
/// Teal color instance. Its RGB value is (0, 128, 128).
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public static readonly Color Teal = FromRgb(0, 128, 128);
/// <summary>
/// White color instance. Its RGB value is (255, 255, 255).
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public static readonly Color White = FromRgb(255, 255, 255);
/// <summary>
/// Yellow color instance. Its RGB value is (255, 255, 0).
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public static readonly Color Yellow = FromRgb(255, 255, 0);
private int _value;
/// <param name="g">Green (0 ~ 255)</param>
/// <param name="b">Blue (0 ~ 255)</param>
/// <param name="a">Alpha (0 ~ 255)</param>
+ /// <since_tizen> 3 </since_tizen>
public Color(int r, int g, int b, int a)
{
if (r > 255 || r < 0)
/// <param name="r">Red (0 ~ 255)</param>
/// <param name="g">Green (0 ~ 255)</param>
/// <param name="b">Blue (0 ~ 255)</param>
+ /// <since_tizen> 3 </since_tizen>
public Color(int r, int g, int b) : this(r, g, b, 255)
{
}
/// <summary>
/// Gets the Red component of the color.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public int R
{
get { return (byte)(_value >> 24); }
/// <summary>
/// Gets the Green component of the color.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public int G
{
get { return (byte)(_value >> 16); }
/// <summary>
/// Gets the blue component of the color.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public int B
{
get { return (byte)(_value >> 8); }
/// <summary>
/// Gets the alpha component of the color.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public int A
{
get { return (byte)_value; }
/// <param name="color1">The first Color to compare.</param>
/// <param name="color2">The second Color to compare.</param>
/// <returns>True if the Colors are equal; False otherwise.</returns>
+ /// <since_tizen> 3 </since_tizen>
public static bool operator ==(Color color1, Color color2)
{
return color1.Equals(color2);
/// <param name="color1">The first Color to compare.</param>
/// <param name="color2">The second Color to compare.</param>
/// <returns>True if the Colors are not equal; False if they are equal.</returns>
+ /// <since_tizen> 3 </since_tizen>
public static bool operator !=(Color color1, Color color2)
{
return !color1.Equals(color2);
/// <param name="g">The green component of the color.</param>
/// <param name="b">The blue component of the color.</param>
/// <returns></returns>
+ /// <since_tizen> 3 </since_tizen>
public static Color FromRgb(int r, int g, int b)
{
return new Color(r, g, b);
/// <param name="b">The blue component of the color.</param>
/// <param name="a">The alpha component of the color.</param>
/// <returns>the RGBA color instance.</returns>
+ /// <since_tizen> 3 </since_tizen>
public static Color FromRgba(int r, int g, int b, int a)
{
return new Color(r, g, b, a);
/// </summary>
/// <param name="hex">A string that contains the hexadecimal RGB(A) color representation.</param>
/// <returns>the RGBA color instance.</returns>
+ /// <since_tizen> 3 </since_tizen>
public static Color FromHex(string hex)
{
if (hex == null)
/// <summary>
/// Gets the 32-bits RGBA value of the color.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public int GetRgba()
{
return _value;
/// <summary>
/// Gets the 32-bits ARGB value of the color.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public int GetArgb()
{
return (int)((uint)A << 24 | (uint)R << 16 | (uint)G << 8 | (uint)B);
/// Returns a string representation in Hex. (ex: \#FFFFFFFF in RGBA order)
/// </summary>
/// <returns>The string representation in Hex.</returns>
+ /// <since_tizen> 3 </since_tizen>
public string ToHex()
{
return "#" + _value.ToString("X8");
/// </summary>
/// <param name="other">The Color to compare this instance to.</param>
/// <returns>True if the other Color is equal to this instance; False otherwise.</returns>
+ /// <since_tizen> 3 </since_tizen>
public bool Equals(Color other)
{
return _value == other._value;
/// </summary>
/// <param name="obj">The Object to compare against.</param>
/// <returns>True if the Object is equal to this Color; False otherwise.</returns>
+ /// <since_tizen> 3 </since_tizen>
public override bool Equals(object obj)
{
if (obj is Color)
/// Returns a string representation of the Color.
/// </summary>
/// <returns>The string representation.</returns>
+ /// <since_tizen> 3 </since_tizen>
public override string ToString()
{
return string.Format("Color [R={0}, G={1}, B={2}, A={3}]", R, G, B, A);
/// Returns the hash code for this instance.
/// </summary>
/// <returns>The hash code.</returns>
+ /// <since_tizen> 3 </since_tizen>
public override int GetHashCode()
{
return _value.GetHashCode();
/// <summary>
/// The DotnetUtil class provides the .NET API version.
/// </summary>
+ /// <since_tizen> 4 </since_tizen>
public static class DotnetUtil
{
/// <summary>
/// Gets the version of Tizen .NET API.
/// </summary>
/// <returns>The Tizen .NET API version</returns>
+ /// <since_tizen> 4 </since_tizen>
public static int TizenAPIVersion
{
get
/// <summary>
/// Error codes used inside Tizen .NET API implementation
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public enum ErrorCode : int
{
/// <summary>
/// <summary>
/// Provides functions that return additional information about the <see cref="ErrorCode"/>
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public static class ErrorFacts
{
/// <summary>
/// Gets the last error code in the thread.
/// </summary>
/// <returns>One of <see cref="ErrorCode"/></returns>
+ /// <since_tizen> 3 </since_tizen>
public static int GetLastResult()
{
return Interop.CommonError.GetLastResult();
/// </summary>
/// <param name="errorCode">One of <see cref="ErrorCode"/></param>
/// <returns></returns>
+ /// <since_tizen> 3 </since_tizen>
public static string GetErrorMessage(int errorCode)
{
IntPtr errorPtr = Interop.CommonError.GetErrorMessage(errorCode);