Example #1
0
bool QMailAccount::canCollectMail() const
{
    if ( accountType() == QMailAccount::Synchronized ||
         accountType() == QMailAccount::SMS ||
         accountType() == QMailAccount::MMS ||
         accountType() == QMailAccount::System )
        return false;
    return true;
}
Example #2
0
bool QMailAccount::hasSettings() const
{
    switch( accountType() ) {
        case QMailAccount::SMS:
            return false;
        default:
            return true;
    }
}
Example #3
0
bool Account::checkSupported()
{
    Settings &settings = Settings::instance();
    // Read user id, start/end dates, account type
    std::string userId, startDate, endDate, accountType("true"), sign;
    bool supported = settings.getBool("account/supported", false);
    if(!supported) {
        warningMessage(_("Account is not supported"));
        return false;
    }

    userId = settings.getString("account/user_id", "");
    startDate = settings.getString("account/start_date", "");
    endDate = settings.getString("account/end_date", "");
    sign = settings.getString("account/sign", "");

    std::string baMessage = userId + startDate + endDate + accountType;

    GByte *key = reinterpret_cast<GByte*>(CPLStrdup(sign.c_str()));
    int nLength = CPLBase64DecodeInPlace(key);
    std::string baSignature;
    baSignature.assign(reinterpret_cast<const char*>(key),
                       static_cast<size_t>(nLength));
    memset(key, 0, baSignature.size());
    CPLFree(key);

    bool verify = verifyRSASignature(
                reinterpret_cast<const unsigned char*>(baMessage.c_str()),
                static_cast<unsigned int>(baMessage.size()),
                reinterpret_cast<const unsigned char*>(baSignature.c_str()),
                static_cast<unsigned int>(baSignature.size()));
    if(!verify) {
        return false;
    }

    time_t current = time(nullptr);
    time_t start = timeFromString(startDate.c_str());
    time_t end = timeFromString(endDate.c_str());
    bool out = current >= start && current <= end;
    if(!out) {
        warningMessage(_("Account is supported. Verify success. Period expired."));
    }
    return out;
}
Example #4
0
bool ReportAccount::isLiquidLiability() const
{
  return accountType() == MyMoneyAccount::CreditCard;

}