/*
 * See the files COPYING and README for copyright information and how to reach
 * the author.
 *
 *  $Id: setup.h,v 1.7 2006/04/24 19:43:37 lordjaxom Exp $
 */

#ifndef VDR_BURN_SETUP_H
#define VDR_BURN_SETUP_H

#include "common.h"
#include <string>
#include <vdr/menuitems.h>

namespace vdr_burn
{

// --- cBurnParameters --------------------------------------------------------

struct cBurnParameters
{
	cBurnParameters(void);

	bool ProcessArgs(int argc, char **argv);

	std::string DataPath;
	std::string TempPath;
	std::string DvdDevice;
	std::string IsoPath;
};

extern cBurnParameters BurnParameters;

// --- cBurnSetup -------------------------------------------------------------

struct cBurnSetup
{
	cBurnSetup(void);

	bool SetupParse(const char *Name, const char *Value);

	int UseIso2UTF;
	int RemovePath;
	int OfferChapters;
	int OfferDiskSize;
	int OfferStoreMode;
	eChaptersMode ChaptersMode;
	eStoreMode StoreMode;
	disk_size::type DiskSize;
	int CustomDiskSize;
	int BurnSpeed;
	demux_type::type DemuxType;
};

extern cBurnSetup BurnSetup;

// --- cBurnMenuSetupPage -----------------------------------------------------

class cBurnMenuSetupPage: public cMenuSetupPage
{
private:
	cBurnSetup mData;

protected:
	virtual void Store(void);

public:
	cBurnMenuSetupPage(void);
};

}

#endif // VDR_BURN_SETUP_H
