Re: prepare_create_table wrapping - part2
- From: Pavlo Solntsev <pavlo solntsev gmail com>
- To: Kjell Ahlstedt <kjellahlstedt gmail com>
- Cc: gtkmm-list <gtkmm-list gnome org>
- Subject: Re: prepare_create_table wrapping - part2
- Date: Mon, 15 May 2017 07:45:29 -0500
Dear Kjell.
There is no open bug. I should probably explain how it started. I have
personal interests in using libgdamm. I found that simple process of
creating tables was missed in libgdamm. However, in libgda those
methods were available. I had two options: 1) make my own version of
methods to create a table or 2) help community and add those methods to
libgdamm. Initial problem with implementation was with understanding
how implementation (wrapping) works. Sorry, but not a lot of
documentation available. I naturally expected different behavior of
_CLASS_GENERIC methods and _WRAP_METHOD. In the process I learn
information that wasn't clearly available to me: class in class
wrapping. Wrapping non GObject based classes etc. To all that, I didn't
know internal policy in *mm projects. Does it make sense to write
classes in the mm module? How to wrap correctly C style struct to C++
class, or leave it as a struct. After I spent some time, played with
code, bugged you (sorry for that) I have already answers for majority
of the listed above questions but some of them still unclear.
I will file a bug report for missing
Gda::ServerOperation::prepare_create_table()
Gda::ServerOperation::perform_create_table()
methods to track all changes.
And I agree with you comments.
Best,
On Sun, 2017-05-14 at 19:28 +0200, Kjell Ahlstedt wrote:
This discussion is perhaps more suitable for a bug report. But if
you
had started with a libgdamm bug, I would not have found it. Anyway,
here
are some comments.
_WRAP_METHOD and many other _WRAP_* macros can only be used in a
class
with a _CLASS_* macro. In this patch it looks like
ServerOperationCreateTableArg is not included within another class.
It
ought to be possible to use one of the _CLASS_* macros, perhaps
_CLASS_OPAQUE_COPYABLE.
cnc.operator->()->gobj()? Why not just cnc->gobj()?
Don't ServerOperationCreateTableArg's copy constructors leak memory?
They assign to _parent several times.
Den 2017-05-13 kl. 18:42, skrev Pavlo Solntsev:
Dear Kjell.
Thank you so much for pointing on that. I have successfully
compiled
libgdamm. Could you please take a look for CreateTableArg class
implementation. Is it something we can stay with? I found that
_WRAP_METHOD doesn't work in this case.
Thanks.
On Sat, 2017-05-13 at 09:53 +0200, Kjell Ahlstedt wrote:
You have misspelt CreateTableArgTraits in some places
(CreateTableArgTriats), but not everywhere.
You can remove the CONVERSION()s to Glib::RefPtr<const
ServerOperationCreateTableArg> and
Glib::RefPtr<ServerOperationCreateTableArg>. I suppose they are
not
used, and therefore make no harm.
There may be other errors, I haven't studied your code in detail.
--
- Pavlo Solntsev
--
- Pavlo Solntsev
---------------------------------------------
Sent from Evolution on GNU/Debian <www.debian.org> id="-x-evo-
selection-start-marker">
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]