Commit Graph

70 Commits

Author SHA1 Message Date
Bertrand Lorentz
a3db272fee gio: Use the GioNativeDll in all custom gio code
The previous commit added the GioNativeDll constant for DllImport
statements, so we might as well use it.
2015-05-10 17:50:23 +02:00
Antonius Riha
b06ff4fd15 gio: Improve the Run method API in GLib.Application
We don't need an argc parameter, but the program name is required.

Signed-off-by: Bertrand Lorentz <bertrand.lorentz@gmail.com>
2015-05-10 17:46:32 +02:00
Antonius Riha
2034648ec2 csproj: Fix assembly names and include *.dll.config in output
Signed-off-by: Bertrand Lorentz <bertrand.lorentz@gmail.com>
2014-09-21 15:07:38 +02:00
Bertrand Lorentz
fe0be81892 build: Require GLib 2.32 or above
GLib 2.32 has been released in March 2012, so we can now require it a
build and run time. This allows us to remove GLib 2.31 conditionals,
mark the Thread.Init as obsolete, and remove all references to
libgthread.

Please note that the API exposed in glib and gio is still from 2.28, but
we will have some API additions in the future. First example is the next
commit, which brings GBytes, an addition in GLib 2.32.
2014-08-10 18:20:01 +02:00
Stephan Sundermann
a74534e835 generator: Create a directory for each namespace
When dealing with several namespaces there might be classes with the same name
(especially Global which is autogenerated in g-i based bindings). On generation
the file would be overriden by the last occurence in the xml. To encounter
this every namespace has it's own directory now. This also improves structure
a lot when dealing with big libraries.

Also do the necessary adaption for the build and the csproj files.
2014-03-01 21:16:54 +01:00
Bertrand Lorentz
0d781f485f gio: Delete DBusInterfaceVTable class
It was never included in the build, and never modified since it was
first created.
2013-11-02 15:53:29 +01:00
Andrés G. Aragoneses
10546e2ffa MSBuild: fix the solution build (except audit and sample projects)
This commit makes it possible to build any project of the gtk-sharp.sln
from an IDE (except audit and sample projects, which require a bit more
work).

This doesn't mean that autotools is deprecated, but just that it is more
comfortable to use an IDE when working on gtk-sharp because it will
offer better auto-completion, and will stop highlight misleading
semantic errors, from now on.
2013-11-02 15:48:58 +01:00
Andrés G. Aragoneses
5600b2cb29 gio: update MSBuild csproj file to account for recent changes 2013-10-22 12:17:38 +02:00
Bertrand Lorentz
b2fb84d14b Clean up .gitignore files 2013-10-13 18:38:33 +02:00
Bertrand Lorentz
ac9da8d4aa gio: Fix up first ApplicationFlags enum to be None instead of FlagsNone 2013-10-13 15:44:59 +02:00
Bertrand Lorentz
68780a6226 gio: Fix up returns type for several GSettings methods 2013-10-11 22:32:46 +02:00
Andrés G. Aragoneses
872e0edfdd MSBuild: remove AssemblyInfo.cs where it's not present
The only autogenerated AssemblyInfo files are in cairo and in
gtk-sharp's root, not inside other libraries like atk, glib, etc.
Removing them will make MonoDevelop stop rendering a red element
underneath each project.
2013-09-24 01:24:39 +02:00
Andrés G. Aragoneses
9016c304de MSBuild: change some projects to Library type, not Executable
Even though gtk-sharp cannot be built via MSBuild (yet?), it's better
to make the .csproj reflect more closely what you get with the normal
build.
2013-09-24 01:24:33 +02:00
Andrés G. Aragoneses
74b6340d86 MSBuild: update some project files to account for recent changes 2013-08-23 23:56:23 +02:00
Andres G. Aragoneses
321181b761 gio: Track API changes (I- interface prefixes)
This includes changes to fix the build, and changes to custom code that
gets added to the generated code. I.e. File.cs now becomes IFile.cs
2013-07-23 12:05:24 -05:00
Andrés G. Aragoneses
10d3293d3f build: fix automake warning about preprocessor C flags
With automake version 1.13.2 (which comes in debian testing/jessie),
we were starting to get these warnings by default:

...
Running automake --foreign  ...
atk/glue/Makefile.am:16: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS')
gio/glue/Makefile.am:11: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS')
gtk/glue/Makefile.am:18: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS')
gtk/gui-thread-check/profiler/Makefile.am:8: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS')
pango/glue/Makefile.am:13: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS')
sample/opaquetest/Makefile.am:18: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS')
sample/valtest/Makefile.am:18: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS')
Running autoconf ...
...

