cfg

package
v3.1.1 Latest Latest
Warning

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

Go to latest
Published: Jul 12, 2022 License: MIT Imports: 33 Imported by: 0

Documentation

Overview

Package cfg

Package cfg

Package cfg

Package cfg

Package cfg

Package cfg

Package cfg

Package cfg

Package cfg

Package cfg

Package cfg

Package cfg

Package cfg

Package cfg

Package cfg

Package cfg

Package cfg

Package cfg

Package cfg

Package cfg

Package cfg

Package cfg

Package cfg

Package cfg

Package cfg

Package cfg

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AbsolutePath

func AbsolutePath(pth string) (ret string)

AbsolutePath Функция преобразует относительный путь в абсолютный путь к директории или файлу. Учитывается символ '~' обозначающий домашнюю директорию текущего пользователя. Так же раскрываются все символические ссылки в пути оригинальных файлов и директорий.

Types

type Err

type Err interface {
	Anchor() error // Якорь, по которому можно сравнивать две ошибки между собой.
	Code() uint8   // Код ошибки.
	Error() string // Сообщение об ошибке или шаблон сообщения об ошибке.
}

Err Интерфейс ошибки приложения.

type Error

type Error struct{}

Error Объект-одиночка со списком ошибок которые можно сравнивать по якорю через '=='.

func Errors

func Errors() *Error

Errors Справочник всех ошибок пакета.

func (*Error) ApplicationHelpDisplayed

func (e *Error) ApplicationHelpDisplayed(code uint8, help *bytes.Buffer) Err

ApplicationHelpDisplayed Отображение помощи по командам, аргументам и флагам запуска приложения.

func (*Error) ApplicationMainFuncAlreadyRegistered

func (e *Error) ApplicationMainFuncAlreadyRegistered(code uint8) Err

ApplicationMainFuncAlreadyRegistered Основная функция приложения уже зарегистрирована.

func (*Error) ApplicationMainFuncNotFound

func (e *Error) ApplicationMainFuncNotFound(code uint8) Err

ApplicationMainFuncNotFound Не определена основная функция приложения.

func (*Error) ApplicationPanicException

func (e *Error) ApplicationPanicException(code uint8, err interface{}, stack []byte) Err

ApplicationPanicException Выполнение приложения прервано паникой: ...

func (*Error) ApplicationRegistrationUnknownObject

func (e *Error) ApplicationRegistrationUnknownObject(code uint8, objectName string) Err

ApplicationRegistrationUnknownObject Регистрация не известного компонента, объекта или модуля: ...

func (*Error) ApplicationUnknownError

func (e *Error) ApplicationUnknownError(code uint8, err error) Err

ApplicationUnknownError Любая не описанная и не ожидаемая ошибка приложения.

func (*Error) ApplicationVersion

func (e *Error) ApplicationVersion(code uint8, arg ...interface{}) Err

ApplicationVersion Версии приложения содержит ошибку: ...

func (*Error) CantChangeWorkDirectory

func (e *Error) CantChangeWorkDirectory(code uint8, err error) Err

CantChangeWorkDirectory Не удалось сменить рабочую директорию приложения: ...

func (*Error) CommandLineArgumentNotCorrect

func (e *Error) CommandLineArgumentNotCorrect(code uint8, description string) Err

CommandLineArgumentNotCorrect Не верное значение или тип аргумента, флага или параметра: ...

func (*Error) CommandLineArgumentRequired

func (e *Error) CommandLineArgumentRequired(code uint8, description string) Err

CommandLineArgumentRequired Требуется указать обязательную команду, аргумент или флаг командной строки: ...

func (*Error) CommandLineArgumentUnknown

func (e *Error) CommandLineArgumentUnknown(code uint8, description string) Err

CommandLineArgumentUnknown Неизвестная команда, аргумент или флаг командной строки: ...

func (*Error) CommandLineRequiredFlag

func (e *Error) CommandLineRequiredFlag(code uint8, description string) Err

CommandLineRequiredFlag Не указан один или несколько обязательных флагов: ...

func (*Error) CommandLineUnexpectedError

func (e *Error) CommandLineUnexpectedError(code uint8, description string, err error) Err

