Blame view

Vrh.iScheduler.Interface/ISchedulerPlugin.cs 4.4 KB
ab9f2fbe   Schwirg László   Add project files.
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 TimedTask(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
      }
  }