public final boolean deleteVFS()
	{
		if(!exists()) return false;
		if(!canWrite()) return false;
		if(CMath.bset(vfsBits, CMFile.VFS_MASK_NODELETEANY))
			return false;
		if(!mayDeleteIfDirectory()) return false;
		if(canVFSEquiv())
		{
			String name=getVFSPathAndName();
			if(isDirectory()) name=name+"/";
			final CMVFSFile info=getVFSInfo(name);
			if(info==null)
				return false;
			CMLib.database().DBDeleteVFSFile(info.path);
			getVFSDirectory().delete(info);
			return true;
		}
		return false;
	}