* Copyright (C) 2022 Huawei Device Co., Ltd.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
export class TransferConfig extends Object {
private _fileSize: number = -1;
private _atime: number = -1;
private _mtime: number = -1;
private _options: string = '';
private _path: string = '';
private _optionalName: string = '';
private _updateIfNew: boolean = false;
private _compressType: number = CompressType.COMPRESS_NONE;
private _holdTimestamp: boolean = false;
private _functionName: string = '';
private _clientCwd: string = '';
private _reserve1: string = '';
private _reserve2: string = '';
constructor(
fileSize: number,
atime: number,
mtime: number,
options: string,
path: string,
optionalName: string,
updateIfNew: boolean,
compressType: number,
holdTimestamp: boolean,
functionName: string,
clientCwd: string,
reserve1: string,
reserve2: string
) {
super();
this._fileSize = fileSize;
this._atime = atime;
this._mtime = mtime;
this._options = options;
this._path = path;
this._optionalName = optionalName;
this._updateIfNew = updateIfNew;
this._compressType = compressType;
this._holdTimestamp = holdTimestamp;
this._functionName = functionName;
this._clientCwd = clientCwd;
this._reserve1 = reserve1;
this._reserve2 = reserve2;
}
get fileSize(): number {
return this._fileSize;
}
set fileSize(value: number) {
this._fileSize = value;
}
get atime(): number {
return this._atime;
}
set atime(value: number) {
this._atime = value;
}
get mtime(): number {
return this._mtime;
}
set mtime(value: number) {
this._mtime = value;
}
get options(): string {
return this._options;
}
set options(value: string) {
this._options = value;
}
get path(): string {
return this._path;
}
set path(value: string) {
this._path = value;
}
get optionalName(): string {
return this._optionalName;
}
set optionalName(value: string) {
this._optionalName = value;
}
get updateIfNew(): boolean {
return this._updateIfNew;
}
set updateIfNew(value: boolean) {
this._updateIfNew = value;
}
get compressType(): number {
return this._compressType;
}
set compressType(value: number) {
this._compressType = value;
}
get holdTimestamp(): boolean {
return this._holdTimestamp;
}
set holdTimestamp(value: boolean) {
this._holdTimestamp = value;
}
get functionName(): string {
return this._functionName;
}
set functionName(value: string) {
this._functionName = value;
}
get clientCwd(): string {
return this._clientCwd;
}
set clientCwd(value: string) {
this._clientCwd = value;
}
get reserve1(): string {
return this._reserve1;
}
set reserve1(value: string) {
this._reserve1 = value;
}
get reserve2(): string {
return this._reserve2;
}
set reserve2(value: string) {
this._reserve2 = value;
}
toString(): string {
return (
'fileSize: ' +
this._fileSize +
' atime: ' +
this._atime +
' mtime: ' +
this._mtime +
' options: ' +
this._options +
' path: ' +
this._path +
' optionalName: ' +
this._optionalName +
' updateIfNew: ' +
this._updateIfNew +
' compressType: ' +
this._compressType +
' holdTimestamp: ' +
this._holdTimestamp +
' functionName: ' +
this._functionName +
' clientCwd: ' +
this._clientCwd +
' reserve1: ' +
this._reserve1 +
' reserve2: ' +
this._reserve2
);
}
}
enum CompressType {
COMPRESS_NONE,
COMPRESS_LZ4,
COMPRESS_LZ77,
COMPRESS_LZMA,
COMPRESS_BROTLI,
}