本文整理汇总了C++中kopete::Message::to方法的典型用法代码示例。如果您正苦于以下问题:C++ Message::to方法的具体用法?C++ Message::to怎么用?C++ Message::to使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类kopete::Message
的用法示例。
在下文中一共展示了Message::to方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: send
void SMSClient::send(const Kopete::Message& msg)
{
kdWarning( 14160 ) << k_funcinfo << "m_account = " << m_account << " (should be non-zero!!)" << endl;
if (!m_account) return;
m_msg = msg;
KConfigGroup* c = m_account->configGroup();
QString provider = c->readEntry(QString("%1:%2").arg("SMSClient").arg("ProviderName"), QString::null);
if (provider.isNull())
{
KMessageBox::error(Kopete::UI::Global::mainWidget(), i18n("No provider configured"), i18n("Could Not Send Message"));
return;
}
QString programName = c->readEntry(QString("%1:%2").arg("SMSClient").arg("ProgramName"). QString::null);
if (programName.isNull())
programName = "/usr/bin/sms_client";
KProcess* p = new KProcess;
QString message = msg.plainBody();
QString nr = msg.to().first()->contactId();
*p << programName;
*p << provider + ":" + nr;
*p << message;
QObject::connect(p, SIGNAL(processExited(KProcess *)), this, SLOT(slotSendFinished(KProcess*)));
QObject::connect(p, SIGNAL(receivedStdout(KProcess*, char*, int)), this, SLOT(slotReceivedOutput(KProcess*, char*, int)));
QObject::connect(p, SIGNAL(receivedStderr(KProcess*, char*, int)), this, SLOT(slotReceivedOutput(KProcess*, char*, int)));
p->start(KProcess::Block, KProcess::AllOutput);
}
示例2: slotOutgoingMessage
void NowListeningPlugin::slotOutgoingMessage(Kopete::Message& msg)
{
// Only do stuff if autoadvertising is on
if(!NowListeningConfig::self()->chatAdvertising())
return;
QString originalBody = msg.plainBody();
// If it is a /media message, don't process it
if(originalBody.startsWith(NowListeningConfig::self()->header()))
return;
// What will be sent
QString newBody;
// Getting the list of contacts the message will be sent to to determine if at least
// one of them has never gotten the current music information.
Kopete::ContactPtrList dest = msg.to();
bool mustSendAnyway = false;
for( Kopete::Contact *c = dest.first() ; c ; c = dest.next() )
{
const QString& cId = c->contactId();
if( 0 == d->m_musicSentTo.contains( cId ) )
{
mustSendAnyway = true;
// The contact will get the music information so we put it in the list.
d->m_musicSentTo.push_back( cId );
}
}
bool newTrack = newTrackPlaying();
// We must send the music information if someone has never gotten it or the track(s)
// has changed since it was last sent.
if ( mustSendAnyway || newTrack )
{
QString advert = mediaPlayerAdvert(false); // false since newTrackPlaying() did the update
if( !advert.isEmpty() )
newBody = originalBody + "<br>" + advert;
// If we send because the information has changed since it was last sent, we must
// rebuild the list of contacts the latest information was sent to.
if( newTrack )
{
d->m_musicSentTo.clear();
for( Kopete::Contact *c = dest.first() ; c ; c = dest.next() )
{
d->m_musicSentTo.push_back( c->contactId() );
}
}
}
// If the body has been modified, change the message
if( !newBody.isEmpty() )
{
msg.setBody( newBody, Kopete::Message::RichText );
}
}
示例3: sendMessage
int MeanwhileSession::sendMessage(Kopete::Message &message)
{
HERE;
MeanwhileContact *contact =
static_cast<MeanwhileContact *>(message.to().first());
if (!contact) {
mwDebug() << "No target for message!" <<endl;
return 0;
}
struct mwIdBlock target = { strdup(contact->meanwhileId().toAscii()), 0L };
struct mwConversation *conv;
conv = mwServiceIm_getConversation(imService, &target);
free(target.user);
if (conv == 0L) {
mwDebug() << "No target for conversation with '"
<< contact->meanwhileId() << "'" << endl;
return 0;
}
struct ConversationData *convdata = (struct ConversationData *)
mwConversation_getClientData(conv);
if (convdata == 0L) {
convdata = createConversationData(conv, contact, true);
if (convdata == 0L) {
mwDebug() << "No memory for conversation data!" << endl;
return 0;
}
}
/* if there's other messages in the queue, or the conversation isn't open,
* then append to the queue instead of sending right away */
if ((convdata->queue && !convdata->queue->isEmpty()) ||
!mwConversation_isOpen(conv)) {
convdata->queue->append(message);
mwConversation_open(conv);
} else if (!mwConversation_send(conv, mwImSend_PLAIN,
message.plainBody().toAscii())) {
convdata->chat->appendMessage(message);
convdata->chat->messageSucceeded();
}
return 1;
}