Ejemplo n.º 1
0
Roster::Roster(IXmppStream *AXmppStream, IStanzaProcessor *AStanzaProcessor) : QObject(AXmppStream->instance())
{
	FXmppStream = AXmppStream;
	FStanzaProcessor = AStanzaProcessor;

	FOpened = false;
	FVerSupported = false;

	IStanzaHandle itemHandle;
	itemHandle.handler = this;
	itemHandle.order = SHO_DEFAULT;
	itemHandle.direction = IStanzaHandle::DirectionIn;
	itemHandle.streamJid = FXmppStream->streamJid();
	itemHandle.conditions.append(SHC_ROSTER);
	FSHIRosterPush = FStanzaProcessor->insertStanzaHandle(itemHandle);

	IStanzaHandle subscrHandle;
	subscrHandle.handler = this;
	subscrHandle.order = SHO_DEFAULT;
	subscrHandle.direction = IStanzaHandle::DirectionIn;
	subscrHandle.streamJid = FXmppStream->streamJid();
	subscrHandle.conditions.append(SHC_PRESENCE);
	FSHISubscription = FStanzaProcessor->insertStanzaHandle(subscrHandle);

	FXmppStream->insertXmppStanzaHandler(XSHO_XMPP_FEATURE,this);

	connect(FXmppStream->instance(),SIGNAL(opened()),SLOT(onStreamOpened()));
	connect(FXmppStream->instance(),SIGNAL(closed()),SLOT(onStreamClosed()));
	connect(FXmppStream->instance(),SIGNAL(jidAboutToBeChanged(const Jid &)),SLOT(onStreamJidAboutToBeChanged(const Jid &)));
	connect(FXmppStream->instance(),SIGNAL(jidChanged(const Jid &)),SLOT(onStreamJidChanged(const Jid &)));
}
Ejemplo n.º 2
0
Presence::Presence(IXmppStream *AXmppStream, IStanzaProcessor *AStanzaProcessor) : QObject(AXmppStream->instance())
{
	FXmppStream = AXmppStream;
	FStanzaProcessor = AStanzaProcessor;

	FOpened = false;
	FShow = Offline;
	FPriority = 0;

	IStanzaHandle shandle;
	shandle.handler = this;
	shandle.order = SHO_DEFAULT;
	shandle.direction = IStanzaHandle::DirectionIn;
	shandle.streamJid = FXmppStream->streamJid();
	shandle.conditions.append(SHC_PRESENCE);
	FSHIPresence = FStanzaProcessor->insertStanzaHandle(shandle);

	connect(AXmppStream->instance(),SIGNAL(error(const QString &)),SLOT(onStreamError(const QString &)));
	connect(AXmppStream->instance(),SIGNAL(closed()),SLOT(onStreamClosed()));

	LogDetaile(QString("[Presence][%1] Presence created").arg(streamJid().bare()));
}