mirror of
https://github.com/kevin-DL/revel-cmd.git
synced 2026-01-11 18:54:31 +00:00
Reformat of code Allow user to use a mix of command line arguments and flags Enhance the import tool to detect missing packages in the modules side Added test cases for all commands
63 lines
2.3 KiB
Go
63 lines
2.3 KiB
Go
package model
|
|
|
|
type (
|
|
// The event type
|
|
Event int
|
|
// The event response
|
|
EventResponse int
|
|
// The handler signature
|
|
EventHandler func(typeOf Event, value interface{}) (responseOf EventResponse)
|
|
RevelCallback interface {
|
|
FireEvent(key Event, value interface{}) (response EventResponse)
|
|
PackageResolver(pkgName string) error
|
|
}
|
|
)
|
|
|
|
const (
|
|
// Event type when templates are going to be refreshed (receivers are registered template engines added to the template.engine conf option)
|
|
TEMPLATE_REFRESH_REQUESTED Event = iota
|
|
// Event type when templates are refreshed (receivers are registered template engines added to the template.engine conf option)
|
|
TEMPLATE_REFRESH_COMPLETED
|
|
// Event type before all module loads, events thrown to handlers added to AddInitEventHandler
|
|
|
|
// Event type before all module loads, events thrown to handlers added to AddInitEventHandler
|
|
REVEL_BEFORE_MODULES_LOADED
|
|
// Event type before module loads, events thrown to handlers added to AddInitEventHandler
|
|
REVEL_BEFORE_MODULE_LOADED
|
|
// Event type after module loads, events thrown to handlers added to AddInitEventHandler
|
|
REVEL_AFTER_MODULE_LOADED
|
|
// Event type after all module loads, events thrown to handlers added to AddInitEventHandler
|
|
REVEL_AFTER_MODULES_LOADED
|
|
|
|
// Event type before server engine is initialized, receivers are active server engine and handlers added to AddInitEventHandler
|
|
ENGINE_BEFORE_INITIALIZED
|
|
// Event type before server engine is started, receivers are active server engine and handlers added to AddInitEventHandler
|
|
ENGINE_STARTED
|
|
// Event type after server engine is stopped, receivers are active server engine and handlers added to AddInitEventHandler
|
|
ENGINE_SHUTDOWN
|
|
|
|
// Called before routes are refreshed
|
|
ROUTE_REFRESH_REQUESTED
|
|
// Called after routes have been refreshed
|
|
ROUTE_REFRESH_COMPLETED
|
|
|
|
// Fired when a panic is caught during the startup process
|
|
REVEL_FAILURE
|
|
)
|
|
|
|
var initEventList = []EventHandler{} // Event handler list for receiving events
|
|
|
|
// Fires system events from revel
|
|
func RaiseEvent(key Event, value interface{}) (response EventResponse) {
|
|
for _, handler := range initEventList {
|
|
response |= handler(key, value)
|
|
}
|
|
return
|
|
}
|
|
|
|
// Add event handler to listen for all system events
|
|
func AddInitEventHandler(handler EventHandler) {
|
|
initEventList = append(initEventList, handler)
|
|
return
|
|
}
|