ISchedulerPlugin.cs
4.41 KB
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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using VRH.Common;
namespace Vrh.iScheduler.Interfaces
{
/// <summary>
/// iScheduler beépülők számára készült interface.
/// </summary>
public interface ISchedulerPlugin
{
#region Properties
/// <summary>
/// A feladat végrehajtás (TimedTask) során keletkezett napló
/// bejegyzések listája.
/// </summary>
List<string> LogEntries { get; }
/// <summary>
/// A beépülő neve. Kötelező.
/// Ha üres, akkor a beépülő betöltésekor kivétel keletkezik.
/// </summary>
/// <remarks>
/// Jelenleg egy típus van az 'iSchedulerReport', de nem fontos csak
/// az ütemező számára egyedi legyen. De a lényeg, hogy az ütemező
/// ez alapján tudja majd megtalálni több beépülő esetén, melyiket is kellene
/// használnia.
/// </remarks>
string Name { get; }
#endregion Properties
#region Methods
/// <summary>
/// Ütemezett (időzített) feladat végrehajtása.
/// </summary>
/// <param name="xml">Az ütemezett objektum típus XmlParser kapcsolati sztringje.</param>
/// <param name="lcid">A környezetre érvényes nyelvi kód. Ha null, vagy üres, akkor az XML paraméterező fájlban beállított lesz az érvényes.</param>
/// <param name="objectId">Az ütemezett objektum azonosítója.</param>
/// <param name="operationId">Az ütemezett objektumon elvégzendő művelet azonosítója.</param>
/// <param name="timeStamp">Az ütemezés ideje (OperationTime mező értéke) 'yyyyMMddHHmmss' sztring formátumban.</param>
/// <param name="groupId">
/// Az ütemezett objektum csoport azonosítója.
/// Opcionális, ha üres vagy null, akkor az xml paraméterfájlban megadott lesz érvényes.
/// </param>
/// <returns>
/// Egy <c>ReturnInfoJSON</c> objektum a message részében formázott html üzenettel.
/// </returns>
ReturnInfoJSON ExecuteScheduledTask(string xml, string lcid, string objectId, string operationId, string timeStamp, string groupId = null);
/// <summary>
/// Ütemezendő objektumok létezésének ellenőrzése.
/// Az ütemező a <paramref name="objectList"/>-ben felsorolja, mely
/// objektumokat ellenőrzi.
/// </summary>
/// <param name="xml">Az ütemezett objektum típus XmlParser kapcsolati sztringje.</param>
/// <param name="objectList">Az ellenőrzendő objektumok listája, vesszővel elválasztva.</param>
/// <param name="groupId">
/// Az ütemezett objektum csoport azonosítója.
/// Opcionális, ha üres vagy null, akkor az xml paraméterfájlban megadott lesz érvényes.
/// </param>
/// <returns>
/// Egy <c>CheckListJSON</c> elemekből álló lista.
/// Ha nincs elem, akkor üres lista lesz az eredmény, nem null.
/// </returns>
List<CheckListJSON> CheckObjects(string xml, string objectList, string groupId = null);
/// <summary>
/// Az ütemezhető objektumok listája.
/// </summary>
/// <param name="xml">Az ütemezett objektum típus XmlParser kapcsolati sztringje.</param>
/// <param name="isActiveOnly">
/// Igaz, ha csak az aktív jelölésú ütemezhető objektumok kellenek.
/// Alapértelmezett értéke: true.
/// </param>
/// <param name="groupId">
/// Az ütemezett objektum csoport azonosítója.
/// Opcionális, ha üres vagy null, akkor az xml paraméterfájlban megadott lesz érvényes.
/// </param>
/// <returns>
/// Egy <c>SelectListJSON</c> elemekből álló lista.
/// Ha nincs elem, akkor üres lista lesz az eredmény, nem null.
/// </returns>
List<SelectListJSON> ListObjects(string xml, bool isActiveOnly = true, string groupId = null);
/// <summary>
/// Az ütemezésben kezdeményezhető műveletek listája.
/// </summary>
/// <returns>
/// Egy <c>SelectListJSON</c> elemekből álló lista.
/// Ha nincs elem, akkor üres lista lesz az eredmény, nem null.
/// </returns>
List<SelectListJSON> ListOperations();
#endregion Methods
}
}