/** SGX

The   sss    gggg x   x   
     s      g      x x    Engine
      sss   g  gg   x
         s  g   g  x x          Copyright 1995-2009.
     ssss    gggg x   x         Steven Goodwin. All Rights Reserved.
    
This version has been released under the GNU Public License v2.0.

Please see the license files for details.

File: sgx/include/drivers/wintel32/filesystem/filesystem.hpp

*/

#ifndef SGX_DRIVERS_WINTEL32_FILESYSTEM_HPP
#define SGX_DRIVERS_WINTEL32_FILESYSTEM_HPP	1

#include "sgx/filesystem/filesystem.hpp"

#include "drivers/wintel32/device.hpp"

#include "drivers/wintel32/filesystem/win32disc.hpp"
#include "drivers/wintel32/filesystem/win32memorycard.hpp"


class CSGXDriverWintel32Filesystem : public CSGXFileSystem {
public:
	static CSGXFileSystem *create() {
		if (sm_pSingleton == NULL) {
			sm_pSingleton = new CSGXDriverWintel32Filesystem();
		}
		return sm_pSingleton;
	}

	virtual CSGXDevice *createDevice(const sgxString &path, const sgxString &access="rw") {
		return new CSGXDeviceWin32Disc(path, access);
	}

	virtual tCHAR getNativeDirectoryDelimiter() const {
		return '\\';
	}

};


#endif // SGX_DRIVERS_WINTEL32_FILESYSTEM_HPP
