예제 #1
0
	void ChunkManager::createFiles(bool check_priority)
	{
		if (!bt::Exists(index_file))
		{
			File fptr;
			fptr.open(index_file,"wb");
		}
		cache->create();
		if (check_priority)
		{
			for (Uint32 i = 0;i < tor.getNumFiles();i++)
			{
				TorrentFile & tf = tor.getFile(i);
				connect(&tf,SIGNAL(downloadPriorityChanged(TorrentFile*, Priority, Priority )),
						this,SLOT(downloadPriorityChanged(TorrentFile*, Priority, Priority )));
				
				if (tf.getPriority() != NORMAL_PRIORITY)
				{
					downloadPriorityChanged(&tf,tf.getPriority(),tf.getOldPriority());
				}
			}
		}
	}
	void ChunkManager::createFiles(bool check_priority)
	{
		if (!bt::Exists(d->index_file))
		{
			File fptr;
			fptr.open(d->index_file,"wb");
		}
		d->cache->create();

		if (check_priority)
		{
			d->during_load = true; // for performance reasons
			for (Uint32 i = 0;i < tor.getNumFiles();i++)
			{
				TorrentFile & tf = tor.getFile(i);				
				if (tf.getPriority() != NORMAL_PRIORITY)
				{
					downloadPriorityChanged(&tf,tf.getPriority(),tf.getOldPriority());
				}
			}
			d->during_load = false;
			d->savePriorityInfo();
		}
	}