import {ResultEnum} from '../../common/lang/ResultEnum';
import {Thread} from './Thread';
//==========================================================
// 监听线程。
//
// @class
// @author maocy
// @version 160306
//==========================================================
export class InvokeThread extends Thread {
// 拥有着
public owner: any;
// 回调处理
public callback: Function;
//==========================================================
// 构造处理。
//
// @param owner 调用者
// @param callback 回调处理
//==========================================================
public constructor(owner: any, callback: Function, interval?: number) {
super();
this.owner = owner;
this.callback = callback;
if (interval != null) {
this.interval = interval;
}
}
//==========================================================
// 调用处理。
//
// @return 处理结果
//==========================================================
public onProcess(): ResultEnum {
this.callback.call(this.owner);
return ResultEnum.Success;
}
//==========================================================
// 释放处理。
//==========================================================
public dispose(): void {
// 释放处理
this.owner = null;
this.callback = null;
// 父处理
super.dispose();
}
}