Ejemplo n.º 1
0
        public static DeviceCapabilityResource Deserialise(Request request)
        {
            DeviceCapabilityResource result = null;
            string name = request.UriPaths.Last();

            if (!string.IsNullOrEmpty(name) && (request.ContentType == TlvConstant.CONTENT_TYPE_TLV))
            {
                result = new DeviceCapabilityResource(name);
                using (TlvReader reader = new TlvReader(request.Payload))
                {
                    result.Deserialise(reader);
                }
            }
            return(result);
        }
        protected override void DoPut(CoapExchange exchange)
        {
            DeviceCapabilityResource deviceCapabilityResource = DeviceCapabilityResource.Deserialise(exchange.Request);

            if (deviceCapabilityResource == null)
            {
                Response response = Response.CreateResponse(exchange.Request, StatusCode.BadRequest);
                exchange.Respond(response);
            }
            else
            {
                deviceCapabilityResource.Name = this.GetNextChildName();
                this.Add(deviceCapabilityResource);
                Response response = Response.CreateResponse(exchange.Request, StatusCode.Changed);
                exchange.Respond(response);
                OnChildCreated(deviceCapabilityResource);
            }
        }
        protected override void DoPost(CoapExchange exchange)
        {
            DeviceCapabilityResource deviceCapabilityResource = DeviceCapabilityResource.Deserialise(exchange.Request);

            if (deviceCapabilityResource == null)
            {
                Response response = Response.CreateResponse(exchange.Request, StatusCode.BadRequest);
                exchange.Respond(response);
            }
            else
            {
                deviceCapabilityResource.Name = this.GetNextChildName();
                this.Add(deviceCapabilityResource);
                Response response = Response.CreateResponse(exchange.Request, StatusCode.Created);
                response.AddOption(Option.Create(OptionType.LocationPath, string.Concat(deviceCapabilityResource.Path, deviceCapabilityResource.Name)));
                exchange.Respond(response);
                OnChildCreated(deviceCapabilityResource);
            }
        }
 public static DeviceCapabilityResource Deserialise(Request request)
 {
     DeviceCapabilityResource result = null;
     string name = request.UriPaths.Last();
     if (!string.IsNullOrEmpty(name) && (request.ContentType == TlvConstant.CONTENT_TYPE_TLV))
     {
         result = new DeviceCapabilityResource(name);
         using (TlvReader reader = new TlvReader(request.Payload))
         {
             result.Deserialise(reader);
         }
     }
     return result;
 }