public static NotificationParameters Deserialise(Stream stream)
 {
     NotificationParameters result = new NotificationParameters();
     result.MinimumPeriod = IPCHelper.ReadInt32Nullable(stream);
     result.MaximumPeriod = IPCHelper.ReadInt32Nullable(stream);
     result.GreaterThan = IPCHelper.ReadDoubleNullable(stream);
     result.LessThan = IPCHelper.ReadDoubleNullable(stream);
     result.Step = IPCHelper.ReadDoubleNullable(stream);
     return result;
 }
        public static NotificationParameters Deserialise(Stream stream)
        {
            NotificationParameters result = new NotificationParameters();

            result.MinimumPeriod = IPCHelper.ReadInt32Nullable(stream);
            result.MaximumPeriod = IPCHelper.ReadInt32Nullable(stream);
            result.GreaterThan   = IPCHelper.ReadDoubleNullable(stream);
            result.LessThan      = IPCHelper.ReadDoubleNullable(stream);
            result.Step          = IPCHelper.ReadDoubleNullable(stream);
            return(result);
        }
Exemple #3
0
 public bool SetNotificationParameters(Guid clientID, Guid objectDefinitionID, string instanceID, Guid propertyDefinitionID, NotificationParameters notificationParameters)
 {
     bool result = false;
     try
     {
         LWM2MClient client = BusinessLogicFactory.Clients.GetClient(clientID);
         if (client != null)
         {
             ObjectDefinitionLookups lookups = BusinessLogicFactory.Clients.GetLookups();
             ObjectDefinition objectDefinition = lookups.GetObjectDefinition(objectDefinitionID);
             if (objectDefinition != null)
             {
                 int objectID;
                 if (int.TryParse(objectDefinition.ObjectID, out objectID))
                 {
                     Model.ObjectType objectType = client.SupportedTypes.GetObjectType(objectID);
                     if (objectType != null)
                     {
                         PropertyDefinition propertyDefinition = objectDefinition.GetProperty(propertyDefinitionID);
                         if (propertyDefinition != null)
                         {
                             Request request = client.NewPutRequest(objectType, instanceID, propertyDefinition.PropertyID, -1, null);
                             if (notificationParameters.MinimumPeriod.HasValue)
                                 request.AddUriQuery(string.Concat("pmin=",notificationParameters.MinimumPeriod.Value.ToString()));
                             if (notificationParameters.MaximumPeriod.HasValue)
                                 request.AddUriQuery(string.Concat("pmax=", notificationParameters.MaximumPeriod.Value.ToString()));
                             if (notificationParameters.GreaterThan.HasValue)
                                 request.AddUriQuery(string.Concat("gt=", notificationParameters.GreaterThan.Value.ToString("0.0")));
                             if (notificationParameters.LessThan.HasValue)
                                 request.AddUriQuery(string.Concat("lt=", notificationParameters.LessThan.Value.ToString("0.0")));
                             if (notificationParameters.Step.HasValue)
                                 request.AddUriQuery(string.Concat("stp=", notificationParameters.Step.Value.ToString("0.0")));
                             Response response = client.SendRequest(request).WaitForResponse(LWM2MClient.REQUEST_TIMEOUT);
                             if (response == null)
                             {
                                 throw new TimeoutException();
                             }
                             else
                             {
                                 if (response.StatusCode == StatusCode.Changed)
                                 {
                                     result = true;
                                 }
                             }
                         }
                     }
                 }
             }
         }
     }
     catch (Exception ex)
     {
         ApplicationEventLog.WriteEntry("Flow", ex.ToString(), System.Diagnostics.EventLogEntryType.Error);
     }
     return result;
 }
 public bool SetNotificationParameters(Client client, Guid objectDefinitionID, string instanceID, Guid propertyDefinitionID, NotificationParameters notificationParameters)
 {
     bool setNotificationParameters = false;
     Service.ILWM2MServerService service = GetService(client.Server);
     lock (service)
     {
         setNotificationParameters = service.SetNotificationParameters(client.ClientID, objectDefinitionID, instanceID, propertyDefinitionID, notificationParameters);
     }
     return setNotificationParameters;
 }
 public bool SetNotificationParameters(Guid clientID, Guid objectDefinitionID, string instanceID, Guid propertyMetadataID, NotificationParameters notificationParameters)
 {
     bool result = false;
     IPCRequest request = new IPCRequest();
     request.Method = "SetNotificationParameters";
     request.AddToPayload(clientID);
     request.AddToPayload(objectDefinitionID);
     request.AddToPayload(instanceID);
     request.AddToPayload(propertyMetadataID);
     notificationParameters.Serialise(request.Payload);
     SendRequest(request);
     if (_ResponseBytes.Length > 0)
     {
         result = _ResponseBytes[0] != 0x00;
     }
     return result;
 }