Esempio n. 1
0
template <DbType Type> QofBackend*
new_backend ()
{
    QofBackend* be;
    const char* format;
    switch (Type)
    {
        case (DbType::DBI_SQLITE):
            format = SQLITE3_TIMESPEC_STR_FORMAT;
            break;
        case (DbType::DBI_MYSQL):
            format = MYSQL_TIMESPEC_STR_FORMAT;
            break;
        case (DbType::DBI_PGSQL):
            format = PGSQL_TIMESPEC_STR_FORMAT;
            break;
    }
    auto dbi_be = new GncDbiBackend(nullptr, nullptr, format);
    assert (dbi_be != nullptr);

    be = (QofBackend*)dbi_be;
    qof_backend_init (be);

    be->session_begin = gnc_dbi_session_begin<Type>;
    init_sql_backend (dbi_be);

    return be;
}
Esempio n. 2
0
template <DbType Type> QofBackend*
new_backend ()
{
    auto dbi_be = new GncDbiBackend(nullptr, nullptr);
    assert (dbi_be != nullptr);

    QofBackend* qof_be = reinterpret_cast<decltype(qof_be)>(dbi_be);
    qof_backend_init (qof_be);

    qof_be->session_begin = gnc_dbi_session_begin<Type>;
    init_sql_backend (dbi_be);

    return qof_be;
}