//
//  OneShotTimer.m
//  ZeroRec/Komadori/ChariReco
//
//  Created by AIG-Soft on 2011/08/18.
//  Copyright 2011 AIG-Soft. All rights reserved.
//

#import "OneShotTimer.h"
#import "libs.h"

@implementation OneShotTimer

//--------------------------------------
// 1発タイマー処理
//--------------------------------------

-(void)stop
{
	printSelf();
	if (timer != nil)  {
		[timer invalidate];
		timer = nil;
		nslog(@"OneShotTimer off");
	}
}

-(BOOL)start:(NSTimeInterval)tm
// tm=インターバル
// リターン値 : YES=設定完了 , NO=タイマー停止
{
	printSelfs(@"%f",tm);
	
	// 前のタイマーがあるときはそれを止める
	[self stop];
	// 次のインターバルを設定する
	if (tm==None) {
		// その録画＝OFFのときはタイマーを止めるだけ
		return(NO);
	}
	// tm>0.0
	timer=[NSTimer timerWithTimeInterval:tm
								  target:target
								selector:selector
								userInfo:nil
								 repeats:NO // 一発
		   ];
	AddTimerToRunLoop(timer); // 実行ループにタイマーを追加する
	return (YES);
}

-(id)initWithTarget:(id)target_ selector:(SEL)selector_
{
	self=[super init];
	if (self!=nil) {
		target	= target_;
		selector= selector_;
	}
	return (self);
}

-(void)dealloc
{
	[self stop];
}

@end
