Class Resource
Definition
- Namespace:
- Tizen.Network.IoTConnectivity
- Assembly:
- Tizen.Network.IoTConnectivity.dll
- API Level:
- 3
Abstract class respresenting a resource. All resources need to inherit from this class.
public abstract class Resource : IDisposable
- Inheritance
-
Resource
- Derived
- Implements
Constructors
View SourceResource(String, ResourceTypes, ResourceInterfaces, ResourcePolicy)
The constructor.
Declaration
protected Resource(string uri, ResourceTypes types, ResourceInterfaces interfaces, ResourcePolicy policy)
Parameters
Type | Name | Description |
---|---|---|
String | uri | The URI path of the resource. |
ResourceTypes | types | Resource types. |
ResourceInterfaces | interfaces | Resource interfaces. |
ResourcePolicy | policy | The policies of the resoruce. |
Remarks
uri
format would be relative URI path like '/a/light'
and its length must be less than 128.
Examples
// Create a class which inherits from Resource
public class DoorResource : Resource
{
public DoorResource(string uri, ResourceTypes types, ResourceInterfaces interfaces, ResourcePolicy policy)
: base(uri, types, interfaces, policy) {
}
protected override Response OnDelete(Request request) {
// Do something
}
protected override Response OnGet(Request request) {
// Do something
}
// Override other abstract methods of Resource class
}
// Use it like below
ResourceInterfaces ifaces = new ResourceInterfaces(new List<string>(){ ResourceInterfaces.DefaultInterface });
ResourceTypes types = new ResourceTypes(new List<string>(){ "oic.iot.door.new" });
Resource resource = new DoorResource("/door/uri1", types, ifaces, ResourcePolicy.Discoverable | ResourcePolicy.Observable);
Exceptions
Type | Condition |
---|---|
NotSupportedException | Thrown when the iotcon is not supported. |
OutOfMemoryException | Thrown when there is not enough memory. |
See Also
API Level: 3
Privilege Level: public
Privilege: http://tizen.org/privilege/internet
Feature: http://tizen.org/feature/iot.ocf
Precondition: IoTConnectivityServerManager.Initialize() should be called to initialize.
Properties
View SourceChildren
List of Child resources.
Declaration
public ICollection<Resource> Children { get; }
Property Value
Type | Description |
---|---|
ICollection<Resource> | List of Child resources. |
API Level: 3
View SourceInterfaces
Interface details of the resource.
Declaration
public ResourceInterfaces Interfaces { get; }
Property Value
Type | Description |
---|---|
ResourceInterfaces | Interface details of the resource. |
API Level: 3
View SourcePolicy
The policies of the resource.
Declaration
public ResourcePolicy Policy { get; }
Property Value
Type | Description |
---|---|
ResourcePolicy | The policies of the resource. |
API Level: 3
View SourceTypes
Type details of the resource.
Declaration
public ResourceTypes Types { get; }
Property Value
Type | Description |
---|---|
ResourceTypes | Type details of the resource. |
API Level: 3
View SourceUriPath
URI path of the resource.
Declaration
public string UriPath { get; }
Property Value
Type | Description |
---|---|
String | URI path of the resource. |
API Level: 3
Methods
View SourceDispose()
Releases any unmanaged resources used by this object.
Declaration
public void Dispose()
API Level: 3
Feature: http://tizen.org/feature/iot.ocf
View SourceDispose(Boolean)
Releases any unmanaged resources used by this object. Can also dispose any other disposable objects.
Declaration
protected virtual void Dispose(bool disposing)
Parameters
Type | Name | Description |
---|---|---|
Boolean | disposing | If true, disposes any disposable objects. If false, does not dispose disposable objects. |
API Level: 3
Feature: http://tizen.org/feature/iot.ocf
View SourceFinalize()
Destructor of the Resource class.
Declaration
protected void Finalize()
Notify(Representation, QualityOfService)
Notify the specified representation and qos.
Declaration
public void Notify(Representation representation, QualityOfService qos)
Parameters
Type | Name | Description |
---|---|---|
Representation | representation | Representation. |
QualityOfService | qos | The quality of service for message transfer. |
Examples
ResourceInterfaces ifaces = new ResourceInterfaces(new List<string>(){ ResourceInterfaces.DefaultInterface });
ResourceTypes types = new ResourceTypes(new List<string>(){ "oic.iot.door.new.notify" });
Resource resource = new DoorResource("/door/uri/new/notify", types, ifaces, ResourcePolicy.Discoverable | ResourcePolicy.Observable);
IoTConnectivityServerManager.RegisterResource(resource);
Representation repr = new Representation();
repr.UriPath = "/door/uri/new/notify";
repr.Type = new ResourceTypes(new List<string>(){ "oic.iot.door.new.notify" });
repr.Attributes = new Attributes() {
_attribute, 1 }
};
resource.Notify(repr, QualityOfService.High);
Exceptions
Type | Condition |
---|---|
NotSupportedException | Thrown when the iotcon is not supported. |
UnauthorizedAccessException | Thrown when an application does not have privilege to access. |
InvalidOperationException | Thrown when the operation is invalid. |
See Also
API Level: 3
Privilege Level: public
Privilege: http://tizen.org/privilege/internet
Feature: http://tizen.org/feature/iot.ocf
Precondition: IoTConnectivityServerManager.Initialize() should be called to initialize.
View SourceOnDelete(Request)
This is called when the client performs delete operation on this resource.
Declaration
protected abstract Response OnDelete(Request request)
Parameters
Type | Name | Description |
---|---|---|
Request | request | A request from client. |
Returns
Type | Description |
---|---|
Response | A response. |
API Level: 3
View SourceOnGet(Request)
This is called when the client performs get operation on this resource.
Declaration
protected abstract Response OnGet(Request request)
Parameters
Type | Name | Description |
---|---|---|
Request | request | A request from client. |
Returns
Type | Description |
---|---|
Response | A response having the representation and the result. |
API Level: 3
View SourceOnObserving(Request, ObserveType, Int32)
Called on the observing event.
Declaration
protected abstract bool OnObserving(Request request, ObserveType type, int observeId)
Parameters
Type | Name | Description |
---|---|---|
Request | request | A request from client. |
ObserveType | type | Observer type. |
Int32 | observeId | Observe identifier. |
Returns
Type | Description |
---|---|
Boolean | Returns true if it wants to be observed, else false. |
API Level: 3
View SourceOnPost(Request)
This is called when the client performs post operation on this resource.
Declaration
protected abstract Response OnPost(Request request)
Parameters
Type | Name | Description |
---|---|---|
Request | request | A request from client. |
Returns
Type | Description |
---|---|
Response | A response having the representation and the result. |
API Level: 3
View SourceOnPut(Request)
This is called when the client performs put operation on this resource.
Declaration
protected abstract Response OnPut(Request request)
Parameters
Type | Name | Description |
---|---|---|
Request | request | A request from client. |
Returns
Type | Description |
---|---|
Response | A response. |