Commit Graph

618 Commits

Author SHA1 Message Date
Johan Dahlin
e57e4f2868 [gifunction.h] Move GIFunctionInfoFlags to gitypes.h 2010-06-06 19:55:00 -03:00
Johan Dahlin
c223abfa36 [girepository] Move the rest out of ginfo.ch 2010-06-06 19:54:53 -03:00
Johan Dahlin
baf36f793e [girepository] Move GIRegisteredTypeInfo out of ginfo.ch 2010-06-06 19:28:35 -03:00
Johan Dahlin
94d52d910c [gifieldinfo] Document, indent and check params
Document the remaining functions, indent to match coding style
and check so that all info params are set and of the right type.
2010-06-06 13:35:14 -03:00
Johan Dahlin
f05d309f57 [gifunctioninfo] Move over invoke function
Move over g_function_info_invoke to gifunctioninfo.c
2010-06-06 13:27:16 -03:00
Johan Dahlin
e6733fd92e [gfield] Move over field set/get impl.
Move over the GIFieldInfo set/get value implementation
over to gifieldinfo.c
2010-06-06 13:27:12 -03:00
Johan Dahlin
8d2ae7fa90 [girepository] Move GIFieldInfo out of ginfo.ch 2010-06-06 13:11:23 -03:00
Johan Dahlin
bbc69cefaa [girepository] Move GIEnumInfo out of ginfo.ch 2010-06-06 13:09:08 -03:00
Johan Dahlin
dab5e1ddaf [girepository] Move GIErrorDomainInfo out of ginfo.ch 2010-06-06 13:01:26 -03:00
Johan Dahlin
edcce0af88 [girepository] Move GITypeInfo out of ginfo.ch 2010-06-06 12:58:28 -03:00
Johan Dahlin
4d3a528f5d [girepository] Move the enums
Move the est of the enums over to gitypes.h
2010-06-05 12:59:33 -03:00
Johan Dahlin
2e91ba3b3e [girepository] Move GIArgInfo out of ginfo.ch 2010-06-05 12:40:34 -03:00
Johan Dahlin
6d51857f01 [gitypes.h] Do not include gibaseinfo.h
To avoid cyclic dependencies
2010-06-05 12:40:34 -03:00
Johan Dahlin
968850eaf1 [girepository] Fix a couple of typos 2010-06-05 12:40:34 -03:00
Johan Dahlin
292033c7dc [girepository] Move GICallableInfo out of ginfo.ch 2010-06-05 12:40:28 -03:00
Tomeu Vizoso
d531541b8a Fix marshalling of GStrv.
* gir/gimarshallingtests.[hc]: Add a test for GStrv in function args and
as struct fields.

* girepository/giroffsets.c: Correctly compute the size of structs with
  array fields

* girepository/girparser.c: Set is_pointer to FALSE for arrays with
  fixed size that are inside structs.

* giscanner/glibtransformer.py: Special case GStrv as arrays of utf8.

* giscanner/annotationparser.py: Make full transfer the default for
arrays of char* returned by functions.

https://bugzilla.gnome.org/show_bug.cgi?id=620170
2010-06-02 19:36:59 +02:00
Johan Dahlin
6436e013c9 [girepository] Fix the remaning headers as well 2010-06-01 10:23:46 -03:00
Johan Dahlin
6edee7684c [girepository] Fix include path
We're installing the headers without the girepository/ prefix,
so remove that in all internal headers to not break the out of
tree scanning.
2010-06-01 10:15:12 -03:00
Johan Dahlin
a94a11b5c0 [gifunctioninfo] Move out to another file
Move out GIFunctionInfo to gifunctioninfo.[ch]
2010-05-31 17:55:52 -03:00
Johan Dahlin
64ee6cb5b0 [gtypelib.ch] Rename to gitypelib.ch
Rename gtypelib.h -> gitypelib-internal.h and rename
gtypelib.c to gitypelib.c
2010-05-31 17:47:50 -03:00
Johan Dahlin
67126e38d4 [girepository] Split out GIBaseInfo
Split out GIBaseInfo to a separate source file.
Move out definitions to gibaseinfo.h/gitypelib.h/gitypes.h
and girepository-private.h

