-
1
-
2
-
3
-
4
-
5
-
6
-
7
-
8
-
9
-
10
-
11
-
12
-
13
-
14
-
15
-
16
-
17
-
18
-
19
// Copyright 2025 Shota FUJI
//
// This Source Code Form is subject to the terms of the Mozilla Public
// License, v. 2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at https://mozilla.org/MPL/2.0/.
//
// SPDX-License-Identifier: MPL-2.0
using GLib;
namespace TimeTracker.Storage {
public interface Storage : Object {
// This method is sync because handling async initial load is
// not simple task (pending state, error handling ,etc.)
public abstract Event.Event[] load() throws Error;
public abstract async void save(Event.Event event) throws Error;
}
}