// This file is autogenerated: please see the codegen template "Options"
#ifndef PDFTRON_H_CPPPDFConversionOptions
#define PDFTRON_H_CPPPDFConversionOptions

#include <SDF/ObjSet.h>

namespace pdftron{ namespace PDF{ 

class ConversionOptions
{
public:
	ConversionOptions();
	ConversionOptions(const UString& value);

	virtual ~ConversionOptions();

	/**
	* Gets the value of FileExtension from the options object
	* Override file extension used to determine conversion type.
	* @return a UString, the current value for FileExtension.
	*/
	UString GetFileExtension();

	/**
	* Sets the value for FileExtension in the options object
	* Override file extension used to determine conversion type.
	* @param value: the new value for FileExtension
	* @return this object, for call chaining
	*/
	ConversionOptions& SetFileExtension(const UString& value);

	/**
	* Gets the value of EnableExternalMediaDownloads from the options object used
	* to determine if downloading external resources is allowed during conversion.
	* @return a boolean value, the current value for EnableExternalMediaDownloads.
	*/
	bool GetEnableExternalMediaDownloads();

	/**
	* Sets the value for EnableExternalMediaDownloads in the options object used
	* to determine if downloading external resources is allowed during conversion.
	* @param value: the new value for EnableExternalMediaDownloads.
	* @return this object, for call chaining.
	*/
	ConversionOptions& SetEnableExternalMediaDownloads(bool value);

	// @cond PRIVATE_DOC
	#ifndef SWIGHIDDEN
	SDF::Obj& GetInternalObj();

protected:
	SDF::ObjSet m_obj_set;
	SDF::Obj m_dict;
	#endif
};

}
}

#include "../Impl/ConversionOptions.inl"
#endif // PDFTRON_H_CPPPDFConversionOptions
