static void
do_count (QofInstance * invoice_p, gpointer count_p)
{
    int *count = count_p;
    if (invoice_should_be_saved ((GncInvoice *)invoice_p))
        (*count)++;
}
static void
do_count (QofInstance* invoice_p, gpointer count_p)
{
    int* count = static_cast<decltype (count)> (count_p);
    if (invoice_should_be_saved ((GncInvoice*)invoice_p))
        (*count)++;
}
Exemple #3
0
static void
write_single_invoice( QofInstance *term_p, gpointer data_p )
{
    write_objects_t* s = (write_objects_t*)data_p;

    g_return_if_fail( term_p != NULL );
    g_return_if_fail( GNC_IS_INVOICE(term_p) );
    g_return_if_fail( data_p != NULL );

    if ( s->is_ok && invoice_should_be_saved( GNC_INVOICE(term_p) ) )
    {
        s->is_ok = save_invoice( s->be, term_p );
    }
}
Exemple #4
0
static void
write_single_invoice (QofInstance* term_p, gpointer data_p)
{
    auto s = reinterpret_cast<write_objects_t*>(data_p);

    g_return_if_fail (term_p != NULL);
    g_return_if_fail (GNC_IS_INVOICE (term_p));
    g_return_if_fail (data_p != NULL);

    if (s->is_ok && invoice_should_be_saved (GNC_INVOICE (term_p)))
    {
        s->commit (term_p);
    }
}
static void
xml_add_invoice (QofInstance* invoice_p, gpointer out_p)
{
    xmlNodePtr node;
    GncInvoice* invoice = (GncInvoice*) invoice_p;
    FILE* out = static_cast<decltype (out)> (out_p);

    if (ferror (out))
        return;
    if (!invoice_should_be_saved (invoice))
        return;

    node = invoice_dom_tree_create (invoice);
    xmlElemDump (out, NULL, node);
    xmlFreeNode (node);
    if (ferror (out) || fprintf (out, "\n") < 0)
        return;
}