aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Controller/Sync/ISyncManager.cs
blob: 63a5d8a7cf74bbac78776dd6ea688b0189677321 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
using MediaBrowser.Model.Querying;
using MediaBrowser.Model.Sync;
using System.Collections.Generic;
using System.Threading.Tasks;

namespace MediaBrowser.Controller.Sync
{
    public interface ISyncManager
    {
        /// <summary>
        /// Creates the job.
        /// </summary>
        /// <param name="request">The request.</param>
        /// <returns>Task.</returns>
        Task<List<SyncJob>> CreateJob(SyncJobRequest request);

        /// <summary>
        /// Creates the schedule.
        /// </summary>
        /// <param name="request">The request.</param>
        /// <returns>Task.</returns>
        Task<SyncSchedule> CreateSchedule(SyncScheduleRequest request);

        /// <summary>
        /// Gets the jobs.
        /// </summary>
        /// <returns>QueryResult&lt;SyncJob&gt;.</returns>
        QueryResult<SyncJob> GetJobs(SyncJobQuery query);

        /// <summary>
        /// Gets the schedules.
        /// </summary>
        /// <returns>QueryResult&lt;SyncSchedule&gt;.</returns>
        QueryResult<SyncSchedule> GetSchedules(SyncScheduleQuery query);

        /// <summary>
        /// Gets the job.
        /// </summary>
        /// <param name="id">The identifier.</param>
        /// <returns>SyncJob.</returns>
        SyncJob GetJob(string id);

        /// <summary>
        /// Gets the schedule.
        /// </summary>
        /// <param name="id">The identifier.</param>
        /// <returns>SyncSchedule.</returns>
        SyncSchedule GetSchedule(string id);
        
        /// <summary>
        /// Cancels the job.
        /// </summary>
        /// <param name="id">The identifier.</param>
        /// <returns>Task.</returns>
        Task CancelJob(string id);

        /// <summary>
        /// Cancels the schedule.
        /// </summary>
        /// <param name="id">The identifier.</param>
        /// <returns>Task.</returns>
        Task CancelSchedule(string id);
    }
}