event

package
v1.7.3-0...-e813f3f Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 23, 2025 License: Apache-2.0 Imports: 2 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type EventType

type EventType string

EventType represents the type of event being handled

const (
	EventExitApplication        EventType = "EXIT_APPLICATION"
	EventGetData                EventType = "GET_DATA"
	EventGetDirectories         EventType = "GET_DIRECTORIES"
	EventGetDirectory           EventType = "GET_DIRECTORY"
	EventGetFiles               EventType = "GET_FILES"
	EventGetFile                EventType = "GET_FILE"
	EventGetSettings            EventType = "GET_SETTINGS"
	EventKeyboardKeypress       EventType = "KEYBOARD_KEYPRESS"
	EventKeyboardText           EventType = "KEYBOARD_TEXT"
	EventMediaControl           EventType = "MEDIA_CONTROL"
	EventNotification           EventType = "NOTIFICATION"
	EventOpen                   EventType = "OPEN"
	EventPowerHibernate         EventType = "POWER_HIBERNATE"
	EventPowerLock              EventType = "POWER_LOCK"
	EventPowerLogout            EventType = "POWER_LOGOUT"
	EventPowerRestart           EventType = "POWER_RESTART"
	EventPowerShutdown          EventType = "POWER_SHUTDOWN"
	EventPowerSleep             EventType = "POWER_SLEEP"
	EventRegisterDataListener   EventType = "REGISTER_DATA_LISTENER"
	EventUnregisterDataListener EventType = "UNREGISTER_DATA_LISTENER"
	EventDataUpdate             EventType = "DATA_UPDATE"
	EventCommandExecute         EventType = "COMMAND_EXECUTE"
	EventUpdateSettings         EventType = "UPDATE_SETTINGS"
	EventValidateDirectory      EventType = "VALIDATE_DIRECTORY"
)

type Message

type Message struct {
	ID    string    `json:"id" mapstructure:"id"`
	Event EventType `json:"event" mapstructure:"event"`
	Data  any       `json:"data" mapstructure:"data"`
}

Message is the base type for all events

type MessageHandler

type MessageHandler func(connection string, message Message) MessageResponse

MessageHandler is the type for all event handlers

type MessageResponse

type MessageResponse struct {
	ID      string           `json:"id" mapstructure:"id"`
	Type    ResponseType     `json:"type" mapstructure:"type"`
	Subtype ResponseSubtype  `json:"subtype" mapstructure:"subtype"`
	Data    any              `json:"data" mapstructure:"data"`
	Message string           `json:"message,omitempty" mapstructure:"message,omitempty"`
	Module  types.ModuleName `json:"module,omitempty" mapstructure:"module,omitempty"`
}

MessageResponse is the base type for all responses

type MessageRouter

type MessageRouter struct {
	Handlers map[EventType]MessageHandler
}

MessageRouter is the type for all event routers

func NewMessageRouter

func NewMessageRouter() *MessageRouter

NewMessageRouter creates a new MessageRouter

func (*MessageRouter) HandleMessage

func (mr *MessageRouter) HandleMessage(connection string, message Message) MessageResponse

HandleMessage handles a new event

func (*MessageRouter) RegisterHandler

func (mr *MessageRouter) RegisterHandler(event EventType, handler MessageHandler)

RegisterHandler registers a new event handler

func (*MessageRouter) RegisterSimpleHandler

func (mr *MessageRouter) RegisterSimpleHandler(event EventType, fn func(string, Message) MessageResponse)

RegisterSimpleHandler registers a new event handler

type ResponseSubtype

