-
Notifications
You must be signed in to change notification settings - Fork 21
/
Copy pathChangeLog.pre-2-36-2
13901 lines (9881 loc) · 496 KB
/
ChangeLog.pre-2-36-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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
2013-06-10 José Alburquerque <jaalburquerque@gmail.com>
Gen Scripts: Minor clean up of the description of the scripts.
* tools/gen_scripts/gio_generate_docs.sh:
* tools/gen_scripts/gio_generate_enums.sh:
* tools/gen_scripts/gio_generate_extra_defs.sh:
* tools/gen_scripts/gio_generate_methods.sh:
* tools/gen_scripts/glib_generate_docs.sh:
* tools/gen_scripts/glib_generate_enums.sh:
* tools/gen_scripts/glib_generate_extra_defs.sh:
* tools/gen_scripts/glib_generate_methods.sh:
2013-06-09 José Alburquerque <jaalburquerque@gmail.com>
gmmproc: Use an environment variable for the return mismatches.
* tools/gmmproc.in: Check for the GMMPROC_RETURN_MISMATCHES
environment variable and use its value as the default for the internal
boolean '$main::return_mismatches' variable which when true makes
gmmproc report if the return type in a _WRAP_METHOD() does not match
the C function return type.
2013-06-07 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
gmmproc: Write glibmm version in generated files.
* tools/gmmproc.in: Use autoconf's substitution variable @PACKAGE_VERSION@.
* tools/m4/base.m4: _START() macro: Add argument glibmm_version.
* tools/pm/Output.pm: output_temp_g1(): Add argument glibmm_version.
The problems with gtkmm 2.24.3 (bug 697835 and bug 700495) show that it can
be useful to easily see which version of gmmproc/glibmm has generated a file.
2013-06-06 José Alburquerque <jaalburquerque@gmail.com>
Gio::DBusInterfaceSkeleton: Constant corrections.
* gio/src/dbusinterfaceskeleton.hg (get_info): Add a const get_info()
method returning a constant InterfaceInfo and make the original one
non-constant.
(has_connection): Accept the Connection as constant because it should
not be modified.
* tools/m4/convert_gio.m4: Add a needed conversion.
2013-06-05 José Alburquerque <jaalburquerque@gmail.com>
giomm: Add the Gio::DBus::InterfaceSkeleton class.
* gio/src/dbusinterfaceskeleton.{ccg,hg}:
* gio/src/filelist.am: Add the sources wrapping the methods,
properties and signals and list the sources in the list of files to be
built.
* gio/src/gio_signals.defs:
* tools/extra_defs_gen/generate_defs_gio.cc: Add the
GDBUSInterfaceSkeleton GType to the properties and signals defs
generation tool and regenerate the .defs file.
* tools/m4/convert_gio.m4: Add the conversions for the wrapped
methods, properties and signals.
2013-06-04 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
Glib::MainContext: Fix a small error in the documentation of acquire().
* glib/glibmm/main.h: Change "context is the owner" to "thread is the owner".
2013-06-04 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
tests: Fix the glibmm_mainloop test.
* tests/glibmm_mainloop/main.cc: Make it work as expected whichever thread
executes first.
2013-06-02 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
tests: Add the glibmm_mainloop test.
* tests/glibmm_mainloop/main.cc: New file. Tests MainContext and MainLoop,
including MainContext::invoke().
* tests/Makefile.am: Add glibmm_mainloop/test. Bug #668184.
2013-06-02 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
Glib::MainContext: Add invoke().
* glib/glibmm/main.[h|cc]: Add Glib::MainContext::invoke(). Bug #668184.
2013-05-21 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
Add missing includes in glibmm.h and bytearray.hg.
* glib/glibmm.h:
* glib/src/bytearray.hg: Add missing includes.
2013-05-21 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
tools: Improve the testheaders.sh script.
* tools/test_scripts/testheaders.sh: Stop if pkg-config fails.
2013-05-18 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
tools: Add the testheaders.sh script.
* tools/test_scripts/testheaders.sh: New file. Compiles each specified header
file, one at a time. Bug #697835.
2013-05-18 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
tools: Add the testmmh.sh script.
* tools/test_scripts/testmmh.sh: New file. Checks if all header files are
included in a <name>mm.h file. Bug #699993.
2013-05-14 José Alburquerque <jaalburquerque@gmail.com>
Custom Interface Properties: Use base finalize function to free data.
* glib/glibmm/class.cc (Class::clone_custom_type): Specify a custom
base finalize function for the custom type which would free the
properties data that might exist due to properties of implemented
interfaces being overridden. This is better than having an interface
finalize function because the custom type could implement several
interfaces which would mean that the interface finalize function would
execute more than once as opposed to just once for the base finalize
function.
* glib/glibmm/class.h (Class::interface_finalize_function): Replace
with Class::custom_class_base_finalize_function().
* glib/glibmm/interface.cc (Interface_Class::add_interface): Do not
specify a custom interface finalize function.
(Interface::Interface(const Interface_Class&): Also initialize the
property GValues using g_param_value_set_default() so that they are
initialized with the default values of the properties and not just the
default value of the GValue type.
Bug #697229.
2013-05-07 José Alburquerque <jaalburquerque@gmail.com>
UnixSocketAddress: Add the "path-as-array" property.
* gio/src/unixsocketaddress.hg:
2013-05-07 Michael Kruglos <space3000@gmail.com>
glibmm: Wrapped Base64 functionality from glib.
glib/encoding and decoding are wrapped.
step by step and in-place decoding are not wrapped.
(they're too low level for C++, and they're available from the C library.)
Bug #611589.
2013-04-29 José Alburquerque <jaalburquerque@gmail.com>
gmmproc: Output.pm: Use a better name for the c param mappings hash.
* tools/pm/Output.pm (output_wrap_meth, convert_args_cpp_to_c,
get_ctor_properties): Replace the 'cpp_param_mappings' variable name
with 'c_param_name_mappings' which describes the function of the hash
a little better.
2013-04-29 José Alburquerque <jaalburquerque@gmail.com>
DBusConnection: Correct a misplaced #endif G_OS_UNIX.
* gio/src/dbusconnection.hg: Move the #endif from below the
call_finish _WRAP_METHOD() to below the non-cancellable call method
declaration. It worked as it was because what was generated by
gmmmproc was an #ifdef G_OS_UINX/#endif embedded in an outer #ifdef
G_OS_UNIX/#endif but it's how it should be now.
2013-04-29 José Alburquerque <jaalburquerque@gmail.com>
Value: Remove unneeded whitespace in source files.
* glib/glibmm/value.cc:
* glib/glibmm/value.h:
* glib/glibmm/value_custom.cc:
* glib/glibmm/value_custom.h:
* glib/src/value_basictypes.cc.m4:
* glib/src/value_basictypes.h.m4:
2013-04-29 José Alburquerque <jaalburquerque@gmail.com>
Output.pm: convert_args_c_to_cpp(): Reverse mappings hash correctly.
* tools/pm/Output.pm (convert_args_c_to_cpp): Reverse the hash that
maps from parameter names to indexes to a hash that maps from
indexes to parameter names correctly (by dereferencing the hash
reference) so that parameter reordering for virtual functions works
for all Perl versions.
Bug #698989 (David Evans, John Ralls)
2013-04-29 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
gmmproc: Fix _WRAP_SIGNAL(custom_c_callback) for void func().
* tools/m4/signal.m4: If custom_c_callback is specified, and the signal
handler takes no arguments and returns void, generate a SignalProxyInfo
structure with pointers to local functions instead of
&Glib::SignalProxyNormal::slot0_void_callback. Bug #605728.
2013-04-25 José Alburquerque <jaalburquerque@gmail.com>
Interface: Add a comment about overriding properties in constructor.
* glib/glibmm/interface.cc (Interface(onst Interface_Class&)): Explain
what is happening with the lines that override the properties of the
implemented interface, if any, for a custom type.
2013-04-25 José Alburquerque <jaalburquerque@gmail.com>
Settings: Wrap the properties.
* gio/src/settings.hg:
2013-04-25 José Alburquerque <jaalburquerque@gmail.com>
Implement derived interface properties in the present.
* glib/glibmm/class.cc (Class::properties_quark): Initialize this
GQuark which is used to store/get the data used for setting and
getting the properties of the interfaces that a custom type overrides.
(Class::interface_finalize_function): Add this function which
once invoked frees the property data stored as qata in the GType and
allocated/appended to in the Glib::Interface constructor below.
* glib/glibmm/class.h: Declare the interface_finalize_function above.
Also declare the quark used to store/get the property data and the
typedef data type of the property data.
* glib/glibmm/interface.cc (Interface_Class::add_interface): Specify a
custom interface finalize function when adding the interface so that
the resources allocated for handling the derived interface properties
can be freed if the type is a custom interface type.
(Interface::Interface(const Interface_Class&)): Modify the constructor
so that when dealing with a custom interface type, it gets a list of
the properties of the interface to be added and overrides these by
appending appropriate GValues to the data used to handle
getting/setting properties that is stored as qdata in the GType. The
constructor uses g_param_spec_overrided() to override the properties
of the implemented interface and g_object_install_property() to
install the properties.
* glib/glibmm/property.cc (PropertyBase::install_property): Rewrite
this method so that the acquired generated id's of custom implemented
properties does not collide with the id's of properties of implemented
interfaces that have been overridden in a custom type. This is done
by offsetting the acquired generated id (by addition) with the number
of already existing properties (the ones that have been overridden).
(custom_get_property_callback): Rewrite this function (which gets
properties for custom types) so that if the property id is less than
or equal to the number of overridden interface properties (which would
mean that an overridden interface property should be gotten) the
correct overridden interface property is gotten. Otherwise, a custom
property should be retrieved, in which case the id is offset (by
subtraction) when the PropertyBase is retrieved from the id which
would ensure getting the correct PropertyBase.
(custom_set_property_callback): Rewrite this function as the above
custom_get_property_callback was rewritten.
2013-04-18 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
Glib::Source: Fix the destruction and deletion.
* glib/glibmm/main.cc: Keep the Glib::Source wrapper until the GSource
instance has been destroyed and all RefPtr<Source> have been deleted.
Keep a separate ref count in glibmm. Bug #561885.
2013-04-14 José Alburquerque <jaalburquerque@gmail.com>
ByteArray: get_data(): Add a const version.
* glib/src/bytearray.{ccg,hg}: Make the already existing get_data()
method non-constant and add a constant one returning a const array as
is done in general in *mm modules.
2013-04-12 José Alburquerque <jaalburquerque@gmail.com>
Tls Client Test: Update to test the TlsDatabase class.
* tests/giomm_tls_client/main.cc: Slightly cleaned it up from the
first commit. Lookup the issuer's certificate in the database which
is found when I run the test.
2013-04-12 José Alburquerque <jaalburquerque@gmail.com>
TlsDatabase: Make sure the cancellable param is optional in methods.
* gio/src/tlsdatabase.hg: Use the {.?} gmmproc parameter option for
the cancellable to ensure that it is optional (so that there are
methods that don't require a cancellable for the methods that have
one).
2013-04-11 José Alburquerque <jaalburquerque@gmail.com>
ByteArray: Add size() and get_data() methods.
* glib/src/bytearray.{ccg,hg}: Add these methods so that accessing
the underlying GByteArray's data and len members (which is how it is
done in the C API) is just as easy with glibmm. Also use _WRAP_METHOD
to wrap the create() method.
2013-04-09 José Alburquerque <jaalburquerque@gmail.com>
gmmproc: Parse the argument list of methods correctly.
* tools/pm/Function.pm (parse_param): When splitting the argument
list split the parameter '{...}' options out and separately and deal
with them in their own 'elsif' which is more clear and avoids code
duplication. Also, don't split the '<...>' matches greedily because
that causes problems when a Glib::RefPtr<> parameter has a default
value.
This problem was discovered while trying to not use the optional
parameter syntax for the Gio::TlsCertificate::verify() method by using
a default value for the 'trusted_ca' parameter although upon
investigation it became clear that keeping the syntax (and the method
overloads) would be useful because a verify() with no parameters can
be used to verify things about a certificate unrelated to the identity
and the trusted_ca (see the TlsCertificateFlags enum that the method
returns).
2013-04-08 José Alburquerque <jaalburquerque@gmail.com>
Interface: Fix a small typo.
* glib/glibmm/interface.cc:
2013-04-07 José Alburquerque <jaalburquerque@gmail.com>
Gio::TlsServerConnection: Wrap it just like TlsClientConnection.
* gio/src/tlsserverconnection.{ccg,hg}: Use a custom cast constructor
just as in TlsClientConnection because this class too derives from
Glib::Interface and Gio::TlsConnection though it only derives from
GInterface in the C API. It would have the same problems described in
the commit fixing the TlsClientCOnnection class (the next to the last
one).
2013-04-07 José Alburquerque <jaalburquerque@gmail.com>
Tests: Add a basic test for the Tls* API.
* tests/giomm_tls_client/main.cc: The test basically works though it
would be good to test more thoroughly the TlsDatabase API.
2013-04-07 José Alburquerque <jaalburquerque@gmail.com>
Gio::TlsClientConnection: Make the class work correctly.
* tools/m4/class_interface.m4 (_CUSTOM_CTOR_CAST): Add a new macro so
that classes wrapped by the _CLASS_INTERFACE() macro can implement a
custom cast constructor. This is so that classes like
Tls[Client|Server]Connection, that derive from Glib::Interface but
should also derive from a Glib::Object derived type, though they do
not do so in the C API, don't produce warnings from an attempt to set
the non-existent properties of the GObject derived type when an
attempt to construct the C object is made in the default Glib::Object
constructor. Glib::wrap_auto_interface<>(), which is called by
Glib::wrap() for interfaces, uses the cast constructor to create the
wrapper which calls the cast constructor of Glib::Interface. If the
Glib::Object derived base class of the wrapper has a default
constructor, that constructor is then called which leads to the
Glib::Object default constructor being called, which tries to
construct the C object and set its properties thus producing the
property setting warnings. A custom cast constructor can chain up to
the cast constructor of the Glib::Object derived type thus avoiding
the call to the Glib::Object default constructor and the non-existent
property setting warnings.
* glib/glibmm/interface.cc:
* glib/glibmm/interface.h (Interface): Add a default constructor so
that in the cases above (when the cast constructor of the
Glib::Object's derived type is used), the compiler can find a
Glib::Interface default constructor to use. Using the Glib::Interface
cast constructor as well as the cast constructor of the Glib::Object
derived type would cause "ObjectBase::initialize() called twice
for the same GObject" errors.
2013-04-06 Murray Cumming <murrayc@murrayc.com>
Add a test of implementing an interface.
* tests/Makefile.am:
* tests/glibmm_interface_implementation/main.cc: Add a very simple
test that implements an interface, with a vfunc implementation and
make sure that the vfunc is called when the caller method is called.
2013-04-02 José Alburquerque <jaalburquerque@gmail.com>
ByteArray: Add a Glib::Value<> template specialization for it.
* glib/src/bytearray.{ccg,hg}: Add the specialization for ByteArray so
that getting/setting properties of that type work. Also added a
Glib::ByteArray::get_type() method required for the specialization to
compile.
This is the master branch for glibmm 2.37/8.
See also the glibmm-2-36 branch.
2013-03-31 José Alburquerque <jaalburquerque@gmail.com>
TlsCertificate: Use std::string for data instead of char*.
* gio/src/tlscertificate.{ccg,hg} (TlsCertificate): Use a std::string
in the data constructor instead of a char* because it is more C++
like. Remove the default value for the length argument so there is no
ambiguity with the file constructor (which also uses std::string for
the filename).
(create_from_pem): Renamed from create() so that there is no ambiguity
with the other file create() methods (one with a filename argument and
the other with a filename and key file arguments). Handwrote the
method in the .ccg file (_WRAP_CREATE does not allow a custom method
name).
(property_certificate_pem): Use a std::string instead of a char* for
the property type in keeping with the use of std::string for pem data.
These changes are for when the Tls* classes are re-added to the build.
2013-03-31 José Alburquerque <jaalburquerque@gmail.com>
Credentials: Add the get_unix_pid() method.
* gio/src/credentials.hg: Add the new method wrapping the
g_credentials_get_unix_pid() C function.
2013-03-27 José Alburquerque <jaalburquerque@gmail.com>
Gio::Tls*: Correct some referencing errors.
* gio/src/tlscertificate.hg (get_issuer):
* gio/src/tlsclientconnection.hg (get_server_identity):
* gio/src/tlsconnection.hg (get*_certificate): Use refreturn in the
wrapping of these because the C API does not reference the object when
returning it.
2013-03-27 José Alburquerque <jaalburquerque@gmail.com>
giomm.h: Also remove the tlsfiledatabase.h include.
* gio/giomm.h: Remove the include from here so that make check will
not fail.
* gio/src/error.hg (TlsError): A minor correction in the 'EOF'
substitution regular expression.
2013-03-26 José Alburquerque <jaalburquerque@gmail.com>
TlsFileDatabase: Remove the class until its usage is more clear.
* gio/src/filelist.am (tlsfiledatabase.hg): Remove from the build
until it is more clear how the class should be used.
2013-03-26 José Alburquerque <jaalburquerque@gmail.com>
TlsError: Rename the EOF enum value.
* gio/src/error.hg (EOF): Rename it to ENDOFFILE to avoid a clash with
another definition of the identifier somewhere else which breaks the
gtkmm build.
2013-03-26 Murray Cumming <murrayc@murrayc.com>
GTlsFileDatabase: Use std::string for filenames.
* gio/src/tlsfiledatabase.hg: The anchor parameter
and property are for a filename, so we should use
std::string, because filenames are of unknown
encoding.
2013-03-26 Murray Cumming <murrayc@murrayc.com>
Gio: Correct TlsDatabase/TlsFileDatbase derivation.
* gio/src/tlsdatabase.hg:
* gio/src/tlsfiledatabase.hg: TlsFileDatabase
should derive from TlsDatabase, not the other
way around. However, we do not use TlsFileDatabase,
and it is odd (an interface that requires a
non-interface other than GObject) so maybe we should
not provide it yet anyway.
2013-03-25 Murray Cumming <murrayc@murrayc.com>
Gio: Add some TODOs about changing the base classes.
* gio/src/actionmap.hg
* gio/src/pollableinputstream.hg
* gio/src/pollableoutputstream.hg
* gio/src/remoteactiongroup.hg:
We should probably derive from their prerequisite
(required) classes instead. These were added in
glibmm 2.34.
2013-03-25 José Alburquerque <jaalburquerque@gmail.com>
giomm: Wrap the GTlsError GError.
* gio/src/error.hg: Wrap the GTlsError GError in this file.
* gio/src/tlsclientconnection.hg:
* gio/src/tlsconnection.hg: Have default true values for boolean
setter methods in these classes.
* gio/src/tlsfiledatabase.hg: Clarify a TODO.
* gio/src/dbuserror.hg: Whitespace.
2013-03-25 Murray Cumming <murrayc@murrayc.com>
Gio::DesktopAppInfo: Added some methods.
* gio/src/desktopappinfo.hg: Added has_key(),
get_string() and get_boolean().
2013-03-25 Murray Cumming <murrayc@murrayc.com>
Gio::SocketClient: Added some methods.
* gio/src/socketclient.hg: Added get/set_tls(),
get/set_tls_validation_flags(), get/set_proxy_resolver().
Added timeout, tls, enable-proxy, tls-validation, and
proxy-resolver properties.
Added the event signal.
* tools/m4/convert_gio.m4: Added necessary conversions.
2013-03-25 Chun-wei Fan <fanc999@yahoo.com.tw>
Visual Studio Projects: Fix and update.
* Fix Visual C++ projects for glibmm and giomm as numerous
sources have been added for the addition of APIs so that
these libraries can be properly built
* Also make the project files work better with the GLib Visual C++
builds (which are currently supported in the GLib source
distribution), so that the files from the GLib build can be picked
up by the glibmm projects when the Glib sources and glibmm sources
are extracted in the same root folder (for example,
c:\foo\glib-2.35.9 and c:\foo\glibmm-2.35.9)
* Fix the resolver project files for Visual C++ 2008/2010 for having
the wrong executable output name
2013-03-24 José Alburquerque <jaalburquerque@gmail.com>
Tls[Client|Server]Connection: Add the create() methods.
* gio/src/tlsclientconnection.hg:
* gio/src/tlsserverconnection.hg: Add the create() methods, wrapping
the *_new() functions of these classes. Since these classes are
interfaces, it is not possible to use _WRAP_CTOR/WRAP_CREATE() to wrap
the new functions.
Also make these classes derive from TlsConnection which is their base
class (see [1][2][3][4]). Its odd because the base class is a GObject
and the derived ones are GInterfaces, but that's how the C API has
done it. Hopefully it will not be a problem.
[1] https://developer.gnome.org/gio/stable/GTlsConnection.html#GTlsConnection.description
[2] https://developer.gnome.org/gio/stable/GTlsConnection.html#GTlsConnection.derived-interfaces
[3] https://developer.gnome.org/gio/stable/GTlsClientConnection.html#GTlsClientConnection.description
[4] https://developer.gnome.org/gio/stable/GTlsServerConnection.html#GTlsServerConnection.description
2013-03-24 José Alburquerque <jaalburquerque@gmail.com>
gio/src/tls*.ccg: Remove empty namespaces.
* gio/src/tlsconnection.ccg:
* gio/src/tlsdatabase.ccg:
* gio/src/tlsinteraction.ccg: Remove empty namespaces and unneeded
includes.
* gio/src/gio_extra_objects.defs: Add GTlsBackend to avoid a gmmproc
documentation warning.
2013-03-22 José Alburquerque <jaalburquerque@gmail.com>
gmmproc: Verify that void methods should not return a value.
* tools/gmmproc.in: ($main::return_mismatches): Add boolean to store
whether method return mismatches should be checked. Make it false by
default.
(parse_command_line_args): Add logic to parse a new
--return-mismatches option to specify if gmmproc should verify that
void methods should not return a value.
(print_usage): Modify the usage message to describe the new option.
For convenience, output the source for which there are unwrapped
functions, properties and signals.
* tools/pm/DocsParser.pm (remove_example_code): Also output the source
being processed when the example code is removed (for convenience).
* tools/pm/Output.pm (error): Once more, output the source being
processed when an error occurs, for convenience.
(convert_args_cpp_to_c): Add a check for when the C++ method for which
the parameters are being converted returns void but the C function
does not return void. If the added option above is specified, output
a warning.
Bug #696364.
2013-03-22 José Alburquerque <jaalburquerque@gmail.com>
TlsPassword: Correct its constructor parameter order.
* gio/src/tlspassword.hg (TlsPassword): Reorder its parameters so that
the flag comes last with a default parameter.
(create): Do the same for its create() method.
2013-03-22 José Alburquerque <jaalburquerque@gmail.com>
TlsDatabase: Const and optional parameter corrections.
* gio/src/tlsdatabase.hg: The "interaction" parameters in the methods
are all optional (see the C API docs).
(verify_chain):
(verify_chain_async):
(verify_chain_vfunc):
(verify_chain_async_vfunc): Make these methods const because the
database should not be changed by verifying a certificate's chain.
(create_certificate_handle_vfunc): Make the certificate constant
because it should not change when creating a handle for it.
2013-03-21 José Alburquerque <jaalburquerque@gmail.com>
TlsConnection: Correct its base class derivation.
* gio/src/tlsconnection.hg: The class should derive from
Gio::IOStream, not Glib::Object as in the C API. Also add the
get_peer_certificate() methods.
2013-03-21 José Alburquerque <jaalburquerque@gmail.com>
TlsCertificate: Wrap its single virtual function.
* gio/src/tlscertificate.hg: Wrap the "verify" virtual function. Also
add a default value to the length parameter of the constructor
accepting a data character array.
* gio/src/gio_vfuncs.defs: Add the virtual function definition so that
it is recognized.
2013-03-21 Murray Cumming <murrayc@murrayc.com>
Gio::FileInfo: Added get_deletion_date().
* glib/src/fileenumerator.hg: Wrap the new
g_file_info_get_deletion_date() function.
* tools/m4/convert_glib.m4: Add a necessary conversion.
2013-03-21 Murray Cumming <murrayc@murrayc.com>
Gio::FileEnumerator: Added get_child().
* glib/src/fileenumerator.hg: Wrap the new
g_file_enumerator_get_child() function.
2013-03-21 Murray Cumming <murrayc@murrayc.com>
Glib::VariantBase: Added check_format_string().
* glib/src/variant.hg:
Wrap the new g_variant_check_format_string()
function.
2013-03-21 Murray Cumming <murrayc@murrayc.com>
Gio::AsyncResult: Added is_tagged().
* gio/src/applicationcommandline.hg:
Wrapped the new g_async_result_is_tagged()
function.
2013-03-21 Murray Cumming <murrayc@murrayc.com>
Gio::ApplicationCommandLine: Added some methods.
* gio/src/applicationcommandline.hg:
Added get_stdin() and create_file_for_arg(),
wrapping new C functions.
2013-03-21 Murray Cumming <murrayc@murrayc.com>
Regenerated the -signals.defs files.
* gio/src/gio_signals.defs: Regenerated using
tools/gen_scripts/gio_generate_extra_defs.sh.
2013-03-19 Murray Cumming <murrayc@murrayc.com>
Regenerated the -methods.defs files.
* gio/src/gio_methods.xml:
* glib/src/glib_functions.xml:
* glib/src/gmodule_functions.xml:
* glib/src/gobject_functions.xml: Regenerated using
tools/gen_scripts/gio_generate_methods.sh and
tools/gen_scripts/glib_generate_methods.sh,
with a slight hand-edit to avoid the problem in
gioschedule.h with h2def.py (see previous commit).
2013-03-19 Murray Cumming <murrayc@murrayc.com>
h2def.py: Handle GLIB_AVAILABLE_IN_ALL
* tools/defs_gen/h2def.py: Do not just ignore
functions prefixed with GLIB_AVAILABLE_IN_ALL.
This handles the latest glib/gio/gactiongroup.h file.
However, we still need to handle the new
GLIB_DEPRECATED_IN_2_36_FOR(old_func) form
now used in glib/gio/gioschedule.h.
2013-03-19 Murray Cumming <murrayc@murrayc.com>
Regenerated the -enums.defs files.
* gio/src/gio_enums.xml:
* glib/src/glib_enums.xml: Regenerated using
tools/gen_scripts/gio_generate_enums.sh and
tools/gen_scripts/glib_generate_enums.sh.
2013-03-19 Murray Cumming <murrayc@murrayc.com>
Regenerated the -docs.xml files.
* gio/src/gio_docs.xml:
* glib/src/glib_docs.xml: Regenerated using
tools/gen_scripts/gio_generate_docs.sh and
tools/gen_scripts/glib_generate_docs.sh.
2.35.9:
2013-03-13 José Alburquerque <jaalburquerque@gmail.com>
TlsFileDatabase: Use _WRAP_METHOD() to wrap the create() method.
* gio/src/tlsfiledatabase.{ccg,hg}: It can't be properly wrapped using
_WRAP_CTOR()/WRAP_CREATE() yet but it can be wrapped using
_WRAP_METHOD(). (I don't know why I thought it had to be
handwrapped.)
2013-03-12 José Alburquerque <jaalburquerque@gmail.com>
TlsFileDatabase: Add a TODO.
* gio/src/tlsfiledatabase.hg:
2013-03-12 José Alburquerque <jaalburquerque@gmail.com>
TlsFileDatabase: Wrap the create() method.
* gio/src/tlsfiledatabase.{ccg,hg}: Manually wrap it because
presently the *_new() function does more than call g_initable_new().
2013-02-26 José Alburquerque <jaalburquerque@gmail.com>
Tls*: Add the rest of the (unwrapped) properties, methods and vfuncs.
* gio/src/tlscertificate.{ccg,hg}: Wrap the "certificate" property.
* gio/src/tlsclientconnection.hg: Add the get_accepted_cas() methods
and the "accepted-cas" property.
* gio/src/tlsdatabase.hg: Add the lookup_certificates_issued_by*()
methods and virtual functions. Correct a TlsCertificate conversion
for the virtual functions so that the underlying GObject is properly
copied from the C++ wrapper.
* tools/m4/convert_gio.m4: Add a ByteArray conversion.
* gio/src/tlspassword.hg: Clarify a TODO.
* glib/glibmm.h: Add bytes.h and bytearray.h to the includes.
2013-02-25 José Alburquerque <jaalburquerque@gmail.com>
glibmm: Add ByteArray.
* glib/src/bytearray.{ccg,hg}:
* glib/src/filelist.am: Add the new sources for the ByteArray class
that wraps GByteArray and include the sources in the build. Some of
the GTls* API uses GByteArray so it is necessary to wrap it.
* glib/src/glib_extra_objects.defs: Include an object definition for
GByteArray to avoid a gmmproc documentation warning.
* tools/m4/convert_glib.m4: Add a GByteArray conversion so the sources
can be processed properly.
2013-02-25 Pavel Vasin <rat4vier@gmail.com>
AppInfo::get_all(): Fix ownerships
Bug #694505
2013-02-25 José Alburquerque <jaalburquerque@gmail.com>
TlsDatabase: Virtual function const correction.
* gio/src/tlsdatabase.hg (create_certificate_handle_vfunc): Make it
const because it does not modify the database.
2013-02-24 José Alburquerque <jaalburquerque@gmail.com>
Tls[Database|Interaction]: Add the virtual functions.
* gio/src/tlsdatabase.hg:
* gio/src/tlsinteraction.hg: Add the virtual functions. It is
necessary to wrap GByteArray to wrap the remaining three virtual
functions of TlsDatabase.
2.35.8 (unstable);
2013-02-21 Murray Cumming <murrayc@murrayc.com>
Fix the build with --enable-warnings=fatal.
* glib/src/threads.hg: The GThread definition is now deprecated,
meaning it should only be used via a pointer.
However, we depend on it, so this temporarily undefs the
deprecation, so we can still use those checks elsewhere in the build.
It looks like we will have to do a third version of Glib::Threads,
after already replacing Glib::Thread.
This fixes make distcheck.
2013-02-21 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
Signal*::connect(): Make them less thread-unsafe.
* glib/glibmm/main.cc: Make SignalTimeout::connect(), connect_seconds(),
SignalIdle::connect() and SignalChildWatch::connect() less thread-unsafe
by moving conn_node->install() to before g_source_attach().
* glib/glibmm/main.h: Describe that the Signal*::connect*() methods that
return a sigc::connection are not thread-safe. Bug #396958.
2013-02-20 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
Signal[Timeout|Idle]::connect_once() docs: Warn about thread-unsafety.
* glib/glibmm/main.cc: Fix an incomplete comment.
* glib/glibmm/main.h: SignalTimeout::connect_once(), connect_seconds_once(),
SignalIdle::connect_once(): Describe the caution necessary because
sigc::trackable-derived objects are not thread-safe. Bug #396963.
2013-02-20 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
ThreadPool::push() docs: Note that sigc::trackable is not thread-safe.
* glib/glibmm/threadpool.h: push(): Describe how sigc::trackable-derived
classes can be used in a thread-safe way.
* glib/src/threads.hg: create(): Correct the description added in the
previous commit. Bug #512348.
2013-02-20 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
Threads::Thread::create(): Update the documentation.
* examples/thread/thread.cc: Don't derive from sigc::trackable.
* glib/src/threads.hg: create(): Describe how sigc::trackable-derived classes
can be used in a thread-safe way. Bug #512348.
2013-01-30 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
Predefine G_OS_UNIX or G_OS_WIN32 in Doxygen's configuration file.
* docs/reference/Doxyfile.in: Predefine either G_OS_UNIX or G_OS_WIN32,
depending on HOST_WINDOWS_NATIVE. Update to Doxygen 1.8.3 status.
* glib/src/iochannel.hg: Remove the DOXYGEN_SHOULD_SKIP_THIS that was added
just to get Windows-specific methods included in the documentation.
2013-01-30 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
DBus::[Connection|Proxy]: Change ifdef G_OS_LINUX to ifdef G_OS_UNIX.
* gio/src/dbusconnection.[ccg|hg]:
* gio/src/dbusproxy.[ccg|hg]: Change G_OS_LINUX to G_OS_UNIX. Glib does not
define G_OS_LINUX. Correct function declarations for DBus::Proxy::call().
2013-01-29 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
gmmproc: Improve the conversion of documentation to Doxygen format.
* tools/defs_gen/docextract.py: Handle 'Since ' without a colon.
* tools/m4/signal.m4:
* tools/pm/Output.pm: When a function declaration is surrounded by
ifdef/endif, put its documentation inside the ifdef/endif.
* tools/pm/DocsParser.pm: Handle 'Since ' without a colon. Escape most
backslashes, not just \r and \n. Convert more <tags> to something that
Doxygen understands.
2013-01-27 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
Documentation: Fix many warnings from Doxygen.
* gio/src/gio_docs_override.xml:
* glib/src/glib_docs_override.xml: Move "Since: n.m" from the <return> to the
<description> entries. gmmproc adds a period at the end of the @return
Doxygen command, and Doxygen warns for "@newin{n,m}.".
* glib/glibmm/interface.h:
* glib/glibmm/stringutils.h:
* glib/glibmm/vectorutils.h:
* gio/src/*.hg:
* glib/src/*.hg: (Here "*" means "many", not "all") Examples of changes:
Add missing @param. Change names of parameters, to make them equal in
function declaration and @param command. Change "@name" to "@a name".
Change "<ulink url=" to "<a href=".
2013-01-17 José Alburquerque <jaalburquerque@gmail.com>
TlsConnection: Wrap the virtual functions.
* gio/src/tlsconnection.hg: Wrap the three virtual functions that were
left as TODO's now that it's possible to wrap virtual functions with
slots.
* tools/m4/vfunc.m4: Use 'retval' instead of 'result' for variables
that store the result of the C base virtual function invocation and
the C++ virtual function invocation because 'result' conflicts with
the AsyncResult 'result' parameter of the handshake_finish_vfunc().
2013-01-16 José Alburquerque <jaalburquerque@gmail.com>
gmmproc: _WRAP_VFUNC: Support the wrapping of slots.
* tools/pm/WrapParser.pm (on_wrap_vfunc): Add support for parsing the
additional 'slot_name', 'slot_callback', and 'no_slot_copy' options
that do the same thing as the corresponding _WRAP_METHOD options (ie.
specify the name of the C++ slot parameter, the name of the callback
function and whether to use the original slot or a copy of it,
respectively. Also pass the options along to:
(output_wrap_vfunc): Store the options in the C++ virtual function
object so they can be tested for when converting the parameters and
composing the _VFUNC* m4 macro calls.
* tools/pm/Output.pm (output_wrap_vfunc_cc):
- Append the additional 'slot_type', 'slot_name' and 'no_slot_copy'
parameters to the _VFUNC_CC m4 macro invocation so that it can include
code for the vfunc to copy the slot parameter and pass it on to the C
function.
- Also append the additional 'slot_type' and 'c_data_param_name' to
the _VFUNC_PCC m4 macro so that it knows the slot type and the C
gpointer parameter name that contains the slot so that the macro can
generate code to extract the slot from the data parameter and pass the
slot on to the C++ virtual function.
(convert_args_c_to_cpp):
- Rewritten so that it loops through the C++ parameters so that it is
possible to re-order the parameters using the existing mapping
functionality that allows parameters to be re-ordered for the
_WRAP_[CREATE|CTOR|METHOD] macros. Also re-written so that it knows
how to deal with slot parameters.
* tools/m4/vfunc.m4 (_VFUNC_PCC): Modified to accept the additional
'slot_type' and 'c_data_param_name' arguments and to insert code to
extract the slot from the C gpointer data parameter to be passed on
to the C++ virtual function.
(_VFUNC_CC): Modified to accept the additional 'slot_type',
'slot_name' and 'no_slot_copy' arguments and to insert code to either
copy the slot in a 'slot_copy' variable or set the variable to the
actual slot (if it's so been specified) which is then passed on to the
C function.
2013-01-16 José Alburquerque <jaalburquerque@gmail.com>
gmmproc: _WRAP_[CREATE|CTOR|METHOD]: Allow any order of {} options.
* tools/pm/Function.pm: Make it possible to use any order desired of
the options to specify whether parameters should be optional or should
be re-ordered in the _WRAP_* directives.
2013-01-14 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
Gio::File: Remove refreturn to avoid memory leaks.
* gio/src/file.hg: Remove the refreturn argument from _WRAP_METHOD for read()
and 13 other methods. The glib functions add a ref.
Change @newin2p24 to @newin{2,24}. Bug #691606.
2013-01-09 José Alburquerque <jaalburquerque@gmail.com>
giomm.h: Add the tls[client|server]connection.h headers.
* gio/giomm.h: Add the two new headers.
2013-01-08 José Alburquerque <jaalburquerque@gmail.com>
giomm: Add the Tls[Client|Server]Connection classes.
* gio/src/tlsclientconnection.{ccg,hg}: Add the new client sources
wrapping the methods and properties.
* gio/src/tlsserverconnection.{ccg,hg}: Add the new server sources
wrapping its single property.
* gio/src/filelist.am: Include the new sources in the list of files to
be built.
* gio/src/enums.hg: Add the TlsAuthenticationMode enum needed for the
server class here because it is documented in the Tls Overview section
of the C API's documentation and not as part of any other class.
* tools/m4/convert_gio.m4: Add a necessary conversion.
* gio/src/tlsdatabase.{ccg,hg}: Fix the includes so that the
tlscertificate.h header file does not have to be included in the .h
file but instead in the .c file.
2013-01-07 José Alburquerque <jaalburquerque@gmail.com>
giomm.h: Add the new tls*.h headers.