using System.Collections.Generic; namespace NucuCar.Telemetry.Abstractions { /// /// Interface that specifies that the component implementing it is willing to provide telemetry data and can be /// registered to a publisher such as . /// public interface ITelemeter { /// /// This function should return an identifier that identifies the component providing the telemetry data. /// /// An identifier for the telemetry source. string GetIdentifier(); // TODO: Perhaps here it's better if we return a string or a json object from Newtonsoft. /// /// This function should return a dictionary containing the telemetry data. /// When implementing this function you should return null if the telemetry is disabled. /// See: /// /// The telemetry data. It should be JSON serializable. Dictionary GetTelemetryJson(); /// /// This function should return whether the sensor has telemetry enabled or not. /// A value of true indicates that the sensor has enabled telemetry, and a value of false indicates /// that telemetry is not enabled. /// /// A boolean indicating if the sensor has enabled telemetry. bool IsTelemetryEnabled(); } }