mirror of
https://dev.azure.com/TeilRad/sharee.bike%20App/_git/Code
synced 2025-04-20 12:06:29 +02:00
Initial version.
This commit is contained in:
commit
6bab491a21
40 changed files with 1812 additions and 0 deletions
58
LockItShared/Services/BluetoothLock/ILocksService.cs
Normal file
58
LockItShared/Services/BluetoothLock/ILocksService.cs
Normal file
|
@ -0,0 +1,58 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Threading.Tasks;
|
||||
using TINK.Model.Bike.BluetoothLock;
|
||||
using TINK.Services.BluetoothLock.Tdo;
|
||||
|
||||
namespace TINK.Services.BluetoothLock
|
||||
{
|
||||
public interface ILocksService
|
||||
{
|
||||
/// <summary> Holds timeout values for series of connecting attemps to a lock or multiple locks. </summary>
|
||||
ITimeOutProvider TimeOut { get; set; }
|
||||
|
||||
/// <summary> Gets lock info for all lock in reach./// </summary>
|
||||
/// <param name="connectTimeout">Timeout for connect operation of a single lock.</param>
|
||||
Task<IEnumerable<LockInfoTdo>> GetLocksStateAsync(
|
||||
IEnumerable<LockInfoAuthTdo> locksInfo,
|
||||
TimeSpan connectTimeout);
|
||||
|
||||
/// <summary> Connects to lock.</summary>
|
||||
/// <param name="authInfo"> Info required to connect to lock.</param>
|
||||
/// <param name="connectTimeout">Timeout for connect operation.</param>
|
||||
Task<LockInfoTdo> ConnectAsync(
|
||||
LockInfoAuthTdo authInfo,
|
||||
TimeSpan connectTimeout);
|
||||
|
||||
/// <summary>Gets a lock by bike Id.</summary>
|
||||
/// <param name="bikeId"></param>
|
||||
/// <returns>Lock object</returns>
|
||||
ILockService this[int bikeId] { get; }
|
||||
|
||||
/// <summary> Disconnects lock.</summary>
|
||||
/// <param name="bikeId"> Id of lock to disconnect.</param>
|
||||
/// <param name="bikeGuid"> Guid of lock to disconnect.</param>
|
||||
/// <returns> State disconnected it lock is already disconneced or after successfully disconnecting.</returns>
|
||||
Task<LockingState> DisconnectAsync(int bikeId, Guid bikeGuid);
|
||||
}
|
||||
|
||||
/// <summary> Sound types. </summary>
|
||||
/// <remarks>
|
||||
/// 1. Locking process started: One long beep.
|
||||
/// 2. Unlocking successful: One short beep.
|
||||
/// 3. Bike moved while trying to lock: Three short beeps.
|
||||
/// 4. Locking bolt blocked while locking: Three short beeps.
|
||||
/// 5. Unable to unlock because locking bolt is blocked: Three short beeps.
|
||||
/// </remarks>
|
||||
public enum SoundSettings
|
||||
{
|
||||
AllButOpenedSuccessfully, // Sounds: 1, 3, 4, 5
|
||||
MovingBlocked = 1, // Sounds: 3, 4, 5
|
||||
LockingStarted = 2, // Sounds: 1
|
||||
AllOff = 3, // Mute
|
||||
OpenedSuccessfully = 4, // Sounds: 2
|
||||
LockingStartedOpenedSuccessfully = 5, // Sounds: 1, 2
|
||||
AllOn = 6, // All sounds on
|
||||
AllButLockingStarted = 7, // Sounds: 2, 3, 4, 5
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue