Esempio n. 1
0
        public void SetDataFormat(TDataFormat dataFormat)
        {
            switch (dataFormat)
            {
            case TDataFormat.NotSet:
                break;

            case TDataFormat.PlainText:
                LWM2MClient.DataFormat = MediaType.TextPlain;
                //LWM2MClient.DataFormat = TlvConstant.CONTENT_TYPE_PLAIN;
                break;

            case TDataFormat.TLV:
                LWM2MClient.DataFormat = TlvConstant.CONTENT_TYPE_TLV;
                break;

            case TDataFormat.JSON:
                //LWM2MClient.DataFormat = MediaType.ApplicationJson;
                LWM2MClient.DataFormat = TlvConstant.CONTENT_TYPE_JSON;
                break;

            default:
                break;
            }
        }
Esempio n. 2
0
        public void SetDataFormat(TDataFormat dataFormat)
        {
            IPCRequest request = new IPCRequest();

            request.Method = "SetDataFormat";
            request.AddToPayload((int)dataFormat);
            SendRequest(request);
        }
Esempio n. 3
0
 private void ProcessRequest(Socket client, IPCRequest request)
 {
     byte[] response = new byte[4];
     try
     {
         if (string.Compare(request.Method, "CancelObserveObject", true) == 0)
         {
             Guid   clientID           = request.ReadGuid();
             Guid   objectDefinitionID = request.ReadGuid();
             string instanceID         = request.ReadString();
             bool   useReset           = request.ReadBoolean();
             _ServerAPI.CancelObserveObject(clientID, objectDefinitionID, instanceID, useReset);
         }
         else if (string.Compare(request.Method, "CancelObserveObjectProperty", true) == 0)
         {
             Guid   clientID             = request.ReadGuid();
             Guid   objectDefinitionID   = request.ReadGuid();
             string instanceID           = request.ReadString();
             Guid   propertyDefinitionID = request.ReadGuid();
             bool   useReset             = request.ReadBoolean();
             _ServerAPI.CancelObserveObjectProperty(clientID, objectDefinitionID, instanceID, propertyDefinitionID, useReset);
         }
         else if (string.Compare(request.Method, "CancelObserveObjects", true) == 0)
         {
             Guid clientID           = request.ReadGuid();
             Guid objectDefinitionID = request.ReadGuid();
             bool useReset           = request.ReadBoolean();
             _ServerAPI.CancelObserveObjects(clientID, objectDefinitionID, useReset);
         }
         else if (string.Compare(request.Method, "DeleteClient", true) == 0)
         {
             Guid clientID = request.ReadGuid();
             _ServerAPI.DeleteClient(clientID);
         }
         else if (string.Compare(request.Method, "ExecuteResource", true) == 0)
         {
             Guid         clientID             = request.ReadGuid();
             Guid         objectDefinitionID   = request.ReadGuid();
             string       instanceID           = request.ReadString();
             Guid         propertyDefinitionID = request.ReadGuid();
             bool         success = _ServerAPI.ExecuteResource(clientID, objectDefinitionID, instanceID, propertyDefinitionID);
             MemoryStream data    = new MemoryStream(4096);
             data.Position = 4;
             IPCHelper.Write(data, success);
             data.Position = 0;
             NetworkByteOrderConverter.WriteInt32(data, (int)data.Length - 4);
             response = data.ToArray();
         }
         if (string.Compare(request.Method, "GetClients", true) == 0)
         {
             List <Client> clients = _ServerAPI.GetClients();
             if (clients != null)
             {
                 MemoryStream data = new MemoryStream(4096);
                 data.Position = 4;
                 IPCHelper.Write(data, clients.Count);
                 foreach (Client item in clients)
                 {
                     item.Serialise(data);
                 }
                 data.Position = 0;
                 NetworkByteOrderConverter.WriteInt32(data, (int)data.Length - 4);
                 response = data.ToArray();
             }
         }
         else if (string.Compare(request.Method, "GetDeviceConnectedStatus", true) == 0)
         {
             Guid clientID = request.ReadGuid();
             DeviceConnectedStatus responseObject = _ServerAPI.GetDeviceConnectedStatus(clientID);
             if (responseObject != null)
             {
                 MemoryStream data = new MemoryStream(4096);
                 data.Position = 4;
                 responseObject.Serialise(data);
                 data.Position = 0;
                 NetworkByteOrderConverter.WriteInt32(data, (int)data.Length - 4);
                 response = data.ToArray();
             }
         }
         else if (string.Compare(request.Method, "GetObject", true) == 0)
         {
             Guid         clientID           = request.ReadGuid();
             Guid         objectDefinitionID = request.ReadGuid();
             string       instanceID         = request.ReadString();
             Model.Object responseObject     = _ServerAPI.GetObject(clientID, objectDefinitionID, instanceID);
             if (responseObject != null)
             {
                 MemoryStream data = new MemoryStream(4096);
                 data.Position = 4;
                 responseObject.Serialise(data);
                 data.Position = 0;
                 NetworkByteOrderConverter.WriteInt32(data, (int)data.Length - 4);
                 response = data.ToArray();
             }
         }
         else if (string.Compare(request.Method, "GetObjectProperty", true) == 0)
         {
             Guid     clientID             = request.ReadGuid();
             Guid     objectDefinitionID   = request.ReadGuid();
             string   instanceID           = request.ReadString();
             Guid     propertyDefinitionID = request.ReadGuid();
             Property responseProperty     = _ServerAPI.GetObjectProperty(clientID, objectDefinitionID, instanceID, propertyDefinitionID);
             if (responseProperty != null)
             {
                 MemoryStream data = new MemoryStream(4096);
                 data.Position = 4;
                 responseProperty.Serialise(data);
                 data.Position = 0;
                 NetworkByteOrderConverter.WriteInt32(data, (int)data.Length - 4);
                 response = data.ToArray();
             }
         }
         else if (string.Compare(request.Method, "GetObjects", true) == 0)
         {
             Guid clientID                       = request.ReadGuid();
             Guid objectDefinitionID             = request.ReadGuid();
             List <Model.Object> responseObjects = _ServerAPI.GetObjects(clientID, objectDefinitionID);
             if (responseObjects != null)
             {
                 MemoryStream data = new MemoryStream(4096);
                 data.Position = 4;
                 foreach (Model.Object responseObject in responseObjects)
                 {
                     responseObject.Serialise(data);
                 }
                 data.Position = 0;
                 NetworkByteOrderConverter.WriteInt32(data, (int)data.Length - 4);
                 response = data.ToArray();
             }
         }
         else if (string.Compare(request.Method, "ObserveObject", true) == 0)
         {
             Guid   clientID           = request.ReadGuid();
             Guid   objectDefinitionID = request.ReadGuid();
             string instanceID         = request.ReadString();
             _ServerAPI.ObserveObject(clientID, objectDefinitionID, instanceID);
         }
         else if (string.Compare(request.Method, "ObserveObjectProperty", true) == 0)
         {
             Guid   clientID             = request.ReadGuid();
             Guid   objectDefinitionID   = request.ReadGuid();
             string instanceID           = request.ReadString();
             Guid   propertyDefinitionID = request.ReadGuid();
             _ServerAPI.ObserveObjectProperty(clientID, objectDefinitionID, instanceID, propertyDefinitionID);
         }
         else if (string.Compare(request.Method, "ObserveObjects", true) == 0)
         {
             Guid clientID           = request.ReadGuid();
             Guid objectDefinitionID = request.ReadGuid();
             _ServerAPI.ObserveObjects(clientID, objectDefinitionID);
         }
         else if (string.Compare(request.Method, "SaveObject", true) == 0)
         {
             Guid         clientID   = request.ReadGuid();
             Model.Object item       = Model.Object.Deserialise(request.Payload);
             TObjectState state      = (TObjectState)request.ReadInt32();
             string       responseID = _ServerAPI.SaveObject(clientID, item, state);
             if (responseID != null)
             {
                 MemoryStream data   = new MemoryStream(4096);
                 byte[]       buffer = Encoding.UTF8.GetBytes(responseID);
                 NetworkByteOrderConverter.WriteInt32(data, (int)(buffer.Length + 4));
                 NetworkByteOrderConverter.WriteInt32(data, buffer.Length);
                 data.Write(buffer, 0, buffer.Length);
                 response = data.ToArray();
             }
         }
         else if (string.Compare(request.Method, "SaveObjectProperty", true) == 0)
         {
             Guid         clientID           = request.ReadGuid();
             Guid         objectDefinitionID = request.ReadGuid();
             string       instanceID         = request.ReadString();
             Property     property           = Property.Deserialise(request.Payload);
             TObjectState state = (TObjectState)request.ReadInt32();
             _ServerAPI.SaveObjectProperty(clientID, objectDefinitionID, instanceID, property, state);
         }
         else if (string.Compare(request.Method, "SetDataFormat", true) == 0)
         {
             TDataFormat dataFormat = (TDataFormat)request.ReadInt32();
             _ServerAPI.SetDataFormat(dataFormat);
         }
         else if (string.Compare(request.Method, "SetNotificationParameters", true) == 0)
         {
             Guid   clientID             = request.ReadGuid();
             Guid   objectDefinitionID   = request.ReadGuid();
             string instanceID           = request.ReadString();
             Guid   propertyDefinitionID = request.ReadGuid();
             NotificationParameters notificationParameters = NotificationParameters.Deserialise(request.Payload);
             bool         success = _ServerAPI.SetNotificationParameters(clientID, objectDefinitionID, instanceID, propertyDefinitionID, notificationParameters);
             MemoryStream data    = new MemoryStream(4096);
             data.Position = 4;
             IPCHelper.Write(data, success);
             data.Position = 0;
             NetworkByteOrderConverter.WriteInt32(data, (int)data.Length - 4);
             response = data.ToArray();
         }
     }
     catch (Exception ex)
     {
         MemoryStream data = new MemoryStream(4096);
         data.Position = 4;
         IPCHelper.Write(data, ex.GetType().AssemblyQualifiedName);
         IPCHelper.Write(data, ex.Message);
         data.Position = 0;
         NetworkByteOrderConverter.WriteInt32(data, -((int)data.Length - 4));
         response = data.ToArray();
     }
     client.Send(response, SocketFlags.None);
 }
Esempio n. 4
0
 public void SetDataFormat(TDataFormat dataFormat)
 {
     switch (dataFormat)
     {
         case TDataFormat.NotSet:
             break;
         case TDataFormat.PlainText:
             LWM2MClient.DataFormat = MediaType.TextPlain;
             //LWM2MClient.DataFormat = TlvConstant.CONTENT_TYPE_PLAIN;
             break;
         case TDataFormat.TLV:
             LWM2MClient.DataFormat = TlvConstant.CONTENT_TYPE_TLV;
             break;
         case TDataFormat.JSON:
             //LWM2MClient.DataFormat = MediaType.ApplicationJson;
             LWM2MClient.DataFormat = TlvConstant.CONTENT_TYPE_JSON;
             break;
         default:
             break;
     }
 }
Esempio n. 5
0
 public void SetDataFormat(TDataFormat dataFormat)
 {
     IPCRequest request = new IPCRequest();
     request.Method = "SetDataFormat";
     request.AddToPayload((int)dataFormat);
     SendRequest(request);
 }