Install gibaseinfo.h/gitypelib.h and gitypes.h as well, but
require users to include girepository.h
2010-05-31 17:47:45 -03:00
Johan Dahlin
7a383b6126 [girepository] Correct GI_IS_ENUM_INFO macro
A GIEnumInfo represents either an enum or a set of flags
2010-05-30 21:56:25 -03:00
Johan Dahlin
58ac4f880a [ginfo] Document enum and enum values
Document GIEnumInfo and GIValueInfo
2010-05-30 21:55:55 -03:00
Johan Dahlin
81a263edfe [info] Fix-up prototype indentation 2010-05-30 21:55:45 -03:00
Johan Dahlin
a6c822d505 [build] Remove gcov support
It's been broken for some time, remove it instead of letting
it bitrot.
2010-05-28 20:49:54 -03:00
Johan Dahlin
3bab700cd4 [doc] Document GIErrorDomainInfo methods 2010-05-28 20:49:39 -03:00
Johan Dahlin
c2b89be46e [GITypeInfo] Document and check type
Document GITypeInfo and check the info type in all functions.
2010-05-28 13:47:48 -03:00
Johan Dahlin
a8eff27124 Remove leftover function 2010-05-28 08:49:49 -03:00
Johan Dahlin
27c9f77335 [girepository] Check types function/callable/arg
Check the info types for functions, callable and args.
Verifies that the right type is sent in
2010-05-27 23:25:36 -03:00
Johan Dahlin
e66f46042d [girepository] Add macros for checking struct type
Add macros for checking the sub-struct type. These are
similar to the standard GObject macros.
2010-05-27 23:18:58 -03:00
Colin Walters
23e9949e1d Remove g_arg_info_is_dipper from public API
It wasn't useful, the new g_arg_info_is_caller_allocates is.
2010-05-26 18:14:39 -04:00
Colin Walters
a20c2ad7c2 [girparser] Don't hard require caller-allocates since it breaks parsing
We need to support parsing older .girs for inclusion purposes.  (But
we should probably have an explicit .gir version, and require the
attribute for newer versions)
2010-05-26 13:53:29 -04:00
Colin Walters
46d9ef151e Support (out caller-allocates)
People have wanted support for marking (out) on functions of the
form:

/**
 * clutter_color_from_pixel:
 * @pixel: A pixel
 * @color: (out): Color to initialize with value of @pixel
 */
void
clutter_color_from_pixel (guint32 pixel, ClutterColor *color);

Where the caller is supposed to have allocated the argument; the
C function just initializes it.  This patch adds support for this
argument passing style to introspection.  In this case, we see the
(out), and notice that there's only a single indirection (*) on
the argument, and assume that this means (out caller-allocates).

https://bugzilla.gnome.org/show_bug.cgi?id=604749
2010-05-26 13:00:56 -04:00
Johan Dahlin
9505b6eb44 [docs] Document GICallableInfo and GIArgInfo
Make docs more consistent and also fix a couple of broken links
2010-05-21 18:30:58 -03:00
Johan Dahlin
7e2e379388 [girepository] Use g_slice
Use g_slice to allocate instead of g_new(x, 1); It uses a memory
pool internally and should be faster, especially for GBaseInfo/GRealInfo,
structs which are tiny.
2010-05-20 11:41:44 -03:00
Johan Dahlin
cc270b03d6 [docs] Make gtk-doc language consistent.
Make the language we use in the gtk-doc comments
more consistent. Add transfer annotation for all functions
returning a struct and mention how they should be freed.
2010-05-19 20:57:19 -03:00
Johan Dahlin
c94b539788 [GIFunctionInfo] Document struct and functions 2010-05-19 13:54:26 -03:00
Johan Dahlin
3e473d93ca [docs] Reference g_module_open instead of dlopen
dlopen() is not cross platform, it's better to mention
g_module_open everywhere as that's actually what we call internally.
2010-05-19 13:53:48 -03:00
Simon McVittie
456379be29 girparser: backtrace_stderr: fix int/ssize_t format mismatch
backtrace() is defined in terms of int, which differs from ssize_t on
x86-64, and @size is also an int.
2010-05-19 16:17:06 +01:00
Johan Dahlin
75c9df12f1 [GIBaseInfo] Document all functions 2010-05-18 23:40:24 -03:00
Johan Dahlin
51118b3338 [girepository] Document most of the structs 2010-05-18 18:11:58 -03:00
Johan Dahlin
9f4cadec60 [girepository] Update gtk-doc syntax
Update the gtk-doc syntax to remove a couple of warnings
2010-05-18 18:11:57 -03:00
Tomeu Vizoso
c9213eaea3 Add support for GArrays: add g_type_info_get_array_type() and properly scan GArray args
Based on a previous patch by C. Scott Ananian <cscott@litl.com>