CommandLineUnexpectedError Не предвиденная ошибка библиотеки командного интерфейса приложения: ...

func (*Error) ComponentConflict

func (e *Error) ComponentConflict(code uint8, nameComponent, nameConflict string) Err

ComponentConflict Компонента ... конфликтует с компонентой ...

func (*Error) ComponentDoExecution

func (e *Error) ComponentDoExecution(code uint8, nameComponent string, err error) Err

ComponentDoExecution Выполнение функции Do() компоненты ... завершено с ошибкой: ...

func (*Error) ComponentDoPanicException

func (e *Error) ComponentDoPanicException(code uint8, nameComponent string, err interface{}, stack []byte) Err

ComponentDoPanicException Выполнение функции Do() компоненты ... прервано паникой: ...

func (*Error) ComponentDoUnknownError

func (e *Error) ComponentDoUnknownError(code uint8, err error) Err

ComponentDoUnknownError Выполнение функций Do() завершилось ошибкой: ...

func (*Error) ComponentFinalizeExecution

func (e *Error) ComponentFinalizeExecution(code uint8, nameComponent string, err error) Err

ComponentFinalizeExecution Выполнение функции Finalize() компоненты ... завершено с ошибкой: ...

func (*Error) ComponentFinalizePanicException

func (e *Error) ComponentFinalizePanicException(code uint8, nameComponent string, err interface{}, stack []byte) Err

ComponentFinalizePanicException Выполнение функции Finalize() компоненты ... прервано паникой: ...

func (*Error) ComponentFinalizeUnknownError

func (e *Error) ComponentFinalizeUnknownError(code uint8, err error) Err

ComponentFinalizeUnknownError Выполнение функций Finalize() завершилось ошибкой: ...

func (*Error) ComponentFinalizeWarning

func (e *Error) ComponentFinalizeWarning(code uint8, nameComponent string, tout time.Duration) Err

ComponentFinalizeWarning Выполнение функций Finalize() компоненты ..., длится дольше отведённого времени ...

func (*Error) ComponentInitiateExecution

func (e *Error) ComponentInitiateExecution(code uint8, nameComponent string, err error) Err

ComponentInitiateExecution Выполнение функции Initiate() компоненты ... завершено с ошибкой: ...

func (*Error) ComponentInitiatePanicException

func (e *Error) ComponentInitiatePanicException(code uint8, nameComponent string, err interface{}, stack []byte) Err

ComponentInitiatePanicException Выполнение функции Initiate() компоненты ... прервано паникой: ...

func (*Error) ComponentInitiateTimeout

func (e *Error) ComponentInitiateTimeout(code uint8, nameComponent string) Err

ComponentInitiateTimeout Превышено время ожидание выполнения функции Initiate() компоненты ...

func (*Error) ComponentIsNull

func (e *Error) ComponentIsNull(code uint8) Err

ComponentIsNull В качестве объекта компоненты передан nil.

func (*Error) ComponentPanicException

func (e *Error) ComponentPanicException(code uint8, componentName string, err interface{}, stack []byte) Err

ComponentPanicException Выполнение компоненты ... прервано паникой: ...

func (*Error) ComponentPreferencesCallBeforeCompleting

func (e *Error) ComponentPreferencesCallBeforeCompleting(code uint8) Err

ComponentPreferencesCallBeforeCompleting Опрос настроек компонентов вызван до завершения регистрации компонентов.

func (*Error) ComponentRegistrationError

func (e *Error) ComponentRegistrationError(code uint8, componentName string, err error) Err

ComponentRegistrationError Регистрация компоненты ... завершилась ошибкой: ...

func (*Error) ComponentRegistrationProhibited

func (e *Error) ComponentRegistrationProhibited(code uint8, componentName string) Err

ComponentRegistrationProhibited Регистрация компонентов запрещена. Компонента %q не зарегистрирована.

func (*Error) ComponentRequires

func (e *Error) ComponentRequires(code uint8, nameComponent, nameRequires string) Err

ComponentRequires Компонента ... имеет не удовлетворённую зависимость ...

func (*Error) ComponentRulesError

func (e *Error) ComponentRulesError(code uint8, rulesName string, componentName string, err error) Err

