101 lines
2.2 KiB
TypeScript
101 lines
2.2 KiB
TypeScript
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<IWindowFormConfig>;
|
|
|
|
constructor(info: IAppProcessInfoParams) {
|
|
this._name = info.name;
|
|
this._title = info.title || '';
|
|
this._description = info.description || '';
|
|
this._icon = <string> 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;
|
|
}
|
|
} |