https://bugzilla.gnome.org/show_bug.cgi?id=581687
2010-05-04 16:58:15 +02:00
Tomeu Vizoso
1301850f3d Revert "Add support for GArrays: add g_type_info_get_array_type() and properly scan GArray args"
This reverts commit 87291e08b0fd34b62e1ad9811c174108b38311a9.
2010-05-03 19:17:00 +02:00
Tomeu Vizoso
e12cea0a53 Add support for GArrays: add g_type_info_get_array_type() and properly scan GArray args
Based on a previous patch by C. Scott Ananian <cscott@litl.com>

https://bugzilla.gnome.org/show_bug.cgi?id=581687
2010-04-30 18:15:23 +02:00
Owen W. Taylor
9d2fd90f0a Correctly use ffi_closure_alloc(), fixing mmap permissions error
This restores the reverted-commit ed8634d:

    Author: Dan Winship <danw@gnome.org>
    Date:   Mon Apr 5 14:05:52 2010 -0400

    g_callable_info_prepare_closure: handle mmap permissions error

    When SELinux or similar is active, a process may not be able to mmap()
    a segment that is both writable and executable, which would causing
    g_callable_info_prepare_closure() to fail. Libffi has a workaround for
    this problem though (it maps the same non-anonymous region twice, once
    writable and once executable, and returns two separate pointers to
    it), so use that.

But with an added fix, when using ffi_closure_alloc(), we need to use
ffi_prep_closure_loc() so we can pass in the executable address of the
trampoline separately from the writable address, rather than the
deprecated ffi_prep_closure().

https://bugzilla.gnome.org/show_bug.cgi?id=615105
2010-04-08 10:50:04 -04:00
Colin Walters
6545640515 Revert "g_callable_info_prepare_closure: handle mmap permissions error"
This reverts commit ed8634ddf73a56cb1935fd87254b3c6c04352893.

This commit caused crashes in gjs/gnome-shell, which we're still trying
to track down.  See: http://bugzilla.gnome.org/615078
2010-04-07 15:22:00 -04:00
Colin Walters
611929ec55 [giroffsets] Also update this code for change to signed enumeration values 2010-04-07 11:29:55 -04:00
Dan Winship
24363834ff g_callable_info_prepare_closure: handle mmap permissions error
When SELinux or similar is active, a process may not be able to mmap()
a segment that is both writable and executable, which would causing
g_callable_info_prepare_closure() to fail. Libffi has a workaround for
this problem though (it maps the same non-anonymous region twice, once
writable and once executable, and returns two separate pointers to
it), so use that.

https://bugzilla.gnome.org/show_bug.cgi?id=614903
2010-04-06 08:33:54 -04:00
Johan Dahlin
14f13c1760 Add support for foreign structs
Foreign structs are special in the sense that there might
be native bindings (for instance PyCairo for PyGI) that provides
the same functionallity as the introspected variant.

https://bugzilla.gnome.org/show_bug.cgi?id=610357
2010-03-25 23:12:12 -03:00