//
//  RootViewController.h
//  ZeroRec/Komadori
//
//  Created by AIG-Soft on 11/02/24.
//  Copyright 2011 AIG-Soft. All rights reserved.
//

#import <UIKit/UIKit.h>
#import "RecViewController.h"
#ifdef USE_BATTERY
@class Battery;
#endif
#ifdef USE_BLUETOOTH
#import "Bluetooth.h"
@class RemoteViewController;
#endif

//#define DISABLE_UPSIDE_REC	// 上下、不明方向での録画開始を禁止するかどうか

@interface RootViewController : UIViewController
<RecViewControllerDelegate
#ifdef USE_BLUETOOTH
,BluetoothDelegate
#endif
>
{
	// 実体
#ifdef USE_BLUETOOTH
	Bluetooth		*bluetooth;		// BT接続用
#endif
#ifdef USE_COLORSELECT
	CGPoint			atrbPoint;		// 日時写しこみ位置
#endif
	NSUInteger		aviPics;		// AVI保存単位での枚数<setup.maxPics(avi.h)/保存回数
	BOOL			fsaveAlbum;		// アルバムへのコピーが終わるのを待つためのフラグ
	UIColor			*winColor;		// windowの背景色
#ifdef DISABLE_UPSIDE_REC
	LimitedSymbol	*alertSymbol;	// ↓の制御用
#endif
	// IBOutletの付いているものは、IBとの接続があるので、コンパイル条件にかかわらずメンバーは残すこと
	IBOutlet	__weak	UIImageView	*imageAlert;
	IBOutlet	__weak	UIButton *btnBluetoothStatus;
	// 表示
	IBOutlet	UIView		*infoView;
}
#ifdef USE_BLUETOOTH
@property (nonatomic ,strong) RemoteViewController		*remoteViewController;
#endif
@property (nonatomic ,weak) IBOutlet	UIImageView 	*imageView;
@property (nonatomic ,weak) IBOutlet	UILabel 		*labelDate;
@property (nonatomic ,weak) IBOutlet	UILabel 		*labelLatest;
@property (nonatomic ,weak) IBOutlet	UILabel 		*labelPictures;
@property (nonatomic ,weak) IBOutlet	UILabel			*labelAlarm;
@property (nonatomic ,weak) IBOutlet	UIBarButtonItem *btnBluetooth;	// BTリモコンモード
@property (nonatomic ,weak) IBOutlet	UIBarButtonItem *btnRecPrepare;
@property (nonatomic) CGFloat   quality;				// 圧縮率
@property (nonatomic) CGRect	imageSize;				// 保存画像サイズ
@property (nonatomic ,copy  ) NSString *aviPath;		// フルパス名（作成時）
@property (nonatomic ,copy  ) NSString *aviPathDelete;	// フルパス名（削除用コピー）
@property (nonatomic ,copy  ) NSFileHandle *fhAVI;		// AVIファイルハンドラー

NSString *labelAlarmDisplay(UILabel *lblAlarm,NSUInteger event);

enum { // ToolBarのスイッチのTAG番号
	BUTTON_HELP=0
,	BUTTON_REC
,	BUTTON_SETTING
,	BUTTON_BLUETOOTH
,	BUTTON_BLUETOOTH_HOST
};
-(IBAction)buttonAction:(id)sender;
-(void)buttonRec;

-(void)fileError:(NSNotification *)notification;
// 通知名
#define	NOTIFICATION_FILE_ERR	@"FileError"	// ファイルエラー
// そのuserInfo辞書のキー名
#define	KEY_ERRNAME		@"errname"
#define	KEY_EXCEPTION	@"exception"

#define	FileError(title,errname,exception)	{	\
	NSDictionary *errInfo=[NSDictionary dictionaryWithObjectsAndKeys:errname,KEY_ERRNAME,exception,KEY_EXCEPTION,nil];	\
	[[NSNotificationCenter defaultCenter]postNotificationName:NOTIFICATION_FILE_ERR object:title userInfo:errInfo];	}


#define keyPictures			@"Pictures%02d"
#define	keyLatestPicture	@"LatestPicture"
-(void)loadLatestPicture;

#ifdef USE_BLUETOOTH
-(void)endOfBluetooth;
-(void)disconnectBluetooth:(BOOL)fwithCommand;
#endif

@end