ComponentRulesError Правила %q для компоненты ... содержат ошибку: ...

func (*Error) ComponentRunlevelError

func (e *Error) ComponentRunlevelError(code uint8, componentName string, runlevel uint16) Err

ComponentRunlevelError Уровень запуска (runlevel), для компоненты %q указан %d, необходимо указать уровень равный 0, либо в интервале от 10 до 65534 включительно.

func (*Error) ConfigurationApplicationObject

func (e *Error) ConfigurationApplicationObject(code uint8, err error) Err

ConfigurationApplicationObject Объект конфигурации приложения содержит ошибку: ...

func (*Error) ConfigurationApplicationPanic

func (e *Error) ConfigurationApplicationPanic(code uint8, err interface{}, stack []byte) Err

ConfigurationApplicationPanic Непредвиденная ошибка при регистрации объекта конфигурации. Паника: ... ...

func (*Error) ConfigurationApplicationProhibited

func (e *Error) ConfigurationApplicationProhibited(code uint8, objectName string) Err

ConfigurationApplicationProhibited Регистрация объектов конфигурации на текущем уровне работы приложения запрещена. Конфигурация ... не зарегистрирована.

func (*Error) ConfigurationBootstrap

func (e *Error) ConfigurationBootstrap(code uint8, err error) Err

ConfigurationBootstrap Ошибка начально bootstrap конфигурации приложения: ...

func (*Error) ConfigurationCallbackAlreadyRegistered added in v3.0.5

func (e *Error) ConfigurationCallbackAlreadyRegistered(code uint8, typeName string, fnName string) Err

ConfigurationCallbackAlreadyRegistered Подписка функции обратного вызова на изменение конфигурации с типом ... для функции ... уже существует.

func (*Error) ConfigurationCallbackSubscriptionNotFound added in v3.0.5

func (e *Error) ConfigurationCallbackSubscriptionNotFound(code uint8, typeName string, fnName string) Err

ConfigurationCallbackSubscriptionNotFound Подписка функции обратного вызова на изменение конфигурации с типом ... для функции ... не существует.

func (*Error) ConfigurationFileIsDirectory

func (e *Error) ConfigurationFileIsDirectory(code uint8, filename string) Err

ConfigurationFileIsDirectory В качестве файла конфигурации указана директория: ...

func (*Error) ConfigurationFileNotFound

func (e *Error) ConfigurationFileNotFound(code uint8, filename string, err error) Err

ConfigurationFileNotFound Указанного файла конфигурации ... не существует: ...

func (*Error) ConfigurationFileReadingError

func (e *Error) ConfigurationFileReadingError(code uint8, filename string, err error) Err

ConfigurationFileReadingError Чтение фала конфигурации ... прервано ошибкой: ...

func (*Error) ConfigurationObjectCopy added in v3.0.4

func (e *Error) ConfigurationObjectCopy(code uint8, typeName string, err error) Err

ConfigurationObjectCopy Копирование объекта конфигурации я типом ... прервано ошибкой: ...

func (*Error) ConfigurationObjectIsNil added in v3.0.4

func (e *Error) ConfigurationObjectIsNil(code uint8) Err

ConfigurationObjectIsNil Переданный объект, является nil объектом.

func (*Error) ConfigurationObjectIsNotAddress added in v3.0.4

func (e *Error) ConfigurationObjectIsNotAddress(code uint8, typeName string) Err

ConfigurationObjectIsNotAddress Объект конфигурации с типом ... передан не корректно. Необходимо передать адрес объекта.

func (*Error) ConfigurationObjectIsNotStructure added in v3.0.4

func (e *Error) ConfigurationObjectIsNotStructure(code uint8, typeName string) Err

ConfigurationObjectIsNotStructure Переданный объект ... не является структурой.

func (*Error) ConfigurationObjectIsNotValid added in v3.0.4

func (e *Error) ConfigurationObjectIsNotValid(code uint8, typeName string) Err

ConfigurationObjectIsNotValid Объект конфигурации с типом ... не инициализирован.

func (*Error) ConfigurationObjectNotFound added in v3.0.4

func (e *Error) ConfigurationObjectNotFound(code uint8, typeName string) Err

