SCRIPT_FILE=$(readlink -f $0)
SCRIPT_DIR=$(dirname $SCRIPT_FILE)
-# Properties
OUTDIR=$SCRIPT_DIR/Artifacts
NUGET_CMD="mono $SCRIPT_DIR/tools/NuGet.exe"
-
RETRY_CMD="$SCRIPT_DIR/tools/retry.sh"
TIMEOUT_CMD="$SCRIPT_DIR/tools/timeout.sh"
-
DOTNET_CMD="$RETRY_CMD $TIMEOUT_CMD 600 dotnet"
RUN_BUILD="$DOTNET_CMD msbuild $SCRIPT_DIR/build/build.proj"
RUN_BUILD_DUMMY="$DOTNET_CMD build $SCRIPT_DIR/build/build.dummy.csproj"
-
usage() {
- echo "Usage: $0 [options] [args]"
- echo " Options:"
- echo " -h, --help Show this usages message"
- echo " -b, --build [module] Build a module"
- echo " -f, --full Build all modules in src/ directory"
- echo " -d, --dummy Build dummy modules"
- echo " -p, --pack [version] Make nuget packages"
- echo " -c, --clean Clean all artifacts"
-}
-
-cmd_clean() {
- $RUN_BUILD /t:clean
+ echo "Usage: %0 [command] [args]"
+ echo "Commands:"
+ echo " build [module] Build a specific module"
+ echo " full Build all modules in src/ directory"
+ echo " dummy Generate dummy assemblies of all modules"
+ echo " pack [version] Make a NuGet package with build artifacts"
+ echo " clean Clean all artifacts"
}
cmd_build() {
$RUN_BUILD /t:build $NUGET_SOURCE_OPT
}
+cmd_dummy_build() {
+ if [ -d /nuget ]; then
+ NUGET_SOURCE_OPT="/p:RestoreSources=/nuget"
+ fi
+ $RUN_BUILD_DUMMY $NUGET_SOURCE_OPT
+}
+
cmd_pack() {
if [ -n "$1" ]; then
NUGET_VERSION_OPT="-Version $1"
$NUGET_CMD pack $SCRIPT_DIR/pkg/Tizen.NET.nuspec -Symbols -NoPackageAnalysis $NUGET_VERSION_OPT -BasePath $SCRIPT_DIR -OutputDirectory $OUTDIR
}
-cmd_dummy_build() {
- if [ -d /nuget ]; then
- NUGET_SOURCE_OPT="/p:RestoreSources=/nuget"
- fi
- $RUN_BUILD_DUMMY $NUGET_SOURCE_OPT
+cmd_clean() {
+ $RUN_BUILD /t:clean
}
-OPTS=`getopt -o hcbfpd --long help,clean,build,full,pack,dummy -n 'build' -- "$@"`
-if [ $? != 0 ] ; then echo "Failed parsing options." >&2 ; usage; exit 1 ; fi
-eval set -- "$OPTS"
-
-FLAG_HELP=false
-FLAG_FULL=false
-FLAG_BUILD=false
-FLAG_CLEAN=false
-FLAG_DUMMY=false
-FLAG_PACK=false
-
-while true; do
- case "$1" in
- -h|--help) FLAG_HELP=true; shift ;;
- -b|--build) FLAG_BUILD=true; shift ;;
- -f|--full) FLAG_FULL=true; shift ;;
- -d|--dummy) FLAG_DUMMY=true; shift ;;
- -p|--pack) FLAG_PACK=true; shift ;;
- -c|--clean) FLAG_CLEAN=true; shift ;;
- --) shift; break ;;
- *) break ;;
- esac
-done
-
-if $FLAG_HELP; then usage; exit 0; fi
-if $FLAG_CLEAN; then cmd_clean; exit 0; fi
-if $FLAG_FULL; then cmd_full_build; exit 0; fi
-if $FLAG_BUILD; then cmd_build $@; exit 0; fi
-if $FLAG_PACK; then cmd_pack $@; exit 0; fi
-if $FLAG_DUMMY; then cmd_dummy_build; exit 0; fi
-
-usage;
+cmd=$1; shift;
+case "$cmd" in
+ build|--build|-b) cmd_build $@ ;;
+ full |--full |-f) cmd_full_build $@ ;;
+ dummy|--dummy|-d) cmd_dummy_build $@ ;;
+ pack |--pack |-p) cmd_pack $@ ;;
+ clean|--clean|-c) cmd_clean $@ ;;
+ *) usage ;;
+esac
Delete all artifacts,
including the Artifacts/ directory and the obj/ directories for all projects.
-->
- <Target Name="Clean">
+ <Target Name="Clean" Condition="'$(Project)' == ''" >
<ItemGroup>
<ProjectIntermediateAllFiles Include="$(ProjectSrcDir)**\obj\*" />
Name: csapi-tizenfx
Summary: Assemblies of Tizen .NET
-Version: 4.0.0.324
+Version: 4.0.0.332
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-00324
+./build.sh --pack 4.0.0-preview1-00332
%install
mkdir -p %{buildroot}%{DOTNET_ASSEMBLY_PATH}

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 15
-VisualStudioVersion = 15.0.26430.12
+VisualStudioVersion = 15.0.27004.2002
MinimumVisualStudioVersion = 10.0.40219.1
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ElmSharp", "ElmSharp.csproj", "{14E1F109-06BC-4BB7-9146-704A71EC2522}"
EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ElmSharp.Test", "..\..\test\ElmSharp.Test\ElmSharp.Test.csproj", "{5B98F018-2F17-4F70-BDC3-C539B134E2AE}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Tizen", "..\Tizen\Tizen.csproj", "{225F3CC2-ACCD-40DF-A06E-8D6B763AFD5C}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Tizen.Log", "..\Tizen.Log\Tizen.Log.csproj", "{336DF7DE-FF3F-479A-827B-C602CCBDEC5F}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Tizen.Applications.UI", "..\Tizen.Applications.UI\Tizen.Applications.UI.csproj", "{D0710FFD-F89F-4B11-BD25-D7484713AC64}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Tizen.Applications.Common", "..\Tizen.Applications.Common\Tizen.Applications.Common.csproj", "{526D21B7-D8BD-47F5-9A87-1E8E15A0D5AE}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
{14E1F109-06BC-4BB7-9146-704A71EC2522}.Debug|Any CPU.Build.0 = Debug|Any CPU
{14E1F109-06BC-4BB7-9146-704A71EC2522}.Release|Any CPU.ActiveCfg = Release|Any CPU
{14E1F109-06BC-4BB7-9146-704A71EC2522}.Release|Any CPU.Build.0 = Release|Any CPU
+ {5B98F018-2F17-4F70-BDC3-C539B134E2AE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {5B98F018-2F17-4F70-BDC3-C539B134E2AE}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {5B98F018-2F17-4F70-BDC3-C539B134E2AE}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {5B98F018-2F17-4F70-BDC3-C539B134E2AE}.Release|Any CPU.Build.0 = Release|Any CPU
+ {225F3CC2-ACCD-40DF-A06E-8D6B763AFD5C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {225F3CC2-ACCD-40DF-A06E-8D6B763AFD5C}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {225F3CC2-ACCD-40DF-A06E-8D6B763AFD5C}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {225F3CC2-ACCD-40DF-A06E-8D6B763AFD5C}.Release|Any CPU.Build.0 = Release|Any CPU
+ {336DF7DE-FF3F-479A-827B-C602CCBDEC5F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {336DF7DE-FF3F-479A-827B-C602CCBDEC5F}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {336DF7DE-FF3F-479A-827B-C602CCBDEC5F}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {336DF7DE-FF3F-479A-827B-C602CCBDEC5F}.Release|Any CPU.Build.0 = Release|Any CPU
+ {D0710FFD-F89F-4B11-BD25-D7484713AC64}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {D0710FFD-F89F-4B11-BD25-D7484713AC64}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {D0710FFD-F89F-4B11-BD25-D7484713AC64}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {D0710FFD-F89F-4B11-BD25-D7484713AC64}.Release|Any CPU.Build.0 = Release|Any CPU
+ {526D21B7-D8BD-47F5-9A87-1E8E15A0D5AE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {526D21B7-D8BD-47F5-9A87-1E8E15A0D5AE}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {526D21B7-D8BD-47F5-9A87-1E8E15A0D5AE}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {526D21B7-D8BD-47F5-9A87-1E8E15A0D5AE}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {7374A40E-8414-4249-925C-0DF5F19C773F}
+ EndGlobalSection
EndGlobal
}
/// <summary>
+ /// Gets or Sets focus upon items selection mode.
+ /// </summary>
+ /// <remarks>
+ /// When enabled, every selection of an item inside the <see cref="GenList"/> will automatically set focus to its first focusable widget from the left.
+ /// This is true of course if the selection was made by clicking an unfocusable area in an item or selecting it with a key movement.
+ /// Clicking on a focusable widget inside an item will couse this particular item to get focus as usual.
+ /// </remarks>
+ public bool FocusOnSelection
+ {
+ get
+ {
+ return Interop.Elementary.elm_genlist_focus_on_selection_get(RealHandle);
+ }
+ set
+ {
+ Interop.Elementary.elm_genlist_focus_on_selection_set(RealHandle, value);
+ }
+ }
+
+ /// <summary>
/// Gets or sets whether enable multi-selection in the genlist.
/// </summary>
public bool IsMultiSelection
/// <summary>
/// The AnimatorMotionMapper interface
/// </summary>
- public interface AnimatorMotionMapper
+ public interface IAnimatorMotionMapper
{
/// <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);
+ double Calculate(double position);
}
/// <summary>
/// The LinearMotionMapper class
/// </summary>
- public class LinearMotionMapper : AnimatorMotionMapper
+ public class LinearMotionMapper : IAnimatorMotionMapper
{
/// <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)
+ public double Calculate(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
+ public class AccelerateMotionMapper : IAnimatorMotionMapper
{
/// <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)
+ public double Calculate(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
+ public class DecelerateMotionMapper : IAnimatorMotionMapper
{
/// <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)
+ public double Calculate(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
+ public class SinusoidalMotionMapper : IAnimatorMotionMapper
{
/// <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)
+ public double Calculate(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
+ public class AccelerateFactorMotionMapper : IAnimatorMotionMapper
{
/// <summary>
/// The power factor of AccelerateFactorMotionMapper
/// <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)
+ public double Calculate(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
+ public class DecelerateFactorMotionMapper : IAnimatorMotionMapper
{
/// <summary>
/// The power factor of DecelerateFactorMotionMapper
/// <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)
+ public double Calculate(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
+ public class SinusoidalFactorMotionMapper : IAnimatorMotionMapper
{
/// <summary>
/// The power factor of SinusoidalFactorMotionMapper
/// <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)
+ public double Calculate(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
+ public class DivisorInterpolatedMotionMapper : IAnimatorMotionMapper
{
/// <summary>
/// The Divisor of DivisorInterpolatedMotionMapper
/// <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)
+ public double Calculate(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
+ public class BounceMotionMapper : IAnimatorMotionMapper
{
/// <summary>
/// The bounces of BounceMotionMapper
/// <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)
+ public double Calculate(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
+ public class SpringMotionMapper : IAnimatorMotionMapper
{
/// <summary>
/// The wobbles of SpringMotionMapper
/// <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)
+ public double Calculate(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
+ public class CubicBezierMotionMapper : IAnimatorMotionMapper
{
/// <summary>
/// The X1 of CubicBezierMotionMapper
/// <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)
+ public double Calculate(double position)
{
double[] values = { X1, Y1, X2, Y2 };
return Interop.Ecore.ecore_animator_pos_map_n(position, Interop.Ecore.PositionMap.Bounce, values.Length, values);
internal static extern void elm_genlist_longpress_timeout_set(IntPtr obj, double timeout);
[DllImport(Libraries.Elementary)]
+ internal static extern void elm_genlist_focus_on_selection_set(IntPtr obj, bool enabled);
+
+ [DllImport(Libraries.Elementary)]
+ internal static extern bool elm_genlist_focus_on_selection_get(IntPtr obj);
+
+ [DllImport(Libraries.Elementary)]
internal static extern bool elm_genlist_multi_select_get(IntPtr obj);
[DllImport(Libraries.Elementary)]
AccountManager.Account account = new AccountManager.Account(new SafeAccountHandle(accountHandle, true));
Bundle bundle = new Bundle(new SafeBundleHandle(syncJobUserData, true));
- SyncJobData syncJobData = new SyncJobData()
- {
- Account = account,
- SyncJobName = syncJobName,
- UserData = bundle
- };
+ SyncJobData syncJobData = new SyncJobData();
+ syncJobData.Account = account;
+ if (syncJobName == null)
+ syncJobData.SyncJobName = syncCapability;
+ else
+ syncJobData.SyncJobName = syncJobName;
+ syncJobData.UserData = bundle;
+
return startSyncCb(syncJobData);
};
AccountManager.Account account = new AccountManager.Account(new SafeAccountHandle(accountHandle, true));
Bundle bundle = new Bundle(new SafeBundleHandle(syncJobUserData, true));
- SyncJobData syncJobData = new SyncJobData()
- {
- Account = account,
- SyncJobName = syncJobName,
- UserData = bundle
- };
+ SyncJobData syncJobData = new SyncJobData();
+ syncJobData.Account = account;
+ if (syncJobName == null)
+ syncJobData.SyncJobName = syncCapability;
+ else
+ syncJobData.SyncJobName = syncJobName;
+ syncJobData.UserData = bundle;
cancelSyncCb(syncJobData);
};
/// <remarks>
/// The value type is string.
/// </remarks>
- /// <seealso cref="MediaInfo.ThumbnailPath"/>
+ /// <seealso cref="MediaInfo.Title"/>
public static string Title => "MEDIA_TITLE";
/// <summary>
/// <summary>
/// Gets the type of the media updated.
/// </summary>
- /// <value>The <see cref="MediaType"/> of the media updated.</value>
+ /// <value>The <see cref="MediaContent.MediaType"/> of the media updated.</value>
public MediaType MediaType
{
get;
/// <summary>
/// Gets the ID of face information.
/// </summary>
+ /// <value>The unique ID of face information.</value>
public string Id { get; }
/// <summary>
public string MediaInfoId { get; }
/// <summary>
- /// Gets the tag name.
+ /// Gets the tag.
/// </summary>
- /// <value>The tag name of face information.</value>
+ /// <value>The tag of face information.</value>
public string Tag { get; }
/// <summary>
/// <param name="faceInfoId">The face information ID to update.</param>
/// <param name="tag">The tag value for update.</param>
/// <returns>true if the matched record was found and updated, otherwise false.</returns>
- /// <remarks>Only values set in the <see cref="PlaylistUpdateValues"/> are updated.</remarks>
/// <exception cref="InvalidOperationException">The <see cref="MediaDatabase"/> is disconnected.</exception>
/// <exception cref="ObjectDisposedException">The <see cref="MediaDatabase"/> has already been disposed of.</exception>
/// <exception cref="MediaDatabaseException">An error occurred while executing the command.</exception>
}
/// <summary>
- /// Requests to scan a folder recursively.
+ /// Requests to scan a folder.
/// </summary>
/// <remarks>
/// If you want to access internal storage, you should add privilege http://tizen.org/privilege/mediastorage.<br/>
public string DisplayName { get; }
/// <summary>
- /// Gets the <see cref="MediaType"/> of media.
+ /// Gets the <see cref="MediaContent.MediaType"/> of media.
/// </summary>
- /// <value>The <see cref="MediaType"/> of media.</value>
+ /// <value>The <see cref="MediaContent.MediaType"/> of media.</value>
public MediaType MediaType { get; }
/// <summary>
/// </summary>
/// <param name="playlistId">The playlist ID.</param>
/// <param name="memberId">The member ID of the playlist.</param>
- /// <returns>The <see cref="MediaDataReader{TRecord}"/> containing the results.</returns>
+ /// <returns>The order of the member in the playlist.</returns>
/// <exception cref="InvalidOperationException">The <see cref="MediaDatabase"/> is disconnected.</exception>
/// <exception cref="ObjectDisposedException">The <see cref="MediaDatabase"/> has already been disposed of.</exception>
/// <exception cref="MediaDatabaseException">An error occurred while executing the command.</exception>
/// </summary>
/// <value>A string that represents a filtering expression applied when data is retrieved.</value>
/// <remarks>
- /// Expressions for the filter can be one of the following forms:
- /// <list>
- /// <item><description>column = value</description></item>
- /// <item><description>column > value</description></item>
- /// <item><description>column >= value</description></item>
- /// <item><description><![CDATA[column < value]]></description></item>
- /// <item><description><![CDATA[column <= value]]></description></item>
- /// <item><description>value = column</description></item>
- /// <item><description>value >= column</description></item>
- /// <item><description><![CDATA[value < column]]></description></item>
- /// <item><description><![CDATA[value <= column]]></description></item>
- /// <item><description>column IN (value)</description></item>
- /// <item><description>column IN(value-list)</description></item>
- /// <item><description>column NOT IN(value)</description></item>
- /// <item><description>column NOT IN(value-list)</description></item>
- /// <item><description>column LIKE value</description></item>
- /// <item><description>expression COLLATE NOCASE</description></item>
- /// <item><description>expression COLLATE RTRIM</description></item>
- /// <item><description>expression COLLATE LOCALIZED</description></item>
- /// <item><description>expression1 AND expression2 OR expression3 ... </description></item>
- /// </list>
- ///
+ /// Expressions for the filter can be one of the following forms:<br/>
+ /// - column = value
+ /// - column > value
+ /// - column >= value
+ /// - <![CDATA[column < value]]>
+ /// - <![CDATA[column <= value]]>
+ /// - value = column
+ /// - value >= column
+ /// - <![CDATA[value < column]]>
+ /// - <![CDATA[value <= column]]>
+ /// - column IN (value)
+ /// - column IN(value-list)
+ /// - column NOT IN(value)
+ /// - column NOT IN(value-list)
+ /// - column LIKE value
+ /// - expression COLLATE NOCASE
+ /// - expression COLLATE RTRIM
+ /// - expression COLLATE LOCALIZED
+ /// - expression1 AND expression2 OR expression3 ...
+ /// <br/>
/// Note that if you want to set quotation (" ' " or " " ") as value of LIKE operator, you should use two times. (" '' " or " "" ").
/// And the optional ESCAPE clause is supported. Both percent symbol("%") and underscore symbol("_") are used in the LIKE pattern.
/// If these characters are used as values of the LIKE operation, then the expression following the ESCAPE clause of sqlite will be ignored.<br/>
/// <br/>
- /// For example,<br/>
- /// - column LIKE ('#%') ESCAPE ('#') - "#" is an escape character, it will be ignored.
+ /// For example, column LIKE ('#%') ESCAPE ('#') - "#" is an escape character, it will be ignored.
/// </remarks>
/// <exception cref="ArgumentException"><paramref name="value"/> is a zero-length string, contains only white space.</exception>
/// <seealso cref="MediaInfoColumns"/>
/// <summary>
/// Gets the size allocated for the audio input buffer.
/// </summary>
- /// <exception cref="ObjectDisposedException">The AudioPlayback has already been disposed of.</exception>
+ /// <exception cref="ObjectDisposedException">The AudioCaptureBase has already been disposed of.</exception>
public int GetBufferSize()
{
+ ValidateNotDisposed();
+
AudioIOUtil.ThrowIfError(AudioInput.GetBufferSize(_handle, out var size));
return size;
}
/// -or-<br/>
/// The current state is not <see cref="AudioIOState.Idle"/>.
/// </exception>
+ /// <exception cref="ObjectDisposedException">The AudioCaptureBase has already been disposed of.</exception>
/// <seealso cref="Unprepare"/>
public void Prepare()
{
/// -or-<br/>
/// The current state is <see cref="AudioIOState.Idle"/>.
/// </exception>
+ /// <exception cref="ObjectDisposedException">The AudioCaptureBase has already been disposed of.</exception>
/// <seealso cref="Prepare"/>
public void Unprepare()
{
/// -or-<br/>
/// The method is called in the <see cref="AsyncAudioCapture.DataAvailable"/> event handler.
/// </exception>
+ /// <exception cref="ObjectDisposedException">The AudioCaptureBase has already been disposed of.</exception>
/// <seealso cref="Resume"/>
public void Pause()
{
/// -or-<br/>
/// The method is called in the <see cref="AsyncAudioCapture.DataAvailable"/> event handler.
/// </exception>
+ /// <exception cref="ObjectDisposedException">The AudioCaptureBase has already been disposed of.</exception>
/// <seealso cref="Pause"/>
public void Resume()
{
/// Flushes and discards buffered audio data from the input stream.
/// </summary>
/// <exception cref="InvalidOperationException">The current state is <see cref="AudioIOState.Idle"/>.</exception>
+ /// <exception cref="ObjectDisposedException">The AudioCaptureBase has already been disposed of.</exception>
public void Flush()
{
ValidateState(AudioIOState.Running, AudioIOState.Paused);
/// </summary>
/// <param name="streamPolicy">The <see cref="AudioStreamPolicy"/> to apply for the AudioCapture.</param>
/// <exception cref="ArgumentNullException"><paramref name="streamPolicy"/> is null.</exception>
- /// <exception cref="ObjectDisposedException"><paramref name="streamPolicy"/> has already been disposed of.</exception>
+ /// <exception cref="ObjectDisposedException">
+ /// <paramref name="streamPolicy"/> has already been disposed of.<br/>
+ /// -or-<br/>
+ /// The AudioCaptureBase has already been disposed of.
+ /// </exception>
/// <exception cref="NotSupportedException"><paramref name="streamPolicy"/> is not supported.</exception>
/// <exception cref="ArgumentException">Not able to retrieve information from <paramref name="streamPolicy"/>.</exception>
public void ApplyStreamPolicy(AudioStreamPolicy streamPolicy)
/// -or-<br/>
/// <paramref name="sampleType"/> is invalid.
/// </exception>
- /// <exception cref="InvalidOperationException">The required privilege is not specified.</exception>
+ /// <exception cref="UnauthorizedAccessException">The required privilege is not specified.</exception>
/// <exception cref="NotSupportedException">The system does not support microphone.</exception>
public AudioCapture(int sampleRate, AudioChannel channel, AudioSampleType sampleType)
: base(sampleRate, channel, sampleType)
/// <returns>The buffer of audio data captured.</returns>
/// <exception cref="InvalidOperationException">The current state is not <see cref="AudioIOState.Running"/>.</exception>
/// <exception cref="ArgumentOutOfRangeException"><paramref name="count"/> is equal to or less than zero.</exception>
+ /// <exception cref="ObjectDisposedException">The AudioCapture has already been disposed of.</exception>
public byte[] Read(int count)
{
if (count <= 0)
/// -or-<br/>
/// <paramref name="sampleType"/> is invalid.
/// </exception>
- /// <exception cref="InvalidOperationException">The required privilege is not specified.</exception>
+ /// <exception cref="UnauthorizedAccessException">The required privilege is not specified.</exception>
/// <exception cref="NotSupportedException">The system does not support microphone.</exception>
public AsyncAudioCapture(int sampleRate, AudioChannel channel, AudioSampleType sampleType)
: base(sampleRate, channel, sampleType)
public event EventHandler<MediaStreamSeekingOccurredEventArgs> SeekingOccurred;
/// <summary>
- /// Gets the max size of the buffer.
+ /// Gets or sets the max size of the buffer.
/// </summary>
/// <value>The max size of the buffer. The default is 200000.</value>
/// <remarks>If the buffer level overflows the max size, <see cref="BufferStatusChanged"/> will be raised with <see cref="MediaStreamBufferStatus.Overflow"/>.</remarks>
}
/// <summary>
- /// Gets the minimum threshold of the buffer, or zero if the <see cref="MediaStreamSource"/> is not assigned to a player.
+ /// Gets or sets the minimum threshold of the buffer.
/// </summary>
/// <value>The minimum threshold of the buffer in percentage. The default is zero.</value>
/// <remarks>If the buffer level drops below the threshold value, <see cref="BufferStatusChanged"/> will be raised with <see cref="MediaStreamBufferStatus.Underrun"/>.</remarks>
using System.IO;
using System.Threading;
using static Interop;
+using System.ComponentModel;
namespace Tizen.Multimedia
{
/// <exception cref="ObjectDisposedException">The player has already been disposed of.</exception>
/// <exception cref="ArgumentException"><paramref name="path"/> is an empty string.</exception>
/// <exception cref="FileNotFoundException">The specified path does not exist.</exception>
- /// <exception cref="ArgumentNullException">The path is null.</exception>
+ /// <exception cref="ArgumentNullException"><paramref name="path"/> is null.</exception>
public void SetSubtitle(string path)
{
ValidateNotDisposed();
/// <summary>
/// This method supports the product infrastructure and is not intended to be used directly from application code.
/// </summary>
+ [EditorBrowsable(EditorBrowsableState.Never)]
protected static Exception GetException(int errorCode, string message) =>
((PlayerErrorCode)errorCode).GetException(message);
}
*/
using System;
+using System.ComponentModel;
using System.Diagnostics;
using Native = Interop.Display;
/// <summary>
/// This constructor supports the product infrastructure and is not intended to be used directly from application code.
/// </summary>
+ [EditorBrowsable(EditorBrowsableState.Never)]
protected PlayerDisplaySettings(Player player)
{
if (player == null)
/// Gets or sets the rotation of the display.
/// </summary>
/// <value><see cref="Rotation.Rotate0"/>, <see cref="Rotation.Rotate90"/>, <see cref="Rotation.Rotate180"/>,
- /// <see cref="Rotation.Rotate270"/></value>
+ /// <see cref="Rotation.Rotate270"/>.</value>
/// <exception cref="InvalidOperationException">
/// Operation failed; internal error.
/// </exception>
/// <exception cref="ArgumentOutOfRangeException">
/// <paramref name="index"/> is less than zero.<br/>
/// -or-<br/>
- /// <paramref name="index"/> is equal to or greater than <see cref="GetCount()"/>
+ /// <paramref name="index"/> is equal to or greater than <see cref="GetCount()"/>.
/// </exception>
public string GetLanguageCode(int index)
{
/// <exception cref="ArgumentOutOfRangeException">
/// <paramref name="value"/> is less than zero.<br/>
/// -or-<br/>
- /// <paramref name="value"/> is equal to or greater than <see cref="GetCount()"/>
+ /// <paramref name="value"/> is equal to or greater than <see cref="GetCount()"/>.
/// </exception>
public int Selected
{
public Size Size { get; }
/// <summary>
- /// Gets the fps of the new video
+ /// Gets the fps of the new video.
/// </summary>
public int Fps { get; }
/// -or-<br/>
/// The media file is read-only.
/// </exception>
- /// <exception cref="ArgumentNullException"><paramref name="path"/> is null</exception>
+ /// <exception cref="ArgumentNullException"><paramref name="path"/> is null.</exception>
/// <exception cref="FileNotFoundException">The file does not exist.</exception>
/// <exception cref="UnauthorizedAccessException">The caller does not have required privilege to access the file.</exception>
/// <exception cref="ObjectDisposedException">The <see cref="MetadataEditor"/> has already been disposed of.</exception>
public class SyncLyrics
{
/// <summary>
- /// Initializes a new instance of the MetadataExtractor class with the specified lyrics and the timestamp.
+ /// Initializes a new instance of the <see cref="SyncLyrics"/> class with the specified lyrics and the timestamp.
/// </summary>
/// <since_tizen> 3 </since_tizen>
/// <param name="lyrics">The text of synchronized lyrics.</param>
}
/// <summary>
- /// Gets the value indicating if the radio is muted.
+ /// Gets or sets the value indicating if the radio is muted.
/// </summary>
/// <value>
/// true if the radio is muted; otherwise, false.
}
/// <summary>
- /// Starts the radio scanning and triggers the ScanInformationUpdated event when the scan information is updated.
+ /// Starts the radio scanning and triggers the <see cref="ScanUpdated"/> event when the scan information is updated.
/// </summary>
/// <remarks>The radio must be in the <see cref="RadioState.Ready"/> or <see cref="RadioState.Playing"/> state.</remarks>
/// <exception cref="InvalidOperationException">The radio is not in the valid state.</exception>
}
/// <summary>
- /// Gets the tuned radio frequency that is scanned, in range [87500 ~ 108000] (kHz).
+ /// Gets the tuned radio frequency that is scanned, in the range of 87500 ~ 108000 kHz.
/// </summary>
public int Frequency { get; }
/// Prepares the media recorder for recording.
/// </summary>
/// <remarks>
- /// The recorder should be in the <see cref="RecorderState.Idle"/> state.<br/>
- /// The state of the recorder will be the <see cref="RecorderState.Ready"/> after this.<br/>
+ /// The recorder should be in the <see cref="RecorderState.Idle"/> state.
+ /// The state of the recorder will be the <see cref="RecorderState.Ready"/> after this.
/// It has no effect if the current state is the <see cref="RecorderState.Ready"/>.
/// </remarks>
/// <exception cref="InvalidOperationException">
/// Gets the video resolutions that the current device supports.
/// </summary>
/// <feature>http://tizen.org/feature/camera</feature>
- /// <param name="device">The camera device to retrieve the supported resolutions</param>
+ /// <param name="device">The camera device to retrieve the supported resolutions.</param>
/// <exception cref="NotSupportedException">A required feature is not supported.</exception>
/// <exception cref="ArgumentException"><paramref name="device"/> is invalid.</exception>
public static IEnumerable<Size> GetSupportedVideoResolutions(CameraDevice device)
}
/// <summary>
- /// Initializes a new instance of the <see cref="VideoRecorder"/> class with the specified camera, video codec and file format.
+ /// Initializes a new instance of the <see cref="VideoRecorder"/> class with the specified
+ /// camera, video codec, and file format.
/// </summary>
/// <remarks>
/// If the state of <see cref="Camera"/> is <see cref="CameraState.Created"/>,
}
/// <summary>
- /// Initializes a new instance of the <see cref="VideoRecorder"/> class with the specified camera, video codec,
- /// audio codec and file format.
+ /// Initializes a new instance of the <see cref="VideoRecorder"/> class with the specified
+ /// camera, video codec, audio codec, and file format.
/// </summary>
/// <remarks>
/// If the state of <see cref="Camera"/> is <see cref="CameraState.Created"/>,
/// -or-<br/>
/// <paramref name="audioCodec"/> is not supported.<br/>
/// -or-<br/>
- /// <paramref name="fileFormat"/> is not supported with the specified video codec.
+ /// <paramref name="fileFormat"/> is not supported with the specified video codec.<br/>
/// -or-<br/>
/// <paramref name="fileFormat"/> is not supported with the specified audio codec.
/// </exception>
}
/// <summary>
- /// Sets the video codec and the file format for recording. Audio will not recorded.
+ /// Sets the video codec and the file format for recording. Audio will not be recorded.
/// </summary>
/// <param name="videoCodec">The codec for video encoding.</param>
/// <param name="fileFormat">The format of result file.</param>
}
/// <summary>
- /// Sets the video codec, audio codec and the file format for recording.
+ /// Sets the video codec, audio codec, and the file format for recording.
/// </summary>
/// <param name="videoCodec">The codec for video encoding.</param>
/// <param name="audioCodec">The codec for audio encoding.</param>
/// -or-<br/>
/// <paramref name="audioCodec"/> is not supported.<br/>
/// -or-<br/>
- /// <paramref name="fileFormat"/> is not supported with the specified video codec.
+ /// <paramref name="fileFormat"/> is not supported with the specified video codec.<br/>
/// -or-<br/>
/// <paramref name="fileFormat"/> is not supported with the specified audio codec.
/// </exception>
/// <remarks>
/// The attribute is valid only in a video recorder.<br/>
/// If the rate is in range of 0-1, the video is recorded in a slow motion mode.<br/>
- /// If the rate is bigger than 1, the video is recorded in a fast motion mode.<br/>
+ /// If the rate is greater than 1, the video is recorded in a fast motion mode.<br/>
/// <br/>
/// To set, the recorder must be in the <see cref="RecorderState.Idle"/> or the <see cref="RecorderState.Ready"/> state.
/// </remarks>
/// <summary>
/// Initialize a new instance of the <see cref="StreamRecorderAudioOptions"/> class with the specified
- /// codec, sample rate, bit rate and channel value.
+ /// codec, sample rate, bit rate, and channel value.
/// </summary>
/// <param name="codec">The <see cref="RecorderAudioCodec"/> for encoding audio stream.</param>
/// <param name="sampleRate">The sample rate for encoding audio stream.</param>
/// <remarks>
/// After reaching the limitation, the data which is being recorded will
/// be discarded and not written to the file.
- /// The recorder state must be <see cref="RecorderState.Idle"/> state.
/// </remarks>
/// <exception cref="ArgumentOutOfRangeException"><paramref name="value"/> is less than zero.</exception>
/// <seealso cref="StreamRecorder.RecordingLimitReached"/>
/// <summary>
/// Initialize a new instance of the <see cref="StreamRecorderVideoOptions"/> class with the specified
- /// codec, resolution, source format and frame rate.
+ /// codec, resolution, source format, and frame rate.
/// </summary>
/// <param name="codec">The <see cref="RecorderVideoCodec"/> for encoding video stream.</param>
/// <param name="resolution">The resolution of video recording.</param>
/// <summary>
/// Initialize a new instance of the <see cref="StreamRecorderVideoOptions"/> class with the specified
- /// codec, resolution, source format, frame rate and bit rate.
+ /// codec, resolution, source format, frame rate, and bit rate.
/// </summary>
/// <param name="codec">The <see cref="RecorderVideoCodec"/> for encoding video stream.</param>
/// <param name="resolution">The resolution of video recording.</param>
using System.Runtime.CompilerServices;
-[assembly: InternalsVisibleTo("Tizen.Multimedia.AudioIO, " +
- "PublicKey=0024000004800000940000000602000000240000525341310004000001000100d115b100424841" +
- "6b12d21b626cfb17149c9303fe394693fd3b32d7872e89559a4fa96c98110c2e62eea48aca693b" +
- "ddbe17094ca8ea2e2cd79970ca590fb672b9b371b5d7002076817321f62d6483ea50c56dbd1f37" +
- "b185a4c24c47718876e6ae6d266508c551170d4cbdda3f82edaff9405ee3d7857282d8269e8e518d2f0fb2")]
+[assembly: InternalsVisibleTo("Tizen.Multimedia.AudioIO, " + PublicKey.Value)]
-[assembly: InternalsVisibleTo("Tizen.Multimedia.Camera, " +
- "PublicKey=0024000004800000940000000602000000240000525341310004000001000100d115b100424841" +
- "6b12d21b626cfb17149c9303fe394693fd3b32d7872e89559a4fa96c98110c2e62eea48aca693b" +
- "ddbe17094ca8ea2e2cd79970ca590fb672b9b371b5d7002076817321f62d6483ea50c56dbd1f37" +
- "b185a4c24c47718876e6ae6d266508c551170d4cbdda3f82edaff9405ee3d7857282d8269e8e518d2f0fb2")]
+[assembly: InternalsVisibleTo("Tizen.Multimedia.Camera, " + PublicKey.Value)]
-[assembly: InternalsVisibleTo("Tizen.Multimedia.MediaCodec, " +
- "PublicKey=0024000004800000940000000602000000240000525341310004000001000100d115b100424841" +
- "6b12d21b626cfb17149c9303fe394693fd3b32d7872e89559a4fa96c98110c2e62eea48aca693b" +
- "ddbe17094ca8ea2e2cd79970ca590fb672b9b371b5d7002076817321f62d6483ea50c56dbd1f37" +
- "b185a4c24c47718876e6ae6d266508c551170d4cbdda3f82edaff9405ee3d7857282d8269e8e518d2f0fb2")]
+[assembly: InternalsVisibleTo("Tizen.Multimedia.MediaCodec, " + PublicKey.Value)]
-[assembly: InternalsVisibleTo("Tizen.Multimedia.MediaPlayer, " +
- "PublicKey=0024000004800000940000000602000000240000525341310004000001000100d115b100424841" +
- "6b12d21b626cfb17149c9303fe394693fd3b32d7872e89559a4fa96c98110c2e62eea48aca693b" +
- "ddbe17094ca8ea2e2cd79970ca590fb672b9b371b5d7002076817321f62d6483ea50c56dbd1f37" +
- "b185a4c24c47718876e6ae6d266508c551170d4cbdda3f82edaff9405ee3d7857282d8269e8e518d2f0fb2")]
+[assembly: InternalsVisibleTo("Tizen.Multimedia.MediaPlayer, " + PublicKey.Value)]
-[assembly: InternalsVisibleTo("Tizen.Multimedia.Recorder, " +
- "PublicKey=0024000004800000940000000602000000240000525341310004000001000100d115b100424841" +
- "6b12d21b626cfb17149c9303fe394693fd3b32d7872e89559a4fa96c98110c2e62eea48aca693b" +
- "ddbe17094ca8ea2e2cd79970ca590fb672b9b371b5d7002076817321f62d6483ea50c56dbd1f37" +
- "b185a4c24c47718876e6ae6d266508c551170d4cbdda3f82edaff9405ee3d7857282d8269e8e518d2f0fb2")]
+[assembly: InternalsVisibleTo("Tizen.Multimedia.Recorder, " + PublicKey.Value)]
-[assembly: InternalsVisibleTo("Tizen.Multimedia.StreamRecorder, " +
- "PublicKey=0024000004800000940000000602000000240000525341310004000001000100d115b100424841" +
- "6b12d21b626cfb17149c9303fe394693fd3b32d7872e89559a4fa96c98110c2e62eea48aca693b" +
- "ddbe17094ca8ea2e2cd79970ca590fb672b9b371b5d7002076817321f62d6483ea50c56dbd1f37" +
- "b185a4c24c47718876e6ae6d266508c551170d4cbdda3f82edaff9405ee3d7857282d8269e8e518d2f0fb2")]
+[assembly: InternalsVisibleTo("Tizen.Multimedia.StreamRecorder, " + PublicKey.Value)]
-[assembly: InternalsVisibleTo("Tizen.Multimedia.Remoting, " +
- "PublicKey=0024000004800000940000000602000000240000525341310004000001000100d115b100424841" +
- "6b12d21b626cfb17149c9303fe394693fd3b32d7872e89559a4fa96c98110c2e62eea48aca693b" +
- "ddbe17094ca8ea2e2cd79970ca590fb672b9b371b5d7002076817321f62d6483ea50c56dbd1f37" +
- "b185a4c24c47718876e6ae6d266508c551170d4cbdda3f82edaff9405ee3d7857282d8269e8e518d2f0fb2")]
+[assembly: InternalsVisibleTo("Tizen.Multimedia.Remoting, " + PublicKey.Value)]
-[assembly: InternalsVisibleTo("Tizen.Multimedia.Util, " +
- "PublicKey=0024000004800000940000000602000000240000525341310004000001000100d115b100424841" +
- "6b12d21b626cfb17149c9303fe394693fd3b32d7872e89559a4fa96c98110c2e62eea48aca693b" +
- "ddbe17094ca8ea2e2cd79970ca590fb672b9b371b5d7002076817321f62d6483ea50c56dbd1f37" +
- "b185a4c24c47718876e6ae6d266508c551170d4cbdda3f82edaff9405ee3d7857282d8269e8e518d2f0fb2")]
+[assembly: InternalsVisibleTo("Tizen.Multimedia.Util, " + PublicKey.Value)]
-[assembly: InternalsVisibleTo("Tizen.Multimedia.Vision, " +
- "PublicKey=0024000004800000940000000602000000240000525341310004000001000100d115b100424841" +
- "6b12d21b626cfb17149c9303fe394693fd3b32d7872e89559a4fa96c98110c2e62eea48aca693b" +
- "ddbe17094ca8ea2e2cd79970ca590fb672b9b371b5d7002076817321f62d6483ea50c56dbd1f37" +
- "b185a4c24c47718876e6ae6d266508c551170d4cbdda3f82edaff9405ee3d7857282d8269e8e518d2f0fb2")]
\ No newline at end of file
+[assembly: InternalsVisibleTo("Tizen.Multimedia.Vision, " + PublicKey.Value)]
+
+[assembly: InternalsVisibleTo("Tizen.Multimedia.Radio, " + PublicKey.Value)]
+
+internal static class PublicKey
+{
+ internal const string Value =
+ "PublicKey=0024000004800000940000000602000000240000525341310004000001000100d115b100424841" +
+ "6b12d21b626cfb17149c9303fe394693fd3b32d7872e89559a4fa96c98110c2e62eea48aca693b" +
+ "ddbe17094ca8ea2e2cd79970ca590fb672b9b371b5d7002076817321f62d6483ea50c56dbd1f37" +
+ "b185a4c24c47718876e6ae6d266508c551170d4cbdda3f82edaff9405ee3d7857282d8269e8e518d2f0fb2";
+}
\ No newline at end of file
private Interop.AudioStreamPolicy.FocusStateChangedCallback _focusStateChangedCallback;
/// <summary>
- /// Initializes a new instance of the <see cref="AudioStreamPolicy"/> class with <see cref="AudioStreamType"/>
+ /// Initializes a new instance of the <see cref="AudioStreamPolicy"/> class with <see cref="AudioStreamType"/>.
/// </summary>
/// <remarks>
/// To apply the stream policy according to this stream information, the AudioStreamPolicy should
- /// be passed to other APIs related to playback or recording. (For example., <see cref="T:Tizen.MultimediaPlayer"/>,
+ /// be passed to other APIs related to playback or recording. (For example., <see cref="T:Tizen.Multimedia.Player"/>,
/// <see cref="T:Tizen.Multimedia.WavPlayer"/> , etc.)
/// </remarks>
/// <param name="streamType">The type of the sound stream for which the policy needs to be created.</param>
public AudioStreamFocusChangedReason Reason { get; }
/// <summary>
- /// Gets the requested behaviors that should be followed
+ /// Gets the requested behaviors that should be followed.
/// </summary>
/// <value>The requested behaviors that should be followed.</value>
public AudioStreamBehaviors Behaviors { get; }
}
/// <summary>
- /// Gets the max volume level of the specified <see cref="AudioVolumeType"/>
+ /// Gets the max volume level of the specified <see cref="AudioVolumeType"/>.
/// </summary>
/// <param name="type">The <see cref="AudioVolumeType"/> to query.</param>
/// <value>The maximum volume level.</value>
}
/// <summary>
- /// Gets or sets the volume level of the specified <see cref="AudioVolumeType"/>
+ /// Gets or sets the volume level of the specified <see cref="AudioVolumeType"/>.
/// </summary>
/// <param name="type">The <see cref="AudioVolumeType"/> to control.</param>
/// <value>The current volume level.</value>
/// <privilege>http://tizen.org/privilege/volume.set</privilege>
/// <exception cref="ArgumentException"><paramref name="type"/> is invalid.</exception>
/// <exception cref="ArgumentOutOfRangeException">
- /// <paramref name="type"/> is <see cref="AudioVolumeType.None"/>.
- /// -or-
- /// <paramref name="value"/> is less than zero.
- /// -or-
+ /// <paramref name="type"/> is <see cref="AudioVolumeType.None"/>.<br/>
+ /// -or-<br/>
+ /// <paramref name="value"/> is less than zero.<br/>
+ /// -or-<br/>
/// <paramref name="value"/> is greater than <see cref="MaxVolumeLevel.this[AudioVolumeType]"/>.
/// </exception>
/// <exception cref="UnauthorizedAccessException">The caller does not have required privilege to set volume.</exception>
bool IsReadOnly { get; }
/// <summary>
- /// Copies data from a byte array to the buffer.
+ /// Copies data from the buffer to a byte array.
/// </summary>
/// <param name="dest">The array to copy to.</param>
/// <param name="startIndex">The zero-based index in the source array where copying should start.</param>
void CopyTo(byte[] dest, int startIndex, int length);
/// <summary>
- /// Copies data from a byte array to the buffer.
+ /// Copies data from the buffer to a byte array.
/// </summary>
/// <param name="dest">The array to copy to.</param>
/// <param name="startIndex">The zero-based index in the source array where copying should start.</param>
void CopyTo(byte[] dest, int startIndex, int length, int offset);
/// <summary>
- /// Copies data from the buffer to a byte array.
+ /// Copies data from a byte array to the buffer.
/// </summary>
/// <param name="source">The array to copy from.</param>
/// <param name="startIndex">The zero-based index in the destination array where copying should start.</param>
void CopyFrom(byte[] source, int startIndex, int length);
/// <summary>
- /// Copies data from the buffer to a byte array.
+ /// Copies data from a byte array to the buffer.
/// </summary>
/// <param name="source">The array to copy from.</param>
/// <param name="startIndex">The zero-based index in the destination array where copying should start.</param>
/// <since_tizen> 3 </since_tizen>
LINEAR,
/// <summary>
- /// Chooses the mipmap that most closely matches the size of the pixel being
- /// textured and uses the GL_NEAREST criterion (the texture element closest to
- /// the specified texture coordinates) to produce a texture value.
+ /// Filter nearest mipmap nearest.
/// </summary>
/// <since_tizen> 3 </since_tizen>
NEAREST_MIPMAP_NEAREST,
/// <summary>
- /// Chooses the mipmap that most closely matches the size of the pixel being textured
- /// and uses the GL_LINEAR criterion (a weighted average of the four texture elements
- /// that are closest to the specified texture coordinates) to produce a texture value.
+ /// Filter linear mipmap nearest.
/// </summary>
/// <since_tizen> 3 </since_tizen>
LINEAR_MIPMAP_NEAREST,
/// <summary>
- /// Chooses the two mipmaps that most closely match the size of the pixel being textured
- /// and uses the GL_NEAREST criterion (the texture element closest to the specified texture
- /// coordinates ) to produce a texture value from each mipmap. The final texture value is a
- /// weighted average of those two values.
+ /// Filter nearest mipmap linear.
/// </summary>
/// <since_tizen> 3 </since_tizen>
NEAREST_MIPMAP_LINEAR,
/// <summary>
- /// Chooses the two mipmaps that most closely match the size of the pixel being textured and
- /// uses the GL_LINEAR criterion (a weighted average of the texture elements that are closest
- /// to the specified texture coordinates) to produce a texture value from each mipmap. The final
- /// texture value is a weighted average of those two values.
+ /// Filter linear mipmap linear.
/// </summary>
/// <since_tizen> 3 </since_tizen>
LINEAR_MIPMAP_LINEAR
/// </summary>
/// <since_tizen> 3 </since_tizen>
/// <value>
- /// Value to be set must be in range from 1 to 3600. Default timeout interval value is 30.\n
- /// Sets/gets the timeout of StartFindingResource(), StartFindingDeviceInformation(), StartFindingPlatformInformation(),
- /// RemoteResource.GetAsync(), RemoteResource.PutAsync(), RemoteResource.PostAsync() and RemoteResource.DeleteAsync() APIs.\n
- /// Setter can throw exception.
+ /// <para>Value to be set must be in range from 1 to 3600. Default timeout interval value is 30.</para>
+ /// <para>Sets/gets the timeout of StartFindingResource(), StartFindingDeviceInformation(), StartFindingPlatformInformation(),
+ /// RemoteResource.GetAsync(), RemoteResource.PutAsync(), RemoteResource.PostAsync() and RemoteResource.DeleteAsync() APIs.</para>
+ /// <para>Setter can throw exception.</para>
/// </value>
/// <pre>
/// Initialize() should be called to initialize.
/// </summary>
/// <since_tizen> 3 </since_tizen>
/// <remarks>
- /// @a filePath point to a file for handling secure virtual resources.
+ /// <paramref name="filePath"/> points to a file for handling secure virtual resources.
/// The file that is CBOR(Concise Binary Object Representation)-format must already exist
- /// in @a filePath. We recommend to use application-local file for @a filePath.
+ /// in <paramref name="filePath" />. We recommend to use application-local file for <paramref name="filePath" />.
/// </remarks>
- /// <privilege>
- /// http://tizen.org/privilege/network.get \n
- /// http://tizen.org/privilege/internet
- /// </privilege>
+ /// <privilege>http://tizen.org/privilege/network.get</privilege>
+ /// <privilege>http://tizen.org/privilege/internet</privilege>
/// <privlevel>public</privlevel>
- /// <param name="filePath">The file path to point to storage for handling secure virtual resources.</param>
+ /// <param name="filePath">The file path pointing to storage for handling secure virtual resources.</param>
/// <feature>http://tizen.org/feature/iot.ocf</feature>
/// <post>
/// You must call Deinitialize() if IoTCon API is no longer needed.
/// </summary>
/// <since_tizen> 3 </since_tizen>
/// <remarks>
- /// Sends request to receive presence to an interested server's resource with resourceType.
+ /// <para>Sends request to receive presence to an interested server's resource with resourceType.
/// If succeeded, <see cref="PresenceReceived"/> event handler will be triggered when the server sends presence.
- /// A server sends presence events when adds / removes / alters a resource or start / stop presence.\n
- /// @a hostAddress could be <see cref="MulticastAddress"/> for IPv4 multicast.
- /// The length of @ resourceType should be less than or equal to 61. The @ resourceType must start with a lowercase alphabetic character, followed by a sequence
- /// of lowercase alphabetic, numeric, ".", or "-" characters, and contains no white space.
+ /// A server sends presence events when adds / removes / alters a resource or start / stop presence.</para>
+ /// <para><paramref name="hostAddress" /> could be <see cref="MulticastAddress"/> for IPv4 multicast.
+ /// The length of <paramref name="resourceType" /> should be less than or equal to 61.
+ /// The <paramref name="resourceType" /> must start with a lowercase alphabetic character, followed by a sequence
+ /// of lowercase alphabetic, numeric, ".", or "-" characters, and contains no white space.</para>
/// </remarks>
- /// <privilege>
- /// http://tizen.org/privilege/internet
- /// </privilege>
+ /// <privilege>http://tizen.org/privilege/internet</privilege>
/// <privlevel>public</privlevel>
/// <param name="hostAddress">The address or addressable name of the server.</param>
/// <param name="resourceType">A resource type that a client is interested in.</param>
/// <feature>http://tizen.org/feature/iot.ocf</feature>
/// <pre>Initialize() should be called to initialize.</pre>
/// <post>
- /// When the resource receive presence, <see cref="PresenceReceived"/> event handler will be invoked.\n
+ /// When the resource receive presence, <see cref="PresenceReceived"/> event handler will be invoked.<br/>
/// You must destroy presence by calling StopReceivingPresence() if presence event is no longer needed.
/// </post>
/// <seealso cref="IoTConnectivityServerManager.StartSendingPresence(uint)"/>
/// <remarks>
/// Sends request to not to receive server's presence any more.
/// </remarks>
- /// <privilege>
- /// http://tizen.org/privilege/internet
- /// </privilege>
+ /// <privilege>http://tizen.org/privilege/internet</privilege>
/// <privlevel>public</privlevel>
/// <param name="presenceId">The start presence request identifier.</param>
/// <feature>http://tizen.org/feature/iot.ocf</feature>
/// </summary>
/// <since_tizen> 3 </since_tizen>
/// <remarks>
- /// Sends request to find a resource of @a hostAddress server with @a resourceType.
- /// If succeeded, <see cref="ResourceFound"/> event handler will be triggered with information of the resource.\n
- /// @a hostAddress could be <see cref="MulticastAddress"/> for the IPv4 multicast.
- /// The length of @a resourceType should be less than or equal to 61. The @ resourceType must start with a lowercase alphabetic character, followed by a sequence
- /// of lowercase alphabetic, numeric, ".", or "-" characters, and contains no white space.
+ /// <para>Sends request to find a resource of <paramref name="hostAddress" /> server with <paramref name="resourceType" />.
+ /// If succeeded, <see cref="ResourceFound"/> event handler will be triggered with information of the resource.</para>
+ /// <para><paramref name="hostAddress" /> could be <see cref="MulticastAddress"/> for the IPv4 multicast.
+ /// The length of <paramref name="resourceType" /> should be less than or equal to 61. The <paramref name="resourceType" /> must start
+ /// with a lowercase alphabetic character, followed by a sequence
+ /// of lowercase alphabetic, numeric, ".", or "-" characters, and contains no white space.</para>
/// </remarks>
- /// <privilege>
- /// http://tizen.org/privilege/internet
- /// </privilege>
+ /// <privilege>http://tizen.org/privilege/internet</privilege>
/// <privlevel>public</privlevel>
/// <param name="hostAddress">The address or addressable name of the server. The address includes a protocol like coaps://.</param>
/// <param name="query">The query specified as a filter for founding resources.</param>
/// </summary>
/// <since_tizen> 3 </since_tizen>
/// <remarks>
- /// Requests server for device information.
- /// If succeeded, <see cref="DeviceInformationFound"/> event handler will be triggered with information of the device.\n
- /// @a hostAddress could be <see cref="MulticastAddress"/> for the IPv4 multicast.
+ /// <para>Requests server for device information.
+ /// If succeeded, <see cref="DeviceInformationFound"/> event handler will be triggered with information of the device.</para>
+ /// <para><paramref name="hostAddress" /> could be <see cref="MulticastAddress"/> for the IPv4 multicast.</para>
/// </remarks>
- /// <privilege>
- /// http://tizen.org/privilege/internet
- /// </privilege>
+ /// <privilege>http://tizen.org/privilege/internet</privilege>
/// <privlevel>public</privlevel>
/// <param name="hostAddress">The host address of the remote server.</param>
/// <param name="query">The query specified as a filter for founding resources.</param>
/// </summary>
/// <since_tizen> 3 </since_tizen>
/// <remarks>
- /// Requests server for platform information.
- /// If succeeded, <see cref="PlatformInformationFound" /> event handler will be triggered with information of the platform.\n
- /// @a hostAddress could be <see cref="MulticastAddress"/> for IPv4 multicast.
+ /// <para>Requests server for platform information.
+ /// If succeeded, <see cref="PlatformInformationFound" /> event handler will be triggered with information of the platform.</para>
+ /// <para><paramref name="hostAddress" /> could be <see cref="MulticastAddress"/> for IPv4 multicast.</para>
/// </remarks>
- /// <privilege>
- /// http://tizen.org/privilege/internet
- /// </privilege>
+ /// <privilege>http://tizen.org/privilege/internet</privilege>
/// <privlevel>public</privlevel>
/// <param name="hostAddress">The host address of remote server.</param>
/// <param name="query">The query specified as a filter for founding resources.</param>
/// </summary>
/// <since_tizen> 3 </since_tizen>
/// <remarks>
- /// @a filePath point to a file for handling secure virtual resources.
+ /// <paramref name="filePath" /> points to a file for handling secure virtual resources.
/// The file that is CBOR(Concise Binary Object Representation)-format must already exist
- /// in @a filePath. We recommend to use application-local file for @a filePath.
+ /// in <paramref name="filePath" />. We recommend to use application-local file for <paramref name="filePath" />.
/// </remarks>
- /// <privilege>
- /// http://tizen.org/privilege/network.get \n
- /// http://tizen.org/privilege/internet
- /// </privilege>
+ /// <privilege>http://tizen.org/privilege/network.get</privilege>
+ /// <privilege>http://tizen.org/privilege/internet</privilege>
/// <privlevel>public</privlevel>
- /// <param name="filePath">The file path to point to storage for handling secure virtual resources.</param>
+ /// <param name="filePath">The file path pointing to storage for handling secure virtual resources.</param>
/// <feature>http://tizen.org/feature/iot.ocf</feature>
/// <post>
/// You must call Deinitialize() if IoTCon API is no longer needed.
/// Registers a resource in IoTCon server.
/// </summary>
/// <since_tizen> 3 </since_tizen>
- /// <privilege>
- /// http://tizen.org/privilege/internet
- /// </privilege>
+ /// <privilege>http://tizen.org/privilege/internet</privilege>
/// <privlevel>public</privlevel>
/// <param name="resource">The resource to register.</param>
/// <feature>http://tizen.org/feature/iot.ocf</feature>
/// Unregisters a resource in IoTCon server.
/// </summary>
/// <since_tizen> 3 </since_tizen>
- /// <privilege>
- /// http://tizen.org/privilege/internet
- /// </privilege>
+ /// <privilege>http://tizen.org/privilege/internet</privilege>
/// <privlevel>public</privlevel>
/// <param name="resource">The resource to unregister.</param>
/// <feature>http://tizen.org/feature/iot.ocf</feature>
/// </summary>
/// <since_tizen> 3 </since_tizen>
/// <remarks>
- /// Use this API to send server's announcements to clients.
- /// Server can call this API when online for the first time or come back from offline to online.\n
- /// If @a time is 0, server will set default value as 60 seconds.\n
- /// If @a time is very big, server will set maximum value as (60 * 60 * 24) seconds, (24 hours).
+ /// <para>Use this API to send server's announcements to clients.
+ /// Server can call this API when online for the first time or come back from offline to online.</para>
+ /// <para>If <paramref name="time" /> is 0, server will set default value as 60 seconds.</para>
+ /// <para>If <paramref name="time" /> is very big, server will set maximum value as (60 * 60 * 24) seconds, (24 hours).</para>
/// </remarks>
- /// <privilege>
- /// http://tizen.org/privilege/internet
- /// </privilege>
+ /// <privilege>http://tizen.org/privilege/internet</privilege>
/// <privlevel>public</privlevel>
/// <param name="time">The interval of announcing presence in seconds.</param>
/// <feature>http://tizen.org/feature/iot.ocf</feature>
/// Use this API to stop sending server's announcements to clients.
/// Server can call this API when terminating, entering to offline or out of network.
/// </remarks>
- /// <privilege>
- /// http://tizen.org/privilege/internet
- /// </privilege>
+ /// <privilege>http://tizen.org/privilege/internet</privilege>
/// <privlevel>public</privlevel>
/// <feature>http://tizen.org/feature/iot.ocf</feature>
/// <pre>
/// </summary>
/// <since_tizen> 3 </since_tizen>
/// <remarks>
- /// This API sets the name of the local device (the device calling the API).\n
- /// If the device name is set, clients can get the name using <see cref="IoTConnectivityClientManager.StartFindingDeviceInformation(string, ResourceQuery)"/>.
+ /// <para>This API sets the name of the local device (the device calling the API).</para>
+ /// <para>If the device name is set, clients can get the name using <see cref="IoTConnectivityClientManager.StartFindingDeviceInformation(string, ResourceQuery)"/>.</para>
/// </remarks>
/// <param name="deviceName">The device name.</param>
/// <feature>http://tizen.org/feature/iot.ocf</feature>
/// </summary>
/// <since_tizen> 3 </since_tizen>
/// <remarks>
- /// Creates a lite resource, which can then be registered in server using <see cref="IoTConnectivityServerManager.RegisterResource(Resource)"/>.\n
- /// When client requests some operations, it sends a response to client automatically.\n
- /// @a uri length must be less than 128.
+ /// <para>Creates a lite resource, which can then be registered in server using <see cref="IoTConnectivityServerManager.RegisterResource(Resource)"/>.</para>
+ /// <para>When client requests some operations, it sends a response to client automatically.</para>
+ /// <para><paramref name="uri" /> length must be less than 128.</para>
/// </remarks>
- /// <privilege>
- /// http://tizen.org/privilege/internet
- /// </privilege>
+ /// <privilege>http://tizen.org/privilege/internet</privilege>
/// <privlevel>public</privlevel>
/// <param name="uri">The uri path of the lite resource.</param>
/// <param name="types">The type of the resource.</param>
/// </summary>
/// <since_tizen> 3 </since_tizen>
/// <remarks>
- /// To use this API, you should provide all the details required to correctly contact and
- /// observe the object.\n
- /// If not, you should discover the resource object manually.\n
- /// The @a policy can contain multiple policies like ResourcePolicy.Discoverable | ResourcePolicy.Observable.
+ /// <para>To use this API, you should provide all the details required to correctly contact and
+ /// observe the object.</para>
+ /// <para>If not, you should discover the resource object manually.</para>
+ /// <para>The <paramref name="policy" /> can contain multiple policies like <c>ResourcePolicy.Discoverable | ResourcePolicy.Observable</c>.</para>
/// </remarks>
/// <param name="hostAddress">The host address of the resource.</param>
/// <param name="uriPath">The URI path of the resource.</param>
/// <remarks>
/// When server sends notification message, <see cref="ObserverNotified"/> will be called.
/// </remarks>
- /// <privilege>
- /// http://tizen.org/privilege/internet
- /// </privilege>
+ /// <privilege>http://tizen.org/privilege/internet</privilege>
/// <privlevel>public</privlevel>
/// <param name="policy">The type to specify how client wants to observe.</param>
/// <param name="query">The query to send to server.</param>
/// Stops observing on the resource.
/// </summary>
/// <since_tizen> 3 </since_tizen>
- /// <privilege>
- /// http://tizen.org/privilege/internet
- /// </privilege>
+ /// <privilege>http://tizen.org/privilege/internet</privilege>
/// <privlevel>public</privlevel>
/// <feature>http://tizen.org/feature/iot.ocf</feature>
/// <exception cref="NotSupportedException">Thrown when the iotcon is not supported.</exception>
/// Gets the attributes of a resource asynchronously.
/// </summary>
/// <since_tizen> 3 </since_tizen>
- /// <privilege>
- /// http://tizen.org/privilege/internet
- /// </privilege>
+ /// <privilege>http://tizen.org/privilege/internet</privilege>
/// <privlevel>public</privlevel>
/// <param name="query">The ResourceQuery to send to server.</param>
/// <returns>Remote response with result and representation.</returns>
/// Puts the representation of a resource asynchronously.
/// </summary>
/// <since_tizen> 3 </since_tizen>
- /// <privilege>
- /// http://tizen.org/privilege/internet
- /// </privilege>
+ /// <privilege>http://tizen.org/privilege/internet</privilege>
/// <privlevel>public</privlevel>
/// <param name="representation">Resource representation to put.</param>
/// <param name="query">The ResourceQuery to send to server.</param>
/// Posts request on a resource asynchronously.
/// </summary>
/// <since_tizen> 3 </since_tizen>
- /// <privilege>
- /// http://tizen.org/privilege/internet
- /// </privilege>
+ /// <privilege>http://tizen.org/privilege/internet</privilege>
/// <privlevel>public</privlevel>
/// <param name="representation">Resource representation of request.</param>
/// <param name="query">The ResourceQuery to send to server.</param>
/// Deletes the resource asynchronously.
/// </summary>
/// <since_tizen> 3 </since_tizen>
- /// <privilege>
- /// http://tizen.org/privilege/internet
- /// </privilege>
+ /// <privilege>http://tizen.org/privilege/internet</privilege>
/// <privlevel>public</privlevel>
/// <returns>Remote response with result and representation.</returns>
/// <feature>http://tizen.org/feature/iot.ocf</feature>
/// </summary>
/// <since_tizen> 3 </since_tizen>
/// <remarks>
- /// @a uri format would be relative URI path like '/a/light'
+ /// <paramref name="uri" /> format would be relative URI path like '/a/light'
/// and its length must be less than 128.
/// </remarks>
- /// <privilege>
- /// http://tizen.org/privilege/internet
- /// </privilege>
+ /// <privilege>http://tizen.org/privilege/internet</privilege>
/// <privlevel>public</privlevel>
/// <param name="uri">The URI path of the resource.</param>
/// <param name="types">Resource types.</param>
/// Notify the specified representation and qos.
/// </summary>
/// <since_tizen> 3 </since_tizen>
- /// <privilege>
- /// http://tizen.org/privilege/internet
- /// </privilege>
+ /// <privilege>http://tizen.org/privilege/internet</privilege>
/// <privlevel>public</privlevel>
/// <param name="representation">Representation.</param>
/// <param name="qos">The quality of service for message transfer.</param>
/// </summary>
/// <since_tizen> 3 </since_tizen>
/// <remarks>
- /// @a item could be a value, such as <see cref="DefaultInterface"/>.
+ /// <paramref name="item" /> could be a value, such as <see cref="DefaultInterface"/>.
/// </remarks>
/// <param name="item">The string data to insert into the resource interfaces.</param>
/// <feature>http://tizen.org/feature/iot.ocf</feature>
namespace Tizen.Network.IoTConnectivity
{
/// <summary>
- /// This class represents resource options. It provides APIs to manage them.\n
- /// The iotcon options API provides methods for managing vendor specific options of coap packet.\n
- /// See more about coap packet in http://tools.ietf.org/html/rfc7252.
+ /// <para>This class represents resource options. It provides APIs to manage them.</para>
+ /// <para>The iotcon options API provides methods for managing vendor specific options of coap packet.</para>
+ /// <para>See more about coap packet in http://tools.ietf.org/html/rfc7252.</para>
/// </summary>
/// <since_tizen> 3 </since_tizen>
public class ResourceOptions : IDictionary<ushort, string>, IDisposable
/// </summary>
/// <since_tizen> 3 </since_tizen>
/// <remarks>
- /// ResourceOptions can have up to 2 options. \n
- /// key is always situated between 2048 and 3000. \n
- /// Length of option data is less than or equal to 15.
+ /// <para>ResourceOptions can have up to 2 options.</para>
+ /// <para>key is always situated between 2048 and 3000.</para>
+ /// <para>Length of option data is less than or equal to 15.</para>
/// </remarks>
/// <param name="key">The ID of the option to insert.</param>
/// <param name="value">The string data to insert into the options.</param>
/// </summary>
/// <since_tizen> 3 </since_tizen>
/// <remarks>
- /// The length of @a item should be less than or equal to 61.\n
- /// The @a item must start with a lowercase alphabetic character, followed by a sequence
- /// of lowercase alphabetic, numeric, ".", or "-" characters, and contains no white space.\n
- /// Duplicate strings are not allowed.
+ /// <para>The length of <paramref name="item" /> should be less than or equal to 61.</para>
+ /// <para>The <paramref name="item" /> must start with a lowercase alphabetic character, followed by a sequence
+ /// of lowercase alphabetic, numeric, ".", or "-" characters, and contains no white space.</para>
+ /// <para>Duplicate strings are not allowed.</para>
/// </remarks>
/// <param name="item">The string data to insert into the resource types.</param>
/// <feature>http://tizen.org/feature/iot.ocf</feature>