github.com/skippbox/kompose-origin@v0.0.0-20160524133224-16a9dca7bac2/project/events/events.go (about) 1 // Package events holds event structures, methods and functions. 2 package events 3 4 import ( 5 "fmt" 6 ) 7 8 // Notifier defines the methods an event notifier should have. 9 type Notifier interface { 10 Notify(eventType EventType, serviceName string, data map[string]string) 11 } 12 13 // Emitter defines the methods an event emitter should have. 14 type Emitter interface { 15 AddListener(c chan<- Event) 16 } 17 18 // Event holds project-wide event informations. 19 type Event struct { 20 EventType EventType 21 ServiceName string 22 Data map[string]string 23 } 24 25 // EventType defines a type of libcompose event. 26 type EventType int 27 28 // Definitions of libcompose events 29 const ( 30 NoEvent = EventType(iota) 31 32 ContainerCreated = EventType(iota) 33 ContainerStarted = EventType(iota) 34 35 ServiceAdd = EventType(iota) 36 ServiceUpStart = EventType(iota) 37 ServiceUpIgnored = EventType(iota) 38 ServiceUp = EventType(iota) 39 ServiceCreateStart = EventType(iota) 40 ServiceCreate = EventType(iota) 41 ServiceDeleteStart = EventType(iota) 42 ServiceDelete = EventType(iota) 43 ServiceDownStart = EventType(iota) 44 ServiceDown = EventType(iota) 45 ServiceRestartStart = EventType(iota) 46 ServiceRestart = EventType(iota) 47 ServicePullStart = EventType(iota) 48 ServicePull = EventType(iota) 49 ServiceKillStart = EventType(iota) 50 ServiceKill = EventType(iota) 51 ServiceStartStart = EventType(iota) 52 ServiceStart = EventType(iota) 53 ServiceBuildStart = EventType(iota) 54 ServiceBuild = EventType(iota) 55 ServicePauseStart = EventType(iota) 56 ServicePause = EventType(iota) 57 ServiceUnpauseStart = EventType(iota) 58 ServiceUnpause = EventType(iota) 59 ServiceStopStart = EventType(iota) 60 ServiceStop = EventType(iota) 61 ServiceRunStart = EventType(iota) 62 ServiceRun = EventType(iota) 63 64 VolumeAdd = EventType(iota) 65 NetworkAdd = EventType(iota) 66 67 ProjectDownStart = EventType(iota) 68 ProjectDownDone = EventType(iota) 69 ProjectCreateStart = EventType(iota) 70 ProjectCreateDone = EventType(iota) 71 ProjectUpStart = EventType(iota) 72 ProjectUpDone = EventType(iota) 73 ProjectDeleteStart = EventType(iota) 74 ProjectDeleteDone = EventType(iota) 75 ProjectRestartStart = EventType(iota) 76 ProjectRestartDone = EventType(iota) 77 ProjectReload = EventType(iota) 78 ProjectReloadTrigger = EventType(iota) 79 ProjectKillStart = EventType(iota) 80 ProjectKillDone = EventType(iota) 81 ProjectStartStart = EventType(iota) 82 ProjectStartDone = EventType(iota) 83 ProjectBuildStart = EventType(iota) 84 ProjectBuildDone = EventType(iota) 85 ProjectPauseStart = EventType(iota) 86 ProjectPauseDone = EventType(iota) 87 ProjectUnpauseStart = EventType(iota) 88 ProjectUnpauseDone = EventType(iota) 89 ProjectStopStart = EventType(iota) 90 ProjectStopDone = EventType(iota) 91 ) 92 93 func (e EventType) String() string { 94 var m string 95 switch e { 96 case ContainerCreated: 97 m = "Created container" 98 case ContainerStarted: 99 m = "Started container" 100 101 case ServiceAdd: 102 m = "Adding" 103 case ServiceUpStart: 104 m = "Starting" 105 case ServiceUpIgnored: 106 m = "Ignoring" 107 case ServiceUp: 108 m = "Started" 109 case ServiceCreateStart: 110 m = "Creating" 111 case ServiceCreate: 112 m = "Created" 113 case ServiceDeleteStart: 114 m = "Deleting" 115 case ServiceDelete: 116 m = "Deleted" 117 case ServiceStopStart: 118 m = "Stopping" 119 case ServiceStop: 120 m = "Stopped" 121 case ServiceDownStart: 122 m = "Stopping" 123 case ServiceDown: 124 m = "Stopped" 125 case ServiceRestartStart: 126 m = "Restarting" 127 case ServiceRestart: 128 m = "Restarted" 129 case ServicePullStart: 130 m = "Pulling" 131 case ServicePull: 132 m = "Pulled" 133 case ServiceKillStart: 134 m = "Killing" 135 case ServiceKill: 136 m = "Killed" 137 case ServiceStartStart: 138 m = "Starting" 139 case ServiceStart: 140 m = "Started" 141 case ServiceBuildStart: 142 m = "Building" 143 case ServiceBuild: 144 m = "Built" 145 case ServiceRunStart: 146 m = "Executing" 147 case ServiceRun: 148 m = "Executed" 149 150 case ProjectDownStart: 151 m = "Stopping project" 152 case ProjectDownDone: 153 m = "Project stopped" 154 case ProjectStopStart: 155 m = "Stopping project" 156 case ProjectStopDone: 157 m = "Project stopped" 158 case ProjectCreateStart: 159 m = "Creating project" 160 case ProjectCreateDone: 161 m = "Project created" 162 case ProjectUpStart: 163 m = "Starting project" 164 case ProjectUpDone: 165 m = "Project started" 166 case ProjectDeleteStart: 167 m = "Deleting project" 168 case ProjectDeleteDone: 169 m = "Project deleted" 170 case ProjectRestartStart: 171 m = "Restarting project" 172 case ProjectRestartDone: 173 m = "Project restarted" 174 case ProjectReload: 175 m = "Reloading project" 176 case ProjectReloadTrigger: 177 m = "Triggering project reload" 178 case ProjectKillStart: 179 m = "Killing project" 180 case ProjectKillDone: 181 m = "Project killed" 182 case ProjectStartStart: 183 m = "Starting project" 184 case ProjectStartDone: 185 m = "Project started" 186 case ProjectBuildStart: 187 m = "Building project" 188 case ProjectBuildDone: 189 m = "Project built" 190 } 191 192 if m == "" { 193 m = fmt.Sprintf("EventType: %d", int(e)) 194 } 195 196 return m 197 }