ConfigurationObjectNotFound Объект конфигурации с типом ... не найден.

func (*Error) ConfigurationPermissionDenied

func (e *Error) ConfigurationPermissionDenied(code uint8, _ string, err error) Err

ConfigurationPermissionDenied Отсутствует доступ к файлу конфигурации, ошибка: ...

func (*Error) ConfigurationSetDefault

func (e *Error) ConfigurationSetDefault(code uint8, err error) Err

ConfigurationSetDefault Установка значений по умолчанию, для переменных конфигурации, прервана ошибкой: ...

func (*Error) ConfigurationSetDefaultPanic

func (e *Error) ConfigurationSetDefaultPanic(code uint8, err interface{}, stack []byte) Err

ConfigurationSetDefaultPanic Непредвиденная ошибка, при установке значений по умолчанию, объекта конфигурации. Паника: ...

func (*Error) ConfigurationSetDefaultValue

func (e *Error) ConfigurationSetDefaultValue(code uint8, value string, name string, err error) Err

ConfigurationSetDefaultValue Установка значения по умолчанию ..., для переменной конфигурации ..., прервана ошибкой: ...

func (*Error) ConfigurationUnexpectedMistakeFileAccess

func (e *Error) ConfigurationUnexpectedMistakeFileAccess(code uint8, filename string, err error) Err

ConfigurationUnexpectedMistakeFileAccess Неожиданная ошибка доступа к файлу конфигурации ...: ...

func (*Error) DatabusInternalError

func (e *Error) DatabusInternalError(code uint8, err error) Err

DatabusInternalError Внутренняя ошибка шины данных: ...

func (*Error) DatabusNotSubscribersForType

func (e *Error) DatabusNotSubscribersForType(code uint8, typeName string) Err

DatabusNotSubscribersForType Отсутствуют потребители данных для типа данных: ...

func (*Error) DatabusObjectIsNil

func (e *Error) DatabusObjectIsNil(code uint8) Err

DatabusObjectIsNil Передан nil объект.

func (*Error) DatabusPanicException

func (e *Error) DatabusPanicException(code uint8, err interface{}, stack []byte) Err

DatabusPanicException Работа с подпиской потребителя, в шине данных, прервана паникой: ... ....

func (*Error) DatabusRecursivePointer

func (e *Error) DatabusRecursivePointer(code uint8, pointer string) Err

DatabusRecursivePointer Не возможно определить тип рекурсивного указателя: ...

func (*Error) DatabusSubscribeNotFound

func (e *Error) DatabusSubscribeNotFound(code uint8, databuserName string) Err

DatabusSubscribeNotFound Потребитель данных ... не был подписан на шину данных.

func (*Error) GetCurrentUser

func (e *Error) GetCurrentUser(code uint8, err error) Err

GetCurrentUser Не удалось загрузить данные о текущем пользователе операционной системы: ...

func (*Error) InitLogging

func (e *Error) InitLogging(code uint8, err error) Err

InitLogging Критическая ошибка в модуле менеджера логирования: ...

func (*Error) PidExistsAnotherProcessOfApplication

func (e *Error) PidExistsAnotherProcessOfApplication(code uint8, pids []int) (err Err)

PidExistsAnotherProcessOfApplication Существует один или несколько работающих процессов приложения, измените PID файл или остановите экземпляры приложения, PID: ...

func (*Error) PidFileError

func (e *Error) PidFileError(code uint8, filename string, err error) Err

PidFileError Ошибка работы с PID файлом ...: ...

func (*Error) RunlevelAlreadySubscribedFunction

func (e *Error) RunlevelAlreadySubscribedFunction(code uint8, nameFn string) Err

RunlevelAlreadySubscribedFunction Функция ... уже подписана на получение событий изменения уровня работы приложения.

func (*Error) RunlevelCantLessCurrentLevel

func (e *Error) RunlevelCantLessCurrentLevel(code uint8, currentRunlevel uint16, newRunlevel uint16) Err

RunlevelCantLessCurrentLevel Новый уровень работы приложения (...) не может быть меньше текущего уровня работы приложения (...).

func (*Error) RunlevelSubscribeUnsubscribeNilFunction

