From 35c7f8f725fc0cc769aad73c4f87375b88b9cd34 Mon Sep 17 00:00:00 2001 From: rajeev ranjan Date: Wed, 22 Jun 2016 20:36:51 +0530 Subject: [PATCH] Fixed issues, Modified spec to use xbuild, doxygen comments Change-Id: Iff287d34d3025ca5f2d983c4f202780ca4bd8b7d Signed-off-by: rajeev ranjan --- packaging/csapi-network-iotconnectivity.spec | 45 +++-------- src/Makefile | 24 ------ .../Tizen.Network.IoTConnectivity.csproj | 37 ++++++--- .../Tizen.Network.IoTConnectivity/Attributes.cs | 2 +- .../CacheUpdatedEventArgs.cs | 4 +- .../DeviceInformationFoundEventArgs.cs | 4 +- .../FindingErrorOccurredEventArgs.cs | 4 +- .../IoTConnectivityClientManager.cs | 87 ++++++++++++++-------- .../IoTConnectivityErrorFactory.cs | 10 +-- .../Tizen.Network.IoTConnectivity/LiteResource.cs | 15 ++-- .../ObserverNotifiedEventArgs.cs | 4 +- .../PlatformInformationFoundEventArgs.cs | 4 +- .../PresenceReceivedEventArgs.cs | 4 +- .../RemoteResource.cs | 25 +++++-- .../RemoteResponse.cs | 2 +- .../Representation.cs | 2 +- .../Tizen.Network.IoTConnectivity/Request.cs | 6 +- .../Tizen.Network.IoTConnectivity/Resource.cs | 15 ++-- .../ResourceFoundEventArgs.cs | 4 +- .../ResourceOptions.cs | 2 +- .../Tizen.Network.IoTConnectivity/ResourceQuery.cs | 2 +- .../Tizen.Network.IoTConnectivity/Response.cs | 2 +- .../StateChangedEventArgs.cs | 4 +- 23 files changed, 167 insertions(+), 141 deletions(-) delete mode 100755 src/Makefile diff --git a/packaging/csapi-network-iotconnectivity.spec b/packaging/csapi-network-iotconnectivity.spec index 298ef09..d20defe 100755 --- a/packaging/csapi-network-iotconnectivity.spec +++ b/packaging/csapi-network-iotconnectivity.spec @@ -1,5 +1,4 @@ -%define dllpath %{_libdir}/mono/tizen -%define dllname Tizen.Network.IoTConnectivity.dll +%define BUILDCONF Debug Name: csapi-network-iotconnectivity Summary: Tizen IoT Connectivity API for C# @@ -12,28 +11,14 @@ Source0: %{name}-%{version}.tar.gz Source1: %{name}.manifest Source2: %{name}.pc.in -# TODO: replace mono-compiler, mono-devel to mcs, mono-shlib-cop BuildRequires: mono-compiler BuildRequires: mono-devel -# TODO: replace mono-core to gacutil. -# mono-core should provide the symbol 'gacutil' -Requires(post): mono-core -Requires(postun): mono-core - -# P/Invoke Dependencies BuildRequires: pkgconfig(glib-2.0) -BuildRequires: pkgconfig(capi-appfw-application) - -# P/Invoke Runtime Dependencies -# TODO: It should be removed after fix tizen-rpm-config -Requires: glib-2.0 BuildRequires: pkgconfig(iotcon) -# DLL Dependencies BuildRequires: pkgconfig(csapi-tizen) -#BuildRequires: ... %description -Tizen API for C# +Tizen IoTConnectivity API for C# %package devel Summary: Development package for %{name} @@ -49,33 +34,21 @@ Development package for %{name} cp %{SOURCE1} . %build -# build dll -make - -# check p/invoke -if [ -x %{dllname} ]; then - RET=`mono-shlib-cop %{dllname}`; \ - CNT=`echo $RET | grep -E "^error:" | wc -l`; \ - if [ $CNT -gt 0 ]; then exit 1; fi -fi +xbuild Tizen.Network.IoTConnectivity/Tizen.Network.IoTConnectivity.csproj /p:Configuration=%{BUILDCONF} %install -# copy dll -mkdir -p %{buildroot}%{dllpath} -install -p -m 644 %{dllname} %{buildroot}%{dllpath} +gacutil -i Tizen.Network.IoTConnectivity/bin/%{BUILDCONF}/Tizen.Network.IoTConnectivity.dll -root "%{buildroot}%{_libdir}" -package tizen # generate pkgconfig mkdir -p %{buildroot}%{_libdir}/pkgconfig -sed -e "s#@version@#%{version}#g" \ - -e "s#@dllpath@#%{dllpath}#g" \ - -e "s#@dllname@#%{dllname}#g" \ +sed -e "s#@name@#%{name}#g" \ + -e "s#@version@#%{version}#g" \ + -e "s#@libs@#%{pc_libs}#g" \ %{SOURCE2} > %{buildroot}%{_libdir}/pkgconfig/%{name}.pc -%post -gacutil -i %{dllpath}/%{dllname} - %files -%{dllpath}/%{dllname} +%manifest %{name}.manifest +%{_libdir}/mono/ %files devel %{_libdir}/pkgconfig/%{name}.pc diff --git a/src/Makefile b/src/Makefile deleted file mode 100755 index 8058f34..0000000 --- a/src/Makefile +++ /dev/null @@ -1,24 +0,0 @@ -ASM_DIRS := Tizen.Network.IoTConnectivity -ASM_DLLS := $(addsuffix .dll,$(ASM_DIRS)) - -FLAGS := /unsafe - -ALL: $(ASM_DLLS) - -define make-dll -$(eval ASM = $(strip $1)) -$(eval SRC = $(shell find $(ASM) -path $(ASM)/obj -prune -o -name '*.cs' -print)) -$(eval PKG = $(shell echo $2 | tr ' ' ',')) -$(ASM).dll: $(SRC) - @echo "[BUILD] $$@" - @mcs /nologo /out:$$@ /t:library /keyfile:$(ASM)/$(ASM).snk $(addprefix /pkg:,$(PKG)) $(FLAGS) $(SRC) - @echo "[CHECK] $$@" - @RET=`mono-shlib-cop $$@`; \ - CNT=`echo $$$$RET | grep -e '^error:' | wc -l`; \ - if [ $$$$CNT -gt 0 ]; then echo $$$$RET; rm -f $$@ exit 1; fi -endef - -$(eval $(call make-dll, Tizen.Network.IoTConnectivity, csapi-tizen)) - -clean: - @rm -f $(ASM_DLLS) diff --git a/src/Tizen.Network.IoTConnectivity/Tizen.Network.IoTConnectivity.csproj b/src/Tizen.Network.IoTConnectivity/Tizen.Network.IoTConnectivity.csproj index a7ef7f3..9c83e2a 100644 --- a/src/Tizen.Network.IoTConnectivity/Tizen.Network.IoTConnectivity.csproj +++ b/src/Tizen.Network.IoTConnectivity/Tizen.Network.IoTConnectivity.csproj @@ -1,4 +1,4 @@ - + @@ -11,6 +11,7 @@ Tizen.Network.IoTConnectivity v4.5 512 + 8.0.30703 2.0 @@ -22,7 +23,6 @@ DEBUG;TRACE prompt 4 - true pdbonly @@ -47,15 +47,9 @@ - - ..\..\tizen\Tizen.Internals\bin\Debug\Tizen.Internals.dll - - - ..\..\tizen\Tizen\bin\Debug\Tizen.dll - - + @@ -95,6 +89,29 @@ + + + + csapi-tizen + ..\..\tizen\Tizen\obj\Debug\Tizen.dll + + + csapi-tizen + ..\..\tizen\Tizen.Internals\bin\Debug\Tizen.Internals.dll + + + + + {B9AA1CB2-F72D-4A30-A33B-A20C850A38A0} + Tizen.Internals + True + + + {7659CA59-410D-41A1-9841-586E88BC78C9} + Tizen + True + + - + \ No newline at end of file diff --git a/src/Tizen.Network.IoTConnectivity/Tizen.Network.IoTConnectivity/Attributes.cs b/src/Tizen.Network.IoTConnectivity/Tizen.Network.IoTConnectivity/Attributes.cs index 6a6abaf..23e32c5 100644 --- a/src/Tizen.Network.IoTConnectivity/Tizen.Network.IoTConnectivity/Attributes.cs +++ b/src/Tizen.Network.IoTConnectivity/Tizen.Network.IoTConnectivity/Attributes.cs @@ -14,7 +14,7 @@ using System.Runtime.InteropServices; namespace Tizen.Network.IoTConnectivity { /// - /// Attributes represents current attributes of a resource + /// This class represents current attributes of a resource. /// public class Attributes : IDictionary, IDisposable { diff --git a/src/Tizen.Network.IoTConnectivity/Tizen.Network.IoTConnectivity/CacheUpdatedEventArgs.cs b/src/Tizen.Network.IoTConnectivity/Tizen.Network.IoTConnectivity/CacheUpdatedEventArgs.cs index 27cb177..95a8f5b 100755 --- a/src/Tizen.Network.IoTConnectivity/Tizen.Network.IoTConnectivity/CacheUpdatedEventArgs.cs +++ b/src/Tizen.Network.IoTConnectivity/Tizen.Network.IoTConnectivity/CacheUpdatedEventArgs.cs @@ -11,10 +11,12 @@ using System; namespace Tizen.Network.IoTConnectivity { /// - /// CacheUpdatedEventArgs class. This class is an event arguments of the CacheUpdated event. + /// This class is an event arguments of the CacheUpdated event. /// public class CacheUpdatedEventArgs : EventArgs { + internal CacheUpdatedEventArgs() { } + /// /// Representation property. /// diff --git a/src/Tizen.Network.IoTConnectivity/Tizen.Network.IoTConnectivity/DeviceInformationFoundEventArgs.cs b/src/Tizen.Network.IoTConnectivity/Tizen.Network.IoTConnectivity/DeviceInformationFoundEventArgs.cs index 7bda503..ceab212 100755 --- a/src/Tizen.Network.IoTConnectivity/Tizen.Network.IoTConnectivity/DeviceInformationFoundEventArgs.cs +++ b/src/Tizen.Network.IoTConnectivity/Tizen.Network.IoTConnectivity/DeviceInformationFoundEventArgs.cs @@ -9,10 +9,12 @@ namespace Tizen.Network.IoTConnectivity { /// - /// DeviceInformationFoundEventArgs class. This class is an event arguments of the DeviceInformationFound event. + /// This class is an event arguments of the DeviceInformationFound event. /// public class DeviceInformationFoundEventArgs { + internal DeviceInformationFoundEventArgs() { } + /// /// The request id /// diff --git a/src/Tizen.Network.IoTConnectivity/Tizen.Network.IoTConnectivity/FindingErrorOccurredEventArgs.cs b/src/Tizen.Network.IoTConnectivity/Tizen.Network.IoTConnectivity/FindingErrorOccurredEventArgs.cs index 587f353..d5453e8 100755 --- a/src/Tizen.Network.IoTConnectivity/Tizen.Network.IoTConnectivity/FindingErrorOccurredEventArgs.cs +++ b/src/Tizen.Network.IoTConnectivity/Tizen.Network.IoTConnectivity/FindingErrorOccurredEventArgs.cs @@ -11,10 +11,12 @@ using System; namespace Tizen.Network.IoTConnectivity { /// - /// FoundErrorEventArgs class. This class is an event arguments of the FoundError event. + /// This class is an event arguments of the FindingErrorOccurred event. /// public class FindingErrorOccurredEventArgs : EventArgs { + internal FindingErrorOccurredEventArgs() { } + /// /// RequestId property. /// diff --git a/src/Tizen.Network.IoTConnectivity/Tizen.Network.IoTConnectivity/IoTConnectivityClientManager.cs b/src/Tizen.Network.IoTConnectivity/Tizen.Network.IoTConnectivity/IoTConnectivityClientManager.cs index 0152de7..fcc7129 100755 --- a/src/Tizen.Network.IoTConnectivity/Tizen.Network.IoTConnectivity/IoTConnectivityClientManager.cs +++ b/src/Tizen.Network.IoTConnectivity/Tizen.Network.IoTConnectivity/IoTConnectivityClientManager.cs @@ -12,6 +12,9 @@ using System.Runtime.InteropServices; namespace Tizen.Network.IoTConnectivity { + /// + /// IoT connectivity client manager. + /// public static class IoTConnectivityClientManager { public const string MulticastAddress = null; @@ -179,10 +182,10 @@ namespace Tizen.Network.IoTConnectivity } s_presenceCallbacksMap[id] = (IntPtr presence, int result, IntPtr presenceResponseHandle, IntPtr userData) => { - if (presenceResponseHandle != IntPtr.Zero) + int presenceId = (int)userData; + if (result == (int)IoTConnectivityError.None) { - int presenceId = (int)userData; - if (result == 0) + if (presenceResponseHandle != IntPtr.Zero) { PresenceReceivedEventArgs e = GetPresenceReceivedEventArgs(presenceId, presenceResponseHandle); if (e == null) @@ -194,10 +197,15 @@ namespace Tizen.Network.IoTConnectivity } else { - FindingErrorOccurredEventArgs e = GetFindingErrorOccurredEventArgs(presenceId, result); - FindingErrorOccurred?.Invoke(null, e); + Log.Error(IoTConnectivityErrorFactory.LogTag, "Handle is null"); + return; } } + else + { + FindingErrorOccurredEventArgs e = GetFindingErrorOccurredEventArgs(presenceId, result); + FindingErrorOccurred?.Invoke(null, e); + } }; IntPtr presenceHandle; @@ -276,10 +284,10 @@ namespace Tizen.Network.IoTConnectivity } s_resourceFoundCallbacksMap[id] = (IntPtr remoteResourceHandle, int result, IntPtr userData) => { - if (remoteResourceHandle != IntPtr.Zero) + int requestId = (int)userData; + if (result == (int)IoTConnectivityError.None) { - int requestId = (int)userData; - if (result == (int)IoTConnectivityError.None) + if (remoteResourceHandle != IntPtr.Zero) { RemoteResource resource = null; try @@ -300,13 +308,18 @@ namespace Tizen.Network.IoTConnectivity } else { - FindingErrorOccurredEventArgs e = GetFindingErrorOccurredEventArgs(requestId, result); - FindingErrorOccurred?.Invoke(null, e); + Log.Error(IoTConnectivityErrorFactory.LogTag, "Handle is null"); + return; + } + } + else + { + FindingErrorOccurredEventArgs e = GetFindingErrorOccurredEventArgs(requestId, result); + FindingErrorOccurred?.Invoke(null, e); - lock (s_resourceFoundCallbacksMap) - { - s_resourceFoundCallbacksMap.Remove(id); - } + lock (s_resourceFoundCallbacksMap) + { + s_resourceFoundCallbacksMap.Remove(id); } } }; @@ -345,10 +358,10 @@ namespace Tizen.Network.IoTConnectivity } s_deviceInformationCallbacksMap[id] = (IntPtr deviceInfoHandle, int result, IntPtr userData) => { - if (deviceInfoHandle != IntPtr.Zero) + int requestId = (int)userData; + if (result == (int)IoTConnectivityError.None) { - int requestId = (int)userData; - if (result == 0) + if (deviceInfoHandle != IntPtr.Zero) { DeviceInformationFoundEventArgs e = GetDeviceInformationFoundEventArgs(requestId, deviceInfoHandle); if (e == null) @@ -360,13 +373,18 @@ namespace Tizen.Network.IoTConnectivity } else { - FindingErrorOccurredEventArgs e = GetFindingErrorOccurredEventArgs(requestId, result); - FindingErrorOccurred?.Invoke(null, e); + Log.Error(IoTConnectivityErrorFactory.LogTag, "Handle is null"); + return; + } + } + else + { + FindingErrorOccurredEventArgs e = GetFindingErrorOccurredEventArgs(requestId, result); + FindingErrorOccurred?.Invoke(null, e); - lock (s_deviceInformationCallbacksMap) - { - s_deviceInformationCallbacksMap.Remove(id); - } + lock (s_deviceInformationCallbacksMap) + { + s_deviceInformationCallbacksMap.Remove(id); } } }; @@ -407,10 +425,10 @@ namespace Tizen.Network.IoTConnectivity } s_platformInformationCallbacksMap[id] = (IntPtr platformInfoHandle, int result, IntPtr userData) => { - if (platformInfoHandle != IntPtr.Zero) + int requestId = (int)userData; + if (result == (int)IoTConnectivityError.None) { - int requestId = (int)userData; - if (result == 0) + if (platformInfoHandle != IntPtr.Zero) { PlatformInformationFoundEventArgs e = GetPlatformInformationFoundEventArgs(requestId, platformInfoHandle); if (e == null) @@ -422,13 +440,18 @@ namespace Tizen.Network.IoTConnectivity } else { - FindingErrorOccurredEventArgs e = GetFindingErrorOccurredEventArgs(requestId, result); - FindingErrorOccurred?.Invoke(null, e); + Log.Error(IoTConnectivityErrorFactory.LogTag, "Handle is null"); + return; + } + } + else + { + FindingErrorOccurredEventArgs e = GetFindingErrorOccurredEventArgs(requestId, result); + FindingErrorOccurred?.Invoke(null, e); - lock (s_platformInformationCallbacksMap) - { - s_platformInformationCallbacksMap.Remove(id); - } + lock (s_platformInformationCallbacksMap) + { + s_platformInformationCallbacksMap.Remove(id); } } }; diff --git a/src/Tizen.Network.IoTConnectivity/Tizen.Network.IoTConnectivity/IoTConnectivityErrorFactory.cs b/src/Tizen.Network.IoTConnectivity/Tizen.Network.IoTConnectivity/IoTConnectivityErrorFactory.cs index dc29628..f0dc3be 100755 --- a/src/Tizen.Network.IoTConnectivity/Tizen.Network.IoTConnectivity/IoTConnectivityErrorFactory.cs +++ b/src/Tizen.Network.IoTConnectivity/Tizen.Network.IoTConnectivity/IoTConnectivityErrorFactory.cs @@ -21,11 +21,11 @@ namespace Tizen.Network.IoTConnectivity NotSupported = ErrorCode.NotSupported, NoData = ErrorCode.NoData, TimedOut = ErrorCode.TimedOut, - // TODO: Fix IoTivity error mask - Representation = 0x10700000 | 0x01, - InvalidType = 0x10700000 | 0x02, - Already = 0x10700000 | 0x03, - System = 0x10700000 | 0x04, + Iotivity = -0x01C80000 | 0x01, + Representation = -0x01C80000 | 0x02, + InvalidType = -0x01C80000 | 0x03, + Already = -0x01C80000 | 0x04, + System = -0x01C80000 | 0x06, } internal static class IoTConnectivityErrorFactory diff --git a/src/Tizen.Network.IoTConnectivity/Tizen.Network.IoTConnectivity/LiteResource.cs b/src/Tizen.Network.IoTConnectivity/Tizen.Network.IoTConnectivity/LiteResource.cs index 53f20e9..d22ed2a 100755 --- a/src/Tizen.Network.IoTConnectivity/Tizen.Network.IoTConnectivity/LiteResource.cs +++ b/src/Tizen.Network.IoTConnectivity/Tizen.Network.IoTConnectivity/LiteResource.cs @@ -10,6 +10,9 @@ using System.Collections.Generic; namespace Tizen.Network.IoTConnectivity { + /// + /// Class represnets a lite resource. + /// public class LiteResource : Resource { /// @@ -35,7 +38,7 @@ namespace Tizen.Network.IoTConnectivity /// /// The new attributes of the lite resource /// true to accept post request, false to reject it - public virtual bool OnPost(Attributes attribs) + protected virtual bool OnPost(Attributes attribs) { return true; } @@ -44,7 +47,7 @@ namespace Tizen.Network.IoTConnectivity /// Called on the get event. /// /// Request. - public sealed override Response OnGet(Request request) + protected sealed override Response OnGet(Request request) { Representation representation = new Representation() { @@ -67,7 +70,7 @@ namespace Tizen.Network.IoTConnectivity /// Called on the put event. /// /// Request. - public sealed override Response OnPut(Request request) + protected sealed override Response OnPut(Request request) { Response response = new Response(); response.Result = ResponseCode.Forbidden; @@ -78,7 +81,7 @@ namespace Tizen.Network.IoTConnectivity /// Called on the post event. /// /// Request. - public sealed override Response OnPost(Request request) + protected sealed override Response OnPost(Request request) { if (OnPost(request.Representation.Attributes)) { @@ -109,7 +112,7 @@ namespace Tizen.Network.IoTConnectivity /// Called on the delete event. /// /// Request. - public sealed override Response OnDelete(Request request) + protected sealed override Response OnDelete(Request request) { Response response = new Response(); response.Result = ResponseCode.Forbidden; @@ -122,7 +125,7 @@ namespace Tizen.Network.IoTConnectivity /// Request. /// Observer type /// Observe identifier. - public sealed override bool OnObserving(Request request, ObserveType observeType, int observeId) + protected sealed override bool OnObserving(Request request, ObserveType observeType, int observeId) { return true; } diff --git a/src/Tizen.Network.IoTConnectivity/Tizen.Network.IoTConnectivity/ObserverNotifiedEventArgs.cs b/src/Tizen.Network.IoTConnectivity/Tizen.Network.IoTConnectivity/ObserverNotifiedEventArgs.cs index 46b1397..616912a 100755 --- a/src/Tizen.Network.IoTConnectivity/Tizen.Network.IoTConnectivity/ObserverNotifiedEventArgs.cs +++ b/src/Tizen.Network.IoTConnectivity/Tizen.Network.IoTConnectivity/ObserverNotifiedEventArgs.cs @@ -11,10 +11,12 @@ using System; namespace Tizen.Network.IoTConnectivity { /// - /// ObserverNotifiedEventArgs class. This class is an event arguments of the ObserverNotified event. + /// This class is an event arguments of the ObserverNotified event. /// public class ObserverNotifiedEventArgs : EventArgs { + internal ObserverNotifiedEventArgs() { } + /// /// Result property. /// diff --git a/src/Tizen.Network.IoTConnectivity/Tizen.Network.IoTConnectivity/PlatformInformationFoundEventArgs.cs b/src/Tizen.Network.IoTConnectivity/Tizen.Network.IoTConnectivity/PlatformInformationFoundEventArgs.cs index b085872..176c425 100755 --- a/src/Tizen.Network.IoTConnectivity/Tizen.Network.IoTConnectivity/PlatformInformationFoundEventArgs.cs +++ b/src/Tizen.Network.IoTConnectivity/Tizen.Network.IoTConnectivity/PlatformInformationFoundEventArgs.cs @@ -9,10 +9,12 @@ namespace Tizen.Network.IoTConnectivity { /// - /// PlatformInformationFoundEventArgs class. This class is an event arguments of the PlatformInformationFound event. + /// This class is an event arguments of the PlatformInformationFound event. /// public class PlatformInformationFoundEventArgs { + internal PlatformInformationFoundEventArgs() { } + /// /// The request id /// diff --git a/src/Tizen.Network.IoTConnectivity/Tizen.Network.IoTConnectivity/PresenceReceivedEventArgs.cs b/src/Tizen.Network.IoTConnectivity/Tizen.Network.IoTConnectivity/PresenceReceivedEventArgs.cs index 053b575..75b4c41 100755 --- a/src/Tizen.Network.IoTConnectivity/Tizen.Network.IoTConnectivity/PresenceReceivedEventArgs.cs +++ b/src/Tizen.Network.IoTConnectivity/Tizen.Network.IoTConnectivity/PresenceReceivedEventArgs.cs @@ -11,10 +11,12 @@ using System; namespace Tizen.Network.IoTConnectivity { /// - /// PresenceReceivedEventArgs class. This class is an event arguments of the PresenceReceived event. + /// This class is an event arguments of the PresenceReceived event. /// public class PresenceReceivedEventArgs : EventArgs { + internal PresenceReceivedEventArgs() { } + /// /// PresenceId property. /// diff --git a/src/Tizen.Network.IoTConnectivity/Tizen.Network.IoTConnectivity/RemoteResource.cs b/src/Tizen.Network.IoTConnectivity/Tizen.Network.IoTConnectivity/RemoteResource.cs index 1a44fe8..e7af5bf 100755 --- a/src/Tizen.Network.IoTConnectivity/Tizen.Network.IoTConnectivity/RemoteResource.cs +++ b/src/Tizen.Network.IoTConnectivity/Tizen.Network.IoTConnectivity/RemoteResource.cs @@ -15,7 +15,7 @@ using System.Threading.Tasks; namespace Tizen.Network.IoTConnectivity { /// - /// RemoteResource class + /// This class represents a remote resource. /// public class RemoteResource : IDisposable { @@ -374,8 +374,14 @@ namespace Tizen.Network.IoTConnectivity { _responseCallbacksMap.Remove(responseCallbackId); } - - if (responseHandle != IntPtr.Zero) + if (err == (int)(IoTConnectivityError.Iotivity)) + { + RemoteResponse response = new RemoteResponse(); + response.Result = ResponseCode.Forbidden; + response.Representation = null; + tcsRemoteResponse.TrySetResult(response); + } + else if (responseHandle != IntPtr.Zero) { try { @@ -392,7 +398,6 @@ namespace Tizen.Network.IoTConnectivity tcsRemoteResponse.TrySetException(IoTConnectivityErrorFactory.GetException((int)IoTConnectivityError.System)); } }; - IntPtr queryHandle = (query == null) ? IntPtr.Zero : query._resourceQueryHandle; int errCode = Interop.IoTConnectivity.Client.RemoteResource.Put(_remoteResourceHandle, representation._representationHandle, queryHandle, _responseCallbacksMap[id], id); if (errCode != (int)IoTConnectivityError.None) @@ -474,8 +479,14 @@ namespace Tizen.Network.IoTConnectivity { _responseCallbacksMap.Remove(responseCallbackId); } - - if (responseHandle != IntPtr.Zero) + if (err == (int)(IoTConnectivityError.Iotivity)) + { + RemoteResponse response = new RemoteResponse(); + response.Result = ResponseCode.Forbidden; + response.Representation = null; + tcsRemoteResponse.TrySetResult(response); + } + else if (responseHandle != IntPtr.Zero) { try { @@ -707,7 +718,7 @@ namespace Tizen.Network.IoTConnectivity Log.Error(IoTConnectivityErrorFactory.LogTag, "Failed to get device id"); throw IoTConnectivityErrorFactory.GetException(ret); } - IntPtr deviceName; + IntPtr deviceName; ret = Interop.IoTConnectivity.Client.RemoteResource.GetDeviceName(_remoteResourceHandle, out deviceName); if (ret != (int)IoTConnectivityError.None) { diff --git a/src/Tizen.Network.IoTConnectivity/Tizen.Network.IoTConnectivity/RemoteResponse.cs b/src/Tizen.Network.IoTConnectivity/Tizen.Network.IoTConnectivity/RemoteResponse.cs index 151ce0f..a17c30d 100755 --- a/src/Tizen.Network.IoTConnectivity/Tizen.Network.IoTConnectivity/RemoteResponse.cs +++ b/src/Tizen.Network.IoTConnectivity/Tizen.Network.IoTConnectivity/RemoteResponse.cs @@ -9,7 +9,7 @@ namespace Tizen.Network.IoTConnectivity { /// - /// RemoteResponse Class + /// This class represents remote response. /// public class RemoteResponse { diff --git a/src/Tizen.Network.IoTConnectivity/Tizen.Network.IoTConnectivity/Representation.cs b/src/Tizen.Network.IoTConnectivity/Tizen.Network.IoTConnectivity/Representation.cs index 444dea7..1a5af8a 100755 --- a/src/Tizen.Network.IoTConnectivity/Tizen.Network.IoTConnectivity/Representation.cs +++ b/src/Tizen.Network.IoTConnectivity/Tizen.Network.IoTConnectivity/Representation.cs @@ -14,7 +14,7 @@ using System.Runtime.InteropServices; namespace Tizen.Network.IoTConnectivity { /// - /// Class containing representation of a resource + /// Class containing representation of a resource. /// public class Representation : IDisposable { diff --git a/src/Tizen.Network.IoTConnectivity/Tizen.Network.IoTConnectivity/Request.cs b/src/Tizen.Network.IoTConnectivity/Tizen.Network.IoTConnectivity/Request.cs index eeefc63..929fb45 100755 --- a/src/Tizen.Network.IoTConnectivity/Tizen.Network.IoTConnectivity/Request.cs +++ b/src/Tizen.Network.IoTConnectivity/Tizen.Network.IoTConnectivity/Request.cs @@ -11,12 +11,16 @@ using System; namespace Tizen.Network.IoTConnectivity { /// - /// Class respresenting Request to a resource + /// Class respresenting request to a resource. /// public class Request : IDisposable { private bool _disposed = false; + internal Request() + { + } + ~Request() { Dispose(false); diff --git a/src/Tizen.Network.IoTConnectivity/Tizen.Network.IoTConnectivity/Resource.cs b/src/Tizen.Network.IoTConnectivity/Tizen.Network.IoTConnectivity/Resource.cs index af34202..8fef403 100755 --- a/src/Tizen.Network.IoTConnectivity/Tizen.Network.IoTConnectivity/Resource.cs +++ b/src/Tizen.Network.IoTConnectivity/Tizen.Network.IoTConnectivity/Resource.cs @@ -13,6 +13,9 @@ using System.Runtime.InteropServices; namespace Tizen.Network.IoTConnectivity { + /// + /// Abstract class respresenting a resource. + /// public abstract class Resource : IDisposable { private IntPtr _resourceHandle = IntPtr.Zero; @@ -27,7 +30,7 @@ namespace Tizen.Network.IoTConnectivity /// Resource types /// Resource interfaces /// Policy input of the resoruce - public Resource(string uri, ResourceTypes types, ResourceInterfaces interfaces, ResourcePolicy policy) + protected Resource(string uri, ResourceTypes types, ResourceInterfaces interfaces, ResourcePolicy policy) { UriPath = uri; Types = types; @@ -112,25 +115,25 @@ namespace Tizen.Network.IoTConnectivity /// Called on the get event. /// /// Request. - public abstract Response OnGet(Request request); + protected abstract Response OnGet(Request request); /// /// Called on the put event. /// /// Request. - public abstract Response OnPut(Request request); + protected abstract Response OnPut(Request request); /// /// Called on the post event. /// /// Request. - public abstract Response OnPost(Request request); + protected abstract Response OnPost(Request request); /// /// Called on the delete event. /// /// Request. - public abstract Response OnDelete(Request request); + protected abstract Response OnDelete(Request request); /// /// Called on the observing event. @@ -138,7 +141,7 @@ namespace Tizen.Network.IoTConnectivity /// Request. /// Policy. /// Observe identifier. - public abstract bool OnObserving(Request request, ObserveType type, int observeId); + protected abstract bool OnObserving(Request request, ObserveType type, int observeId); public void Dispose() { diff --git a/src/Tizen.Network.IoTConnectivity/Tizen.Network.IoTConnectivity/ResourceFoundEventArgs.cs b/src/Tizen.Network.IoTConnectivity/Tizen.Network.IoTConnectivity/ResourceFoundEventArgs.cs index 3e204d8..0d37588 100755 --- a/src/Tizen.Network.IoTConnectivity/Tizen.Network.IoTConnectivity/ResourceFoundEventArgs.cs +++ b/src/Tizen.Network.IoTConnectivity/Tizen.Network.IoTConnectivity/ResourceFoundEventArgs.cs @@ -11,10 +11,12 @@ using System; namespace Tizen.Network.IoTConnectivity { /// - /// ResourceFoundEventArgs class. This class is an event arguments of the ResourceFound event. + /// This class is an event arguments of the ResourceFound event. /// public class ResourceFoundEventArgs : EventArgs { + internal ResourceFoundEventArgs() { } + /// /// RequestId property. /// diff --git a/src/Tizen.Network.IoTConnectivity/Tizen.Network.IoTConnectivity/ResourceOptions.cs b/src/Tizen.Network.IoTConnectivity/Tizen.Network.IoTConnectivity/ResourceOptions.cs index fa481de..055f24d 100755 --- a/src/Tizen.Network.IoTConnectivity/Tizen.Network.IoTConnectivity/ResourceOptions.cs +++ b/src/Tizen.Network.IoTConnectivity/Tizen.Network.IoTConnectivity/ResourceOptions.cs @@ -15,7 +15,7 @@ using Tizen; namespace Tizen.Network.IoTConnectivity { /// - /// Class representing Resource options + /// This class represents resource options. /// public class ResourceOptions : IDictionary, IDisposable { diff --git a/src/Tizen.Network.IoTConnectivity/Tizen.Network.IoTConnectivity/ResourceQuery.cs b/src/Tizen.Network.IoTConnectivity/Tizen.Network.IoTConnectivity/ResourceQuery.cs index 1f0e5e1..10a872c 100755 --- a/src/Tizen.Network.IoTConnectivity/Tizen.Network.IoTConnectivity/ResourceQuery.cs +++ b/src/Tizen.Network.IoTConnectivity/Tizen.Network.IoTConnectivity/ResourceQuery.cs @@ -14,7 +14,7 @@ using System.Runtime.InteropServices; namespace Tizen.Network.IoTConnectivity { /// - /// Class to manage query of request + /// Class to manage query of request. /// public class ResourceQuery : IDictionary, IDisposable { diff --git a/src/Tizen.Network.IoTConnectivity/Tizen.Network.IoTConnectivity/Response.cs b/src/Tizen.Network.IoTConnectivity/Tizen.Network.IoTConnectivity/Response.cs index cf5a3dd..bab888e 100755 --- a/src/Tizen.Network.IoTConnectivity/Tizen.Network.IoTConnectivity/Response.cs +++ b/src/Tizen.Network.IoTConnectivity/Tizen.Network.IoTConnectivity/Response.cs @@ -11,7 +11,7 @@ using System; namespace Tizen.Network.IoTConnectivity { /// - /// Class representing Response from a resource + /// This class represents response from a resource. /// public class Response : IDisposable { diff --git a/src/Tizen.Network.IoTConnectivity/Tizen.Network.IoTConnectivity/StateChangedEventArgs.cs b/src/Tizen.Network.IoTConnectivity/Tizen.Network.IoTConnectivity/StateChangedEventArgs.cs index 1801353..db72864 100755 --- a/src/Tizen.Network.IoTConnectivity/Tizen.Network.IoTConnectivity/StateChangedEventArgs.cs +++ b/src/Tizen.Network.IoTConnectivity/Tizen.Network.IoTConnectivity/StateChangedEventArgs.cs @@ -11,10 +11,12 @@ using System; namespace Tizen.Network.IoTConnectivity { /// - /// StateChangedEventArgs class. This class is an event arguments of the StateChanged event. + /// This class is an event arguments of the StateChanged event. /// public class StateChangedEventArgs : EventArgs { + internal StateChangedEventArgs() { } + /// /// State property. /// -- 2.7.4