import type { IVersion } from '../../common/types/IVersion.ts' import type { IAppProcessInfoParams } from '../types/IAppProcessInfoParams.ts' import type { IWindowFormConfig } from '../../window/types/IWindowFormConfig.ts' import type { IProcessInfo } from '@/core/process/IProcessInfo.ts' export class ProcessInfoImpl implements IProcessInfo { /** * 应用进程名称 * @private */ private readonly _name: string; /** * 应用进程标题 * @private */ private readonly _title: string; /** * 应用进程描述 * @private */ private readonly _description: string; /** * 应用进程图标 * @private */ private readonly _icon: string; /** * 应用进程启动入口 * 对应windowFrom参数name * @private */ private readonly _startName: string; /** * 应用版本信息 * @private */ private readonly _version: IVersion; /** * 应用是否只存在一个进程 * @private */ private readonly _singleton: boolean; /** * 是否只是一个进程 * @private */ private readonly _isJustProcess: boolean; /** * 进程所有的窗口配置信息 * @private */ private readonly _windowFormConfigs: Array; constructor(info: IAppProcessInfoParams) { this._name = info.name; this._title = info.title || ''; this._description = info.description || ''; this._icon = info.icon; this._startName = info.startName || ''; this._version = info.version || { company: 'XZG', major: 1, minor: 0, build: 0, private: 0 }; this._singleton = info.singleton; this._isJustProcess = info.isJustProcess; this._windowFormConfigs = info.windowFormConfigs || []; } public get name() { return this._name; } public get title() { return this._title; } public get description() { return this._description; } public get icon() { return this._icon; } public get startName() { return this._startName; } public get version() { return this._version; } public get singleton() { return this._singleton; } public get isJustProcess() { return this._isJustProcess; } public get windowFormConfigs() { return this._windowFormConfigs; } }