/
gong_orchestrator.go
75 lines (59 loc) · 1.84 KB
/
gong_orchestrator.go
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
// generated code - do not edit
package models
// insertion point
// LineOrchestrator
type LineOrchestrator struct {
}
func (orchestrator *LineOrchestrator) OnAfterUpdate(
gongsvgStage *StageStruct,
stagedLine, backRepoLine *Line) {
stagedLine.OnAfterUpdate(gongsvgStage, stagedLine, backRepoLine)
}
// LinkOrchestrator
type LinkOrchestrator struct {
}
func (orchestrator *LinkOrchestrator) OnAfterUpdate(
gongsvgStage *StageStruct,
stagedLink, backRepoLink *Link) {
stagedLink.OnAfterUpdate(gongsvgStage, stagedLink, backRepoLink)
}
// LinkAnchoredTextOrchestrator
type LinkAnchoredTextOrchestrator struct {
}
func (orchestrator *LinkAnchoredTextOrchestrator) OnAfterUpdate(
gongsvgStage *StageStruct,
stagedLinkAnchoredText, backRepoLinkAnchoredText *LinkAnchoredText) {
stagedLinkAnchoredText.OnAfterUpdate(gongsvgStage, stagedLinkAnchoredText, backRepoLinkAnchoredText)
}
// RectOrchestrator
type RectOrchestrator struct {
}
func (orchestrator *RectOrchestrator) OnAfterUpdate(
gongsvgStage *StageStruct,
stagedRect, backRepoRect *Rect) {
stagedRect.OnAfterUpdate(gongsvgStage, stagedRect, backRepoRect)
}
// SVGOrchestrator
type SVGOrchestrator struct {
}
func (orchestrator *SVGOrchestrator) OnAfterUpdate(
gongsvgStage *StageStruct,
stagedSVG, backRepoSVG *SVG) {
stagedSVG.OnAfterUpdate(gongsvgStage, stagedSVG, backRepoSVG)
}
func SetOrchestratorOnAfterUpdate[Type Gongstruct](stage *StageStruct) {
var ret Type
switch any(ret).(type) {
// insertion point
case Line:
stage.OnAfterLineUpdateCallback = new(LineOrchestrator)
case Link:
stage.OnAfterLinkUpdateCallback = new(LinkOrchestrator)
case LinkAnchoredText:
stage.OnAfterLinkAnchoredTextUpdateCallback = new(LinkAnchoredTextOrchestrator)
case Rect:
stage.OnAfterRectUpdateCallback = new(RectOrchestrator)
case SVG:
stage.OnAfterSVGUpdateCallback = new(SVGOrchestrator)
}
}