Files
sysprof/lib/sysprof.h
Christian Hergert b3bf7968ad capture: avoid GObject in libsysprof-capture-2.a
The point of this file was to be easily usable by applications that want
to generate capture files (or proxy them). The intention here is that we
only have SpCaptureReader/SpCaptureWriter (and associated bits necessary
to support that).

This makes sure that we do not use GObject from the libsysprof-capture-2.a
while still having GType's in the libsysprof-2.so dynamic library.

We also invert the GObject macro check so that the default is to not
register a GType which increases the chances that copy/paste code does
not run into double-registering a GType if used with an application that
links against libsysprof-2. (One such example could be if Gtk uses this
code for timers, as it would break Sysprof itself).
2018-05-21 13:52:16 -07:00

67 lines
1.8 KiB
C

/* sysprof.h
*
* Copyright (C) 2016 Christian Hergert <christian@hergert.me>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program 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 General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef SYSPROF_H
#define SYSPROF_H
#include <gio/gio.h>
G_BEGIN_DECLS
#define SYSPROF_INSIDE
#define SP_ENABLE_GOBJECT
# include "sp-address.h"
# include "sp-clock.h"
# include "sp-error.h"
# include "sysprof-version.h"
# include "callgraph/sp-callgraph-profile.h"
# include "capture/sp-capture-condition.h"
# include "capture/sp-capture-cursor.h"
# include "capture/sp-capture-reader.h"
# include "capture/sp-capture-writer.h"
# include "profiler/sp-local-profiler.h"
# include "profiler/sp-profile.h"
# include "profiler/sp-profiler.h"
# include "sources/sp-gjs-source.h"
# include "sources/sp-hostinfo-source.h"
# include "sources/sp-perf-source.h"
# include "sources/sp-proc-source.h"
# include "sources/sp-source.h"
# include "symbols/sp-elf-symbol-resolver.h"
# include "symbols/sp-jitmap-symbol-resolver.h"
# include "symbols/sp-kernel-symbol-resolver.h"
# include "symbols/sp-kernel-symbol.h"
# include "symbols/sp-symbol-dirs.h"
# include "symbols/sp-symbol-resolver.h"
# include "util/sp-map-lookaside.h"
# include "util/sp-selection.h"
#undef SP_ENABLE_GOBJECT
#undef SYSPROF_INSIDE
G_END_DECLS
#endif /* SYSPROF_H */