void AnalyticsBinding::_SendEvent(const ValueList &args, KValueRef result)
{
	std::string eventString(args.GetString(0));
	{
		Poco::Mutex::ScopedLock lock(eventsLock);
		events.push(eventString);
	}
}
Beispiel #2
0
void TrackerClient::autoRequest(RequestEvent event)
{
	if (!checkRequestInterval(event))	return;
	if (!checkPendingRequest(event))	return;

	log(this) << QString::fromLatin1("Performing tracker [%1] request [%2, %3, %4, %5] for torrent [%6]").arg(URL.toString())
			.arg(QLatin1String(eventString(event).constData()))
			.arg(manager ? manager->getDownloaded() : 0)
			.arg(manager ? manager->getUploaded() : 0)
			.arg(manager ? manager->getLeft() : 0)
			.arg(QLatin1String(infoHash.toHex().constData())) << endl;

	socket->request(generateRequest(event));

	requestStopwatch.restart();
}
Beispiel #3
0
	// 全てのアドオンにロックオンイベントを送る
	void SendLockonEvent(IFunctionArguments& args, const char* eventName)
	{
		BGSListForm* list = GetQuestList();

		if (list && list->forms.count)
		{
			VMClassRegistry* registry = (*g_skyrimVM)->GetClassRegistry();
			IObjectHandlePolicy* policy = registry->GetHandlePolicy();
			BSFixedString eventString(eventName);

			for(int i = 0; i < list->forms.count; i++)
			{
				if (list->forms[i] && list->forms[i]->formType == kFormType_Quest)
				{
					TESQuest* quest = (TESQuest*)list->forms[i];
					if (quest && quest->IsRunning())
					{
						UInt64 handle = policy->Create(quest->kTypeID, quest);
						registry->QueueEvent(handle, &eventString, &args);
					}
				}
			}
		}
	}