void HandlePresence(const buzz::Jid& From, const buzz::XmlElement* Stanza)
	{
		if (Stanza->Attr(buzz::QN_TYPE) != buzz::STR_ERROR) 
		{
			buzz::PresenceStatus Status;
			DecodeStatus(From, Stanza, &Status);
			SignalPresenceUpdate(Status);
		}
	}
Beispiel #2
0
int CMyProblem::PrintMIPSolution(ostream &out)
{
	glp_create_index(lp);
	out << "MIP solution" << endl;
	out << "Dir;" << ((glp_get_obj_dir(lp)==GLP_MIN) ? "min" : "max") << endl;
	out << "f;" << glp_mip_obj_val(lp) << endl; 
	out << "Status;" << DecodeStatus(glp_mip_status(lp)) << endl;
	PrintSolArray(lp,"x",out,true);
	PrintSolArray(lp,"y",out,true);
	glp_delete_index(lp);
	return 0;
}
Beispiel #3
0
int CMyProblem::PrintLPSolution(ostream &out)
{
	glp_create_index(lp);
	out << "LP solution" << endl;
	out << "Dir;" << ((glp_get_obj_dir(lp)==GLP_MIN) ? "min" : "max") << endl;
	out << "f; " << glp_get_obj_val(lp) << ";/*" << RealResult() << "*/" << endl; 
	out << "Status;" << DecodeStatus(glp_get_status(lp)) << endl;
	PrintSolArray(lp,"x",out);
	PrintSolArray(lp,"y",out);
	glp_delete_index(lp);
	return 0;
}
	void HandlePresence(const buzz::Jid& From, const buzz::XmlElement* Stanza)
	{
		if (Stanza->Attr(buzz::QN_TYPE) != buzz::STR_ERROR) 
		{
			// detect muc room specific presence updates
			if (FCStringAnsi::Strnicmp(MucDomain.c_str(), From.domain().c_str(), MucDomain.length()) == 0)
			{
				FXmppMucPresenceStatus MucStatus;
				DecodeMucStatus(From, Stanza, &MucStatus);
				MucSignalPresenceUpdate(MucStatus);
			}
			else
			{
				buzz::PresenceStatus Status;
				DecodeStatus(From, Stanza, &Status);
				SignalPresenceUpdate(Status);
			}
		}
	}
	void DecodeMucStatus(
		const buzz::Jid& From,
		const buzz::XmlElement* Stanza,
		FXmppMucPresenceStatus* MucPresenceStatus)
	{
		DecodeStatus(From, Stanza, MucPresenceStatus);
		if (Stanza->Attr(buzz::QN_TYPE) != buzz::STR_UNAVAILABLE)
		{
			const buzz::XmlElement* UserElem = Stanza->FirstNamed(buzz::QN_MUC_USER_X);
			if (UserElem != nullptr)
			{
				const buzz::XmlElement* UserItemElem = UserElem->FirstNamed(buzz::QN_MUC_USER_ITEM);
				if (UserItemElem != nullptr)
				{
					MucPresenceStatus->set_role(UserItemElem->Attr(buzz::QN_ROLE));
					MucPresenceStatus->set_affiliation(UserItemElem->Attr(buzz::QN_AFFILIATION));
				}
			}
		}

	}