// ----------------------------------------------------------------------- // // TODO: Update copyright text. // // ----------------------------------------------------------------------- namespace SharedObjects { using System; using System.Collections.Generic; using System.Linq; using System.Threading; using SharedObjects; using SharedObjects.Protocol; /// /// Common parts for the SessionLayer. /// public abstract class AbstractSessionLayer : ISessionLayerToPresentation, ISessionLayer { /// /// Set the simulation engine. /// /// Simulation engine instance. public abstract void setSimEngine(ISimEngine iSimEngine); /// /// Clean up. /// public abstract void Dispose(); /// /// Add presentation layer instance. /// /// Presentation layer to add public abstract void addPresentationLayer(IPresentationLayerToSession iPresentationLayer); /// /// Remove presentation layer instance. /// /// Presentation layer to remove. public abstract void removePresentationLayer(IPresentationLayerToSession iPresentationLayer); /// /// Send data on CAN. /// /// Target address. /// Payload data. /// Payload data length. public abstract void sendData(uint outAddress, IList response, uint dataLen); /// /// Receive one data packet. /// /// Address value. /// Payload data. /// Flags value. /// RES1 Value. /// RES2 Value. public abstract void receiveData(uint id, byte[] data0, ushort flags, ulong res1, ulong res2); /// /// Set CAN bus communicator instance. /// /// CAN bus communicator instance. public abstract void setObdCommunicator(IObdCommunicator iObdCommunicator); } }