We simply follow the warning's recommendation of using AM_CPPFLAGS instead
(CPP meaning C PreProcessor, not C Plus Plus), as explained in
http://www.gnu.org/software/automake/manual/html_node/Program-Variables.html

The deprecation of INCLUDES has been very long there already (since 2002,
therefore Automake 1.7), and we already depend on automake 1.10.
2013-06-17 10:59:28 +02:00
Andres G. Aragoneses
1a1300c762 gio: Add fix-ups for GSettings.GetStrv and SetStrv values
The values handled by those two methods are null-terminated arrays of
strings, owned by the caller, so mark them as such.

Signed-off-by: Bertrand Lorentz <bertrand.lorentz@gmail.com>
2013-04-01 11:41:43 +02:00
Bertrand Lorentz
b312fcbc8c gio: Rename the DBus.Address* methods
Fix-ups to improve the DBus.Address* method names.

For example, DBus.GetStream(string address ...) is clear enough and
better than DBus.AddressGetStream(string address ...).
2012-11-18 12:22:17 +01:00
Bertrand Lorentz
14c0a84fdb gio: Rename the Dbus class to DBus
An uppercase B in DBus make the class name consistent with all the other
DBus* classes.
2012-11-18 12:20:20 +01:00
Bertrand Lorentz
fab58ea99d gio: Hide GioGlobal.RegistryBackendGetType method
It's Windows-specific, and probably doesn't need to be called directly
by anyone.
2012-11-18 11:55:28 +01:00
Bertrand Lorentz
722ec40812 gio: Move static methods from Simple to SimpleAsyncResult class
Static methods corresponding to g_simple_async_report_* functions were
automatically grouped into the badly-named Simple class.

Add fix-ups to hide this Simple class, move the methods to
SimpleAsyncResult and rename them accordingly.
2012-11-18 11:35:35 +01:00
Bertrand Lorentz
f3a001a7bb gio: Enable the GSocketMsgFlags enum with hardcoded values
Same as the previous commit for GSocketFamily, the values are not going
to change much.
2012-11-12 20:36:55 +01:00
Bertrand Lorentz
0f13a66762 gio: Enable the GSocketFamily enum with hardcoded values
The values found by the parser for the GSocketFamily enum are in fact
constants defined in another header file, so the generated code would be
invalid.

We now hardcode the values through fix-ups. They probably don't
change, and they are also hardcoded in the gir file anyway, so it should
be OK.

Also fix-up a GInetAddress constructor that now gets generated.
2012-11-12 20:25:42 +01:00
Bertrand Lorentz
0f2af96e0a gio: Add fix-ups to set the scope of a few callbacks 2012-11-11 15:37:56 +01:00
Bertrand Lorentz
cc249042e3 gio: Mark the Seekable interface as consume-only
The implementor class is not generated correctly, because of some
strangeness with the method names. And I don't think anyone would need
to implement it.
2012-11-11 14:52:07 +01:00
Bertrand Lorentz
a17da364b1 gio: Fix-up capitalisation of several property types
For properties, the parser guesses the type name from an all-caps macro
name. So if the GType has a funny name, like dbus -> DBus, the property
type is wrong.
2012-11-11 14:44:03 +01:00
Bertrand Lorentz
bfb4ebe4c0 gio: Rename what remains of Io class to IOError and adjust method names
All method not related to IOError have been moved to other classes, so
we can rename the Io class to IOError.
2012-11-11 14:41:47 +01:00
Bertrand Lorentz
97972a7c9e gio: Move ErrorQuark method to GioGlobal 2012-11-11 14:34:11 +01:00
Bertrand Lorentz
3a5d1f2238 gio: Move the scheduler-related static functions into IOSchedulerJob 2012-11-11 14:32:15 +01:00
Bertrand Lorentz
1a253aeedd gio: Move the module-related static functions into the IOModule class
Also adjust their names and fix the return types.
2012-11-11 11:55:31 +01:00
Bertrand Lorentz
22ff426d88 gio: Rename Content class to ContentType and adjust method names
The parser automatically groups static functions with the same prefix
into classes, but the right name can't be determined automatically.