type ResponseSubtype string
const (
	ResponseSubtypeNone                      ResponseSubtype = "NONE"
	ResponseSubtypeBadRequest                ResponseSubtype = "BAD_REQUEST"
	ResponseSubtypeBadToken                  ResponseSubtype = "BAD_TOKEN"
	ResponseSubtypeBadJSON                   ResponseSubtype = "BAD_JSON"
	ResponseSubtypeBadDirectory              ResponseSubtype = "BAD_DIRECTORY"
	ResponseSubtypeBadFile                   ResponseSubtype = "BAD_FILE"
	ResponseSubtypeBadPath                   ResponseSubtype = "BAD_PATH"
	ResponseSubtypeInvalidAction             ResponseSubtype = "INVALID_ACTION"
	ResponseSubtypeListenerAlreadyRegistered ResponseSubtype = "LISTENER_ALREADY_REGISTERED"
	ResponseSubtypeListenerNotRegistered     ResponseSubtype = "LISTENER_NOT_REGISTERED"
	ResponseSubtypeMissingAction             ResponseSubtype = "MISSING_ACTION"
	ResponseSubtypeMissingBase               ResponseSubtype = "MISSING_BASE"
	ResponseSubtypeMissingKey                ResponseSubtype = "MISSING_KEY"
	ResponseSubtypeMissingModules            ResponseSubtype = "MISSING_MODULES"
	ResponseSubtypeMissingPath               ResponseSubtype = "MISSING_PATH"
	ResponseSubtypeMissingPathURL            ResponseSubtype = "MISSING_PATH_URL"
	ResponseSubtypeMissingSetting            ResponseSubtype = "MISSING_SETTING"
	ResponseSubtypeMissingText               ResponseSubtype = "MISSING_TEXT"
	ResponseSubtypeMissingTitle              ResponseSubtype = "MISSING_TITLE"
	ResponseSubtypeMissingToken              ResponseSubtype = "MISSING_TOKEN"
	ResponseSubtypeMissingValue              ResponseSubtype = "MISSING_VALUE"
	ResponseSubtypeCommandNotFound           ResponseSubtype = "COMMAND_NOT_FOUND"
	ResponseSubtypeUnknownEvent              ResponseSubtype = "UNKNOWN_EVENT"
)

type ResponseType

type ResponseType string

ResponseType represents the type of response being sent

const (
	ResponseTypeError                    ResponseType = "ERROR"
	ResponseTypeApplicationExiting       ResponseType = "APPLICATION_EXITING"
	ResponseTypeDataGet                  ResponseType = "DATA_GET"
	ResponseTypeDirectories              ResponseType = "DIRECTORIES"
	ResponseTypeDirectory                ResponseType = "DIRECTORY"
	ResponseTypeFiles                    ResponseType = "FILES"
	ResponseTypeFile                     ResponseType = "FILE"
	ResponseTypeKeyboardKeyPressed       ResponseType = "KEYBOARD_KEY_PRESSED"
	ResponseTypeKeyboardTextSent         ResponseType = "KEYBOARD_TEXT_SENT"
	ResponseTypeMediaControlled          ResponseType = "MEDIA_CONTROLLED"
	ResponseTypeNotificationSent         ResponseType = "NOTIFICATION_SENT"
	ResponseTypeOpened                   ResponseType = "OPENED"
	ResponseTypePowerHibernating         ResponseType = "POWER_HIBERNATING"
	ResponseTypePowerLocking             ResponseType = "POWER_LOCKING"
	ResponseTypePowerLoggingout          ResponseType = "POWER_LOGGINGOUT"
	ResponseTypePowerRestarting          ResponseType = "POWER_RESTARTING"
	ResponseTypePowerShuttingdown        ResponseType = "POWER_SHUTTINGDOWN"
	ResponseTypePowerSleeping            ResponseType = "POWER_SLEEPING"
	ResponseTypeDataListenerRegistered   ResponseType = "DATA_LISTENER_REGISTERED"
	ResponseTypeDataListenerUnregistered ResponseType = "DATA_LISTENER_UNREGISTERED"
	ResponseTypeDataUpdate               ResponseType = "DATA_UPDATE"
	ResponseTypeCommandExecuting         ResponseType = "COMMAND_EXECUTING"
	ResponseTypeCommandCompleted         ResponseType = "COMMAND_COMPLETED"
	ResponseTypeSettingsResult           ResponseType = "SETTINGS_RESULT"
	ResponseTypeSettingsUpdated          ResponseType = "SETTINGS_UPDATED"
	ResponseTypeDirectoryValidated       ResponseType = "DIRECTORY_VALIDATED"
)

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL