-
Notifications
You must be signed in to change notification settings - Fork 0
/
ITaskCollection.cs
72 lines (61 loc) · 2.21 KB
/
ITaskCollection.cs
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
65
66
67
68
69
70
71
72
using System.Collections;
namespace KRIS.SDK.AsyncQueue
{
/// <summary>
/// Интерфейс коллекции задач
/// </summary>
public interface ITaskCollection : IList, ICollection, IEnumerable
{
/// <summary>
/// Коллекция задач
/// </summary>
AsyncTaskInfo[] Tasks { get; }
/// <summary>
/// Флаг удаления задачи при успешном завершении
/// </summary>
bool IsEnableDeleteAfterSuccessfulCompletion { get; set; }
/// <summary>
/// Создать задачу и привязать к текущей коллекции
/// </summary>
/// <typeparam name="T">Тип задачи</typeparam>
/// <returns></returns>
T CreateTask<T>() where T : AsyncTaskInfo, new();
/// <summary>
/// Получить задачу по ID
/// </summary>
/// <param name="ID">ID задачи</param>
/// <returns></returns>
AsyncTaskInfo GetTask(uint ID);
/// <summary>
/// Получить задачу по индексу
/// </summary>
/// <param name="Index">Индекс</param>
/// <returns></returns>
AsyncTaskInfo GetTask(int Index);
/// <summary>
/// Добавить задачу
/// </summary>
/// <param name="Task">Задача</param>
void AddTask(AsyncTaskInfo Task);
/// <summary>
/// Событие добавления задачи
/// </summary>
event Delegates.Del_Task OnAdd;
/// <summary>
/// Событие запуска задачи
/// </summary>
event Delegates.Del_Task OnStart;
/// <summary>
/// Событие ошибки задачи
/// </summary>
event Delegates.Del_Failed OnFailed;
/// <summary>
/// Событие успешного завершения
/// </summary>
event Delegates.Del_Task OnComplete;
/// <summary>
/// Событие измененения прогресса
/// </summary>
event Delegates.Del_Task OnPogress;
}
}