func (e *Error) RunlevelSubscribeUnsubscribeNilFunction(code uint8) Err

RunlevelSubscribeUnsubscribeNilFunction Передана nil функция, подписка или отписка nil функции не возможна.

func (*Error) RunlevelSubscriptionNotFound

func (e *Error) RunlevelSubscriptionNotFound(code uint8, nameFn string) Err

RunlevelSubscriptionNotFound Не найдена подписка функции ... на события изменения уровня работы приложения.

func (*Error) RunlevelSubscriptionPanicException

func (e *Error) RunlevelSubscriptionPanicException(code uint8, err interface{}, stack []byte) Err

RunlevelSubscriptionPanicException Вызов функции подписчика на событие изменения уровня работы приложения, прервано паникой: ...

type Essence

type Essence interface {

	// Cfg Интерфейс конфигурации.
	Cfg() Interface

	// Logger Интерфейс менеджера логирования.
	Logger() kitModuleLog.Logger

	// CLI Интерфейс к методам работы с параметрами командной строки и переменных окружения.
	CLI() kitModuleCfgCli.Interface

	// App Точка запуска приложения.
	App()

	// AppName Установка значения названия приложения.
	AppName(name string) Essence

	// Version Присвоение версии и номера сборки приложения в семантике "Semantic Versioning 2.0.0".
	Version(version string, build string) Essence

	// Debug Присвоение нового значения режима отладки приложения.
	Debug(debug bool) Essence

	// UpdateBootstrapConfigurationPathValue Коррекция значений стартовой конфигурация приложения, если они были загружены
	// из командной строки или переменной окружения, то есть не равны значениям по умолчанию
	UpdateBootstrapConfigurationPathValue() Essence

	// CommandFull Присвоение значения команды с которой было запущено приложение.
	CommandFull(cmd []string) Essence

	// ForkWorkerMode Присвоение нового значения режима запуска в качестве подчинённого процесса основного приложения.
	ForkWorkerMode(isForkWorker bool) Essence

	// ErrorAppend Добавление ошибки в стек ошибок приложения.
	ErrorAppend(err error) Essence

	// IsError Возвращает истину, если есть ошибки приложения.
	IsError() bool

	// Runlevel Установка или увеличение значения уровня работы приложения.
	// Поведение функции в зависимости от значения аргумента runlevel:
	// * runlevel>0 - будет выполнена установка нового значения, новое значение не может быть меньше текущего значения.
	// * runlevel=0 - значение Runlevel будет увеличено на единицу.
	Runlevel(runlevel uint16) Essence

	// RunlevelNext Переключение значения уровня работы приложения на следующий уровень.
	// От 01 до 10 переключается на единицу, последовательно.
	// От 10 до 65535 переключается согласно карте уровней, если текущий уровень не входит в карту - последовательно.
	// На уровне 65535 переключение останавливается, вызов функции не меняет уровень.
	RunlevelNext() Essence

	// RunlevelNextAsync Асинхронное переключение значения уровня работы приложения на следующий уровень.
	RunlevelNextAsync()

	// RunlevelDefault Уровень выполнения компонентов приложения по умолчанию.
	RunlevelDefault() (ret uint16)

	// RunlevelAutoincrementStop Отключение режима автоматического увеличения уровня работы приложения.
	RunlevelAutoincrementStop() Essence

	// RunlevelAutoincrementStart Включение режима автоматического увеличения уровня работы приложения.
	RunlevelAutoincrementStart() Essence

	// RunlevelExit Переключение значения уровня работы приложения на уровень завершения работы приложения.
	RunlevelExit() Essence

	// RunlevelExitAsync Переключение значения уровня работы приложения на уровень завершения работы приложения.
	RunlevelExitAsync()

	// Targetlevel Установка значения целевого уровня работы приложения.
	Targetlevel(tl uint16) Essence

	// Registration Регистрация разных объектов приложения.
	Registration(name string, obj interface{}) (err error)

	// ComponentName Получение уникального имени пакета компоненты.
	ComponentName(obj interface{}) (ret string)

	// ComponentNames Возвращает список зарегистрированных компонентов.
	ComponentNames() []string

	// ComponentPreferences Функция-менеджер загрузки и обработки настроек компонентов.
	ComponentPreferences(fn kitTypes.ComponentPreferencesFn) (code uint8, err error)

	// ComponentCheckConflict Проверка конфликтов между всеми зарегистрированными компонентами.
	ComponentCheckConflict(fn kitTypes.ComponentConflictFn) (code uint8, err error)

	// ComponentRequiresCheck Проверка зависимостей между всеми зарегистрированными компонентами.
	ComponentRequiresCheck(fn kitTypes.ComponentRequiresFn) (code uint8, err error)

	// ComponentSort Сортировка зарегистрированных компонентов в соответствии с настройками (before) и (after).
	ComponentSort(fn kitTypes.ComponentSortFn) (code uint8, err error)

	// ComponentMapRunlevel Построение шагов переключения уровня выполнения приложения (runlevel).
	ComponentMapRunlevel(targetlevel uint16) (code uint8, err error)

	// ComponentInitiate Вызов функции Initiate у всех зарегистрированных компонентов в прямом порядке.
	ComponentInitiate(fn kitTypes.ComponentInitiateFn) (code uint8, err error)

	// ComponentDo Вызов функции Do у всех зарегистрированных компонентов в прямом порядке для указанного уровня приложения.
	ComponentDo(runlevel uint16, fn kitTypes.ComponentDoFn) (code uint8, err error)

	// ComponentFinalizeWarningTimeout Возвращает время отводимое на выполнение функции Finalize(), до печати в лог
	// сообщения о долгой работе функции.
	ComponentFinalizeWarningTimeout() (ret time.Duration)

	// ComponentFinalize Вызов функции Finalize у всех зарегистрированных компонентов в обратном порядке.
	ComponentFinalize(fn kitTypes.ComponentFinalizeFn) (code uint8, err error)

	// ComponentCommandRegister Регистрация команды и группы команд компоненты.
	ComponentCommandRegister(cc kitTypes.ComponentCommand)

	// ComponentFlagRegister Регистрация глобального флага компоненты приложения.
	ComponentFlagRegister(cf kitTypes.ComponentFlag)

	// DirectoryHome Установка значения домашней директория приложения.
	DirectoryHome(ahd string) Essence

	// DirectoryWorking Установка значения рабочей директории приложения.
	DirectoryWorking(awd string) Essence

	// DirectoryTemp Установка значения директории для временных файлов.
	DirectoryTemp(atd string) Essence

	// DirectoryCache Установка значения директории для файлов кеша.
	DirectoryCache(acd string) Essence

	// DirectoryConfig Установка значения директории для подключаемых или дополнительных конфигураций приложения.
	DirectoryConfig(afd string) Essence

	// FileConfig Установка значения пути и имени конфигурационного файла приложения.
	FileConfig(cfn string) Essence

	// FilePid Установка значения пути и имени PID файла приложения.
	FilePid(pfn string) Essence

	// FileState Установка значения пути и имени файла хранения состояния приложения.
	FileState(stf string) Essence

	// FileSocket Установка значения пути и имени сокет файла коммуникаций с приложением.
	FileSocket(sof string) Essence

	// LogLevel Установка значения уровня логирования приложения.
	LogLevel(ll kitModuleLogLevel.Level) Essence

	// ConfigurationRegistration Регистрация объекта конфигурации, являющегося частью общей конфигурации приложения.
	// Регистрация доступна только на уровне работы приложения 0.
	// Объект конфигурации должен передаваться в качестве адреса.
	// Поля объекта конфигурации должны состоять из простых или сериализуемых типов данных и быть экспортируемыми.
	// Поля объекта должны содержать теги.
	// Вместе с объектом конфигурации можно передать функцию обратного вызова, она будет вызвана при изменении данных
	// конфигурации, например при перезагрузке файла конфигурации или иных реализациях динамического изменения
	// значений конфигурации.
	// * description ---- Описание поля, публикуется в YAML файле, при создании примера конфигурации,
	//                    подробности в компоненте "configuration".
	//                    Если указано значение "-", тогда описание не публикуется.
	// * default-value -- Значение поля по умолчанию, присваивается после чтения конфигурационного файла,
	//                    а так же, публикуется в YAML файле, при создании примера конфигурации.
	// * yaml ----------- Тег для библиотеки YAML, если указано значение "-", тогда поле пропускается.
	ConfigurationRegistration(c interface{}, callback ...kitTypes.Callbacker) (err error)

	// ConfigurationCallbackSubscribe Подписка функции обратного вызова на событие изменения данных сегмента
	// конфигурации. Функция будет вызвана при изменении данных конфигурации, например при перезагрузке файла
	// конфигурации или иных реализациях динамического изменения значений конфигурации.
	ConfigurationCallbackSubscribe(c interface{}, callback kitTypes.Callbacker) (err error)

	// ConfigurationCallbackUnsubscribe Отписка функции обратного вызова на событие изменения данных сегмента
	// конфигурации.
	ConfigurationCallbackUnsubscribe(c interface{}, callback kitTypes.Callbacker) (err error)

	// ConfigurationLoad Загрузка конфигурационного файла.
	ConfigurationLoad(buf *bytes.Buffer) (err error)

	// AbsolutePathAndUpdate Функция преобразует относительный путь в абсолютный путь,
	// проверяет равно ли новое значение старому, если значение изменилось, тогда обновляет значение в указанной
	// переменной и возвращает результирующее значение.
	AbsolutePathAndUpdate(dir *string) (ret string)
}

