//----------------------------------------------------------------------- // // Copyright © 2012 Nils Hammar. All rights reserved. // //----------------------------------------------------------------------- /* * Software to access vehicle information via the OBD-II connector. * * Copyright © 2012 Nils Hammar * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Alternative licensing is possible, see the licensing document. * * The above text may not be removed or modified. */ namespace SharedObjects.Protocol.OBD { using global::SharedObjects.Misc; /// /// Mode parser interface instance. /// public interface IModeParser { /// /// Close the service. /// void close(); /// /// Set up a dictionary of the known Mode/PID combinations. /// Notice that the list we use is the list that is filtered depending on preferred units. (Metric or Imperial) /// void configureModePidDictionary(); /// /// Gets Current PID parser instance. /// IPidParser pidParser { get; } /// /// Receive data to be parsed and presented. /// /// Data to be presented. /// Source address of message. /// Detected protocol by ELM/AGV adapter. void receiveMessageData(byte[] payload, uint srcAddress, uint detectedProtocol); /// /// Register a panel able to receive data. /// /// Panel to register. void registerPanel(IDataPanel panel); /// /// Set the pending requests that can be performed after the current request has had an answer. /// /// List of pending requests. void setPendingRequests(System.Collections.Generic.IList pendingModeRequests); /// /// Remove registered panel. /// /// Panel to unregister. void unregisterPanel(IDataPanel panel); } }