In this case, ContentType.GetDescription(...) is much better than
Content.TypeGetDescription(...).
2012-11-11 11:50:49 +01:00
Bertrand Lorentz
dba3b18f97 gio: Fix-up return types for methods returning GList* 2012-11-11 11:43:31 +01:00
Bertrand Lorentz
24b0e12c62 gio: Make FileEnumerator implement IEnumerable<FileInfo> 2012-11-03 17:57:31 +01:00
Bertrand Lorentz
60612071c1 Add a MonoDevelop solution and projects for browsing the codebase
This is just to be able to use MonoDevelop to browse the codebase, both
custom and generated code. It is NOT intended to be used to build
anything.
2012-10-13 16:44:10 +02:00
Bertrand Lorentz
c0129f42d5 gio: Move all .custom files to partial classes 2012-07-02 11:09:07 -04:00
Olivier Dufour
f0579eb53d parser: Add property support for ginterface 2011-08-01 21:18:02 +02:00
Alex Launi
bcf42187a8 gio: Fix return type of GMount.GuessContentType* 2011-07-17 17:28:51 +02:00
Gabriel Burt
f6009bbde1 gio: Implement GioStream.SetLength 2011-07-17 17:09:41 +02:00
Stephane Delcroix
5290f4c520 gio: Wrap IOStream in GIOStream too 2011-07-17 16:59:11 +02:00
Bertrand Lorentz
a529ca3a94 Temporary quick fix for properties in interfaces without accessors
The interface parsing fix added a few properties on interfaces that have
no accessors. In this case, the code generated in the adapter for those
properties does not build: it tries to use (Get/Set)Property but they
don"t inherit from Glib.Object.

Hide those properties for now, until a proper fix is implemented. As
they were not available before, it's not that bad.
2011-07-08 20:12:07 +02:00
Bertrand Lorentz
139191f537 Fix naming collisions created by the interface parsing fix
The previous commit added several new signals in Gio.ActionGroup and
Gtk.GtkCellEditable that collide with method names. Do some rename
to fix this.
2011-07-08 20:12:07 +02:00
Bertrand Lorentz
ad74c64345 parser: Fix handling of initialization functions for interfaces
With the new G_DEFINE_INTERFACE macro, the interface initialization
function is named *_default_init, so we need to handle that like
*_base_init and *_class_init.

Reparse gtk/gtk-api.raw and gio/gio-api.raw. This creates some new
signals that were previously incorrectly reported as virtual methods,
and also adds some properties.
2011-07-08 20:12:07 +02:00
Mike Kestner
c283aa425b Add SeekType symbol to glib-api.xml
* gio/Gio.metadata: remove it here
* gio/Makefile.am: include glib-api.xml
* glib/glib-api.xml: add GSeekType element.
2011-02-18 21:54:15 -06:00
Mike Kestner
7d696d2fc0 Fix leak in File.QueryInfo(Finish)
* gio/Gio.metadata: mark owned return values on QueryInfo methods.
  [Fixes #613821]
2011-02-18 08:43:05 -06:00
Mike Kestner
001956432c Some more GIO interface cleanup
* generator/InterfaceGen.cs: don't grab the StreamWriter for consume-only.
* generator/InterfaceVM.cs: don't bitch or fail validation when missing
target on consume-only.
* generator/ObjectBase.cs: support a target_method attr on vms to point the
callback invocations at when the names don't match.
* gio/Gio.metadata: marks a few more ifaces consume-only until somebody
complains they need to implement one of them.
2011-02-12 15:52:57 -06:00
Mike Kestner
35b60b19eb Ignore volatile on func param parse.
* gio/gio-api.raw: reparse
* parser/gapi2xml.pl: ignore volatile keyword on function parameters.
2011-02-11 14:04:11 -06:00
Mike Kestner
589681516f Strip volatile keywords in field parse.
* gio/gio-api.raw: reparse
* parser/gapi2xml.pl: strip volatile keyword from field declarations
before parsing them.
2011-02-11 10:07:24 -06:00
Mike Kestner
0e084d9da7 Do a global GAsyncReadyFunc scope=async rule.
* gio/Gio.metadata: mark all AsyncReadyFuncs as async scope.  also
fixes a struct->boxed update that was causing a mis-apply.
2011-02-11 09:55:48 -06:00
Mike Kestner
5c6e722208 Hide a few more gwin32 files from the parse.
* gio/gio-api.raw: reparse
* sources/sources.xml: exclude some more gwin32*.h headers.
2011-02-11 09:01:04 -06:00
Mike Kestner
34c0ecbcf7 The rest of the first pass.
*.*: Stubbing and tweaking and cajoling and disabling to get
the first successful build of 3.0 bindings.
2011-02-08 22:15:37 -06:00