Essence Служебный публичный интерфейс.

type Interface

type Interface interface {

	// Bus Интерфейс шины данных приложения.
	Bus() kitModuleBus.Interface

	// Gist Интерфейс к служебным методам конфигурации приложения.
	Gist() Essence

	// Version Интерфейс к методам получения версии приложения.
	Version() Version

	// UUID Интерфейс к методам генерации и работы с UUID идентификаторами.
	UUID() kitModuleUuid.Interface

	// RawWriter Интерфейс вывода потоковых сообщений.
	RawWriter() kitTypes.SyncWriter

	// Log Интерфейс к методам логирования.
	Log() kitTypes.Logger

	// Loglevel Текущий уровень логирования приложения.
	Loglevel() kitModuleLogLevel.Level

	// AppName Название приложения.
	AppName() string

	// Command Функция возвращает команду с которой было запущено приложение.
	Command() (ret string)

	// CommandFull Функция возвращает команду с которой было запущено приложение.
	CommandFull() []string

	// Debug Функция возвращает текуще значение режима отладки приложения.
	Debug() (ret bool)

	// ForkWorker Параметры работы в режиме fork worker.
	ForkWorker() *kitTypes.BootstrapConfigurationForkWorker

	// IsForkWorker Возвращает истину для режима запуска приложения в качестве подчинённого процесса основного приложения.
	// В этом режиме приложению нельзя использовать STDIN/STDOUT/STDERR, эти потоки используются для обмена данными
	// с управляющим приложением.
	// Так же, этот режим устанавливается в случае запуска приложения как daemon процесса, в этом режиме запуска, тоже
	// нельзя использовать STDIN/STDOUT/STDERR, так как режим daemon, для приложения, возможен только после полного
	// закрытия этих потоков.
	IsForkWorker() (ret bool)

	// Runlevel Возвращает текущее значение уровня работы приложения.
	Runlevel() uint16

	// RunlevelMap Возвращает карту, описывающую план переключения уровней работы приложения.
	RunlevelMap() []uint16

	// RunlevelSubscribe Подписка на события изменения уровня работы приложения.
	RunlevelSubscribe(fn RunlevelSubscriberFn) (err error)

	// RunlevelUnsubscribe Отписка от событий изменения уровня работы приложения.
	RunlevelUnsubscribe(fn RunlevelSubscriberFn) (err error)

	// RunlevelAutoincrement Режим работы автоматического увеличения уровня работы приложения.
	RunlevelAutoincrement() (ret bool)

	// Targetlevel Возвращает текущее значение целевого уровня работы приложения.
	Targetlevel() uint16

	// User Текущий пользователь операционной системы.
	User() *user.User

	// AbsolutePath Функция преобразует относительный путь в абсолютный путь к директории или файлу.
	// Учитывается символ '~' обозначающий домашнюю директорию текущего пользователя.
	AbsolutePath(pth string) (ret string)

	// DirectoryHome Значение домашней директории приложения.
	DirectoryHome() string

	// DirectoryWorking Значение рабочей директории приложения.
	DirectoryWorking() string

	// DirectoryWorkingChdir Функция выполняет переход в рабочую директорию приложения.
	// Возвращается ошибка операционной системы, с причиной не возможности перейти в рабочую директорию.
	DirectoryWorkingChdir() (err error)

	// DirectoryTemp Значение директории для временных файлов.
	DirectoryTemp() string

	// DirectoryCache Значение директории для файлов кеша.
	DirectoryCache() string

	// DirectoryConfig Значение директории для подключаемых или дополнительных конфигураций приложения.
	DirectoryConfig() string

	// FileConfig Значение пути и имени конфигурационного файла приложения.
	FileConfig() string

	// FilePid Значение пути и имени PID файла приложения.
	FilePid() string

	// FileState Значение пути и имени файла хранения состояния приложения.
	FileState() string

	// FileSocket Значение пути и имени сокет файла коммуникаций с приложением.
	FileSocket() string

	// ConfigurationUnionSprintf Печать объединённой конфигурации приложения в строку.
	ConfigurationUnionSprintf() (ret string)

	// ConfigurationByType Возвращает объект конфигурации соответствующий указанному типу объекта.
	// Если объект конфигурации с указанным типом не регистрировался, будет возвращена ошибка.
	ConfigurationByType(t reflect.Type) (ret interface{}, err error)

	// ConfigurationByTypeName Возвращает объект конфигурации соответствующий указанному названию типа объекта.
	// Если объект конфигурации с указанным типом не регистрировался, будет возвращена ошибка.
	ConfigurationByTypeName(typeName string) (ret interface{}, err error)

	// ConfigurationByObject Возвращает объект конфигурации соответствующий типу переданного объекта, сам переданный
	// объект никак не изменяется, он служит только для определения типа данных.
	// Если объект конфигурации с указанным типом не регистрировался, будет возвращена ошибка.
	ConfigurationByObject(o interface{}) (ret interface{}, err error)

	// ConfigurationCopyByObject Если существует конфигурация с типом данных идентичным переданному объекту,
	// тогда данные конфигурации копируются в переданный объект.
	// Если объект конфигурации с указанным типом не регистрировался, будет возвращена ошибка.
	// Объект должен передаваться по адресу, иначе его заполнение не возможно и будет возвращена ошибка.
	ConfigurationCopyByObject(o interface{}) (err error)

	// Errors Все ошибки известного состояния, которые может вернуть приложение или функция.
	Errors() *Error
}

