Пример #1
0
bool SQLCache::childMailboxesFresh(const QString &mailbox) const
{
    queryChildMailboxesFresh.bindValue(0, mailboxName(mailbox));
    if (! queryChildMailboxesFresh.exec()) {
        emitError(QObject::tr("Query queryChildMailboxesFresh failed"), queryChildMailboxesFresh);
        return false;
    }
    return queryChildMailboxesFresh.first();
}
Пример #2
0
void SQLCache::setChildMailboxes(const QString &mailbox, const QList<MailboxMetadata> &data)
{
#ifdef CACHE_DEBUG
    qDebug() << "Setting child mailboxes for" << mailbox;
#endif
    touchingDB();
    QVariantList mailboxFields, parentFields, separatorFields, flagsFelds;
    Q_FOREACH(const MailboxMetadata& item, data) {
        mailboxFields << item.mailbox;
        parentFields << mailboxName(mailbox);
        separatorFields << item.separator;
        QByteArray buf;
        QDataStream stream(&buf, QIODevice::ReadWrite);
        stream.setVersion(streamVersion);
        stream << item.flags;
        flagsFelds << buf;
    }
Пример #3
0
class Mailbox * Command::mailbox()
{
    UString n = mailboxName();
    if ( n.isEmpty() )
        return 0;

    Mailbox * m = Mailbox::obtain( n, false );
    if ( !m ) {
        error( No, "No such mailbox: " + n.ascii() );
        return 0;
    }
    if ( m->deleted() ) {
        error( No, "Mailbox deleted: " + n.ascii() );
        return 0;
    }

    if ( !d->mailbox )
        d->mailbox = m;

    return m;
}
Пример #4
0
QList<MailboxMetadata> SQLCache::childMailboxes(const QString &mailbox) const
{
    QList<MailboxMetadata> res;
    queryChildMailboxes.bindValue(0, mailboxName(mailbox));
    if (! queryChildMailboxes.exec()) {
        emitError(QObject::tr("Query queryChildMailboxes failed"), queryChildMailboxes);
        return res;
    }
    while (queryChildMailboxes.next()) {
        MailboxMetadata item;
        item.mailbox = queryChildMailboxes.value(0).toString();
        item.separator = queryChildMailboxes.value(1).toString();
        QDataStream stream(queryChildMailboxes.value(2).toByteArray());
        stream.setVersion(streamVersion);
        stream >> item.flags;
        if (stream.status() != QDataStream::Ok) {
            emitError(QObject::tr("Corrupt data when reading child items for mailbox %1, line %2").arg(mailbox, item.mailbox));
            return QList<MailboxMetadata>();
        }
        res << item;
    }
    return res;
}
Пример #5
0
#ifdef CACHE_DEBUG
    qDebug() << "Setting child mailboxes for" << mailbox;
#endif
    touchingDB();
    QVariantList mailboxFields, parentFields, separatorFields, flagsFelds;
    Q_FOREACH(const MailboxMetadata& item, data) {
        mailboxFields << item.mailbox;
        parentFields << mailboxName(mailbox);
        separatorFields << item.separator;
        QByteArray buf;
        QDataStream stream(&buf, QIODevice::ReadWrite);
        stream.setVersion(streamVersion);
        stream << item.flags;
        flagsFelds << buf;
    }
    queryRemoveChildMailboxes.bindValue(0, mailboxName(mailbox));
    if (!queryRemoveChildMailboxes.exec()) {
        emitError(QObject::tr("Query queryRemoveChildMailboxes failed"), queryRemoveChildMailboxes);
        return;
    }
    querySetChildMailboxes.bindValue(0, mailboxFields);
    querySetChildMailboxes.bindValue(1, parentFields);
    querySetChildMailboxes.bindValue(2, separatorFields);
    querySetChildMailboxes.bindValue(3, flagsFelds);
    if (! querySetChildMailboxes.execBatch()) {
        emitError(QObject::tr("Query querySetChildMailboxes failed"), querySetChildMailboxes);
        return;
    }
}

SyncState SQLCache::mailboxSyncState(const QString &mailbox) const
Пример #6
0
Файл: user.cpp Проект: aox/aox
Mailbox * User::mailbox( const UString & name ) const
{
    return Mailbox::find( mailboxName( name ) );
}