summaryrefslogtreecommitdiff
path: root/tools
Commit message (Collapse)AuthorAgeFilesLines
* gmmproc: Add DocsParser::remove_c_memory_handling_info()Kjell Ahlstedt2016-08-111-14/+58
| | | | | | When C documentation is converted to C++ documentation, remove sentences that contain g_free, g_strfreev, g_list_free or g_slist_free. https://mail.gnome.org/archives/gtkmm-list/2016-August/msg00017.html
* gmmproc: Remove DocsParser::non_object_method_name()Kjell Ahlstedt2016-08-091-34/+1
| | | | | | | This function was superseded by gtk_extra_objects.defs 6 years ago. The substitution gtk_drag_source => Gtk::DragSource is lost with this patch, but that substitution was wrong. There is no Gtk::DragSource class or namespace.
* gmmproc: swap() implementations: Use std::swap().Murray Cumming2016-07-282-6/+2
| | | | Because this simplifies the code.
* gmmproc: Make h2def.py recognize some GDK_PIXBUF macrosKjell Ahlstedt2016-06-151-5/+6
| | | | | | gdk-pixbuf has added macros such as GDK_PIXBUF_DEPRECATED* and GDK_PIXBUF_AVAILABLE* in the header files. h2def.py must recognize those macros in order to successfully decode the function declarations.
* gmmproc: Add optional argument err_return_value in _WRAP_VFUNCKjell Ahlstedt2016-06-023-13/+28
| | | | | | | | * tools/m4/vfunc.m4: * tools/pm/Output.pm: * tools/pm/WrapParser.pm: Add the optional argument err_return_value in _WRAP_VFUNC. This return value, if specified, applies only when the C++ vfunc throws an exception, which is propagated to the C callback function.
* gmmproc: Discard unused m4 sectionsKjell Ahlstedt2016-05-251-1/+1
| | | | | | | tools/m4/base.m4: At the end of the _END macro, discard all remaining sections. m4_divert(-1) + m4_undivert() was probably meant to do just that, but it does nothing. m4_divert(-1) + m4_undivert, without parentheses, discards all remaining sections. Bug #756593
* Remove trailing whitespace.Murray Cumming2016-05-1612-50/+50
|
* Gio::DBus::Proxy: allow using GDBusProxy* conversion outside DBus namespaceMarcin Kolny2016-04-051-1/+1
| | | | | | * gio/src/dbusproxy.hg: fix _WRAP_METHOD usage * tools/m4/convert_gio.m4: update converstion definition - use Gio::DBus::Proxy instead of Proxy.
* h2def.py: strip G_DECLARE_FINAL_TYPE macro callMarcin Kolny2016-04-051-0/+4
|
* gmmproc: Add 'deprecated' option in _WRAP_ENUM and _WRAP_GERRORKjell Ahlstedt2016-04-036-116/+176
| | | | | | | | | | | | | * tools/m4/enum.m4: * tools/m4/gerror.m4: Surround code and documentation by #ifndef xxx_DISABLE_DEPRECATED, if it's deprecated. * tools/pm/DocsParser.pm: lookup_enum_documentation(): Move the parsing of options to WrapParser. Add deprecation docs, if any. * tools/pm/Enum.pm: build_element_list(): Move the parsing of options to WrapParser. * tools/pm/Output.pm: output_wrap_enum(), output_wrap_enum_docs_only(), output_wrap_gerror(): Handle deprecation docs. * tools/pm/WrapParser.pm: Parse options in the new on_wrap_any_enum() function.
* Fix some Doxygen warningsKjell Ahlstedt2016-04-031-3/+4
| | | | | | | | * glib/glibmm/property.h: More code within #ifndef DOXYGEN_SHOULD_SKIP_THIS. * glib/src/bytearray.hg: Change parameter name index_ to index. * tools/pm/DocsParser.pm: When the C parameter name does not coincide with the C++ name, change to the C++ name in the documentation also when the C name ends with an underscore.
* gmmproc: _CLASS_GOBJECT(): allow provide custom moveMarcin Kolny2016-04-011-0/+15
| | | | | | | | | | operations. If class contains movable fields, custom move constructor and move assignment operator should be provided. Use macro _CUSTOM_MOVE_OPERATIONS for NOT generating default move operations. https://bugzilla.gnome.org/show_bug.cgi?id=756593
* C++11: gmmproc: Use using instead of typedef.Murray Cumming2016-03-3110-38/+38
|
* C++11: .h/.cc files: Replace typedefs with using.Murray Cumming2016-03-311-1/+1
|
* generate_extra_defs: Check for deprecated signals and propertiesKjell Ahlstedt2016-03-101-2/+6
| | | | | tools/extra_defs_gen/generate_extra_defs.cc: Mark deprecated signals and properties as such in the generated .defs file.
* gmmproc: Check if signals and properties are deprecated appropriatelyKjell Ahlstedt2016-03-104-12/+68
| | | | | | | | | * tools/pm/GtkDefs.pm: * tools/pm/Property.pm: Search for (deprecated #t) in the *_signals.defs file. * tools/pm/Output.pm: * tools/pm/WrapParser.pm: Warn if a signal, property or child property is deprecated in the .defs file, but not in the _WRAP_* macro, and the whole file is not deprecated (no _IS_DEPRECATED).
* Run clang-format on tools/Murray Cumming2016-02-264-214/+166
|
* gmmproc: Fix errthrow in _WRAP_VFUNCKjell Ahlstedt2016-02-251-17/+25
| | | | | | * tools/m4/vfunc.m4: Propagate a Glib::Error exception to GError** error. Don't throw an exception in the callback function, called from C code. Bug #762437
* gmmproc: _MEMBER_GET: Remove extra spaces, indenting and trailing.Murray Cumming2016-02-111-24/+24
| | | | | | | By changing ) dnl to )dnl
* gmmproc: Add NULL option to _WRAP_METHODKjell Ahlstedt2016-02-042-6/+22
| | | | | | | | | * tools/pm/Function.pm: * tools/pm/Output.pm: Accept {NULL} or {!NULL} after the name of a string parameter in _WRAP_METHOD. It specifies how to translate an empty string to a C string. {NULL}: nullptr, {!NULL}: pointer to an empty string. Both {NULL} and {!NULL} can be useful, because the default translation is different for mandatory and optional ({?}) parameters.
* Glib::SignalProxy: use variadic templatesMarcin Kolny2016-01-211-12/+12
| | | | | | | | | | | | | | | * .gitignore: signalproxy.h file is no more generated, so it has been removed from ignored list. * gio/src/application.{ccg|hg}: don't use old-style SignalProxy class. * glib/glibmm/filelist.am: add signalproxy.h file to distributed files list. * gio/glibmm/signalproxy.h: add implementation of SignalProxy and SignalProxyDetailedAnyType. * glib/src/filelist.am: * glib/src/signalproxy.h.m4: signalproxy.h is not generated, thus remove m4 file. * tools/m4/signal.m4: use new SignalProxy class instead of SignalProxy*.
* h2def.py: Accept parameter names beginning with constKjell Ahlstedt2016-01-111-1/+1
| | | | | | h2def.py misunderstood function declarations where the name of a parameter begins with const, e.g. ClutterBindConstraint *constraint. https://mail.gnome.org/archives/gtkmm-list/2016-January/msg00004.html
* C++11: gmmproc: GObject/GInterface: Use override on destructor.Murray Cumming2015-12-242-2/+2
| | | | | | Don't repeat the virtual declaration from Glib::ObjectBase's destructor. Instead use override to show that we expect the base destructor to be virtual.
* gmmproc: _CONFIGINCLUDE() + _IS_DEPRECATED = #include in .cc fileKjell Ahlstedt2015-12-051-5/+19
| | | | | | | | | | * tools/m4/base.m4: If both _CONFIGINCLUDE() and _IS_DEPRECATED are used in the .hg file, then #include <xxxconfig.h> is included before ifndef xxx_DISABLE_DEPRECATED in the generated .cc file. This is useful if the mm module is configured with --disable-deprecated-api, because xxx_DISABLE_DEPRECATED is defined in the config file. The .cc file can be compiled, but does not generate any executable code. No need to exclude it from the build by tampering with the filelist.am file.
* gmmproc: Use nullptr instead of 0,NULL,zero in some commentsKjell Ahlstedt2015-11-222-4/+4
| | | | | | | | * tools/pm/DocsParser.pm: Replace NULL by nullptr, when C comments are converted to C++ comments. In many cases "an empty string" would be a better replacement text, but it's difficult to automatically decide when "nullptr" is not correct. * tools/pm/Output.pm: Use nullptr where appropriate in comments.
* gmmproc: Fix a test in Output.pm::get_ctor_properties()Kjell Ahlstedt2015-11-221-2/+2
| | | | | | | * tools/pm/Output.pm: A test whether a parameter is optional was messed up in such a way that it was always true. The test is just a precaution. In all normal cases the result of a correct test is also true. Probably the error has not affected the code generation from any correct .hg file.
* gmmproc: Use nullptr instead of 0.Murray Cumming2015-11-204-17/+17
|
* Use nullptr intead of 0 in some generated code.Murray Cumming2015-11-191-1/+1
|
* Use nullptr instead of 0.Murray Cumming2015-11-191-1/+1
|
* gmmproc: _CLASS_GOBJECT(): Move = deleted stuff to public.Murray Cumming2015-09-221-4/+4
| | | | | It doesn't seem useful as private. The other classes already do this correctly.
* Add GListStore .defsMurray Cumming2015-09-201-0/+1
|
* Generate signal/property defs for GListModel.Murray Cumming2015-09-161-0/+1
|
* TlsClientConnection: Add copy_session_state().Murray Cumming2015-09-141-0/+3
|
* gmmproc: Make all move operations noexcept.Murray Cumming2015-08-312-8/+8
| | | | This is useful for standard containers, for instance.
* gmmproc: Make destructors explicitly noexcept.Murray Cumming2015-08-314-8/+8
|
* gmmproc: _CLASS_BOXEDTYPE_STATIC: Add copy operations.Murray Cumming2015-08-221-0/+15
| | | | | | | These were previously implicitly generated by the compiler, but are no longer generated because we now have explicit move operations. Being explicit seems like a better way to preserve ABI anyway.
* gmmproc: _CLASS_BOXEDTYPE: Make the static swap() noexcept.Murray Cumming2015-08-221-1/+1
| | | | | | | | | | | This is generally a good idea because it lets standard containers use the swap() while maintaining their own noexcept. This would not be an ABI break, hopefully, because this is an inline method in the header anyway. We have recently added the noexcept to the member swap() method, but hopefully that is not an ABI break either. Removing noexcept would be an ABI break, I think.
* gmmproc: _CLASS_OPAQUE_COPYABLE: Generate static swap().Murray Cumming2015-08-221-0/+11
| | | | | As in _CLASS_BOXEDTYPE(). This can then be used by std::swap(), used by standard containers.
* gmmproc: _CLASS_BOXEDTYPE_STATIC(): Add move operations.Murray Cumming2015-08-221-0/+18
| | | | Roughly as in _CLASS_BOXEDTYPE().
* gmmproc: _CLASS_OPAQUE_COPYABLE(): Add move operations.Murray Cumming2015-08-221-0/+26
| | | | The same as in _CLASS_BOXEDTYPE().
* C++11: Mark all _CLASS_OPAQUE_REFCOUNTED classes as final.Murray Cumming2015-08-221-3/+2
| | | | | | | | | | Because _CLASS_OPAQUE_REFCOUNTED already generates a comment telling us not to derive from them, presumably because they can only be instantiated by reinterpret_cast<>ing a base C struct. Ideally, _CLASS_OPAQUE_REFCOUNTED would add the final keyword, but the class line is is not generated, so that would be a little difficult.
* gmmproc: _CLASS_OPAQUE_REFCOUNTED: Use = delete for the default constructor.Murray Cumming2015-08-221-4/+6
| | | | And move it (and the = deleted copy operations) to public.
* gmmproc: _CLASS_GOBJECT(): Move operations: Call interfaces' move operations.Murray Cumming2015-08-223-0/+20
| | | | | The (virtual base) ObjectBase's move operations will not be called multiple times, so this might be useless, but it seems more complete.
* gmmproc: _CLASS_INTERFACE(): Generate move operations.Murray Cumming2015-08-221-0/+14
|
* gmmproc: _CLASS_GOBJECT(): Generate move operations.Murray Cumming2015-08-221-0/+14
| | | | | Generate move constructor and move assignment operator. These might never be used, but it seems generally wise to have them.
* Boxed types: Declare move operations as noexcept.Murray Cumming2015-08-151-6/+6
| | | | | | | | | Because this can let standard containers more efficiently reallocate memory while still preserving their own noexcept guarantees. I found out about this in Scott Meyer's Effective Modern C++11: Item 14. Likewise make swap() noexcept because we use it in our noexcept move assignment operator.
* tools/gen_scripts: Don't read private.h filesKjell Ahlstedt2015-07-304-8/+16
| | | | | | | | * tools/gen_scripts/gio_generate_enums.sh: * tools/gen_scripts/gio_generate_methods.sh: * tools/gen_scripts/glib_generate_enums.sh: * tools/gen_scripts/glib_generate_methods.sh: Don't collect information from header files with names ending in private.h.
* generate_wrap_init.pl: Allow to use nested namespaces for whole module.Marcin Kolny2015-07-301-1/+1
| | | | | | | | | https://bugzilla.gnome.org/show_bug.cgi?id=753013 * tools/generate_wrap_init.pl.in: add support for nested namespaces in --namespace parameter, i.e. --namespace=Gst::Bad. It requires to store all classes from module at least in Gst::Bad namespace, but allows to use this namespace in wrap_init.h class.
* Update scripts that generate .defs filesKjell Ahlstedt2015-07-244-18/+122
| | | | | | | | | * tools/gen_scripts/gio_generate_enums.sh: * tools/gen_scripts/gio_generate_extra_defs.sh: * tools/gen_scripts/glib_generate_enums.sh: * tools/gen_scripts/glib_generate_methods.sh: These scripts patch the generated .defs files. Update them like gtkmm's gtk_generate_extra_defs.sh, i.e. more comments and an option to regenerate the patch file.
* test_scripts/testheaders.sh: Add -std=c++11 in the g++ commandsKjell Ahlstedt2015-07-231-2/+2
|