コード例 #1
0
ファイル: inbox.cpp プロジェクト: TonyAlloa/miranda-dev
HANDLE FindNetUserHandle(LPCSTR acc)
{
    IJabberInterface *ji = getJabberApi(acc);
    if (!ji) return NULL;

    PBYTE m_psProto = *(PBYTE*)((PBYTE)ji + sizeof(*ji));	// see CJabberInterface	in jabber_proto.h

    PHANDLE pResult = (PHANDLE)(m_psProto +					// see CJabberProto in jabber_proto.h
                                sizeof(PVOID) +										// skip vtable ptr
                                sizeof(PVOID) +										// skip m_ThreadInfo
                                SIZE_OF_JABBER_OPTIONS);							// skip m_options

    //for (int i=0; i < 100; i++) {
    //	__try {
    //		if (GetNetlibHandleType(*pResult) == NLH_USER)
    //			MessageBox(0, L"1", L"1", 0);
    //	}
    //	__except (EXCEPTION_EXECUTE_HANDLER){
    //		AllocConsole();
    //	}
    //	pResult++;
    //}

    if (GetNetlibHandleType(*pResult) != NLH_USER)
        pResult += 4;

    if (GetNetlibHandleType(*pResult) != NLH_USER)
        pResult += 4;

    if (GetNetlibHandleType(*pResult) != NLH_USER)
        pResult += 4;

    assert(GetNetlibHandleType(*pResult) == NLH_USER);
    return *pResult;
}
コード例 #2
0
ファイル: inbox.cpp プロジェクト: Seldom/miranda-ng
HANDLE FindNetUserHandle(LPCSTR acc)
{
	IJabberInterface *ji = getJabberApi(acc);
	if (!ji)
		return NULL;

	return ji->GetHandle();
}
コード例 #3
0
LPCSTR GetJidAcc(LPCTSTR jid)
{
	int count = 0;
	PROTOACCOUNT **protos;
	Proto_EnumAccounts(&count, &protos);
	for (int i = 0; i < count; i++) {
		if (getJabberApi(protos[i]->szModuleName)) {
			ptrT tszJid(db_get_tsa(0, protos[i]->szModuleName, "jid"));
			if (!mir_tstrcmpi(jid, tszJid))
				return protos[i]->szModuleName;
		}
	}

	return NULL;
}
コード例 #4
0
ファイル: handlers.cpp プロジェクト: martok/miranda-ng
static void sttCreateInstance(LPCSTR szModuleName)
{
	IJabberInterface *japi = getJabberApi(szModuleName);
	if (japi == NULL)
		return;

	ptrA host(db_get_sa(NULL, szModuleName, "ManualHost"));
	if (host == NULL || strcmp(host, "talk.google.com"))
		return;

	GoogleTalkAcc *gta = new GoogleTalkAcc();
	gta->m_japi = japi;
	gta->m_pa = ProtoGetAccount(szModuleName);
	g_accs.insert(gta);

	// Google Shared Status (http://code.google.com/apis/talk/jep_extensions/shared_status.html)
	japi->AddIqHandler(::OnIqResultGoogleSharedStatus, JABBER_IQ_TYPE_SET, JABBER_FEAT_GTALK_SHARED_STATUS, NULL);
	japi->AddIqHandler(::OnIqResultGoogleSharedStatus, JABBER_IQ_TYPE_GET, JABBER_FEAT_GTALK_SHARED_STATUS, NODENAME_QUERY);

	japi->AddSendHandler(SendHandler);
}