public static GhGpsElementMask GetMask(this GpsElementExt obj) { GhGpsElementMask ghGpsElementMask = ~(GhGpsElementMask.Coordinates | GhGpsElementMask.Altitude | GhGpsElementMask.Angle | GhGpsElementMask.Speed | GhGpsElementMask.Satellites | GhGpsElementMask.CellId | GhGpsElementMask.SignalQuality | GhGpsElementMask.OperatorCode); if (obj.GPS.X != 0 || obj.GPS.Y != 0) { ghGpsElementMask |= GhGpsElementMask.Coordinates; } if (obj.GPS.Altitude != 0) { ghGpsElementMask |= GhGpsElementMask.Altitude; } if (obj.GPS.Angle != 0) { ghGpsElementMask |= GhGpsElementMask.Angle; } if (obj.GPS.Speed != 0) { ghGpsElementMask |= GhGpsElementMask.Speed; } if (obj.GPS.Satellites != 3) { ghGpsElementMask |= GhGpsElementMask.Satellites; } IoProperty ioProperty = obj.IO[200]; if (!ioProperty.IsDefault) { ghGpsElementMask |= GhGpsElementMask.CellId; } ioProperty = obj.IO[201]; if (!ioProperty.IsDefault) { ghGpsElementMask |= GhGpsElementMask.SignalQuality; } ioProperty = obj.IO[202]; if (!ioProperty.IsDefault) { ghGpsElementMask |= GhGpsElementMask.OperatorCode; } return(ghGpsElementMask); }
public static bool HasFlag(this GhGpsElementMask mask, GhGpsElementMask flag) => (mask & flag) == flag;