File: bench-reporter.h

package info (click to toggle)
groonga 15.2.1%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 171,500 kB
  • sloc: ansic: 772,536; cpp: 51,530; ruby: 40,538; javascript: 10,250; yacc: 7,045; sh: 5,622; python: 2,821; makefile: 1,677
file content (62 lines) | stat: -rw-r--r-- 2,586 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
/*
  Copyright (C) 2008  Kouhei Sutou <kou@cozmixng.org>

  This library is free software; you can redistribute it and/or
  modify it under the terms of the GNU Lesser General Public
  License as published by the Free Software Foundation; either
  version 2.1 of the License, or (at your option) any later version.

  This library is distributed in the hope that it will be useful,
  but WITHOUT ANY WARRANTY; without even the implied warranty of
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  Lesser General Public License for more details.

  You should have received a copy of the GNU Lesser General Public
  License along with this library; if not, write to the Free Software
  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
*/

#ifndef __BENCH_REPORTER_H__
#define __BENCH_REPORTER_H__

#include <glib-object.h>

G_BEGIN_DECLS

#define BENCH_TYPE_REPORTER            (bench_reporter_get_type())
#define BENCH_REPORTER(obj)            (G_TYPE_CHECK_INSTANCE_CAST((obj), BENCH_TYPE_REPORTER, BenchReporter))
#define BENCH_REPORTER_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST((klass), BENCH_TYPE_REPORTER, BenchReporterClass))
#define BENCH_IS_REPORTER(obj)         (G_TYPE_CHECK_INSTANCE_TYPE((obj), BENCH_TYPE_REPORTER))
#define BENCH_IS_REPORTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), BENCH_TYPE_REPORTER))
#define BENCH_REPORTER_GET_CLASS(obj)  (G_TYPE_INSTANCE_GET_CLASS((obj), BENCH_TYPE_REPORTER, BenchReporterClass))

typedef struct _BenchReporter         BenchReporter;
typedef struct _BenchReporterClass    BenchReporterClass;

typedef void (*BenchSetupFunc)    (gpointer user_data);
typedef void (*BenchFunc)         (gpointer user_data);
typedef void (*BenchTeardownFunc) (gpointer user_data);

struct _BenchReporter
{
  GObject object;
};

struct _BenchReporterClass
{
  GObjectClass parent_class;
};

GType           bench_reporter_get_type  (void) G_GNUC_CONST;

BenchReporter  *bench_reporter_new       (void);
void            bench_reporter_register  (BenchReporter     *reporter,
                                          const gchar       *label,
                                          gint               n,
                                          BenchSetupFunc     bench_setup,
                                          BenchFunc          bench,
                                          BenchTeardownFunc  bench_teardown,
                                          gpointer           data);
void            bench_reporter_run       (BenchReporter     *reporter);

#endif /* __BENCH_REPORTER_H__ */