<AllowUnsafeBlocks>True</AllowUnsafeBlocks>
<GenerateDocumentationFile>True</GenerateDocumentationFile>
<GenerateDependencyFile>False</GenerateDependencyFile>
- <NoWarn>$(NoWarn);1570;1587;1591</NoWarn>
+ <NoWarn>$(NoWarn)</NoWarn>
</PropertyGroup>
<PropertyGroup>
Name: csapi-tizenfx
Summary: Assemblies of Tizen .NET
-Version: 4.0.0.258
+Version: 4.0.0.267
Release: 1
Group: Development/Libraries
License: Apache-2.0
export DOTNET_SKIP_FIRST_TIME_EXPERIENCE=true
./build.sh --full
./build.sh --dummy
-./build.sh --pack 4.0.0-preview1-00258
+./build.sh --pack 4.0.0-preview1-00267
%install
mkdir -p %{buildroot}%{DOTNET_ASSEMBLY_PATH}
public interface IAccessibleRelation
{
+ /// <summary>
+ /// Gets or sets the target object.
+ /// </summary>
AccessibleObject Target { get; set; }
+
+ /// <summary>
+ /// Gets the type.
+ /// </summary>
int Type { get; }
}
namespace ElmSharp
{
+ /// <summary>
+ /// The AnimatorMotionMapper interface
+ /// </summary>
public interface AnimatorMotionMapper
{
+ /// <summary>
+ /// Maps an input position from 0.0 to 1.0 along a timeline to a position in a different curve
+ /// </summary>
double Caculate(double position);
}
+ /// <summary>
+ /// The LinearMotionMapper class
+ /// </summary>
public class LinearMotionMapper : AnimatorMotionMapper
{
+ /// <summary>
+ /// Maps an input position from 0.0 to 1.0 along a timeline to a position in a different curve
+ /// </summary>
public double Caculate(double position)
{
return Interop.Ecore.ecore_animator_pos_map(position, Interop.Ecore.PositionMap.Linear, 0, 0);
}
}
+ /// <summary>
+ /// The AccelerateMotionMapper class
+ /// </summary>
public class AccelerateMotionMapper : AnimatorMotionMapper
{
+ /// <summary>
+ /// Maps an input position from 0.0 to 1.0 along a timeline to a position in a different curve
+ /// </summary>
public double Caculate(double position)
{
return Interop.Ecore.ecore_animator_pos_map(position, Interop.Ecore.PositionMap.Accelerate, 0, 0);
}
}
+ /// <summary>
+ /// The DecelerateMotionMapper class
+ /// </summary>
public class DecelerateMotionMapper : AnimatorMotionMapper
{
+ /// <summary>
+ /// Maps an input position from 0.0 to 1.0 along a timeline to a position in a different curve
+ /// </summary>
public double Caculate(double position)
{
return Interop.Ecore.ecore_animator_pos_map(position, Interop.Ecore.PositionMap.Decelerate, 0, 0);
}
}
+ /// <summary>
+ /// The SinusoidalMotionMapper class
+ /// </summary>
public class SinusoidalMotionMapper : AnimatorMotionMapper
{
+ /// <summary>
+ /// Maps an input position from 0.0 to 1.0 along a timeline to a position in a different curve
+ /// </summary>
public double Caculate(double position)
{
return Interop.Ecore.ecore_animator_pos_map(position, Interop.Ecore.PositionMap.Sinusoidal, 0, 0);
}
}
+ /// <summary>
+ /// The AccelerateFactorMotionMapper class
+ /// </summary>
public class AccelerateFactorMotionMapper : AnimatorMotionMapper
{
+ /// <summary>
+ /// The power factor of AccelerateFactorMotionMapper
+ /// </summary>
public double PowerFactor { get; set; } = 0;
+ /// <summary>
+ /// Maps an input position from 0.0 to 1.0 along a timeline to a position in a different curve
+ /// </summary>
public double Caculate(double position)
{
return Interop.Ecore.ecore_animator_pos_map(position, Interop.Ecore.PositionMap.AccelerateFactor, PowerFactor, 0);
}
}
+ /// <summary>
+ /// The DecelerateFactorMotionMapper class
+ /// </summary>
public class DecelerateFactorMotionMapper : AnimatorMotionMapper
{
+ /// <summary>
+ /// The power factor of DecelerateFactorMotionMapper
+ /// </summary>
public double PowerFactor { get; set; } = 0;
+ /// <summary>
+ /// Maps an input position from 0.0 to 1.0 along a timeline to a position in a different curve
+ /// </summary>
public double Caculate(double position)
{
return Interop.Ecore.ecore_animator_pos_map(position, Interop.Ecore.PositionMap.DecelerateFactor, PowerFactor, 0);
}
}
+ /// <summary>
+ /// The SinusoidalFactorMotionMapper class
+ /// </summary>
public class SinusoidalFactorMotionMapper : AnimatorMotionMapper
{
+ /// <summary>
+ /// The power factor of SinusoidalFactorMotionMapper
+ /// </summary>
public double PowerFactor { get; set; } = 0;
+ /// <summary>
+ /// Maps an input position from 0.0 to 1.0 along a timeline to a position in a different curve
+ /// </summary>
public double Caculate(double position)
{
return Interop.Ecore.ecore_animator_pos_map(position, Interop.Ecore.PositionMap.SinusoidalFactor, PowerFactor, 0);
}
}
+ /// <summary>
+ /// The DivisorInterpolatedMotionMapper class
+ /// </summary>
public class DivisorInterpolatedMotionMapper : AnimatorMotionMapper
{
+ /// <summary>
+ /// The Divisor of DivisorInterpolatedMotionMapper
+ /// </summary>
public double Divisor { get; set; } = 0;
+
+ /// <summary>
+ /// The power of DivisorInterpolatedMotionMapper
+ /// </summary>
public double Power { get; set; } = 0;
+ /// <summary>
+ /// Maps an input position from 0.0 to 1.0 along a timeline to a position in a different curve
+ /// </summary>
public double Caculate(double position)
{
return Interop.Ecore.ecore_animator_pos_map(position, Interop.Ecore.PositionMap.DivisorInterp, Divisor, Power);
}
}
+ /// <summary>
+ /// The BounceMotionMapper class
+ /// </summary>
public class BounceMotionMapper : AnimatorMotionMapper
{
+ /// <summary>
+ /// The bounces of BounceMotionMapper
+ /// </summary>
public int Bounces { get; set; } = 0;
+
+ /// <summary>
+ /// The decay factor of BounceMotionMapper
+ /// </summary>
public double DecayFactor { get; set; } = 0;
+
+ /// <summary>
+ /// Maps an input position from 0.0 to 1.0 along a timeline to a position in a different curve
+ /// </summary>
public double Caculate(double position)
{
return Interop.Ecore.ecore_animator_pos_map(position, Interop.Ecore.PositionMap.Bounce, DecayFactor, Bounces);
}
}
+ /// <summary>
+ /// The SpringMotionMapper class
+ /// </summary>
public class SpringMotionMapper : AnimatorMotionMapper
{
+ /// <summary>
+ /// The wobbles of SpringMotionMapper
+ /// </summary>
public int Wobbles { get; set; } = 0;
+
+ /// <summary>
+ /// The decat factir of SpringMotionMapper
+ /// </summary>
public double DecayFactor { get; set; } = 0;
+ /// <summary>
+ /// Maps an input position from 0.0 to 1.0 along a timeline to a position in a different curve
+ /// </summary>
public double Caculate(double position)
{
return Interop.Ecore.ecore_animator_pos_map(position, Interop.Ecore.PositionMap.Bounce, DecayFactor, Wobbles);
}
}
+ /// <summary>
+ /// The CubicBezierMotionMapper class
+ /// </summary>
public class CubicBezierMotionMapper : AnimatorMotionMapper
{
+ /// <summary>
+ /// The X1 of CubicBezierMotionMapper
+ /// </summary>
public double X1 { get; set; } = 0;
+
+ /// <summary>
+ /// The Y1 of CubicBezierMotionMapper
+ /// </summary>
public double Y1 { get; set; } = 0;
+
+ /// <summary>
+ /// The X2 of CubicBezierMotionMapper
+ /// </summary>
public double X2 { get; set; } = 0;
+
+ /// <summary>
+ /// The Y2 of CubicBezierMotionMapper
+ /// </summary>
public double Y2 { get; set; } = 0;
+ /// <summary>
+ /// Maps an input position from 0.0 to 1.0 along a timeline to a position in a different curve
+ /// </summary>
public double Caculate(double position)
{
double[] values = { X1, Y1, X2, Y2 };
}
}
+ /// <summary>
+ /// Creates a widget handle.
+ /// </summary>
+ /// <param name="parent">Parent EvasObject</param>
+ /// <returns>Handle IntPtr</returns>
protected override IntPtr CreateHandle(EvasObject parent)
{
IntPtr handle = Interop.Elementary.elm_layout_add(parent.Handle);
Interop.Elementary.elm_box_padding_set(RealHandle, horizontal, vertical);
}
+ /// <summary>
+ /// Creates a widget handle.
+ /// </summary>
+ /// <param name="parent">Parent EvasObject</param>
+ /// <returns>Handle IntPtr</returns>
protected override IntPtr CreateHandle(EvasObject parent)
{
IntPtr handle = Interop.Elementary.elm_layout_add(parent.Handle);
}
}
+ /// <summary>
+ /// Delete the object color class.
+ /// </summary>
+ /// <param name="part">The color class to be deleted.</param>
[Obsolete("DeleteColorClass is obsolete, please use EdjeObject.DeleteColorClass(string)")]
public void DeleteColorClass(string part)
{
}
}
+ /// <summary>
+ /// Creates a widget handle.
+ /// </summary>
+ /// <param name="parent">Parent EvasObject</param>
+ /// <returns>Handle IntPtr</returns>
protected override IntPtr CreateHandle(EvasObject parent)
{
return Interop.Elementary.elm_button_add(parent.Handle);
{
var tm = new Interop.Libc.SystemTime();
Interop.Elementary.elm_calendar_displayed_time_get(RealHandle, out tm);
- ///TODO
- ///If the defect is fixed, it will be removed.
+ // TODO
+ // If the defect is fixed, it will be removed.
var daysInMonth = DateTime.DaysInMonth(tm.tm_year + 1900, tm.tm_mon + 1);
var day = tm.tm_mday;
/// </summary>
/// <remarks>
/// The usage should be like this;
- /// List<string> weekDayNames = new List<string>() { "S", "M", "T", "W", "T", "F", "S" };
+ /// <![CDATA[List<string> weekDayNames = new List<string>() { "S", "M", "T", "W", "T", "F", "S" };]]>
/// Calendar.WeekDayNames = weekDayNames;
/// </remarks>
public IReadOnlyList<string> WeekDayNames
Interop.Elementary.elm_calendar_marks_clear(RealHandle);
}
+ /// <summary>
+ /// Creates a widget handle.
+ /// </summary>
+ /// <param name="parent">Parent EvasObject</param>
+ /// <returns>Handle IntPtr</returns>
protected override IntPtr CreateHandle(EvasObject parent)
{
IntPtr handle = Interop.Elementary.elm_layout_add(parent.Handle);
}
}
+ /// <summary>
+ /// Creates a widget handle.
+ /// </summary>
+ /// <param name="parent">Parent EvasObject</param>
+ /// <returns>Handle IntPtr</returns>
protected override IntPtr CreateHandle(EvasObject parent)
{
IntPtr handle = Interop.Elementary.elm_layout_add(parent.Handle);
/// With RGBA parameters.
/// </summary>
/// <param name="r">Red of RGBA</param>
- /// <param name="g">Green of RGBA<</param>
- /// <param name="b">Blue of RGBA<</param>
- /// <param name="a">Alpha of RGBA<</param>
+ /// <param name="g">Green of RGBA</param>
+ /// <param name="b">Blue of RGBA</param>
+ /// <param name="a">Alpha of RGBA</param>
public Color(int r, int g, int b, int a) : this(r, g, b, a, Mode.Rgb)
{
}
}
}
+ /// <summary>
+ /// Returns the hash code for this instance.
+ /// </summary>
+ /// <returns>A 32-bit signed integer hash code.</returns>
public override int GetHashCode()
{
int hashcode = _r.GetHashCode();
return hashcode;
}
+ /// <summary>
+ /// Indicates whether this instance and a specified object are equal.
+ /// </summary>
+ /// <param name="obj">The object to compare with the current instance.</param>
+ /// <returns>
+ /// true if obj and this instance are the same type and represent the same value.
+ /// otherwise, false.
+ /// </returns>
public override bool Equals(object obj)
{
if (obj is Color)
return color1._r == color2._r && color1._g == color2._g && color1._b == color2._b && color1._a == color2._a;
}
+ /// <summary>
+ /// Returns the fully qualified type name of this instance.
+ /// </summary>
+ /// <returns>The fully qualified type name.</returns>
public override string ToString()
{
return string.Format(CultureInfo.InvariantCulture, "[Color: R={0}, G={1}, B={2}, A={3}]", R, G, B, A);
Interop.Elementary.elm_colorselector_palette_clear(Handle);
}
+ /// <summary>
+ /// Creates a widget handle.
+ /// </summary>
+ /// <param name="parent">Parent EvasObject</param>
+ /// <returns>Handle IntPtr</returns>
protected override IntPtr CreateHandle(EvasObject parent)
{
return Interop.Elementary.elm_colorselector_add(parent.Handle);
/// <summary>
/// The check is a widget that can be used in elementary apps
/// to account for space taken up by the indicator,
- /// virtual keypad & softkey windows when running the illume2 module of E17.
+ /// virtual keypad & softkey windows when running the illume2 module of E17.
/// </summary>
public class Conformant : Widget
{
parent.AddResizeObject(this);
}
+ /// <summary>
+ /// Creates a widget handle.
+ /// </summary>
+ /// <param name="parent">Parent EvasObject</param>
+ /// <returns>Handle IntPtr</returns>
protected override IntPtr CreateHandle(EvasObject parent)
{
return Interop.Elementary.elm_conformant_add(parent.Handle);
}
}
+ /// <summary>
+ /// Gets the collection of child EvasObject of the Container.
+ /// </summary>
protected IEnumerable<EvasObject> Children => _children;
+ /// <summary>
+ /// Add an EvasObject object as a child of Container.
+ /// </summary>
+ /// <param name="obj">The EvasObject object to be added</param>
protected void AddChild(EvasObject obj)
{
_children.Add(obj);
obj.Deleted += OnChildDeleted;
}
+ /// <summary>
+ /// Remove an EvasObject object as a child of Container.
+ /// </summary>
+ /// <param name="obj">The EvasObject object to be removed</param>
protected void RemoveChild(EvasObject obj)
{
_children.Remove(obj);
}
+ /// <summary>
+ /// Clear all children of the Container.
+ /// </summary>
protected void ClearChildren()
{
_children.Clear();
}
+ /// <summary>
+ /// The Container Callback that is invoked when a child is removed.
+ /// </summary>
+ /// <param name="sender">The called Container</param>
+ /// <param name="a"><see cref="EventArgs"/></param>
void OnChildDeleted(object sender, EventArgs a)
{
_children.Remove((EvasObject)sender);
}
}
+ /// <summary>
+ /// Creates a widget handle.
+ /// </summary>
+ /// <param name="parent">Parent EvasObject</param>
+ /// <returns>Handle IntPtr</returns>
protected override IntPtr CreateHandle(EvasObject parent)
{
return Interop.Elementary.elm_ctxpopup_add(parent.Handle);
/// </summary>
public enum DateTimeFieldType
{
+ /// <summary>
+ /// Indicates Year field.
+ /// </summary>
Year,
+ /// <summary>
+ /// Indicates Month field.
+ /// </summary>
Month,
+ /// <summary>
+ /// Indicates Date field.
+ /// </summary>
Date,
+ /// <summary>
+ /// Indicates Hour field.
+ /// </summary>
Hour,
+ /// <summary>
+ /// Indicates Minute field.
+ /// </summary>
Minute,
+ /// <summary>
+ /// Indicates AM/PM field.
+ /// </summary>
AmPm
}
/// <summary>
/// It inherits <see cref="Layout"/>
- /// DateTimeSelector is a widget to display and input date & time values.
+ /// DateTimeSelector is a widget to display and input date & time values.
/// This widget displays date and time as per the system's locale settings
- /// (Date includes Day, Month & Year along with the defined separators and Time includes Hour, Minute & AM/PM fields. Separator for AM/PM field is ignored.
+ /// (Date includes Day, Month & Year along with the defined separators and Time includes Hour, Minute & AM/PM fields. Separator for AM/PM field is ignored.
/// </summary>
public class DateTimeSelector : Layout
{
Interop.Elementary.elm_datetime_field_visible_set(RealHandle, (int)type, visible);
}
+ /// <summary>
+ /// Creates a widget handle.
+ /// </summary>
+ /// <param name="parent">Parent EvasObject</param>
+ /// <returns>Handle IntPtr</returns>
protected override IntPtr CreateHandle(EvasObject parent)
{
IntPtr handle = Interop.Elementary.elm_layout_add(parent.Handle);
/// <typeparam name="TEventArgs">Kinds of EventArgs</typeparam>
public class EcoreEvent<TEventArgs> : IDisposable where TEventArgs : EventArgs
{
+ /// <summary>
+ /// EventInfoParser delegate of EcoreEvent class
+ /// </summary>
+ /// <param name="data">IntPtr</param>
+ /// <param name="type">EcoreEventType</param>
+ /// <param name="info">IntPtr</param>
+ /// <returns></returns>
public delegate TEventArgs EventInfoParser(IntPtr data, EcoreEventType type, IntPtr info);
private bool _disposed = false;
_parser = parser;
}
+ /// <summary>
+ /// Destructor for EcoreEvent class.
+ /// </summary>
~EcoreEvent()
{
Dispose(false);
}
}
+ /// <summary>
+ /// Releases all resources currently used by this instance.
+ /// </summary>
+ /// <param name="disposing">
+ /// true if managed resources should be disposed
+ /// otherwise, false.
+ /// </param>
protected virtual void Dispose(bool disposing)
{
if (!_disposed)
}
}
+ /// <summary>
+ /// Destroy current object
+ /// </summary>
public void Dispose()
{
Dispose(true);
-using System;
-using System.Collections.Generic;
-using System.Text;
+/*
+ * Copyright (c) 2016 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the License);
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an AS IS BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+using System;
namespace ElmSharp
{
+ /// <summary>
+ /// EcoreTimelineAnimator is a helper class, it provides functions to manager animations.
+ /// </summary>
public class EcoreTimelineAnimator
{
double _runtime;
Interop.Ecore.EcoreTimelineCallback _nativeCallback;
double _position;
+ /// <summary>
+ /// It occurs when the animator is complete.
+ /// </summary>
public event EventHandler Finished;
-
+ /// <summary>
+ /// Creates and initializes a new instance of the EcoreTimelineAnimator class.
+ /// </summary>
+ /// <param name="runtime">The time to run in seconds</param>
+ /// <param name="timelineCallback">Functions called at each time line</param>
public EcoreTimelineAnimator(double runtime, Action timelineCallback)
{
_runtime = runtime;
_position = 0;
}
+ /// <summary>
+ /// Gets whether the animation is running.
+ /// </summary>
public bool IsRunning { get; private set; }
+
+ /// <summary>
+ /// Gets the current position of the animation.
+ /// </summary>
public double Position => _position;
+ /// <summary>
+ /// Starts an animator that runs for a limited time.for a limited time.
+ /// </summary>
public void Start()
{
IsRunning = true;
_animator = Interop.Ecore.ecore_animator_timeline_add(_runtime, _nativeCallback, IntPtr.Zero);
}
+ /// <summary>
+ /// Stops an animator that running.
+ /// </summary>
public void Stop()
{
IsRunning = false;
_animator = IntPtr.Zero;
}
+ /// <summary>
+ /// Suspends the specified animator.
+ /// </summary>
public void Freeze()
{
Interop.Ecore.ecore_animator_freeze(_animator);
}
+ /// <summary>
+ /// Restores execution of the specified animator.
+ /// </summary>
public void Thaw()
{
Interop.Ecore.ecore_animator_thaw(_animator);
}
+ /// <summary>
+ /// Callback that is called when ticks off
+ /// </summary>
protected void OnTimeline()
{
_timelineCallback();
Action = action;
}
+ /// <summary>
+ /// Indicates whether this instance and a specified object are equal.
+ /// </summary>
+ /// <param name="obj">The object to compare with the current instance.</param>
+ /// <returns>
+ /// true if obj and this instance are the same type and represent the same value.
+ /// otherwise, false.
+ /// </returns>
public override bool Equals(object obj)
{
SignalData s = obj as SignalData;
/// Directly show the focused region or item automatically
/// </summary>
Show,
+
/// <summary>
/// Do not show the focused region or item automatically
/// </summary>
None,
+
/// <summary>
/// Bring in the focused region or item automatically which might invole the scrolling
/// </summary>
Interop.Elementary.elm_run();
}
+ /// <summary>
+ /// Prepends a theme overlay to the list of overlays
+ /// </summary>
[EditorBrowsable(EditorBrowsableState.Never)]
public static void ThemeOverlay()
{
Interop.Elementary.elm_theme_extension_del(IntPtr.Zero, item);
}
+ /// <summary>
+ /// Gets the amount of inertia a scroller imposes during region bring animations.
+ /// </summary>
[EditorBrowsable(EditorBrowsableState.Never)]
public static double GetSystemScrollFriction()
{
return BringInScrollFriction;
}
+ /// <summary>
+ /// Sets the amount of inertia a scroller imposes during region bring animations.
+ /// </summary>
[EditorBrowsable(EditorBrowsableState.Never)]
public static void SetSystemScrollFriction(double timeSet)
+
{
BringInScrollFriction = timeSet;
}
+ /// <summary>
+ /// Get Elementary's profile in use
+ /// </summary>
[EditorBrowsable(EditorBrowsableState.Never)]
public static string GetProfile()
{
return Interop.Elementary.elm_config_profile_get();
}
+ /// <summary>
+ /// Set the global scaling factor
+ /// </summary>
[EditorBrowsable(EditorBrowsableState.Never)]
public static void SetScale(double scale)
{
Scale = scale;
}
+ /// <summary>
+ /// Get the global scaling factor
+ /// </summary>
[EditorBrowsable(EditorBrowsableState.Never)]
public static double GetScale()
{
return Interop.Elementary.elm_policy_set(policy, value);
}
+ /// <summary>
+ /// Reload Elementary's configuration, bounded to current selected profile.
+ /// </summary>
[EditorBrowsable(EditorBrowsableState.Never)]
public static void ReloadConfig()
{
/// </summary>
public static class ElmScrollConfig
{
+ /// <summary>
+ /// Gets or sets the amount of inertia a scroller imposes during region bring animations.
+ /// </summary>
[EditorBrowsable(EditorBrowsableState.Never)]
public static double BringInScrollFriction
{
}
/// <summary>
- /// Enumeration that defines the entry's copy & paste policy.
+ /// Enumeration that defines the entry's copy and paste policy.
/// </summary>
public enum CopyAndPasteMode
{
/// <summary>
- /// Copy & paste text with markup tag
+ /// Copy and paste text with markup tag
/// </summary>
Markup,
/// <summary>
- /// Copy & paste text without item(image) tag
+ /// Copy and paste text without item(image) tag
/// </summary>
NoImage,
/// <summary>
- /// Copy & paste text without markup tag
+ /// Copy and paste text without markup tag
/// </summary>
PlainText
}
Interop.Elementary.elm_entry_input_panel_return_key_autoenabled_set(RealHandle, enable);
}
+ /// <summary>
+ /// Creates a widget handle.
+ /// </summary>
+ /// <param name="parent">Parent EvasObject</param>
+ /// <returns>Handle IntPtr</returns>
protected override IntPtr CreateHandle(EvasObject parent)
{
return Interop.Elementary.elm_entry_add(parent.Handle);
}
}
+ /// <summary>
+ /// Creates an Evas canvas handle.
+ /// </summary>
+ /// <param name="evasObject">EvasObject</param>
+ /// <returns>Handle IntPtr</returns>
IntPtr CreateHandle(IntPtr evasObject)
{
return Interop.Evas.evas_object_evas_get(evasObject);
Action = action;
}
+ /// <summary>
+ /// Indicates whether this instance and a specified object are equal.
+ /// </summary>
+ /// <param name="obj">The object to compare with the current instance.</param>
+ /// <returns>
+ /// true if obj and this instance are the same type and represent the same value.
+ /// otherwise, false.
+ /// </returns>
public override bool Equals(object obj)
{
EventData e = obj as EventData;
-using System;
+using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.IO;
set
{
Interop.Evas.evas_object_image_alpha_set(RealHandle, !value);
-
}
}
return result;
}
+ /// <summary>
+ /// Set the native surface of a given image of the canvas
+ /// </summary>
+ /// <param name="surface">The surface.</param>
[EditorBrowsable(EditorBrowsableState.Never)]
public void SetNativeSurface(IntPtr surface)
{
return _handle != IntPtr.Zero ? _handle : Interop.Evas.evas_object_image_add(Interop.Evas.evas_object_evas_get(parent.Handle));
}
}
-}
+}
\ No newline at end of file
-/*
+/*
* Copyright (c) 2016 Samsung Electronics Co., Ltd All Rights Reserved
*
* Licensed under the Apache License, Version 2.0 (the License);
/// BackButton name in Platform
/// </summary>
public const string PlatformBackButtonName = "XF86Back";
+
/// <summary>
/// MenuButton name in Platform
/// </summary>
public const string PlatformMenuButtonName = "XF86Menu";
+
/// <summary>
/// HomeButton name in Platform
/// </summary>
/// </summary>
public string KeyName { get; private set; }
+ /// <summary>
+ /// Sets or gets the flags.
+ /// </summary>
public EvasEventFlag Flags
{
get
/// Name string of the key pressed
/// </summary>
public string keyname;
+
/// <summary>
/// Data to be passed to the event
/// </summary>
public IntPtr data;
+
/// <summary>
/// Modifier keys pressed during the event
/// </summary>
public IntPtr modifiers;
+
/// <summary>
/// Locks info
/// </summary>
public IntPtr locks;
+
/// <summary>
/// Logical key: (example, shift+1 == exclamation)
/// </summary>
public string key;
+
/// <summary>
/// UTF8 string if this keystroke has produced a visible string to be ADDED
/// </summary>
public string str;
+
/// <summary>
/// UTF8 string if this keystroke has modified a string in the middle of being composed - this string replaces the previous one
/// </summary>
/// Event_flags
/// </summary>
public EvasEventFlag event_flags;
+
/// <summary>
///
/// </summary>
public IntPtr dev;
+
/// <summary>
/// Keycode
/// </summary>
/// No fancy flags set
/// </summary>
None = 0,
+
/// <summary>
///This event is being delivered but should be put "on hold" until the on hold flag is unset. the event should be used for informational purposes and maybe some indications visually, but not actually perform anything
/// </summary>
OnHold = 1,
}
-
-}
+}
\ No newline at end of file
_ownership = false;
}
+ /// <summary>
+ /// Destructor for the EvasMap class.
+ /// </summary>
~EvasMap()
{
if (_ownership)
Interop.Evas.evas_map_util_zoom(_evasMap, x, y, cx, cy);
}
}
-}
+}
\ No newline at end of file
namespace ElmSharp
{
+ /// <summary>
+ /// Enumeration for tooltip orientation.
+ /// </summary>
public enum TooltipOrientation
{
+ /// <summary>
+ /// Default value, Tooltip moves with mouse pointer.
+ /// </summary>
None,
+
+ /// <summary>
+ /// Tooltip should appear at the top left of parent.
+ /// </summary>
TopLeft,
+
+ /// <summary>
+ /// Tooltip should appear at the left of parent.
+ /// </summary>
Top,
+
+ /// <summary>
+ /// Tooltip should appear at the top right of parent.
+ /// </summary>
TopRight,
+
+ /// <summary>
+ /// Tooltip should appear at the left of parent.
+ /// </summary>
Left,
+
+ /// <summary>
+ /// Tooltip should appear at the center of parent.
+ /// </summary>
Center,
+
+ /// <summary>
+ /// Tooltip should appear at the right of parent.
+ /// </summary>
Right,
+
+ /// <summary>
+ /// Tooltip should appear at the bottom left of parent.
+ /// </summary>
BottomLeft,
+
+ /// <summary>
+ /// Tooltip should appear at the bottom of parent.
+ /// </summary>
Bottom,
+
+ /// <summary>
+ /// Tooltip should appear at the bottom right of parent.
+ /// </summary>
BottomRight,
}
+ /// <summary>
+ /// Enumeration for aspect control.
+ /// </summary>
public enum AspectControl
{
- None = 0, /* Preference on scaling unset */
- Neither = 1, /* Same effect as unset preference on scaling */
- Horizontal = 2, /* Use all horizontal container space to place an object, using the given aspect */
- Vertical = 3, /* Use all vertical container space to place an object, using the given aspect */
- Both = 4 /* Use all horizontal @b and vertical container spaces to place an object (never growing it out of those bounds), using the given aspect */
+ /// <summary>
+ /// Preference on scaling unset.
+ /// </summary>
+ None = 0,
+
+ /// <summary>
+ /// Same effect as unset preference on scaling.
+ /// </summary>
+ Neither = 1,
+
+ /// <summary>
+ /// Use all horizontal container space to place an object, using the given aspect
+ /// </summary>
+ Horizontal = 2,
+
+ /// <summary>
+ /// Use all vertical container space to place an object, using the given aspect.
+ /// </summary>
+ Vertical = 3,
+
+ /// <summary>
+ /// Use all horizontal @b and vertical container spaces to place an object (never growing it out of those bounds), using the given aspect.
+ /// </summary>
+ Both = 4
}
/// <summary>
private Interop.Eext.EextEventCallback _backButtonHandler;
private Interop.Eext.EextEventCallback _moreButtonHandler;
+ /// <summary>
+ /// Sets or gets the handle for EvasObject.
+ /// </summary>
public IntPtr Handle { get; protected set; }
+
+ /// <summary>
+ /// Gets the parent object for EvasObject.
+ /// </summary>
public EvasObject Parent { get; private set; }
+ /// <summary>
+ /// Sets or gets the real handle for EvasObject.
+ /// </summary>
public IntPtr RealHandle
{
get
_eventStore.Add(item);
}
}
-}
+}
\ No newline at end of file
/// </summary>
public interface IInvalidatable : IDisposable
{
+ /// <summary>
+ /// Make current instance invalidate
+ /// </summary>
void MakeInvalidate();
}
{
}
+ /// <summary>
+ /// Creates and initializes a new instance of the EvasObjectEvent.
+ /// </summary>
+ /// <param name="sender">EvasObject class belong to</param>
+ /// <param name="handle">EvasObject handle</param>
+ /// <param name="type">EvasObjectCallbackType</param>
+ /// <param name="parser">SmartEventInfoParser</param>
[EditorBrowsableAttribute(EditorBrowsableState.Never)]
public EvasObjectEvent(EvasObject sender, IntPtr handle, EvasObjectCallbackType type, SmartEventInfoParser parser)
{
{
}
+ /// <summary>
+ /// Destroy the EvasObjectEvent object.
+ /// </summary>
~EvasObjectEvent()
{
Dispose(false);
}
}
+ /// <summary>
+ /// Releases all resources currently used by this instance.
+ /// </summary>
+ /// <param name="disposing">
+ /// true if managed resources should be disposed
+ /// otherwise, false.
+ /// </param>
protected virtual void Dispose(bool disposing)
{
if (!_disposed)
}
/// <summary>
- /// Destroy Current Obj
+ /// Destroy current object
/// </summary>
public void Dispose()
{
{
}
+ /// <summary>
+ /// Creates and initializes a new instance of the EvasObjectEvent.
+ /// </summary>
+ /// <param name="sender">EvasObject class belong to</param>
+ /// <param name="handle">EvasObject handle</param>
+ /// <param name="type">EvasObjectCallbackType</param>
[EditorBrowsableAttribute(EditorBrowsableState.Never)]
public EvasObjectEvent(EvasObject sender, IntPtr handle, EvasObjectCallbackType type)
{
_evasObjectEvent = new EvasObjectEvent<EventArgs>(sender, handle, type, null);
}
+ /// <summary>
+ /// Destroy the EvasObjectEvent object.
+ /// </summary>
~EvasObjectEvent()
{
Dispose(false);
_handlers?.Invoke(sender, e);
}
+ /// <summary>
+ /// Releases all resources currently used by this instance.
+ /// </summary>
+ /// <param name="disposing">
+ /// true if managed resources should be disposed
+ /// otherwise, false.
+ /// </param>
protected virtual void Dispose(bool disposing)
{
if (!_disposed)
}
/// <summary>
- /// Destroy Current Obj
+ /// Destroy current object
/// </summary>
public void Dispose()
{
Interop.Elementary.elm_flipselector_flip_prev(Handle);
}
+ /// <summary>
+ /// Creates a widget handle.
+ /// </summary>
+ /// <param name="parent">Parent EvasObject</param>
+ /// <returns>Handle IntPtr</returns>
protected override IntPtr CreateHandle(EvasObject parent)
{
return Interop.Elementary.elm_flipselector_add(parent.Handle);
}
}
+ /// <summary>
+ /// Creates a widget handle.
+ /// </summary>
+ /// <param name="parent">Parent EvasObject</param>
+ /// <returns>Handle IntPtr</returns>
protected override IntPtr CreateHandle(EvasObject parent)
{
return Interop.Eext.eext_floatingbutton_add(parent.Handle);
return ItemObject.GetItemByHandle(handle) as GenGridItem;
}
+ /// <summary>
+ /// Creates a widget handle.
+ /// </summary>
+ /// <param name="parent">Parent EvasObject</param>
+ /// <returns>Handle IntPtr</returns>
protected override IntPtr CreateHandle(EvasObject parent)
{
IntPtr handle = Interop.Elementary.elm_layout_add(parent.Handle);
}
}
+ /// <summary>
+ /// Sets or gets the cursor to be shown when mouse is over the gengrid item.
+ /// </summary>
[EditorBrowsable(EditorBrowsableState.Never)]
public override string Cursor
{
}
}
+ /// <summary>
+ /// Sets or gets the style for this item cursor.
+ /// </summary>
[EditorBrowsable(EditorBrowsableState.Never)]
public override string CursorStyle
{
}
}
+ /// <summary>
+ /// Sets or gets the cursor engine only usage for this item cursor.
+ /// </summary>
[EditorBrowsable(EditorBrowsableState.Never)]
public override bool IsUseEngineCursor
{
}
/// <summary>
- /// Gets or sets the style of given gengrid item's tooltip.
+ /// Sets or gets or sets the style of given gengrid item's tooltip.
/// </summary>
public override string TooltipStyle
{
}
}
+ /// <summary>
+ /// Get the gengrid item's select mode.
+ /// </summary>
public override GenItemSelectionMode SelectionMode
{
get
}
}
+ /// <summary>
+ /// Set the text to be shown in the gengrid item.
+ /// </summary>
+ /// <param name="tooltip">The text to set.</param>
public override void SetTooltipText(string tooltip)
{
Interop.Elementary.elm_gengrid_item_tooltip_text_set(Handle, tooltip);
}
+ /// <summary>
+ /// Unset tooltip from item.
+ /// </summary>
public override void UnsetTooltip()
{
Interop.Elementary.elm_gengrid_item_tooltip_unset(Handle);
Interop.Elementary.elm_gengrid_item_update(Handle);
}
+ /// <summary>
+ /// Set the content to be shown in the tooltip item.
+ /// </summary>
protected override void UpdateTooltipDelegate()
{
Interop.Elementary.elm_gengrid_item_tooltip_content_cb_set(Handle,
/// </summary>
public GenItemClass ItemClass { get; protected set; }
+ /// <summary>
+ /// Sets or gets tooltip content delegate.
+ /// </summary>
public GetTooltipContentDelegate TooltipContentDelegate
{
get
/// </summary>
public abstract GenItemSelectionMode SelectionMode { get; set; }
+ /// <summary>
+ /// Sets or gets the cursor to be shown when mouse is over the gengrid item
+ /// </summary>
public abstract string Cursor { get; set; }
+
+ /// <summary>
+ /// Sets or gets the style for this item cursor.
+ /// </summary>
public abstract string CursorStyle { get; set; }
+ /// <summary>
+ /// Sets or gets the cursor engine only usage for this item cursor.
+ /// </summary>
public abstract bool IsUseEngineCursor { get; set; }
/// <summary>
/// </summary>
public abstract string TooltipStyle { get; set; }
+ /// <summary>
+ /// Set tooltip text.
+ /// </summary>
+ /// <param name="tooltip">The text to set.</param>
public abstract void SetTooltipText(string tooltip);
+
+ /// <summary>
+ /// Unset tooltip.
+ /// </summary>
public abstract void UnsetTooltip();
/// <summary>
ItemClass = null;
}
+ /// <summary>
+ /// Abstract method for updating tooltip content.
+ /// </summary>
protected abstract void UpdateTooltipDelegate();
}
-}
+}
\ No newline at end of file
ReleaseItemClass(unmanaged);
}
+ /// <summary>
+ /// Destroy the GenItemClass object.
+ /// </summary>
~GenItemClass()
{
Dispose(false);
}
}
+ /// <summary>
+ /// Releases all resources currently used by this instance.
+ /// </summary>
+ /// <param name="disposing">
+ /// true if managed resources should be disposed
+ /// otherwise, false.
+ /// </param>
protected virtual void Dispose(bool disposing)
{
if (_unmanagedPtr != IntPtr.Zero)
}
}
+ /// <summary>
+ /// Destroy current object
+ /// </summary>
public void Dispose()
{
Dispose(true);
DeleteHandler?.Invoke(data);
}
+ /// <summary>
+ /// Create a new genlist item class in a given genlist widget.
+ /// </summary>
+ /// <returns>The new item class object.</returns>
protected virtual IntPtr CreateItemClass()
{
return Interop.Elementary.elm_genlist_item_class_new();
}
+ /// <summary>
+ /// Remove an item class in a given genlist widget.
+ /// </summary>
+ /// <param name="unmanagedPtr">The object to be removed.</param>
protected virtual void ReleaseItemClass(IntPtr unmanagedPtr)
{
Interop.Elementary.elm_genlist_item_class_free(unmanagedPtr);
}
}
+ /// <summary>
+ /// It represents the GenGrid item class definition field details.
+ /// </summary>
public class GenGridItemClass : GenItemClass
{
+ /// <summary>
+ /// Create the GenGridItemClass instance.
+ /// </summary>
+ /// <param name="style">The item display style.</param>
public GenGridItemClass(string style) : base(style)
{
}
+ /// <summary>
+ /// Add a new gengrid item class in a given gengrid widget.
+ /// </summary>
+ /// <returns>The new instance.</returns>
protected override IntPtr CreateItemClass()
{
return Interop.Elementary.elm_gengrid_item_class_new();
}
+ /// <summary>
+ /// Remove an item class in a given gengrid widget.
+ /// </summary>
+ /// <param name="unmanagedPtr">The object to be removed.</param>
protected override void ReleaseItemClass(IntPtr unmanagedPtr)
{
Interop.Elementary.elm_gengrid_item_class_free(unmanagedPtr);
return ItemObject.GetItemByHandle(handle) as GenListItem;
}
+ /// <summary>
+ /// Creates a widget handle.
+ /// </summary>
+ /// <param name="parent">Parent EvasObject</param>
+ /// <returns>Handle IntPtr</returns>
protected override IntPtr CreateHandle(EvasObject parent)
{
IntPtr handle = Interop.Elementary.elm_layout_add(parent.Handle);
}
}
+ /// <summary>
+ /// Sets or gets the content to be shown in the tooltip item
+ /// </summary>
[EditorBrowsable(EditorBrowsableState.Never)]
public override string Cursor
{
}
}
+ /// <summary>
+ /// Sets or gets the style for this item cursor.
+ /// </summary>
[EditorBrowsable(EditorBrowsableState.Never)]
public override string CursorStyle
{
}
}
+ /// <summary>
+ /// Sets or gets the cursor engine only usage for this item cursor.
+ /// </summary>
[EditorBrowsable(EditorBrowsableState.Never)]
public override bool IsUseEngineCursor
{
}
}
+ /// <summary>
+ /// Set the text to be shown in the genlist item.
+ /// </summary>
+ /// <param name="tooltip">The text to set in the content.</param>
public override void SetTooltipText(string tooltip)
{
Interop.Elementary.elm_genlist_item_tooltip_text_set(Handle, tooltip);
}
+ /// <summary>
+ /// Unset tooltip from item.
+ /// </summary>
public override void UnsetTooltip()
{
Interop.Elementary.elm_genlist_item_tooltip_unset(Handle);
Interop.Elementary.elm_genlist_item_item_class_update((IntPtr)Handle, itemClass.UnmanagedPtr);
}
+ /// <summary>
+ /// Set the content to be shown in the tooltip item.
+ /// </summary>
protected override void UpdateTooltipDelegate()
{
Interop.Elementary.elm_genlist_item_tooltip_content_cb_set(Handle,
null);
}
}
-}
+}
\ No newline at end of file
return item;
}
+ /// <summary>
+ /// Creates a widget handle.
+ /// </summary>
+ /// <param name="parent">Parent EvasObject</param>
+ /// <returns>Handle IntPtr</returns>
protected override IntPtr CreateHandle(EvasObject parent)
{
IntPtr handle = Interop.Elementary.elm_layout_add(parent.Handle);
/// </summary>
public interface IAccessibleObject
{
+ /// <summary>
+ /// Gets or sets the reading information types of an accessible object.
+ /// </summary>
ReadingInfoType ReadingInfoType { get; set; }
+
+ /// <summary>
+ /// Gets or sets the role of the object in accessibility domain.
+ /// </summary>
AccessRole Role { get; set; }
+
+ /// <summary>
+ /// Gets or sets highlightable of given widget.
+ /// </summary>
bool CanHighlight { get; set; }
+
+ /// <summary>
+ /// Gets or sets the translation domain of "name" and "description" properties.
+ /// Translation domain should be set if application wants to support i18n for accessibily "name" and "description" properties.
+ /// When translation domain is set values of "name" and "description" properties will be translated with dgettext function using current translation domain as "domainname" parameter.
+ /// It is application developer responsibility to ensure that translation files are loaded and binded to translation domain when accessibility is enabled.
+ /// </summary>
string TranslationDomain { get; set; }
+
+ /// <summary>
+ /// Gets or sets an accessible name of the object.
+ /// </summary>
string Name { get; set; }
+
+ /// <summary>
+ /// Gets or sets contextual information about object.
+ /// </summary>
string Description { get; set; }
+
+ /// <summary>
+ /// Gets or sets the delegate for <see cref="IAccessibleObject.Name"/>.
+ /// </summary>
AccessibleInfoProvider NameProvider { get; set; }
+
+ /// <summary>
+ /// Gets or sets the delegate for <see cref = "IAccessibleObject.Description" />.
+ /// </summary>
AccessibleInfoProvider DescriptionProvider { get; set; }
+
+ /// <summary>
+ /// Defines the relationship between two accessible objects.
+ /// Relationships can be queried by Assistive Technology clients to provide customized feedback, improving overall user experience.
+ /// AppendRelation API is asymmetric, which means that appending, for example, relation <see cref="FlowsTo"/> from object A to B, do not append relation <see cref="FlowsFrom"/> from object B to object A.
+ /// </summary>
+ /// <param name="relation">The relationship between source object and target object of a given type.</param>
void AppendRelation(IAccessibleRelation relation);
+
+ /// <summary>
+ /// Removes the relationship between two accessible objects.
+ /// </summary>
+ /// <param name="relation">The relationship between source object and target object of a given type.</param>
void RemoveRelation(IAccessibleRelation relation);
+
+ /// <summary>
+ /// Highlights accessible widget.
+ /// </summary>
void Highlight();
+
+ /// <summary>
+ /// Clears highlight of accessible widget.
+ /// </summary>
void Unhighlight();
}
}
Interop.Elementary.elm_index_item_clear(RealHandle);
}
+ /// <summary>
+ /// Creates a widget handle.
+ /// </summary>
+ /// <param name="parent">Parent EvasObject</param>
+ /// <returns>Handle IntPtr</returns>
protected override IntPtr CreateHandle(EvasObject parent)
{
IntPtr handle = Interop.Elementary.elm_layout_add(parent.Handle);
Func = func;
}
+ /// <summary>
+ /// Indicates whether this instance and a specified object are equal.
+ /// </summary>
+ /// <param name="obj">The object to compare with the current instance.</param>
+ /// <returns>
+ /// true if obj and this instance are the same type and represent the same value.
+ /// otherwise, false.
+ /// </returns>
public override bool Equals(object obj)
{
SignalData s = obj as SignalData;
{
IntPtr _parent = IntPtr.Zero;
+ /// <summary>
+ /// Creates and initializes a new instance of ItemEvasObject class.
+ /// </summary>
+ /// <param name="parent">IntPtr</param>
public ItemEvasObject(IntPtr parent) : base()
{
_parent = parent;
Realize(null);
}
+ /// <summary>
+ /// Creates a widget handle.
+ /// </summary>
+ /// <param name="parent">Parent EvasObject</param>
+ /// <returns>Handle IntPtr</returns>
protected override IntPtr CreateHandle(EvasObject parent)
{
return Interop.Elementary.elm_object_item_track(_parent);
_children.Clear();
}
+ /// <summary>
+ /// Creates a widget handle.
+ /// </summary>
+ /// <param name="parent">Parent EvasObject</param>
+ /// <returns>Handle IntPtr</returns>
protected override IntPtr CreateHandle(EvasObject parent)
{
IntPtr handle = Interop.Elementary.elm_layout_add(parent.Handle);
}
}
+ /// <summary>
+ /// Creates a widget handle.
+ /// </summary>
+ /// <param name="parent">Parent EvasObject</param>
+ /// <returns>Handle IntPtr</returns>
protected override IntPtr CreateHandle(EvasObject parent)
{
return Interop.Elementary.elm_multibuttonentry_add(parent.Handle);
internal class EntryInner : Entry
{
+ /// <summary>
+ /// Creates and initializes a new instance of the EntryInner class.
+ /// </summary>
+ /// <param name="parent">The parent is a given container which will be attached by MultiButtonEntry as a child. It's <see cref="EvasObject"/> type.</param>
internal EntryInner(EvasObject parent) : base(parent)
{
}
+ /// <summary>
+ /// Creates a widget handle.
+ /// </summary>
+ /// <param name="parent">Parent EvasObject</param>
+ /// <returns>Handle IntPtr</returns>
protected override IntPtr CreateHandle(EvasObject parent)
{
return Interop.Elementary.elm_multibuttonentry_entry_get(parent.Handle);
Interop.Elementary.elm_naviframe_item_pop(RealHandle);
}
+ /// <summary>
+ /// Creates a widget handle.
+ /// </summary>
+ /// <param name="parent">Parent EvasObject</param>
+ /// <returns>Handle IntPtr</returns>
protected override IntPtr CreateHandle(EvasObject parent)
{
IntPtr handle = Interop.Elementary.elm_layout_add(parent);
Interop.Elementary.elm_panel_toggle(RealHandle);
}
+ /// <summary>
+ /// Creates a widget handle.
+ /// </summary>
+ /// <param name="parent">Parent EvasObject</param>
+ /// <returns>Handle IntPtr</returns>
protected override IntPtr CreateHandle(EvasObject parent)
{
IntPtr handle = Interop.Elementary.elm_layout_add(parent);
}
}
+ /// <summary>
+ /// Creates a widget handle.
+ /// </summary>
+ /// <param name="parent">Parent EvasObject</param>
+ /// <returns>Handle IntPtr</returns>
protected override IntPtr CreateHandle(EvasObject parent)
{
IntPtr handle = Interop.Elementary.elm_layout_add(parent.Handle);
/// </summary>
public int Y;
+ /// <summary>
+ /// A human-readable representation of the <see cref="T:Tizen.UI.Point" />.
+ /// </summary>
+ /// <returns>The string is formatted as "{{X={0} Y={1}}}".</returns>
public override string ToString()
{
return string.Format("{{X={0} Y={1}}}", X, Y);
}
+ /// <summary>
+ /// Gets hash code.
+ /// </summary>
+ /// <returns>The hash code.</returns>
public override int GetHashCode()
{
unchecked
}
}
+ /// <summary>
+ /// Indicates whether this instance and a specified object are equal.
+ /// </summary>
+ /// <param name="obj">The object to compare with the current instance.</param>
+ /// <returns>
+ /// true if obj and this instance are the same type and represent the same value.
+ /// otherwise, false.
+ /// </returns>
public override bool Equals(object obj)
{
if (!(obj is Point))
return Equals((Point)obj);
}
+ /// <summary>
+ /// Indicates whether this instance and a <see cref="Point"/> object are equal.
+ /// </summary>
+ /// <param name="other">The <see cref="Point"/> to compare with the current instance.</param>
+ /// <returns>
+ /// true if obj and this instance are the same type and represent the same value.
+ /// otherwise, false.
+ /// </returns>
public bool Equals(Point other)
{
return X.Equals(other.X) && Y.Equals(other.Y);
return !p1.Equals(p2);
}
}
-}
+}
\ No newline at end of file
/// </summary>
public int Z;
+ /// <summary>
+ /// A human-readable representation of the <see cref="T:Tizen.UI.Point3D" />.
+ /// </summary>
+ /// <returns>The string is formatted as "{{X={0} Y={1} Z={2}}}".</returns>
public override string ToString()
{
return string.Format("{{X={0} Y={1} Z={2}}}", X, Y, Z);
}
+ ///
public override int GetHashCode()
{
unchecked
}
}
+ /// <summary>
+ /// Indicates whether this instance and a specified object are equal.
+ /// </summary>
+ /// <param name="obj">The object to compare with the current instance.</param>
+ /// <returns>
+ /// true if obj and this instance are the same type and represent the same value.
+ /// otherwise, false.
+ /// </returns>
public override bool Equals(object obj)
{
if (!(obj is Point3D))
return Equals((Point3D)obj);
}
+ /// <summary>
+ /// Indicates whether this instance and a <see cref="Point3D"/> object are equal.
+ /// </summary>
+ /// <param name="other">The <see cref="Point3D"/> to compare with the current instance.</param>
+ /// <returns>
+ /// true if obj and this instance are the same type and represent the same value.
+ /// otherwise, false.
+ /// </returns>
public bool Equals(Point3D other)
{
return X.Equals(other.X) && Y.Equals(other.Y) && Z.Equals(other.Z);
return !p1.Equals(p2);
}
}
-}
+}
\ No newline at end of file
Interop.Evas.evas_object_polygon_points_clear(Handle);
}
+ /// <summary>
+ /// Creates a widget handle.
+ /// </summary>
+ /// <param name="parent">Parent EvasObject</param>
+ /// <returns>Handle IntPtr</returns>
protected override IntPtr CreateHandle(EvasObject parent)
{
IntPtr evas = Interop.Evas.evas_object_evas_get(parent.Handle);
/// Since calling Show() on a popup restarts the timer controlling when it is hidden,
/// setting this before the popup is shown will in effect mean starting the timer when the popup is shown.
/// TimedOut is called afterwards which can be handled if needed.
- /// Set a value <= 0.0 to disable a running timer.If the value > 0.0 and the popup is previously visible,
+ /// <![CDATA[Set a value <= 0.0 to disable a running timer.If the value > 0.0 and the popup is previously visible,]]>
/// the timer will be started with this value, canceling any running timer.
/// </remarks>
public double Timeout
Interop.Elementary.elm_popup_dismiss(Handle);
}
+ /// <summary>
+ /// Creates a widget handle.
+ /// </summary>
+ /// <param name="parent">Parent EvasObject</param>
+ /// <returns>Handle IntPtr</returns>
protected override IntPtr CreateHandle(EvasObject parent)
{
return Interop.Elementary.elm_popup_add(parent.Handle);
Interop.Elementary.elm_progressbar_pulse(RealHandle, true);
}
+ /// <summary>
+ /// Stops a given progress bar "pulsing" animation, if its under that mode.
+ /// </summary>
[Obsolete("use StopPulse instead")]
public void StopPluse()
{
Interop.Elementary.elm_progressbar_part_value_set(RealHandle, part, value);
}
+ /// <summary>
+ /// Creates a widget handle.
+ /// </summary>
+ /// <param name="parent">Parent EvasObject</param>
+ /// <returns>Handle IntPtr</returns>
protected override IntPtr CreateHandle(EvasObject parent)
{
IntPtr handle = Interop.Elementary.elm_layout_add(parent.Handle);
Interop.Elementary.elm_radio_group_add(RealHandle, group.RealHandle);
}
+ /// <summary>
+ /// Creates a widget handle.
+ /// </summary>
+ /// <param name="parent">Parent EvasObject</param>
+ /// <returns>Handle IntPtr</returns>
protected override IntPtr CreateHandle(EvasObject parent)
{
IntPtr handle = Interop.Elementary.elm_layout_add(parent.Handle);
Width = w;
Height = h;
}
+
/// <summary>
/// Gets or sets the position of this Rectangle on the X axis.
/// </summary>
/// </summary>
public Size Size { get { return new Size { Width = Width, Height = Height }; } }
+ /// <summary>
+ /// A human-readable representation of the <see cref="T:Tizen.UI.Rect" />.
+ /// </summary>
+ /// <returns>The string is formatted as "{{X={0} Y={1} Width={2} Height={3}}}".</returns>
public override string ToString()
{
return string.Format("{{X={0} Y={1} Width={2} Height={3}}}", X, Y, Width, Height);
}
+ /// <summary>
+ /// Gets the hash code.
+ /// </summary>
+ /// <returns>The hash code.</returns>
public override int GetHashCode()
{
unchecked
}
}
+ /// <summary>
+ /// Indicates whether this instance and a specified object are equal.
+ /// </summary>
+ /// <param name="obj">The object to compare with the current instance.</param>
+ /// <returns>
+ /// true if obj and this instance are the same type and represent the same value.
+ /// otherwise, false.
+ /// </returns>
public override bool Equals(object obj)
{
if (!(obj is Rect))
return Equals((Rect)obj);
}
+ /// <summary>
+ /// Indicates whether this instance and a <see cref="Rect"/> object are equal.
+ /// </summary>
+ /// <param name="other">The <see cref="Rect"/> to compare with the current instance.</param>
+ /// <returns>
+ /// true if obj and this instance are the same type and represent the same value.
+ /// otherwise, false.
+ /// </returns>
public bool Equals(Rect other)
{
return X.Equals(other.X) && Y.Equals(other.Y) && Width.Equals(other.Width) && Height.Equals(other.Height);
return !r1.Equals(r2);
}
}
-}
+}
\ No newline at end of file
Interop.Evas.evas_object_size_hint_weight_set(Handle, 1.0, 1.0);
}
+ /// <summary>
+ /// Creates a widget handle.
+ /// </summary>
+ /// <param name="parent">Parent EvasObject</param>
+ /// <returns>Handle IntPtr</returns>
protected override IntPtr CreateHandle(EvasObject parent)
{
IntPtr evas = Interop.Evas.evas_object_evas_get(parent.Handle);
}
}
+ /// <summary>
+ /// Creates a widget handle.
+ /// </summary>
+ /// <param name="parent">Parent EvasObject</param>
+ /// <returns>Handle IntPtr</returns>
protected override IntPtr CreateHandle(EvasObject parent)
{
IntPtr handle = Interop.Elementary.elm_layout_add(parent.Handle);
return string.Format("{{Width={0} Height={1}}}", Width, Height);
}
+ /// <summary>
+ /// Gets hash code.
+ /// </summary>
+ /// <returns>The hash code.</returns>
public override int GetHashCode()
{
unchecked
}
}
+ /// <summary>
+ /// Indicates whether this instance and a specified object are equal.
+ /// </summary>
+ /// <param name="obj">The object to compare with the current instance.</param>
+ /// <returns>
+ /// true if obj and this instance are the same type and represent the same value.
+ /// otherwise, false.
+ /// </returns>
public override bool Equals(object obj)
{
if (!(obj is Size))
return Equals((Size)obj);
}
+ /// <summary>
+ /// Indicates whether this instance and a <see cref="Size"/> object are equal.
+ /// </summary>
+ /// <param name="other">The <see cref="Size"/> to compare with the current instance.</param>
+ /// <returns>
+ /// true if obj and this instance are the same type and represent the same value.
+ /// otherwise, false.
+ /// </returns>
public bool Equals(Size other)
{
return Width.Equals(other.Width) && Height.Equals(other.Height);
return !s1.Equals(s2);
}
}
-}
+}
\ No newline at end of file
}
}
+ /// <summary>
+ /// Creates a widget handle.
+ /// </summary>
+ /// <param name="parent">Parent EvasObject</param>
+ /// <returns>Handle IntPtr</returns>
protected override IntPtr CreateHandle(EvasObject parent)
{
IntPtr handle = Interop.Elementary.elm_layout_add(parent.Handle);
{
}
+ /// <summary>
+ /// reates and initializes a new instance of the SmartEvent class.
+ /// </summary>
+ /// <param name="sender">The source of the event.</param>
+ /// <param name="handle">Teh event handler.</param>
+ /// <param name="eventName">The event name.</param>
+ /// <param name="parser">The event parser.</param>
[EditorBrowsableAttribute(EditorBrowsableState.Never)]
public SmartEvent(EvasObject sender, IntPtr handle, string eventName, SmartEventInfoParser parser)
{
{
}
+ /// <summary>
+ /// Destroy the SmartEvent object.
+ /// </summary>
~SmartEvent()
{
Dispose(false);
}
}
+ /// <summary>
+ /// Destroy current object
+ /// </summary>
public void Dispose()
{
Dispose(true);
_handle = IntPtr.Zero;
}
+ /// <summary>
+ /// Releases all resources currently used by this instance.
+ /// </summary>
+ /// <param name="disposing">
+ /// true if managed resources should be disposed
+ /// otherwise, false.
+ /// </param>
protected virtual void Dispose(bool disposing)
{
if (disposing)
public class SmartEvent : IInvalidatable
{
private SmartEvent<EventArgs> _smartEvent;
+
private event EventHandler _handlers;
/// <summary>
{
}
+ /// <summary>
+ /// Creates and initializes a new instance of the SmartEvent class.
+ /// </summary>
+ /// <param name="sender">The source of the event.</param>
+ /// <param name="handle">The event handler.</param>
+ /// <param name="eventName">The event name.</param>
[EditorBrowsableAttribute(EditorBrowsableState.Never)]
public SmartEvent(EvasObject sender, IntPtr handle, string eventName)
{
_smartEvent = new SmartEvent<EventArgs>(sender, handle, eventName, null);
}
+ /// <summary>
+ /// Destroy the SmartEvent object.
+ /// </summary>
~SmartEvent()
{
Dispose(false);
_handlers?.Invoke(sender, e);
}
+ /// <summary>
+ /// Destroy current object
+ /// </summary>
public void Dispose()
{
Dispose(true);
_smartEvent.MakeInvalidate();
}
+ /// <summary>
+ /// Releases all resources currently used by this instance.
+ /// </summary>
+ /// <param name="disposing">
+ /// true if managed resources should be disposed
+ /// otherwise, false.
+ /// </param>
protected virtual void Dispose(bool disposing)
{
if (disposing)
}
}
}
-}
+}
\ No newline at end of file
return Interop.Elementary.elm_spinner_special_value_get(RealHandle, value);
}
+ /// <summary>
+ /// Creates a widget handle.
+ /// </summary>
+ /// <param name="parent">Parent EvasObject</param>
+ /// <returns>Handle IntPtr</returns>
protected override IntPtr CreateHandle(EvasObject parent)
{
IntPtr handle = Interop.Elementary.elm_layout_add(parent.Handle);
return new Color((int)(r / (a / 255.0)), (int)(g / (a / 255.0)), (int)(b / (a / 255.0)), a);
}
+ /// <summary>
+ /// Creates a widget handle.
+ /// </summary>
+ /// <param name="parent">Parent EvasObject</param>
+ /// <returns>Handle IntPtr</returns>
protected override IntPtr CreateHandle(EvasObject parent)
{
IntPtr handle = Interop.Elementary.elm_layout_add(parent);
}
}
+ /// <summary>
+ /// Sets or gets toolbar's current orientation.
+ /// </summary>
[EditorBrowsable(EditorBrowsableState.Never)]
public bool IsHorizontal
{
}
}
+ /// <summary>
+ /// Creates a widget handle.
+ /// </summary>
+ /// <param name="parent">Parent EvasObject</param>
+ /// <returns>Handle IntPtr</returns>
protected override IntPtr CreateHandle(EvasObject parent)
{
IntPtr handle = Interop.Elementary.elm_layout_add(parent.Handle);
public Transit()
{
_handle = Interop.Elementary.elm_transit_add();
- DeletedCallback = (ptr1, ptr2) => {
+ DeletedCallback = (ptr1, ptr2) =>
+ {
Deleted?.Invoke(this, EventArgs.Empty);
Dispose(true);
};
((INotifyCollectionChanged)_chains).CollectionChanged += OnChaninCollectionChanged;
}
+ /// <summary>
+ /// Destroy the Transit object.
+ /// </summary>
~Transit()
{
Dispose(false);
Interop.Elementary.elm_transit_effect_add(_handle, EffectTransitionCallback, _effect, EffectEndCallback);
}
+ /// <summary>
+ /// Destroy current object
+ /// </summary>
public void Dispose()
{
Dispose(true);
GC.SuppressFinalize(this);
}
- protected virtual void Dispose(bool isDisposing)
+ /// <summary>
+ /// Releases all resources currently used by this instance.
+ /// </summary>
+ /// <param name="disposing">
+ /// true if managed resources should be disposed
+ /// otherwise, false.
+ /// </param>
+ protected virtual void Dispose(bool disposing)
{
if (_isDisposed)
return;
- if (isDisposing)
+ if (disposing)
{
((INotifyCollectionChanged)_chains).CollectionChanged -= OnChaninCollectionChanged;
_chains.Clear();
Interop.Elementary.elm_transit_chain_transit_del(_handle, transit._handle);
}
}
-}
+}
\ No newline at end of file
namespace ElmSharp
{
+ /// <summary>
+ /// This class is a static class for a utility methods.
+ /// </summary>
public static class Utility
{
/// <summary>
internal Color _backgroundColor = Color.Default;
internal int _opacity = Color.Default.A;
+ /// <summary>
+ /// Creates and initializes a new instance of Widget class.
+ /// </summary>
protected Widget()
{
}
Transparent = 3,
}
+ /// <summary>
+ /// Enumeration for the keygrab modes of window.
+ /// </summary>
[EditorBrowsable(EditorBrowsableState.Never)]
public enum KeyGrabMode
{
+ /// <summary>
+ /// Unknown keygrab mode
+ /// </summary>
Shared = 256,
+
+ /// <summary>
+ /// Getting the grabbed-key together with the other client windows.
+ /// </summary>
Topmost = 512,
+
+ /// <summary>
+ /// Getting the grabbed-key only when window is top of the stack.
+ /// </summary>
Exclusive = 1024,
+
+ /// <summary>
+ /// Getting the grabbed-key exclusively regardless of window's position.
+ /// </summary>
OverrideExclusive = 2048,
}
_rotationChanged.On += (s, e) => RotationChanged?.Invoke(this, EventArgs.Empty);
}
+ /// <summary>
+ /// Creates and initializes a new instance of the Window class.
+ /// </summary>
protected Window()
{
}
}
}
+ /// <summary>
+ /// Sets or gets available rotation degree.
+ /// </summary>
[Obsolete("Sorry, it's error typo of AvailableRotations, please use AvailableRotations")]
public DisplayRotation AavailableRotations { get; set; }
}
}
+ /// <summary>
+ /// Sets or gets the iconified state of a window.
+ /// </summary>
[EditorBrowsable(EditorBrowsableState.Never)]
public bool Iconified
{
Interop.Elementary.elm_win_resize_object_add(Handle, obj);
}
+ /// <summary>
+ /// Set keygrab value of the window.
+ /// This function grabs the key of window using grab_mode.
+ /// </summary>
+ /// <param name="keyname">The keyname to grab.</param>
+ /// <param name="mode">According to the grabmode, it can grab key differently</param>
[EditorBrowsable(EditorBrowsableState.Never)]
public void WinKeyGrab(string keyname, KeyGrabMode mode)
{
Interop.Elementary.elm_win_keygrab_set(RealHandle, keyname, 0, 0, 0, mode);
}
+ /// <summary>
+ /// Unset keygrab value of the window.
+ /// This function unset keygrab value.Ungrab key of window.
+ /// </summary>
+ /// <param name="keyname">The keyname to grab.</param>
[EditorBrowsable(EditorBrowsableState.Never)]
public void WinKeyUngrab(string keyname)
{
Interop.Elementary.eext_win_keygrab_unset(RealHandle, keyname);
}
+ /// <summary>
+ /// Creates a widget handle.
+ /// </summary>
+ /// <param name="parent">Parent EvasObject</param>
+ /// <returns>Handle IntPtr</returns>
protected override IntPtr CreateHandle(EvasObject parent)
{
Interop.Elementary.elm_config_accel_preference_set("3d");
return (DisplayRotation)orientation;
}
}
-}
+}
\ No newline at end of file
_handle = handle;
}
+ /// <summary>
+ /// Account destructor.
+ /// </summary>
+ /// <since_tizen> 4 </since_tizen>
~Account()
{
Dispose(false);
GC.SuppressFinalize(this);
}
+ /// <summary>
+ /// Dispose API for destroying the account handle.
+ /// </summary>
+ /// <since_tizen> 3 </since_tizen>
+ /// <param name="disposing">The boolean value for destoying account handle.</param>
protected virtual void Dispose(bool disposing)
{
if (!disposing)
public class AccountProvider : IDisposable
{
internal IntPtr _handle;
+
+ /// <summary>
+ /// AccountProvider destructor.
+ /// </summary>
+ /// <since_tizen> 3 </since_tizen>
+ /// <param name="handle"> The account handle.</param>
internal AccountProvider(IntPtr handle)
{
Handle = handle;
}
+ /// <summary>
+ /// AccountProvider deconstructor.
+ /// </summary>
+ /// <since_tizen> 3 </since_tizen>
~AccountProvider()
{
Dispose(false);
GC.SuppressFinalize(this);
}
+ /// <summary>
+ /// Dispose API for destroying the AccountProvider handle.
+ /// </summary>
+ /// <since_tizen> 3 </since_tizen>
+ /// <param name="disposing">The boolean value for destoying AccountProvider handle.</param>
protected virtual void Dispose(bool disposing)
{
if (!disposing)
MinimumVisualStudioVersion = 10.0.40219.1
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Tizen.Account.SyncManager", "Tizen.Account.SyncManager.csproj", "{16028D3D-9DA0-466A-9CE4-EE8790F450D6}"
EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Tizen.Account.AccountManager", "..\Tizen.Account.AccountManager\Tizen.Account.AccountManager.csproj", "{A7594F6F-E28C-475E-B614-9596C140A2E7}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Tizen.Applications.Common", "..\Tizen.Applications.Common\Tizen.Applications.Common.csproj", "{C38800D6-AB85-4D6E-9C3F-F79C7C3ED4EB}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Tizen", "..\Tizen\Tizen.csproj", "{BB293E56-D739-4B0A-B27B-F4FC8AD7832F}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Tizen.Log", "..\Tizen.Log\Tizen.Log.csproj", "{7B75CA54-AA68-425B-86E2-B550D8F9BA4C}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
{16028D3D-9DA0-466A-9CE4-EE8790F450D6}.Debug|Any CPU.Build.0 = Debug|Any CPU
{16028D3D-9DA0-466A-9CE4-EE8790F450D6}.Release|Any CPU.ActiveCfg = Release|Any CPU
{16028D3D-9DA0-466A-9CE4-EE8790F450D6}.Release|Any CPU.Build.0 = Release|Any CPU
+ {A7594F6F-E28C-475E-B614-9596C140A2E7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {A7594F6F-E28C-475E-B614-9596C140A2E7}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {A7594F6F-E28C-475E-B614-9596C140A2E7}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {A7594F6F-E28C-475E-B614-9596C140A2E7}.Release|Any CPU.Build.0 = Release|Any CPU
+ {C38800D6-AB85-4D6E-9C3F-F79C7C3ED4EB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {C38800D6-AB85-4D6E-9C3F-F79C7C3ED4EB}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {C38800D6-AB85-4D6E-9C3F-F79C7C3ED4EB}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {C38800D6-AB85-4D6E-9C3F-F79C7C3ED4EB}.Release|Any CPU.Build.0 = Release|Any CPU
+ {BB293E56-D739-4B0A-B27B-F4FC8AD7832F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {BB293E56-D739-4B0A-B27B-F4FC8AD7832F}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {BB293E56-D739-4B0A-B27B-F4FC8AD7832F}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {BB293E56-D739-4B0A-B27B-F4FC8AD7832F}.Release|Any CPU.Build.0 = Release|Any CPU
+ {7B75CA54-AA68-425B-86E2-B550D8F9BA4C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {7B75CA54-AA68-425B-86E2-B550D8F9BA4C}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {7B75CA54-AA68-425B-86E2-B550D8F9BA4C}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {7B75CA54-AA68-425B-86E2-B550D8F9BA4C}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
--- /dev/null
+/*
+ * Copyright (c) 2017 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the License);
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an AS IS BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+using System;
+using System.Runtime.InteropServices;
+
+internal static partial class Interop
+{
+ internal static partial class Libc
+ {
+ [DllImport(Libraries.Libc, EntryPoint = "free", CallingConvention = CallingConvention.Cdecl)]
+ internal static extern int Free(IntPtr ptr);
+ }
+}
{
internal static partial class Libraries
{
- public const string WidgetService = "libwidget_service.so.1";
+ public const string WidgetService = "libwidget_service.so.1";
+ public const string Libc = "libc.so.6";
}
}
internal static extern string GetPkgId(string widgetId);
[DllImport(Libraries.WidgetService, EntryPoint = "widget_service_get_supported_sizes")]
- internal static extern ErrorCode GetSupportedSizes(string widgetId, ref int cnt, out int[] w, out int[] h);
+ internal static extern ErrorCode GetSupportedSizes(string widgetId, ref int cnt, out IntPtr w, out IntPtr h);
[DllImport(Libraries.WidgetService, EntryPoint = "widget_service_get_supported_size_types")]
- internal static extern ErrorCode GetSupportedSizeTypes(string widgetId, ref int cnt, out int[] types);
+ internal static extern ErrorCode GetSupportedSizeTypes(string widgetId, ref int cnt, out IntPtr types);
[DllImport(Libraries.WidgetService, EntryPoint = "widget_service_get_preview_image_path")]
internal static extern string GetPreviewImagePath(string widgetId, int sizeType);
using System;
using System.Collections.Generic;
using Tizen.Applications;
+using System.Runtime.InteropServices;
namespace Tizen.Applications
{
/// </summary>
public class WidgetControl : IDisposable
{
+ protected static readonly string LogTag = "WidgetControl";
/// <summary>
/// Class for the widget instance.
/// </summary>
/// <exception cref="UnauthorizedAccessException">Thrown when an application does not have the privilege to access this method.</exception>
public IEnumerable<Scale> GetScales()
{
- int[] w = new int[100];
- int[] h = new int[100];
- int[] types = new int[100];
+ IntPtr wPtr;
+ IntPtr hPtr;
+ IntPtr typesPtr;
+ int[] w;
+ int[] h;
+ int[] types;
int cnt1 = 100;
int cnt2 = 100;
IList<Scale> scales = new List<Scale>();
+ Interop.WidgetService.ErrorCode err = Interop.WidgetService.GetSupportedSizes(Id, ref cnt1, out wPtr, out hPtr);
- Interop.WidgetService.ErrorCode err = Interop.WidgetService.GetSupportedSizes(Id, ref cnt1, out w, out h);
+ if (cnt1 == 0)
+ {
+ Log.Error(LogTag, "No supported size :" + Id);
+ return null;
+ }
switch (err)
{
case Interop.WidgetService.ErrorCode.PermissionDenied:
throw new UnauthorizedAccessException();
}
+ w = new int[cnt1];
+ Marshal.Copy(wPtr, w, 0, cnt1);
+ Interop.Libc.Free(wPtr);
- err = Interop.WidgetService.GetSupportedSizeTypes(Id, ref cnt2, out types);
+ h = new int[cnt1];
+ Marshal.Copy(hPtr, h, 0, cnt1);
+ Interop.Libc.Free(hPtr);
+ err = Interop.WidgetService.GetSupportedSizeTypes(Id, ref cnt2, out typesPtr);
switch (err)
{
case Interop.WidgetService.ErrorCode.InvalidParameter:
}
if (cnt1 != cnt2)
+ {
+ Log.Error(LogTag, "Count not match cnt1 :" + cnt1 + ", cnt2 :" + cnt2);
return null;
+ }
+
+ types = new int[cnt2];
+ Marshal.Copy(typesPtr, types, 0, cnt2);
+ Interop.Libc.Free(typesPtr);
for (int i = 0; i < cnt1; i++)
{
}
}
+ /// <summary>
+ /// Provides methods to print log messages to the Tizen logging system.
+ /// </summary>
[EditorBrowsable(EditorBrowsableState.Never)]
public class InternalLog
{
+ /// <summary>
+ /// Prints a log message with the VERBOSE priority.
+ /// </summary>
+ /// <since_tizen> 3 </since_tizen>
+ /// <param name="tag">The tag name of the log message.</param>
+ /// <param name="message">The log message to print.</param>
+ /// <param name="file">The source file path of the caller function. This argument will be set automatically by the compiler.</param>
+ /// <param name="func">The function name of the caller function. This argument will be set automatically by the compiler.</param>
+ /// <param name="line">The line number of the calling position. This argument will be set automatically by the compiler.</param>
public static void Verbose(string tag, string message, [CallerFilePath] string file = "", [CallerMemberName] string func = "", [CallerLineNumber] int line = 0)
{
- // For internal dlog APIs, Verbose level log is disabled
+ // For internal dlog APIs, Verbose level log is disabled
// Print(Interop.Dlog.LogID.LOG_ID_MAIN, Interop.Dlog.LogPriority.DLOG_VERBOSE, tag, message, file, func, line);
}
+ /// <summary>
+ /// Prints a log message with the DEBUG priority.
+ /// </summary>
+ /// <since_tizen> 3 </since_tizen>
+ /// <param name="tag">The tag name of the log message.</param>
+ /// <param name="message">The log message to print.</param>
+ /// <param name="file">The source file path of the caller function. This argument will be set automatically by the compiler.</param>
+ /// <param name="func">The function name of the caller function. This argument will be set automatically by the compiler.</param>
+ /// <param name="line">The line number of the calling position. This argument will be set automatically by the compiler.</param>
public static void Debug(string tag, string message, [CallerFilePath] string file = "", [CallerMemberName] string func = "", [CallerLineNumber] int line = 0)
{
Print(Interop.Dlog.LogID.LOG_ID_MAIN, Interop.Dlog.LogPriority.DLOG_DEBUG, tag, message, file, func, line);
}
+ /// <summary>
+ /// Prints a log message with the INFO priority.
+ /// </summary>
+ /// <since_tizen> 3 </since_tizen>
+ /// <param name="tag">The tag name of the log message.</param>
+ /// <param name="message">The log message to print.</param>
+ /// <param name="file">The source file path of the caller function. This argument will be set automatically by the compiler.</param>
+ /// <param name="func">The function name of the caller function. This argument will be set automatically by the compiler.</param>
+ /// <param name="line">The line number of the calling position. This argument will be set automatically by the compiler.</param>
public static void Info(string tag, string message, [CallerFilePath] string file = "", [CallerMemberName] string func = "", [CallerLineNumber] int line = 0)
{
Print(Interop.Dlog.LogID.LOG_ID_MAIN, Interop.Dlog.LogPriority.DLOG_INFO, tag, message, file, func, line);
}
+ /// <summary>
+ /// Prints a log message with the WARNING priority.
+ /// </summary>
+ /// <since_tizen> 3 </since_tizen>
+ /// <param name="tag">The tag name of the log message.</param>
+ /// <param name="message">The log message to print.</param>
+ /// <param name="file">The source file path of the caller function. This argument will be set automatically by the compiler.</param>
+ /// <param name="func">The function name of the caller function. This argument will be set automatically by the compiler.</param>
+ /// <param name="line">The line number of the calling position. This argument will be set automatically by the compiler.</param>
public static void Warn(string tag, string message, [CallerFilePath] string file = "", [CallerMemberName] string func = "", [CallerLineNumber] int line = 0)
{
Print(Interop.Dlog.LogID.LOG_ID_MAIN, Interop.Dlog.LogPriority.DLOG_WARN, tag, message, file, func, line);
}
+ /// <summary>
+ /// Prints a log message with the ERROR priority.
+ /// </summary>
+ /// <since_tizen> 3 </since_tizen>
+ /// <param name="tag">The tag name of the log message.</param>
+ /// <param name="message">The log message to print.</param>
+ /// <param name="file">The source file path of the caller function. This argument will be set automatically by the compiler.</param>
+ /// <param name="func">The function name of the caller function. This argument will be set automatically by the compiler.</param>
+ /// <param name="line">The line number of the calling position. This argument will be set automatically by the compiler.</param>
public static void Error(string tag, string message, [CallerFilePath] string file = "", [CallerMemberName] string func = "", [CallerLineNumber] int line = 0)
{
Print(Interop.Dlog.LogID.LOG_ID_MAIN, Interop.Dlog.LogPriority.DLOG_ERROR, tag, message, file, func, line);
}
+ /// <summary>
+ /// Prints a log message with the FATAL priority.
+ /// </summary>
+ /// <since_tizen> 3 </since_tizen>
+ /// <param name="tag">The tag name of the log message.</param>
+ /// <param name="message">The log message to print.</param>
+ /// <param name="file">The source file path of the caller function. This argument will be set automatically by the compiler.</param>
+ /// <param name="func">The function name of the caller function. This argument will be set automatically by the compiler.</param>
+ /// <param name="line">The line number of the calling position. This argument will be set automatically by the compiler.</param>
public static void Fatal(string tag, string message, [CallerFilePath] string file = "", [CallerMemberName] string func = "", [CallerLineNumber] int line = 0)
{
Print(Interop.Dlog.LogID.LOG_ID_MAIN, Interop.Dlog.LogPriority.DLOG_FATAL, tag, message, file, func, line);
}
}
+ /// <summary>
+ /// Provides methods to print log messages to the Tizen logging system.
+ /// </summary>
[EditorBrowsable(EditorBrowsableState.Never)]
public class SecureLog
{
+ /// <summary>
+ /// Prints a log message with the VERBOSE priority.
+ /// </summary>
+ /// <since_tizen> 3 </since_tizen>
+ /// <param name="tag">The tag name of the log message.</param>
+ /// <param name="message">The log message to print.</param>
+ /// <param name="file">The source file path of the caller function. This argument will be set automatically by the compiler.</param>
+ /// <param name="func">The function name of the caller function. This argument will be set automatically by the compiler.</param>
+ /// <param name="line">The line number of the calling position. This argument will be set automatically by the compiler.</param>
public static void Verbose(string tag, string message, [CallerFilePath] string file = "", [CallerMemberName] string func = "", [CallerLineNumber] int line = 0)
{
// For internal dlog APIs, Verbose level log is disabled
// Print(Interop.Dlog.LogID.LOG_ID_MAIN, Interop.Dlog.LogPriority.DLOG_VERBOSE, tag, message, file, func, line);
}
+ /// <summary>
+ /// Prints a log message with the DEBUG priority.
+ /// </summary>
+ /// <since_tizen> 3 </since_tizen>
+ /// <param name="tag">The tag name of the log message.</param>
+ /// <param name="message">The log message to print.</param>
+ /// <param name="file">The source file path of the caller function. This argument will be set automatically by the compiler.</param>
+ /// <param name="func">The function name of the caller function. This argument will be set automatically by the compiler.</param>
+ /// <param name="line">The line number of the calling position. This argument will be set automatically by the compiler.</param>
public static void Debug(string tag, string message, [CallerFilePath] string file = "", [CallerMemberName] string func = "", [CallerLineNumber] int line = 0)
{
Print(Interop.Dlog.LogID.LOG_ID_MAIN, Interop.Dlog.LogPriority.DLOG_DEBUG, tag, message, file, func, line);
}
+ /// <summary>
+ /// Prints a log message with the INFO priority.
+ /// </summary>
+ /// <since_tizen> 3 </since_tizen>
+ /// <param name="tag">The tag name of the log message.</param>
+ /// <param name="message">The log message to print.</param>
+ /// <param name="file">The source file path of the caller function. This argument will be set automatically by the compiler.</param>
+ /// <param name="func">The function name of the caller function. This argument will be set automatically by the compiler.</param>
+ /// <param name="line">The line number of the calling position. This argument will be set automatically by the compiler.</param>
public static void Info(string tag, string message, [CallerFilePath] string file = "", [CallerMemberName] string func = "", [CallerLineNumber] int line = 0)
{
Print(Interop.Dlog.LogID.LOG_ID_MAIN, Interop.Dlog.LogPriority.DLOG_INFO, tag, message, file, func, line);
}
+ /// <summary>
+ /// Prints a log message with the WARNING priority.
+ /// </summary>
+ /// <since_tizen> 3 </since_tizen>
+ /// <param name="tag">The tag name of the log message.</param>
+ /// <param name="message">The log message to print.</param>
+ /// <param name="file">The source file path of the caller function. This argument will be set automatically by the compiler.</param>
+ /// <param name="func">The function name of the caller function. This argument will be set automatically by the compiler.</param>
+ /// <param name="line">The line number of the calling position. This argument will be set automatically by the compiler.</param>
public static void Warn(string tag, string message, [CallerFilePath] string file = "", [CallerMemberName] string func = "", [CallerLineNumber] int line = 0)
{
Print(Interop.Dlog.LogID.LOG_ID_MAIN, Interop.Dlog.LogPriority.DLOG_WARN, tag, message, file, func, line);
}
+ /// <summary>
+ /// Prints a log message with the ERROR priority.
+ /// </summary>
+ /// <since_tizen> 3 </since_tizen>
+ /// <param name="tag">The tag name of the log message.</param>
+ /// <param name="message">The log message to print.</param>
+ /// <param name="file">The source file path of the caller function. This argument will be set automatically by the compiler.</param>
+ /// <param name="func">The function name of the caller function. This argument will be set automatically by the compiler.</param>
+ /// <param name="line">The line number of the calling position. This argument will be set automatically by the compiler.</param>
public static void Error(string tag, string message, [CallerFilePath] string file = "", [CallerMemberName] string func = "", [CallerLineNumber] int line = 0)
{
Print(Interop.Dlog.LogID.LOG_ID_MAIN, Interop.Dlog.LogPriority.DLOG_ERROR, tag, message, file, func, line);
}
+ /// <summary>
+ /// Prints a log message with the FATAL priority.
+ /// </summary>
+ /// <since_tizen> 3 </since_tizen>
+ /// <param name="tag">The tag name of the log message.</param>
+ /// <param name="message">The log message to print.</param>
+ /// <param name="file">The source file path of the caller function. This argument will be set automatically by the compiler.</param>
+ /// <param name="func">The function name of the caller function. This argument will be set automatically by the compiler.</param>
+ /// <param name="line">The line number of the calling position. This argument will be set automatically by the compiler.</param>
public static void Fatal(string tag, string message, [CallerFilePath] string file = "", [CallerMemberName] string func = "", [CallerLineNumber] int line = 0)
{
Print(Interop.Dlog.LogID.LOG_ID_MAIN, Interop.Dlog.LogPriority.DLOG_FATAL, tag, message, file, func, line);
/// APIs are provided so that an application can register itself
/// with the push server along with APIs to request push message.
/// </remarks>
- /// <example>
- /// <code>
- /// public class Program
- /// {
- /// static void Main(string[] args)
- /// {
- /// PushClient.PushServiceConnect("xxxxx");
- /// Task<ServerResponse> tr = PushClient.PushServerRegister();
- /// tr.GetAwaiter().OnCompleted(() => {
- /// ServerResponse res = tr.Result;
- /// PushClient.GetUnreadNotifications();
- /// Task<ServerResponse> tu = PushClient.PushServerUnregister();
- /// tu.GetAwaiter().OnCompleted(() => {
- /// PushClient.PushServiceDisconnect();
- /// });
- /// });
- /// PushClient.NotificationReceived += EventHandlerNotificationReceived;
- /// PushClient.StateChanged += EventHandlerStateChanged;
- /// }
- /// }
- /// static void EventHandlerNotificationReceived(object sender, PushMessageEventArgs e)
- /// {
- /// // any user code
- /// }
- /// static void EventHandlerStateChanged(object sender, PushConnectionStateEventArgs e)
- /// {
- /// // any user code
- /// }
- /// </code>
- /// </example>
public static class PushClient
{
/// <summary>
}
/// <summary>
- /// registration ID received from server. </summary>
+ /// registration ID received from server.
+ /// </summary>
/// <since_tizen> 3 </since_tizen>
/// <returns>
/// It is the string, which is the ID received from the server.
/// </summary>
/// <since_tizen> 3 </since_tizen>
/// <value>
- /// It is the current state.</value>
+ /// It is the current state.
+ /// </value>
public PushState State
{
get;
/// </summary>
/// <since_tizen> 3 </since_tizen>
/// <value>
- /// It is the string, which contains the error string if set.</value>
+ /// It is the string, which contains the error string if set.
+ /// </value>
public string Error
{
get;
internal PushImpl()
{
- //Empty
+ // Empty
}
private IntPtr _connection;
ob.Type = type;
}
PushClient.Notify(ob);
- //Interop.PushClient.FreeNotification(notification);
- Log.Info(Interop.PushClient.LogTag, "Free Notification Done");
};
Interop.PushClient.ServiceError connectResult = Interop.PushClient.ServiceConnect(pushAppId, stateDelegate, notifyDelegate, IntPtr.Zero, out _connection);
if (connectResult != Interop.PushClient.ServiceError.None)
public class PushMessageEventArgs : EventArgs
{
/// <summary>
- /// Gives the Application Data recieved. </summary>
+ /// Gives the Application Data recieved.
+ /// </summary>
/// <since_tizen> 3 </since_tizen>
/// <value>
- /// It is the string, which stores the application data.</value>
+ /// It is the string, which stores the application data.
+ /// </value>
public string AppData
{
get;
/// </summary>
/// <since_tizen> 3 </since_tizen>
/// <value>
- /// It is the string, which stores the message field.</value>
+ /// It is the string, which stores the message field.
+ /// </value>
public string Message
{
get;
/// </summary>
/// <since_tizen> 3 </since_tizen>
/// <value>
- /// It is the DateTime field representing the time at which the Notification was received.</value>
+ /// It is the DateTime field representing the time at which the Notification was received.
+ /// </value>
public DateTime ReceivedAt
{
get;
/// </summary>
/// <since_tizen> 3 </since_tizen>
/// <value>
- /// It is a string value representing the Sender of the Notification.</value>
+ /// It is a string value representing the Sender of the Notification.
+ /// </value>
public string Sender
{
get;
/// </summary>
/// <since_tizen> 3 </since_tizen>
/// <value>
- /// It is a string value representing the session ID of the Notification.</value>
+ /// It is a string value representing the session ID of the Notification.
+ /// </value>
public string SessionInfo
{
get;
/// </summary>
/// <since_tizen> 3 </since_tizen>
/// <value>
- /// It is a string value representing the request ID of the Notification.</value>
+ /// It is a string value representing the request ID of the Notification.
+ /// </value>
public string RequestId
{
get;
/// </summary>
/// <since_tizen> 3 </since_tizen>
/// <value>
- /// It is an integer value representing the type field of the notification.</value>
+ /// It is an integer value representing the type field of the notification.
+ /// </value>
public int Type
{
get;
/// </summary>
/// <since_tizen> 3 </since_tizen>
/// <value>
- /// It is the Result state of the operation performed.</value>
+ /// It is the Result state of the operation performed.
+ /// </value>
public Result ServerResult
{
get;
/// </summary>
/// <since_tizen> 3 </since_tizen>
/// <value>
- /// It is the Message sent by the server.</value>
+ /// It is the Message sent by the server.
+ /// </value>
public string ServerMessage
{
get;
#region Dispose support
private bool _isDisposed = false;
+ /// <summary>
+ /// Releases all resources used by the <see cref="AudioCaptureBase"/> object.
+ /// </summary>
public void Dispose()
{
Dispose(true);
GC.SuppressFinalize(this);
}
+ /// <summary>
+ /// Releases the resources used by the <see cref="AudioCaptureBase"/> object.
+ /// </summary>
+ /// <param name="disposing">
+ /// true to release both managed and unmanaged resources; false to release only unmanaged resources.
+ /// </param>
protected virtual void Dispose(bool disposing)
{
if (_isDisposed)
namespace Tizen.Multimedia
{
+ /// <summary>
+ /// Specifies the audio channels.
+ /// </summary>
+ /// <seealso cref="AudioCapture"/>
+ /// <seealso cref="AsyncAudioCapture"/>
+ /// <seealso cref="AudioPlayback"/>
public enum AudioChannel
{
+ /// <summary>
+ /// Mono.
+ /// </summary>
Mono = 0x80,
+ /// <summary>
+ /// Stereo.
+ /// </summary>
Stereo
}
#region Dispose support
private bool _isDisposed = false;
+ /// <summary>
+ /// Releases all resources used by the <see cref="AudioPlayback"/> object.
+ /// </summary>
public void Dispose()
{
Dispose(true);
GC.SuppressFinalize(this);
}
+ /// <summary>
+ /// Releases the resources used by the <see cref="AudioPlayback"/> object.
+ /// </summary>
+ /// <param name="disposing">
+ /// true to release both managed and unmanaged resources; false to release only unmanaged resources.
+ /// </param>
protected virtual void Dispose(bool disposing)
{
if (_isDisposed)
Dispose(false);
}
+ /// <summary>
+ /// Gets the native handle of the camera.
+ /// </summary>
public IntPtr Handle => GetHandle();
internal IntPtr GetHandle()
namespace Tizen.Multimedia
{
+ /// <summary>
+ /// The base exception class that is thrown when specific camera related error occurs.
+ /// </summary>
public class CameraException : Exception
{
+ /// <summary>
+ /// Initializes a new instance of the <see cref="CameraException"/> class.
+ /// </summary>
public CameraException() : base()
{
}
+ /// <summary>
+ /// Initializes a new instance of the <see cref="CameraException"/> class with a specified error message.
+ /// </summary>
public CameraException(string message) : base(message)
{
}
}
+ /// <summary>
+ /// The exception that is thrown when a camera device-related error occurs.
+ /// </summary>
public class CameraDeviceException : CameraException
{
+ /// <summary>
+ /// Initializes a new instance of the <see cref="CameraDeviceException"/> class.
+ /// </summary>
public CameraDeviceException() : base()
{
}
+ /// <summary>
+ /// Initializes a new instance of the <see cref="CameraDeviceException"/> class with a specified error message.
+ /// </summary>
public CameraDeviceException(string message) : base(message)
{
}
}
+ /// <summary>
+ /// The exception that is thrown when a camera device is not available.
+ /// </summary>
public class CameraDeviceNotFoundException : CameraException
{
+ /// <summary>
+ /// Initializes a new instance of the <see cref="CameraDeviceNotFoundException"/> class.
+ /// </summary>
public CameraDeviceNotFoundException() : base()
{
}
+ /// <summary>
+ /// Initializes a new instance of the <see cref="CameraDeviceNotFoundException"/> class with a specified error message.
+ /// </summary>
public CameraDeviceNotFoundException(string message) : base(message)
{
}
namespace Tizen.Multimedia
{
+ /// <summary>
+ /// Provides interface for various preview plane types.
+ /// </summary>
public interface IPreviewPlane
{
}
#region IDisposable-support
private bool _isDisposed = false;
+ /// <summary>
+ /// Releases the resources used by the <see cref="MediaCodec"/> object.
+ /// </summary>
+ /// <param name="disposing">
+ /// true to release both managed and unmanaged resources; false to release only unmanaged resources.
+ /// </param>
protected virtual void Dispose(bool disposing)
{
if (!_isDisposed)
Dispose(false);
}
+ /// <summary>
+ /// Releases all resources used by the <see cref="MediaCodec"/> object.
+ /// </summary>
public void Dispose()
{
Dispose(true);
/// Adds the packet to the internal queue of the codec.
/// </summary>
/// <param name="packet">The packet to be encoded or decoded.</param>
- /// <exception cref="ArgumentNullException"><paramref="packet"/> is null.</exception>
+ /// <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>
public void ProcessInput(MediaPacket packet)
/// <param name="encoder">The value indicating encoder or decoder.</param>
/// <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="type"/> is invalid.</exception>
+ /// <exception cref="ArgumentException"><paramref name="type"/> is invalid.</exception>
public MediaCodecTypes GetCodecType(bool encoder, MediaFormatVideoMimeType type)
{
ValidateNotDisposed();
/// <param name="encoder">The value indicating encoder or decoder.</param>
/// <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="type"/> is invalid.</exception>
+ /// <exception cref="ArgumentException"><paramref name="type"/> is invalid.</exception>
public MediaCodecTypes GetCodecType(bool encoder, MediaFormatAudioMimeType type)
{
ValidateNotDisposed();
OverflowInBuffer = CodecDefinedBase | 0x0d,
}
+ /// <summary>
+ /// Specifies the errors of <see cref="MediaCodec"/>.
+ /// </summary>
+ /// <seealso cref="MediaCodec.ErrorOccurred"/>
public enum MediaCodecError
{
+ /// <summary>
+ /// The format is not supported.
+ /// </summary>
NotSupportedFormat = MediaCodecErrorCode.NotSupportedFormat,
+
+ /// <summary>
+ /// An internal error.
+ /// </summary>
InternalError = MediaCodecErrorCode.Internal,
+
+ /// <summary>
+ /// Not enough storage.
+ /// </summary>
OutOfStorage = MediaCodecErrorCode.OutOfStorage,
+
+ /// <summary>
+ /// The stream is invalid.
+ /// </summary>
InvalidStream = MediaCodecErrorCode.InvalidStream,
}
}
/// Initializes a new instance of the MediaBufferSource class from the buffer.
/// </summary>
/// <param name="buffer">The source array to be copied into the buffer.</param>
- /// <exception cref="ArgumentNullException"><paramref="buffer"/> is null.</exception>
+ /// <exception cref="ArgumentNullException"><paramref name="buffer"/> is null.</exception>
public MediaBufferSource(byte[] buffer) : this(buffer, buffer == null ? 0 : buffer.Length)
{
}
/// <param name="buffer">The source array to be copied into the buffer.</param>
/// <param name="length">The value indicating the number of bytes to copy from the buffer.</param>
/// <param name="offset">The value indicating the offset in the buffer of the first byte to copy.</param>
- /// <exception cref="ArgumentNullException"><paramref="buffer"/> is null.</exception>
+ /// <exception cref="ArgumentNullException"><paramref name="buffer"/> is null.</exception>
/// <exception cref="ArgumentOutOfRangeException">
/// <paramref name="offset"/> is less than zero.\n
/// -or-\n
/// To set, the recorder must be in the <see cref="RecorderState.Idle"/> or the <see cref="RecorderState.Ready"/> state.
/// </remarks>
/// <exception cref="ArgumentOutOfRangeException">Width or height of <paramref name="value"/> is less than or equal to zero.</exception>
- /// <exception cref="NotSupportedException"><paramref name="value"> is not supported.</exception>
+ /// <exception cref="NotSupportedException"><paramref name="value"/> is not supported.</exception>
/// <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="Recorder.GetSupportedVideoResolutions(CameraDevice)"/>
+ /// <seealso cref="VideoRecorder.GetSupportedVideoResolutions(CameraDevice)"/>
public Size VideoResolution
{
get
/// -or-\n
/// An internal error occurs.
/// </exception>
- /// <exception cref="ArgumentException"/><paramref name="mode"/> is invalid.</exception>
+ /// <exception cref="ArgumentException"><paramref name="mode"/> is invalid.</exception>
public static void SetRepeatMode(MediaControlRepeatMode mode)
{
ValidationUtil.ValidateEnum(typeof(MediaControlRepeatMode), mode, nameof(mode));
/// Initializes a new instance of the <see cref="RepeatModeUpdatedEventArgs"/> class.
/// </summary>
/// <param name="mode">A value indicating the updated repeat mode.</param>
- /// <exception cref="ArgumentException"/><paramref name="mode"/> is invalid.</exception>
+ /// <exception cref="ArgumentException"><paramref name="mode"/> is invalid.</exception>
public RepeatModeUpdatedEventArgs(MediaControlRepeatMode mode)
{
ValidationUtil.ValidateEnum(typeof(MediaControlRepeatMode), mode, nameof(mode));
/// <remarks>
/// Call <see cref="Dispose()"/> when you are finished using the <see cref="ScreenMirroring"/>.
/// The <see cref="Dispose()"/> method leaves the <see cref="ScreenMirroring"/> in an unusable
- /// state. After calling <see cref="Dispose"()/>, you must release all references to the
+ /// state. After calling <see cref="Dispose()"/>, you must release all references to the
/// <see cref="ScreenMirroring"/> so the garbage collector can reclaim the memory that the
/// <see cref="ScreenMirroring"/> was occupying.
/// </remarks>
private CellularAuthInformation _cellularAuthInfo = null;
+ /// <summary>
+ /// Destroy the CellularProfile object
+ /// </summary>
~CellularProfile()
{
}
using System.Threading.Tasks;
using System.Runtime.InteropServices;
-/// <summary>
-/// The Connection API provides functions and enumerations to get the status of network and current profile and manages profiles.
-/// </summary>
namespace Tizen.Network.Connection
{
/// <summary>
IPv6 = new ConnectionAddressInformation(ProfileHandle, AddressFamily.IPv6);
}
+ /// <summary>
+ /// Destroy the ConnectionProfile object
+ /// </summary>
~ConnectionProfile()
{
Dispose(false);
/// <since_tizen> 3 </since_tizen>
public enum ConnectionType
{
- Disconnected = 0, /**< Disconnected */
- WiFi = 1, /**< Wi-Fi type */
- Cellular = 2, /**< Cellular type */
- Ethernet = 3, /**< Ethernet type */
- Bluetooth = 4, /**< Bluetooth type */
- NetProxy = 5 /**< Proxy type for internet connection */
+ /// <summary>
+ /// Disconnected
+ /// </summary>
+ Disconnected = 0,
+ /// <summary>
+ /// Wi-Fi type
+ /// </summary>
+ WiFi = 1,
+ /// <summary>
+ /// Cellular type
+ /// </summary>
+ Cellular = 2,
+ /// <summary>
+ /// Ethernet type
+ /// </summary>
+ Ethernet = 3,
+ /// <summary>
+ /// Bluetooth type
+ /// </summary>
+ Bluetooth = 4,
+ /// <summary>
+ /// Proxy type for Internet connection
+ /// </summary>
+ NetProxy = 5
}
/// <summary>
/// <since_tizen> 3 </since_tizen>
public enum AddressFamily
{
- IPv4 = 0, /**< IPv4 Address */
- IPv6 = 1 /**< IPv6 Address */
+ /// <summary>
+ /// IPv4 Address
+ /// </summary>
+ IPv4 = 0,
+ /// <summary>
+ /// IPv6 Address
+ /// </summary>
+ IPv6 = 1
}
/// <summary>
/// <since_tizen> 3 </since_tizen>
public enum CellularState
{
- OutOfService = 0, /**< Out of service */
- FlightMode = 1, /**< Flight mode */
- RoamingOff = 2, /**< Roaming is turned off */
- CallOnlyAvailable = 3, /**< Call is only available */
- Available = 4, /**< Available but not connected yet */
- Connected = 5, /**< Connected */
+ /// <summary>
+ /// Out of service
+ /// </summary>
+ OutOfService = 0,
+ /// <summary>
+ /// Flight mode
+ /// </summary>
+ FlightMode = 1,
+ /// <summary>
+ /// Roaming is turned off
+ /// </summary>
+ RoamingOff = 2,
+ /// <summary>
+ /// Call is only available
+ /// </summary>
+ CallOnlyAvailable = 3,
+ /// <summary>
+ /// Available but not connected yet
+ /// </summary>
+ Available = 4,
+ /// <summary>
+ /// Connected
+ /// </summary>
+ Connected = 5,
}
/// <summary>
/// <since_tizen> 3 </since_tizen>
public enum ConnectionState
{
- Deactivated = 0, /**< Deactivated */
- Disconnected = 1, /**< Disconnected */
- Connected = 2, /**< Connected */
+ /// <summary>
+ /// Deactivated
+ /// </summary>
+ Deactivated = 0,
+ /// <summary>
+ /// Disconnected
+ /// </summary>
+ Disconnected = 1,
+ /// <summary>
+ /// Connected
+ /// </summary>
+ Connected = 2,
}
/// <summary>
/// <since_tizen> 3 </since_tizen>
public enum EthernetCableState
{
- Detached = 0, /**< Ethernet cable is detached */
- Attached = 1, /**< Ethernet cable is attached */
+ /// <summary>
+ /// Ethernet cable is detached
+ /// </summary>
+ Detached = 0,
+ /// <summary>
+ /// Ethernet cable is attached
+ /// </summary>
+ Attached = 1,
}
/// <summary>
/// <since_tizen> 3 </since_tizen>
public enum StatisticsType
{
- LastReceivedData = 0, /**< Last received data */
- LastSentData = 1, /**< Last sent data */
- TotalReceivedData = 2, /**< Total received data */
- TotalSentData = 3, /**< Total sent data */
+ /// <summary>
+ /// Last received data
+ /// </summary>
+ LastReceivedData = 0,
+ /// <summary>
+ /// Last sent data
+ /// </summary>
+ LastSentData = 1,
+ /// <summary>
+ /// Total received data
+ /// </summary>
+ TotalReceivedData = 2,
+ /// <summary>
+ /// Total sent data
+ /// </summary>
+ TotalSentData = 3,
}
/// <summary>
/// <since_tizen> 3 </since_tizen>
public enum ConnectionProfileType
{
- Cellular = 0, /**< Cellular type */
- WiFi = 1, /**< Wi-Fi type */
- Ethernet = 2, /**< Ethernet type */
- Bt = 3, /**< Bluetooth type */
+ /// <summary>
+ /// Cellular type
+ /// </summary>
+ Cellular = 0,
+ /// <summary>
+ /// Wi-Fi type
+ /// </summary>
+ WiFi = 1,
+ /// <summary>
+ /// Ethernet type
+ /// </summary>
+ Ethernet = 2,
+ /// <summary>
+ /// Bluetooth type
+ /// </summary>
+ Bt = 3,
}
/// <summary>
/// <since_tizen> 3 </since_tizen>
public enum ProfileState
{
- Disconnected = 0, /**< Disconnected state */
- Association = 1, /**< Association state */
- Configuration = 2, /**< Configuration state */
- Connected = 3, /**< Connected state */
+ /// <summary>
+ /// Disconnected state
+ /// </summary>
+ Disconnected = 0,
+ /// <summary>
+ /// Association state
+ /// </summary>
+ Association = 1,
+ /// <summary>
+ /// Configuration state
+ /// </summary>
+ Configuration = 2,
+ /// <summary>
+ /// Connected state
+ /// </summary>
+ Connected = 3,
}
/// <summary>
/// <since_tizen> 3 </since_tizen>
public enum ProxyType
{
- Direct = 0, /**< Direct connection */
- Auto = 1, /**< Auto configuration(Use PAC file). If URL property is not set, DHCP/WPAD auto-discover will be tried */
- Manual = 2, /**< Manual configuration */
+ /// <summary>
+ /// Direct connection
+ /// </summary>
+ Direct = 0,
+ /// <summary>
+ /// Auto configuration(Use PAC file). If URL property is not set, DHCP/WPAD auto-discover will be tried
+ /// </summary>
+ Auto = 1,
+ /// <summary>
+ /// Manual configuration
+ /// </summary>
+ Manual = 2,
}
/// <summary>
/// <since_tizen> 3 </since_tizen>
public enum IPConfigType
{
- None = 0, /**< Not defined */
- Static = 1, /**< Manual IP configuration */
- Dynamic = 2, /**< Config IP using DHCP client*/
- Auto = 3, /**< Config IP from Auto IP pool (169.254/16). Later with DHCP client, if available */
- Fixed = 4, /**< Indicates an IP address that can not be modified */
+ /// <summary>
+ /// Not defined
+ /// </summary>
+ None = 0,
+ /// <summary>
+ /// Manual IP configuration
+ /// </summary>
+ Static = 1,
+ /// <summary>
+ /// COnfig IP using DHCP client
+ /// </summary>
+ Dynamic = 2,
+ /// <summary>
+ /// Config IP from Auto IP pool (169.254/16). Later with DHCP client, if available
+ /// </summary>
+ Auto = 3,
+ /// <summary>
+ /// Indicates an IP address that can not be modified
+ /// </summary>
+ Fixed = 4,
}
/// <summary>
/// <since_tizen> 3 </since_tizen>
public enum CellularServiceType
{
- Unknown = 0, /**< Unknown */
- Internet = 1, /**< Internet */
- MMS = 2, /**< MMS */
- PrepaidInternet = 3, /**< Prepaid internet */
- PrepaidMMS = 4, /**< Prepaid MMS */
- Tethering = 5, /**< Tethering */
- Application = 6, /**< Specific application */
+ /// <summary>
+ /// Unknown
+ /// </summary>
+ Unknown = 0,
+ /// <summary>
+ /// Internet
+ /// </summary>
+ Internet = 1,
+ /// <summary>
+ /// MMS
+ /// </summary>
+ MMS = 2,
+ /// <summary>
+ /// Prepaid Internet
+ /// </summary>
+ PrepaidInternet = 3,
+ /// <summary>
+ /// Prepaid MMS
+ /// </summary>
+ PrepaidMMS = 4,
+ /// <summary>
+ /// Tethering
+ /// </summary>
+ Tethering = 5,
+ /// <summary>
+ /// Specific application
+ /// </summary>
+ Application = 6,
}
/// <summary>
/// <since_tizen> 3 </since_tizen>
public enum CellularPdnType
{
- Unknown = 0, /**< Unknown */
- IPv4 = 1, /**< IPv4 */
- IPv6 = 2, /**< IPv6 */
- IPv4_IPv6 = 3, /**< Both IPv4 and IPv6 */
+ /// <summary>
+ /// Unknown
+ /// </summary>
+ Unknown = 0,
+ /// <summary>
+ /// IPv4
+ /// </summary>
+ IPv4 = 1,
+ /// <summary>
+ /// IPv6
+ /// </summary>
+ IPv6 = 2,
+ /// <summary>
+ /// Both IPv4 and IPv6
+ /// </summary>
+ IPv4_IPv6 = 3,
}
/// <summary>
/// <since_tizen> 3 </since_tizen>
public enum DnsConfigType
{
- None = 0, /**< Not defined */
- Static = 1, /**< Manual DNS configuration */
- Dynamic = 2, /**< Config DNS using DHCP client */
+ /// <summary>
+ /// Not defined
+ /// </summary>
+ None = 0,
+ /// <summary>
+ /// Manual DNS configuration
+ /// </summary>
+ Static = 1,
+ /// <summary>
+ /// Config DNS using DHCP client
+ /// </summary>
+ Dynamic = 2,
}
static internal class ConnectionErrorValue
// To do : have to assign valid error code
public enum ConnectionError
{
- None = ErrorCode.None, /**< Successful */
- InvalidParameter = ErrorCode.InvalidParameter, /**< Invalid parameter */
- OutOfMemoryError = ErrorCode.OutOfMemory, /**< Out of memory error */
- InvalidOperation = ErrorCode.InvalidOperation, /**< Invalid Operation */
- AddressFamilyNotSupported = ErrorCode.AddressFamilyNotSupported, /**< Address family not supported */
- OperationFailed = ConnectionErrorValue.Base | 0x0401, /**< Operation failed */
- EndOfIteration = ConnectionErrorValue.Base | 0x0402, /**< End of iteration */
- NoConnection = ConnectionErrorValue.Base | 0x0403, /**< There is no connection */
- NowInProgress = ErrorCode.NowInProgress, /** Now in progress */
- AlreadyExists = ConnectionErrorValue.Base | 0x0404, /**< Already exists */
- OperationAborted = ConnectionErrorValue.Base | 0x0405, /**< Operation is aborted */
- DhcpFailed = ConnectionErrorValue.Base | 0x0406, /**< DHCP failed */
- InvalidKey = ConnectionErrorValue.Base | 0x0407, /**< Invalid key */
- NoReply = ConnectionErrorValue.Base | 0x0408, /**< No reply */
- PermissionDenied = ErrorCode.PermissionDenied, /**< Permission denied */
- NotSupported = ErrorCode.NotSupported /**< Not Supported */
+ /// <summary>
+ /// Successful
+ /// </summary>
+ None = ErrorCode.None,
+ /// <summary>
+ /// Invalid parameter
+ /// </summary>
+ InvalidParameter = ErrorCode.InvalidParameter,
+ /// <summary>
+ /// Out of memory error
+ /// </summary>
+ OutOfMemoryError = ErrorCode.OutOfMemory,
+ /// <summary>
+ /// Invalid operation
+ /// </summary>
+ InvalidOperation = ErrorCode.InvalidOperation,
+ /// <summary>
+ /// Addrss family not supported
+ /// </summary>
+ AddressFamilyNotSupported = ErrorCode.AddressFamilyNotSupported,
+ /// <summary>
+ /// Operation failed
+ /// </summary>
+ OperationFailed = ConnectionErrorValue.Base | 0x0401,
+ /// <summary>
+ /// End of iteration
+ /// </summary>
+ EndOfIteration = ConnectionErrorValue.Base | 0x0402,
+ /// <summary>
+ /// There is no connection
+ /// </summary>
+ NoConnection = ConnectionErrorValue.Base | 0x0403,
+ /// <summary>
+ /// Now in progress
+ /// </summary>
+ NowInProgress = ErrorCode.NowInProgress,
+ /// <summary>
+ /// Already exists
+ /// </summary>
+ AlreadyExists = ConnectionErrorValue.Base | 0x0404,
+ /// <summary>
+ /// Operation is aborted
+ /// </summary>
+ OperationAborted = ConnectionErrorValue.Base | 0x0405,
+ /// <summary>
+ /// DHCP failed
+ /// </summary>
+ DhcpFailed = ConnectionErrorValue.Base | 0x0406,
+ /// <summary>
+ /// Invalid key
+ /// </summary>
+ InvalidKey = ConnectionErrorValue.Base | 0x0407,
+ /// <summary>
+ /// No reply
+ /// </summary>
+ NoReply = ConnectionErrorValue.Base | 0x0408,
+ /// <summary>
+ /// Permission denied
+ /// </summary>
+ PermissionDenied = ErrorCode.PermissionDenied,
+ /// <summary>
+ /// Not supported
+ /// </summary>
+ NotSupported = ErrorCode.NotSupported
}
/// <summary>
/// <since_tizen> 3 </since_tizen>
public enum ProfileListType
{
- Registered = 0, /**< The iterator of the registered profile */
- Connected = 1, /**< The iterator of the connected profile */
- Default = 2, /**< The iterator of the default profile */
+ /// <summary>
+ /// The iterator of the registered profile
+ /// </summary>
+ Registered = 0,
+ /// <summary>
+ /// The iterator of the connected profile
+ /// </summary>
+ Connected = 1,
+ /// <summary>
+ /// The iterator of the default profile
+ /// </summary>
+ Default = 2,
}
/// <summary>
/// <since_tizen> 3 </since_tizen>
public enum WiFiSecurityType
{
- None = 0, /**< Security disabled */
- Wep = 1, /**< WEP */
- WpaPsk = 2, /**< WPA-PSK */
- Wpa2Psk = 3, /**< WPA2-PSK */
- Eap = 4, /**< EAP */
+ /// <summary>
+ /// Security disabled
+ /// </summary>
+ None = 0,
+ /// <summary>
+ /// WEP
+ /// </summary>
+ Wep = 1,
+ /// <summary>
+ /// WPA-PSK
+ /// </summary>
+ WpaPsk = 2,
+ /// <summary>
+ /// WPA2-PSK
+ /// </summary>
+ Wpa2Psk = 3,
+ /// <summary>
+ /// EAP
+ /// </summary>
+ Eap = 4,
}
/// <summary>
/// <since_tizen> 3 </since_tizen>
public enum WiFiEncryptionType
{
- None = 0, /**< Encryption disabled */
- Wep = 1, /**< WEP */
- Tkip = 2, /**< TKIP */
- Aes = 3, /**< AES */
- TkipAesMixed = 4, /**< TKIP and AES are both supported */
+ /// <summary>
+ /// Encryption disabled
+ /// </summary>
+ None = 0,
+ /// <summary>
+ /// WEP
+ /// </summary>
+ Wep = 1,
+ /// <summary>
+ /// TKIP
+ /// </summary>
+ Tkip = 2,
+ /// <summary>
+ /// AES
+ /// </summary>
+ Aes = 3,
+ /// <summary>
+ /// TKIP and AES are both supported
+ /// </summary>
+ TkipAesMixed = 4,
}
/// <summary>
/// <since_tizen> 3 </since_tizen>
public enum ConnectionProfileState
{
- Disconnected = 0, /**< Disconnected state */
- Association = 1, /**< Association state */
- Configuration = 2, /**< Configuration state */
- Connected = 3, /**< Connected state */
+ /// <summary>
+ /// Disconnected state
+ /// </summary>
+ Disconnected = 0,
+ /// <summary>
+ /// Association state
+ /// </summary>
+ Association = 1,
+ /// <summary>
+ /// Configuration state
+ /// </summary>
+ Configuration = 2,
+ /// <summary>
+ /// Connected state
+ /// </summary>
+ Connected = 3,
}
/// <summary>
/// <since_tizen> 3 </since_tizen>
public enum CellularAuthType
{
- None = 0, /**< No authentication */
- Pap = 1, /**< PAP authentication */
- Chap = 2, /**< CHAP authentication */
+ /// <summary>
+ /// No authentication
+ /// </summary>
+ None = 0,
+ /// <summary>
+ /// PAP authentication
+ /// </summary>
+ Pap = 1,
+ /// <summary>
+ /// CHAP authentication
+ /// </summary>
+ Chap = 2,
}
+ /// <summary>
+ /// Enumeration for the address information type
+ /// </summary>
public enum AddressInformationType
{
+ /// <summary>
+ /// Connection type
+ /// </summary>
Connection = 0,
+ /// <summary>
+ /// Wi-Fi type
+ /// </summary>
WiFi = 1
}
{
}
+ /// <summary>
+ /// Destroy the WiFiProfile object
+ /// </summary>
~WiFiProfile()
{
}
}
}
+ /// <summary>
+ /// Destroy the DnssdService object
+ /// </summary>
~DnssdService()
{
Dispose(false);
}
}
+ /// <summary>
+ /// Destroy the SsdpService object
+ /// </summary>
~SsdpService()
{
Dispose(false);
Initialize();
}
+ /// <summary>
+ /// Destroy the WiFiAP object
+ /// </summary>
~WiFiAP()
{
Dispose(false);
}
/// <summary>
- /// Deletes the information of a stored access point and disconnects it when the AP is connected.<br>
+ /// Deletes the information of a stored access point and disconnects it when the AP is connected.
/// If an AP is connected, then the connection information will be stored. This information is used when a connection to that AP is established automatically.
/// </summary>
/// <since_tizen> 3 </since_tizen>
_eapConfig = new WiFiEapConfiguration(configHandle);
}
+ /// <summary>
+ /// Destroy of the WiFiConfiguration object
+ /// </summary>
~WiFiConfiguration()
{
Dispose(false);
}
}
+ /// <summary>
+ /// Release the handle
+ /// </summary>
protected override bool ReleaseHandle()
{
Interop.WiFi.Deinitialize(this.handle);
}
/// <summary>
- /// A manager class which allows applications to connect to a Wireless Local Area Network (WLAN) and transfer data over the network.<br>
+ /// A manager class which allows applications to connect to a Wireless Local Area Network (WLAN) and transfer data over the network.
/// The Wi-Fi Manager enables your application to activate and deactivate a local Wi-Fi device, and to connect to a WLAN network in the infrastructure mode.
/// </summary>
/// <since_tizen> 3 </since_tizen>
<ProjectReference Include="..\ElmSharp\ElmSharp.csproj" />
</ItemGroup>
-</Project>
\ No newline at end of file
+</Project>
/// </summary>
public class DisplayLanguageChangedEventArgs
{
- internal DisplayLanguageChangedEventArgs(string langauage)
+ internal DisplayLanguageChangedEventArgs(string language)
{
- Langauage = langauage;
+ Language = language;
}
/// <summary>
/// The language code
/// </summary>
- public string Langauage
+ public string Language
{
get;
internal set;
/// </summary>
Palm,
/// <summary>
- /// HandSIze
+ /// HandSize
/// </summary>
- HandSIze,
+ HandSize,
/// <summary>
/// HandFlat
/// </summary>
/// </summary>
KP9 = 0xFFB9,
- /* Auxilliary Functions */
+ /* Auxiliary Functions */
/// <summary>
/// The function 1 key
/// </summary>
/// <param name="terminate">This is called when IME application is terminated</param>
/// <param name="show">
/// This is called when IME application is shown
- /// It provides the Context Inofrmation and the Context Id
+ /// It provides the Context Information and the Context Id
/// </param>
/// <param name="hide">
/// This is called when IME application is hidden
/// </remarks>
/// <param name="argc">The Number of Arguments</param>
/// <param name="argv">The Arguments Array</param>
- /// <exception cref="ArgumentException">Thrown in case of Invalid Parameter</exception>
/// <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>
/// <param name="resultCount">Result text count</param>
/// <param name="msg">Engine message</param>
/// <param name="timeInfo">The time information</param>
- /// <exception cref="ArgumentException">Thrown in case of Invalid Parameter</exception>
/// <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>
/// </feature>
/// <param name="error">The Error Reason</param>
/// <param name="msg">The error message</param>
- /// <exception cref="ArgumentException">Thrown in case of Invalid Parameter</exception>
/// <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>
+ /// <exception cref="InvalidOperationException">Thrown in case of Operation failure</exception>
/// <precondition>
/// Main function should be invoked before this function is called.
/// </precondition>
Log.Error(LogTag, "SendError Failed with error " + err);
throw ExceptionFactory.CreateException((ErrorCode)error);
}
-
}
/// <summary>
/// This API is invoked when Stt engine wants to notify the change of the speech status anytime. NOTE that this API can be invoked for recognizing the speech.
/// </remarks>
/// <param name="status">SpeechStatus</param>
- /// <exception cref="ArgumentException">Thrown in case of Invalid Parameter</exception>
/// <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>
/// </precondition>
public void SetPrivateDataSetDelegate(Action<string> callback)
{
+ if (null == callback)
+ {
+ Log.Error(LogTag, "callback is null");
+ throw ExceptionFactory.CreateException(ErrorCode.InvalidParameter);
+ }
+
_privateDatacallback = callback;
_privateDataSetCb = (string key, string data) =>
{
/// </precondition>
public void SetPrivateDataRequestedDelegate(OutAction<string> callback)
{
+ if (null == callback)
+ {
+ Log.Error(LogTag, "callback is null");
+ throw ExceptionFactory.CreateException(ErrorCode.InvalidParameter);
+ }
+
_privateDataRequestedCallback = callback;
_privateDataRequestedCb = (string key, out string data) =>
{
/// </remarks>
/// <param name="argc">The argument count(original)</param>
/// <param name="argv">The argument(original)</param>
- /// <exception cref="ArgumentException">Thrown in case of Invalid Parameter</exception>
/// <exception cref="NotSupportedException">Thrown in case of Not supported</exception>
/// <exception cref="InvalidOperationException">thrown in case of Operation failure</exception>
public void EngineMain(int argc, string[] argv)
/// </feature>
/// <param name="error">The error reason</param>
/// <param name="msg">The error message</param>
+ /// <exception cref="NotSupportedException">Thrown in case of Not supported</exception>
+ /// <exception cref="InvalidOperationException">thrown in case of Operation failure</exception>
/// <precondition>
/// EngineMain function should be invoked before this function is called.
/// </precondition>
/// 4. NotSupported
/// </param>
/// <exception cref="ArgumentException">Thrown in case of Invalid Parameter</exception>
- /// <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>
/// <precondition>
/// </precondition>
public void SetPrivateDataSetDelegate(Action<string> callback)
{
+ if (null == callback)
+ {
+ Log.Error(LogTag, "callback is null");
+ throw ExceptionFactory.CreateException(ErrorCode.InvalidParameter);
+ }
+
_privateDatacallback = callback;
_privateDataSetCb = (string key, string data) =>
{
/// 4. NotSupported
/// </param>
/// <exception cref="ArgumentException">Thrown in case of Invalid Parameter</exception>
- /// <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>
/// <precondition>
/// </precondition>
public void SetPrivateDataRequestedDelegate(OutAction<string> callback)
{
+ if (null == callback)
+ {
+ Log.Error(LogTag, "callback is null");
+ throw ExceptionFactory.CreateException(ErrorCode.InvalidParameter);
+ }
+
_privateDataRequestedCallback = callback;
_privateDataRequestedCb = (string key, out string data) =>
{
namespace Tizen.Internals.Errors
{
+ /// <summary>
+ /// Error codes used inside Tizen .NET API implementation
+ /// </summary>
public enum ErrorCode : int
{
- None = 0, // 0, /**< Successful */
- NotPermitted = -1, // -EPERM, /**< Operation not permitted */
- NoSuchFile = -2, // -ENOENT, /**< No such file or directory */
- NoSuchProcess = -3, // -ESRCH, /**< No such process */
- InterruptedSysCall = -4, // -EINTR, /**< Interrupted system call */
- IoError = -5, // -EIO, /**< I/O error */
- NoSuchDevice = -6, // -ENXIO, /**< No such device or address */
- ArgumentListTooLong = -7, // -E2BIG, /**< Argument list too long */
- ExecFormatError = -8, // -ENOEXEC, /**< Exec format error */
- BadFileNumber = -9, // -EBADF, /**< Bad file number */
- TryAgain = -11, // -EAGAIN, /**< Try again */
- OutOfMemory = -12, // -ENOMEM, /**< Out of memory */
- PermissionDenied = -13, // -EACCES, /**< Permission denied */
- BadAddress = -14, // -EFAULT, /**< Bad address */
- BlockDeviceRequired = -15, // -ENOTBLK, /**< Block device required */
- ResourceBusy = -16, // -EBUSY, /**< Device or resource busy */
- FileExists = -17, // -EEXIST, /**< File exists */
- CrossDeviceLink = -18, // -EXDEV, /**< Cross-device link */
- NotaDirectory = -20, // -ENOTDIR, /**< Not a directory */
- IsADirectory = -21, // -EISDIR, /**< Is a directory */
- InvalidParameter = -22, // -EINVAL, /**< Invalid function parameter */
- FileTableOverflow = -23, // -ENFILE, /**< File table overflow */
- TooManyOpenFiles = -24, // -EMFILE, /**< Too many open files */
- TooNotaTerminal = -25, // -ENOTTY, /**< Not a terminal */
- TooTextFileBusy = -26, // -ETXTBSY, /**< Not a terminal */
- FileTooLarge = -27, // -EFBIG, /**< File too large */
- FileNoSpaceOnDevice = -28, // -ENOSPC, /**< No space left on device */
- IllegalSeek = -29, // -ESPIPE, /**< Illegal seek */
- ReadOnlyFilesystem = -30, // -EROFS, /**< Read-only file system */
- NoData = -61, // -ENODATA, /**< No data available */
- TooManyLinks = -31, // -EMLINK, /**< Too many links */
- BrokenPipe = -32, // -EPIPE, /**< Broken pipe */
- ArgumentOutOfDomain = -33, // -EDOM, /**< Math argument out of domain of func */
- ResultOutOfRange = -34, // -ERANGE, /**< Math result not representable */
- WouldCauseDeadlock = -35, // -EDEADLK, /**< Resource deadlock would occur */
- FileNameTooLong = -36, // -ENAMETOOLONG,/**< File name too long */
- FileNoLocksAvailable = -37, // -ENOLCK, /**< No record locks available */
- InvalidOperation = -38, // -ENOSYS, /**< Function not implemented */
- DirNotEmpty = -39, // -ENOTEMPTY, /**< Directory not empty */
- TooManySymbolicLinks = -40, // -ELOOP, /**< Too many symbolic links encountered */
- WouldBlock = -11, // TryAgain (-EAGAIN), /**< Operation would block */
- CorruptedSharedLib = -80, // -ELIBBAD, /**< Accessing a corrupted shared library */
- LibSectionCorrupted = -81, // -ELIBSCN, /**< .lib section in a.out corrupted */
- LinkTooManySharedLib = -82, // -ELIBMAX, /**< Attempting to link in too many shared libraries */
- SharedLibExec = -83, // -ELIBEXEC, /**< Cannot exec a shared library directly */
- IllegalByteSeq = -84, // -EILSEQ, /**< Illegal byte sequence */
- SystemCallRestart = -85, // -ERESTART, /**< Interrupted system call should be restarted */
- StreamsPipe = -86, // -ESTRPIPE, /**< Streams pipe error */
- TooManyUsers = -87, // -EUSERS, /**< Too many users */
- NonSocket = -88, // -ENOTSOCK, /**< Socket operation on non-socket */
- NoDestAddress = -89, // -EDESTADDRREQ, /**< Destination address required */
- MsgTooLong = -90, // -EMSGSIZE, /**< Message too long */
- ProtocolWrongType = -91, // -EPROTOTYPE, /**< Protocol wrong type for socket */
- ProtocolNotAvaliable = -92, // -ENOPROTOOPT, /**< Protocol not available */
- ProtocolNotSupported = -93, // -EPROTONOSUPPORT, /**< Protocol not supported */
- SocketTypeNotSupported = -94, // -ESOCKTNOSUPPORT, /**< Socket type not supported */
- EndpointOperatinNotSupported = -95, // -EOPNOTSUPP, /**< Operation not supported on transport endpoint */
- ProtocolFamilyNotSupported = -96, // -EPFNOSUPPORT, /**< Protocol family not supported */
- AddressFamilyNotSupported = -97, // -EAFNOSUPPORT, /**< Address family not supported by protocol */
- AddresInUse = -98, // -EADDRINUSE, /**< Address already in use */
- CannotAssignAddress = -99, // -EADDRNOTAVAIL, /**< Cannot assign requested address */
- Networkdown = -100, // -ENETDOWN, /**< Network is down */
- NetworkUnreachable = -101, // -ENETUNREACH, /**< Network is unreachable */
- NetworkReset = -102, // -ENETRESET, /**< Network dropped connection because of reset */
- ConnectionAborted = -103, // -ECONNABORTED, /**< Software caused connection abort */
- ConnectionResetByPeer = -104, // -ECONNRESET, /**< Connection reset by peer */
- BufferSpace = -105, // -ENOBUFS, /**< No buffer space available */
- EndpointConnected = -106, // -EISCONN, /**< Transport endpoint is already connected */
- EndpointNotConnected = -107, // -ENOTCONN, /**< Transport endpoint is not connected */
- EndpointShutdown = -108, // -ESHUTDOWN, /**< Cannot send after transport endpoint shutdown */
- TooManyReferences = -109, // -ETOOMANYREFS, /**< Too many references: cannot splice */
- ConnectionTimeout = -110, // -ETIMEDOUT, /**< Connection timed out */
- ConnectionRefused = -111, // -ECONNREFUSED, /**< Connection refused */
- Hostdown = -112, // -EHOSTDOWN, /**< Host is down */
- NoRouteToHost = -113, // -EHOSTUNREACH, /**< No route to host */
- AlreadyInProgress = -114, // -EALREADY, /**< Operation already in progress */
- NowInProgress = -115, // -EINPROGRESS, /**< Operation now in progress */
- StaleNfsFileHandle = -116, // -ESTALE, /**< Stale NFS file handle */
- StructureUnclean = -117, // -EUCLEAN, /**< Structure needs cleaning */
- NotXenixNamedTypeFile = -118, // -ENOTNAM, /**< Not a XENIX named type file */
- NoXenixSemaphoresAvailable = -119, // -ENAVAIL, /**< No XENIX semaphores available */
- IsNamedTypeFile = -120, // -EISNAM, /**< Is a named type file */
- RemoteIo = -121, // -EREMOTEIO, /**< Remote I/O error */
- QuotaExceeded = -122, // -EDQUOT, /**< Quota exceeded */
- NoMedium = -123, // -ENOMEDIUM, /**< No medium found */
- WrongMediumType = -124, // -EMEDIUMTYPE, /**< Wrong medium type */
- Canceled = -125, // -ECANCELED, /**< Operation Canceled */
- KeyNotAvailable = -126, // -ENOKEY, /**< Required key not available */
- KeyExpired = -127, // -EKEYEXPIRED, /**< Key has expired */
- KeyRevoked = -128, // -EKEYREVOKED, /**< Key has been revoked */
- KeyRejected = -129, // -EKEYREJECTED, /**< Key was rejected by service */
-
- OwnerDead = -130, // -EOWNERDEAD, /**< Owner died (for robust mutexes) */
-
- Unknown = -1073741824, // TIZEN_ERROR_MIN_PLATFORM_ERROR, /**< Unknown error */
-
- TimedOut, // /**< Time out */
- NotSupported, // /**< Not Supported */
- UserNotConsented,// /**< Not Consented */
- EndofCollection //
+ /// <summary>
+ /// Successful
+ /// </summary>
+ None = 0, // 0
+
+ /// <summary>
+ /// Operation not permitted
+ /// </summary>
+ NotPermitted = -1, // -EPERM
+
+ /// <summary>
+ /// No such file or directory
+ /// </summary>
+ NoSuchFile = -2, // -ENOENT
+
+ /// <summary>
+ /// No such process
+ /// </summary>
+ NoSuchProcess = -3, // -ESRCH
+
+ /// <summary>
+ /// Interrupted system call
+ /// </summary>
+ InterruptedSysCall = -4, // -EINTR
+
+ /// <summary>
+ /// I/O error
+ /// </summary>
+ IoError = -5, // -EIO
+
+ /// <summary>
+ /// No such device or address
+ /// </summary>
+ NoSuchDevice = -6, // -ENXIO
+
+ /// <summary>
+ /// Argument list too long
+ /// </summary>
+ ArgumentListTooLong = -7, // -E2BIG
+
+ /// <summary>
+ /// Exec format error
+ /// </summary>
+ ExecFormatError = -8, // -ENOEXEC
+
+ /// <summary>
+ /// Bad file number
+ /// </summary>
+ BadFileNumber = -9, // -EBADF
+
+ /// <summary>
+ /// Try again
+ /// </summary>
+ TryAgain = -11, // -EAGAIN
+
+ /// <summary>
+ /// Out of memory
+ /// </summary>
+ OutOfMemory = -12, // -ENOMEM
+
+ /// <summary>
+ /// Permission denied
+ /// </summary>
+ PermissionDenied = -13, // -EACCES
+
+ /// <summary>
+ /// Bad address
+ /// </summary>
+ BadAddress = -14, // -EFAULT
+
+ /// <summary>
+ /// Block device required
+ /// </summary>
+ BlockDeviceRequired = -15, // -ENOTBLK
+
+ /// <summary>
+ /// Device or resource busy
+ /// </summary>
+ ResourceBusy = -16, // -EBUSY
+
+ /// <summary>
+ /// File exists
+ /// </summary>
+ FileExists = -17, // -EEXIST
+
+ /// <summary>
+ /// Cross-device link
+ /// </summary>
+ CrossDeviceLink = -18, // -EXDEV
+
+ /// <summary>
+ /// Not a directory
+ /// </summary>
+ NotaDirectory = -20, // -ENOTDIR
+
+ /// <summary>
+ /// Is a directory
+ /// </summary>
+ IsADirectory = -21, // -EISDIR
+
+ /// <summary>
+ /// Invalid function parameter
+ /// </summary>
+ InvalidParameter = -22, // -EINVAL
+
+ /// <summary>
+ /// File table overflow
+ /// </summary>
+ FileTableOverflow = -23, // -ENFILE
+
+ /// <summary>
+ /// Too many open files
+ /// </summary>
+ TooManyOpenFiles = -24, // -EMFILE
+
+ /// <summary>
+ /// Not a terminal
+ /// </summary>
+ TooNotaTerminal = -25, // -ENOTTY
+
+ /// <summary>
+ /// Too text file busy
+ /// </summary>
+ TooTextFileBusy = -26, // -ETXTBSY
+
+ /// <summary>
+ /// File too large
+ /// </summary>
+ FileTooLarge = -27, // -EFBIG
+
+ /// <summary>
+ /// No space left on device
+ /// </summary>
+ FileNoSpaceOnDevice = -28, // -ENOSPC
+
+ /// <summary>
+ /// Illegal seek
+ /// </summary>
+ IllegalSeek = -29, // -ESPIPE
+
+ /// <summary>
+ /// Read-only file system
+ /// </summary>
+ ReadOnlyFilesystem = -30, // -EROFS
+
+ /// <summary>
+ /// No data available
+ /// </summary>
+ NoData = -61, // -ENODATA
+
+ /// <summary>
+ /// Too many links
+ /// </summary>
+ TooManyLinks = -31, // -EMLINK
+
+ /// <summary>
+ /// Broken pipe
+ /// </summary>
+ BrokenPipe = -32, // -EPIPE
+
+ /// <summary>
+ /// Math argument out of domain of func
+ /// </summary>
+ ArgumentOutOfDomain = -33, // -EDOM
+
+ /// <summary>
+ /// Math result not representable
+ /// </summary>
+ ResultOutOfRange = -34, // -ERANGE
+
+ /// <summary>
+ /// Resource deadlock would occur
+ /// </summary>
+ WouldCauseDeadlock = -35, // -EDEADLK
+
+ /// <summary>
+ /// File name too long
+ /// </summary>
+ FileNameTooLong = -36, // -ENAMETOOLONG
+
+ /// <summary>
+ /// No record locks available
+ /// </summary>
+ FileNoLocksAvailable = -37, // -ENOLCK
+
+ /// <summary>
+ /// Function not implemented
+ /// </summary>
+ InvalidOperation = -38, // -ENOSYS
+
+ /// <summary>
+ /// Directory not empty
+ /// </summary>
+ DirNotEmpty = -39, // -ENOTEMPTY
+
+ /// <summary>
+ /// Too many symbolic links encountered
+ /// </summary>
+ TooManySymbolicLinks = -40, // -ELOOP
+
+ /// <summary>
+ /// Operation would block
+ /// </summary>
+ WouldBlock = -11, // TryAgain (-EAGAIN)
+
+ /// <summary>
+ /// Accessing a corrupted shared library
+ /// </summary>
+ CorruptedSharedLib = -80, // -ELIBBAD
+
+ /// <summary>
+ /// .lib section in a.out corrupted
+ /// </summary>
+ LibSectionCorrupted = -81, // -ELIBSCN
+
+ /// <summary>
+ /// Attempting to link in too many shared libraries
+ /// </summary>
+ LinkTooManySharedLib = -82, // -ELIBMAX
+
+ /// <summary>
+ /// Cannot exec a shared library directly
+ /// </summary>
+ SharedLibExec = -83, // -ELIBEXEC
+
+ /// <summary>
+ /// Illegal byte sequence
+ /// </summary>
+ IllegalByteSeq = -84, // -EILSEQ
+
+ /// <summary>
+ /// Interrupted system call should be restarted
+ /// </summary>
+ SystemCallRestart = -85, // -ERESTART
+
+ /// <summary>
+ /// Streams pipe error
+ /// </summary>
+ StreamsPipe = -86, // -ESTRPIPE
+
+ /// <summary>
+ /// Too many users
+ /// </summary>
+ TooManyUsers = -87, // -EUSERS
+
+ /// <summary>
+ /// Socket operation on non-socket
+ /// </summary>
+ NonSocket = -88, // -ENOTSOCK
+
+ /// <summary>
+ /// Destination address required
+ /// </summary>
+ NoDestAddress = -89, // -EDESTADDRREQ
+
+ /// <summary>
+ /// Message too long
+ /// </summary>
+ MsgTooLong = -90, // -EMSGSIZE
+
+ /// <summary>
+ /// Protocol wrong type for socket
+ /// </summary>
+ ProtocolWrongType = -91, // -EPROTOTYPE
+
+ /// <summary>
+ /// Protocol not available
+ /// </summary>
+ ProtocolNotAvaliable = -92, // -ENOPROTOOPT
+
+ /// <summary>
+ /// Protocol not supported
+ /// </summary>
+ ProtocolNotSupported = -93, // -EPROTONOSUPPORT
+
+ /// <summary>
+ /// Socket type not supported
+ /// </summary>
+ SocketTypeNotSupported = -94, // -ESOCKTNOSUPPORT
+
+ /// <summary>
+ /// Operation not supported on transport endpoint
+ /// </summary>
+ EndpointOperatinNotSupported = -95, // -EOPNOTSUPP
+
+ /// <summary>
+ /// Protocol family not supported
+ /// </summary>
+ ProtocolFamilyNotSupported = -96, // -EPFNOSUPPORT
+
+ /// <summary>
+ /// Address family not supported by protocol
+ /// </summary>
+ AddressFamilyNotSupported = -97, // -EAFNOSUPPORT
+
+ /// <summary>
+ /// Address already in use
+ /// </summary>
+ AddresInUse = -98, // -EADDRINUSE
+
+ /// <summary>
+ /// Cannot assign requested address
+ /// </summary>
+ CannotAssignAddress = -99, // -EADDRNOTAVAIL
+
+ /// <summary>
+ /// Network is down
+ /// </summary>
+ Networkdown = -100, // -ENETDOWN
+
+ /// <summary>
+ /// Network is unreachable
+ /// </summary>
+ NetworkUnreachable = -101, // -ENETUNREACH
+
+ /// <summary>
+ /// Network dropped connection because of reset
+ /// </summary>
+ NetworkReset = -102, // -ENETRESET
+
+ /// <summary>
+ /// Software caused connection abort
+ /// </summary>
+ ConnectionAborted = -103, // -ECONNABORTED
+
+ /// <summary>
+ /// Connection reset by peer
+ /// </summary>
+ ConnectionResetByPeer = -104, // -ECONNRESET
+
+ /// <summary>
+ /// No buffer space available
+ /// </summary>
+ BufferSpace = -105, // -ENOBUFS
+
+ /// <summary>
+ /// Transport endpoint is already connected
+ /// </summary>
+ EndpointConnected = -106, // -EISCONN
+
+ /// <summary>
+ /// Transport endpoint is not connected
+ /// </summary>
+ EndpointNotConnected = -107, // -ENOTCONN
+
+ /// <summary>
+ /// Cannot send after transport endpoint shutdown
+ /// </summary>
+ EndpointShutdown = -108, // -ESHUTDOWN
+
+ /// <summary>
+ /// Too many references: cannot splice
+ /// </summary>
+ TooManyReferences = -109, // -ETOOMANYREFS
+
+ /// <summary>
+ /// Connection timed out
+ /// </summary>
+ ConnectionTimeout = -110, // -ETIMEDOUT
+
+ /// <summary>
+ /// Connection refused
+ /// </summary>
+ ConnectionRefused = -111, // -ECONNREFUSED
+
+ /// <summary>
+ /// Host is down
+ /// </summary>
+ Hostdown = -112, // -EHOSTDOWN
+
+ /// <summary>
+ /// No route to host
+ /// </summary>
+ NoRouteToHost = -113, // -EHOSTUNREACH
+
+ /// <summary>
+ /// Operation already in progress
+ /// </summary>
+ AlreadyInProgress = -114, // -EALREADY
+
+ /// <summary>
+ /// Operation now in progress
+ /// </summary>
+ NowInProgress = -115, // -EINPROGRESS
+
+ /// <summary>
+ /// Stale NFS file handle
+ /// </summary>
+ StaleNfsFileHandle = -116, // -ESTALE
+
+ /// <summary>
+ /// Structure needs cleaning
+ /// </summary>
+ StructureUnclean = -117, // -EUCLEAN
+
+ /// <summary>
+ /// Not a XENIX named type file
+ /// </summary>
+ NotXenixNamedTypeFile = -118, // -ENOTNAM
+
+ /// <summary>
+ /// No XENIX semaphores available
+ /// </summary>
+ NoXenixSemaphoresAvailable = -119, // -ENAVAIL
+
+ /// <summary>
+ /// Is a named type file
+ /// </summary>
+ IsNamedTypeFile = -120, // -EISNAM
+
+ /// <summary>
+ /// Remote I/O error
+ /// </summary>
+ RemoteIo = -121, // -EREMOTEIO
+
+ /// <summary>
+ /// Quota exceeded
+ /// </summary>
+ QuotaExceeded = -122, // -EDQUOT
+
+ /// <summary>
+ /// No medium found
+ /// </summary>
+ NoMedium = -123, // -ENOMEDIUM
+
+ /// <summary>
+ /// Wrong medium type
+ /// </summary>
+ WrongMediumType = -124, // -EMEDIUMTYPE
+
+ /// <summary>
+ /// Operation Canceled
+ /// </summary>
+ Canceled = -125, // -ECANCELED
+
+ /// <summary>
+ /// Required key not available
+ /// </summary>
+ KeyNotAvailable = -126, // -ENOKEY
+
+ /// <summary>
+ /// Key has expired
+ /// </summary>
+ KeyExpired = -127, // -EKEYEXPIRED
+
+ /// <summary>
+ /// Key has been revoked
+ /// </summary>
+ KeyRevoked = -128, // -EKEYREVOKED
+
+ /// <summary>
+ /// Key was rejected by service
+ /// </summary>
+ KeyRejected = -129, // -EKEYREJECTED
+
+
+ /// <summary>
+ /// Owner died (for robust mutexes)
+ /// </summary>
+ OwnerDead = -130, // -EOWNERDEAD
+
+ /// <summary>
+ /// Unknown error
+ /// </summary>
+ Unknown = -1073741824, // TIZEN_ERROR_MIN_PLATFORM_ERROR
+
+ /// <summary>
+ /// Time out
+ /// </summary>
+ TimedOut,
+
+ /// <summary>
+ /// Not Supported
+ /// </summary>
+ NotSupported,
+
+ /// <summary>
+ /// Not Consented
+ /// </summary>
+ UserNotConsented,
+
+ /// <summary>
+ /// The end of collection
+ /// </summary>
+ EndofCollection
}
}
namespace Tizen.Internals.Errors
{
/// <summary>
- ///
+ /// Provides functions that return additional information about the <see cref="ErrorCode"/>
/// </summary>
public static class ErrorFacts
{
/// <summary>
- ///
+ /// Gets the last error code in the thread.
/// </summary>
- /// <returns></returns>
+ /// <returns>One of <see cref="ErrorCode"/></returns>
public static int GetLastResult()
{
return Interop.CommonError.GetLastResult();
}
/// <summary>
- ///
+ /// Gets the message for given the error code.
/// </summary>
- /// <param name="errorCode"></param>
+ /// <param name="errorCode">One of <see cref="ErrorCode"/></param>
/// <returns></returns>
public static string GetErrorMessage(int errorCode)
{