#ifndef INCLUDED_UTILITY_NATIVEASSETDIR
#define INCLUDED_UTILITY_NATIVEASSETDIR

#include <string>
#include <vector>

class AAssetManager;
class AAssetDir;

//////////////////////////////////////////////////////////////
namespace Dubious {
namespace Utility {

class FilePath;
class NativeManager;
typedef std::vector<FilePath> FilePathVector;

/// @brief Provides access to the asset directory
///
/// Wraps up the native asset directory code from the NDK
class NativeAssetDir
{
public:
	/// @brief Destructor
	~NativeAssetDir();

	/// @brief get directory contents
	///
	/// Returns the full FilePath object for each file in this
	/// directory.  The FilePath is the full path from the
	/// assets directory
	/// @returns a vector of FilePath objects
	FilePathVector 		GetContents();

private:
	NativeAssetDir( AAssetManager& Manager, const FilePath& Path );
	NativeAssetDir( const NativeAssetDir& );
	NativeAssetDir& operator=( const NativeAssetDir& );

	friend class NativeManager;

	AAssetDir* 			m_pDir;

};

}
}

#endif
