Ejemplo n.º 1
0
Shortcuts::Shortcuts()
{
	Changed = false;

	auto cfg = Global->Db->CreateShortcutsConfig();
	auto root = cfg->GetKeyID(0,FolderShortcutsKey);

	if (root)
	{
		for_each_cnt(RANGE(Items, i, size_t index)
		{
			i.clear();
			unsigned __int64 key = cfg->GetKeyID(root, std::to_wstring(index));
			if (key)
			{
				for(size_t j=0; ; j++)
				{
					const auto sIndex = std::to_wstring(j);

					ShortcutItem Item;
					if (!cfg->GetValue(key, RecTypeName[PSCR_RT_SHORTCUT] + sIndex, Item.strFolder))
						break;

					cfg->GetValue(key, RecTypeName[PSCR_RT_NAME] + sIndex, Item.strName);

					string strPluginGuid;
					cfg->GetValue(key, RecTypeName[PSCR_RT_PLUGINGUID] + sIndex, strPluginGuid);
					if(!StrToGuid(strPluginGuid, Item.PluginGuid))
						Item.PluginGuid=FarGuid;

					cfg->GetValue(key, RecTypeName[PSCR_RT_PLUGINFILE] + sIndex, Item.strPluginFile);
					cfg->GetValue(key, RecTypeName[PSCR_RT_PLUGINDATA] + sIndex, Item.strPluginData);

					i.emplace_back(std::move(Item));
				}
			}
		});
Ejemplo n.º 2
0
char * TrackerConnection::GetTrackerURL(TorrentFileData * tf, const char *url, char * peer_id) 
{
	char * trackerURL = new char[512];

	char temp[2];
	strcpy(temp, " ");
	strcpy(trackerURL, "");
	for(int i = 0; i < (int)strlen(url); i++) {  // gets rid of extra spaces
		temp[0] = url[i];
		if(temp[0] != ' ') {
			strcat(trackerURL, temp);
		}
	}

	int port;
	char cport[5+1];
	port = rand()%10 + 49100;
	_itoa(port,cport,10);

	strcat(trackerURL, "?info_hash=");
	strcat(trackerURL, ConvertToHash(tf->m_hash).c_str());
	strcat(trackerURL, "&peer_id=");
	strcat(trackerURL, peer_id);
	strcat(trackerURL, "&port=");
	strcat(trackerURL, cport);
	strcat(trackerURL, "&uploaded=");
	strcat(trackerURL, "0");
	strcat(trackerURL, "&downloaded=0&left=");
	strcat(trackerURL, "0");
	strcat(trackerURL, "&numwant=1000");
	strcat(trackerURL, "&compact=1&key=");

	char * key_id = GetKeyID();

	strcat(trackerURL, key_id);

	delete [] key_id;

	return trackerURL;
}