app

package
v0.0.0-...-c626c17 Latest Latest
Warning

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

Go to latest
Published: Aug 20, 2019 License: MIT Imports: 12 Imported by: 0

Documentation

Index

Constants

View Source
const (
	Registered  = State(iota + 1) ///< the plugin is constructed but doesn't do anything
	Initialized                   ///< the plugin has initialized any state required but is idle
	Started                       ///< the plugin is actively running
	Stopped                       ///< the plugin is no longer running
)

Variables

This section is empty.

Functions

func DefaultConfigDir

func DefaultConfigDir() string

func DefaultDataDir

func DefaultDataDir() string

Types

type AbstractPlugin

type AbstractPlugin struct {
	// contains filtered or unexported fields
}

func (*AbstractPlugin) GetName

func (a *AbstractPlugin) GetName() PluginTypeName

func (*AbstractPlugin) GetState

func (a *AbstractPlugin) GetState() State

func (*AbstractPlugin) Initialize

func (a *AbstractPlugin) Initialize(options *cli.Context)

func (*AbstractPlugin) ShutDown

func (a *AbstractPlugin) ShutDown()

func (*AbstractPlugin) StartUp

func (a *AbstractPlugin) StartUp()

type Application

type Application struct {
	// contains filtered or unexported fields
}

func App

func App() *Application

func (*Application) DataDir

func (app *Application) DataDir() asio.Path

func (*Application) Exec

func (app *Application) Exec()

func (*Application) FindPlugin

func (app *Application) FindPlugin(name PluginTypeName) (plugin Plugin)

func (*Application) GetChannel

func (app *Application) GetChannel(channelType ChannelsType) *Channel

func (*Application) GetIoService

func (app *Application) GetIoService() *asio.IoContext

func (*Application) GetMethod

func (app *Application) GetMethod(methodsType MethodsType) *Method

func (*Application) GetPlugin

func (app *Application) GetPlugin(name PluginTypeName) (plugin Plugin)

func (*Application) GetVersion

func (app *Application) GetVersion() uint64

func (*Application) Initialize

func (app *Application) Initialize(basicPlugin []PluginTypeName) bool

func (*Application) InitializeImpl

func (app *Application) InitializeImpl(p []Plugin) bool

func (*Application) PluginInitialized

func (app *Application) PluginInitialized(p Plugin)

func (*Application) PluginStarted

func (app *Application) PluginStarted(p Plugin)

func (*Application) Quit

func (app *Application) Quit()

func (*Application) RegisterPlugin

func (app *Application) RegisterPlugin(typename PluginTypeName, plugin Plugin) Plugin

func (*Application) SetDefaultConfigDir

func (app *Application) SetDefaultConfigDir()

func (*Application) SetDefaultDataDir

func (app *Application) SetDefaultDataDir()

func (*Application) SetVersion

func (app *Application) SetVersion(version uint64)

func (*Application) ShutDown

func (app *Application) ShutDown()

func (*Application) StartUp

func (app *Application) StartUp()

func (*Application) VersionString

func (app *Application) VersionString() string

type ApplicationImpl

type ApplicationImpl struct {
	Options *cli.App

	DateDir     asio.Path
	ConfigDir   asio.Path
	LoggingConf asio.Path
	// contains filtered or unexported fields
}

type Plugin

type Plugin interface {
	SetProgramOptions(options *[]cli.Flag)
	PluginInitialize(*cli.Context)
	PluginStartup()
	PluginShutdown()

	Initialize(options *cli.Context)
	StartUp()
	ShutDown()

	GetName() PluginTypeName

	GetState() State
	// contains filtered or unexported methods
}

type PluginTypeName

type PluginTypeName = string

type State

type State int

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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