Interface Интерфейс пакета.

func Get

func Get() Interface

Get Функция возвращает интерфейс объекта пакета.

func RegistrationMain

func RegistrationMain(fn kitTypes.MainFn) Interface

RegistrationMain Регистрация основной функции приложения.

type Recorder

type Recorder kitTypes.Logger

Recorder Интерфейс логирования

type RunlevelSubscriberFn

type RunlevelSubscriberFn func(old uint16, new uint16)

RunlevelSubscriberFn Тип функции для подписки на события изменения уровня работы приложения Функция вызывается каждый раз при изменении уровня работы приложения

type Version

type Version interface {
	// Major returns the major version
	Major() int64

	// Minor returns the minor version
	Minor() int64

	// Patch returns the patch version
	Patch() int64

	// Prerelease returns the pre-release version
	Prerelease() string

	// Metadata returns the metadata on the version
	Metadata() string

	// String converts a Version object to a string
	String() string

	// MarshalJSON implements JSON.Marshaler interface
	MarshalJSON() ([]byte, error)

	// UnmarshalJSON implements JSON.Unmarshaler interface
	UnmarshalJSON(b []byte) error
}

Version Интерфейс доступа к методам версии в семантике "Семантическое Версионирование 2.0.0"

Directories

Path Synopsis
cli
Package cli
Package cli
kong
Package kong
Package kong
kong/repr
Package repr
Package repr
Package _const
Package _const
Package cpy
Package cpy
Package reg
Package reg

Jump to

Keyboard shortcuts

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