public void Serialise(System.IO.Stream stream) { IPCHelper.Write(stream, PropertyDefinitionID); IPCHelper.Write(stream, PropertyID); if (Value == null) { IPCHelper.Write(stream, (byte)0); } else { IPCHelper.Write(stream, (byte)1); IPCHelper.Write(stream, Value.Value); } if (Values == null) { IPCHelper.Write(stream, (int)-1); } else { IPCHelper.Write(stream, Values.Count); foreach (PropertyValue itemValue in Values) { IPCHelper.Write(stream, itemValue.PropertyValueID); IPCHelper.Write(stream, itemValue.Value); } } }
public void Serialise(Stream stream) { IPCHelper.Write(stream, _ObjectTypeList.Count); foreach (ObjectType item in _ObjectTypeList) { item.Serialise(stream); } }
public void Serialise(Stream stream) { IPCHelper.Write(stream, MinimumPeriod); IPCHelper.Write(stream, MaximumPeriod); IPCHelper.Write(stream, GreaterThan); IPCHelper.Write(stream, LessThan); IPCHelper.Write(stream, Step); stream.Flush(); }
public void Serialise(Stream stream) { IPCHelper.Write(stream, Path); IPCHelper.Write(stream, ObjectTypeID); IPCHelper.Write(stream, Instances.Count); foreach (int item in Instances) { IPCHelper.Write(stream, item); } }
public void Serialise(Stream stream) { IPCHelper.Write(stream, ObjectDefinitionID); IPCHelper.Write(stream, ObjectID); IPCHelper.Write(stream, InstanceID); IPCHelper.Write(stream, Properties.Count); foreach (Property item in Properties) { item.Serialise(stream); } stream.Flush(); }
public void Serialise(Stream stream) { IPCHelper.Write(stream, ClientID); IPCHelper.Write(stream, Name); IPCHelper.Write(stream, Lifetime); IPCHelper.Write(stream, Version.ToString()); IPCHelper.Write(stream, BindingMode.ToString()); IPCHelper.Write(stream, SMSNumber); if (SupportedTypes == null) { IPCHelper.Write(stream, (int)-1); } else { SupportedTypes.Serialise(stream); } stream.Flush(); }
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); }
public void Serialise(Stream stream) { IPCHelper.Write(stream, Online); IPCHelper.Write(stream, LastActivityTime); stream.Flush(); }
public void AddToPayload(string value) { IPCHelper.Write(_Payload, value); }
public void AddToPayload(int value) { IPCHelper.Write(_Payload, value); }