2022-09-20 13:51:55 +02:00
|
|
|
using System;
|
2023-04-05 15:02:10 +02:00
|
|
|
using TINK.Services.Geolocation;
|
2021-05-13 20:03:07 +02:00
|
|
|
|
2022-08-30 15:42:25 +02:00
|
|
|
namespace TINK.Model.Bikes.BikeInfoNS.BluetoothLock
|
2021-05-13 20:03:07 +02:00
|
|
|
{
|
2022-09-06 16:08:19 +02:00
|
|
|
public interface ILockInfoMutable
|
|
|
|
{
|
|
|
|
/// <summary> Identification number of bluetooth lock.</summary>
|
|
|
|
int Id { get; }
|
2021-05-13 20:03:07 +02:00
|
|
|
|
2022-09-06 16:08:19 +02:00
|
|
|
/// <summary> Gets the user key.</summary>
|
|
|
|
byte[] UserKey { get; }
|
2021-05-13 20:03:07 +02:00
|
|
|
|
2022-09-06 16:08:19 +02:00
|
|
|
LockingState State { get; set; }
|
2021-05-13 20:03:07 +02:00
|
|
|
|
2022-09-06 16:08:19 +02:00
|
|
|
/// <summary> Holds the percentage of lock battery.</summary>
|
|
|
|
double BatteryPercentage { get; set; }
|
2021-05-13 20:03:07 +02:00
|
|
|
|
2022-09-06 16:08:19 +02:00
|
|
|
/// <summary> Changes during runtime: Can be unknown when set from copri and chang to a valid value when set from lock.</summary>
|
|
|
|
Guid Guid { get; set; }
|
2021-05-13 20:03:07 +02:00
|
|
|
|
2022-09-06 16:08:19 +02:00
|
|
|
byte[] Seed { get; }
|
2022-09-20 13:51:55 +02:00
|
|
|
|
2023-04-05 15:02:10 +02:00
|
|
|
/// <summary> Timestamp of the last locking state change.</summary>
|
|
|
|
DateTime? LastLockingStateChange { get; }
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// Gets or sets the current location of the bike, null if location is unknown.
|
|
|
|
/// </summary>
|
|
|
|
IGeolocation Location { get; set; }
|
|
|
|
|
2022-09-20 13:51:55 +02:00
|
|
|
/// <summary>
|
|
|
|
/// Gets the version info of the locks.
|
|
|
|
/// </summary>
|
|
|
|
IVersionInfo VersionInfo { get; set; }
|
2022-09-06 16:08:19 +02:00
|
|
|
}
|
2021-05-13 20:03:07 +02:00
|
|
|
}
|