Re: giomm API review needed



Jonathon Jongsma wrote:
On Tue, 2008-01-15 at 15:55 +0100, Murray Cumming wrote:
On Wed, 2008-01-09 at 17:58 +0100, Murray Cumming wrote:
giomm is now in glibmm. But we need more people to take a look and
review the API. We'll have to freeze the API quite soon for GNOME 2.22,
though I'm not sure exactly when that will be for glib and glibmm.

I am gradually adding documentation, but I'm only up to
Gio::FileEnumerator so far, alphabetically:
http://www.gtkmm.org/docs/glibmm-2.4/docs/reference/html/namespaceGio.html

Gio::File is probably a good place to start, though I don't yet have a
good idea of the API as a whole:
http://www.gtkmm.org/docs/glibmm-2.4/docs/reference/html/classGio_1_1File.html#_details
There are several TODO comments in the .hg files if someone would like
to help. It's simple stuff.


I finally got some time to sit down and play around with the giomm stuff
tonight, but unfortunately I haven't gotten very far yet.  I can't even
get a simple example to run.  Has anybody else written any test/sample
programs with giomm? Am I doing something wrong here?

$ cat giomm-test.cc #include <giomm.h>

// no overloads exist without a cancellable argument yet, so create a
dummy NULL
// cancellable
Glib::RefPtr<Gio::Cancellable> not_cancellable;

int main (int argc, char** argv)
{
    Gio::init();
    Glib::RefPtr<Gio::File> f = Gio::File::create_for_path
("/home/jonathon/tmp/giomm.cc");
    Glib::RefPtr<Gio::FileInputStream> stream = f->read
(not_cancellable);
    return 0;
}

$ ./giomm-test Segmentation fault (core dumped)

gdb says:
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1214220608 (LWP 12799)]
0x08053311 in ?? ()
(gdb) bt
#0  0x08053311 in ?? ()
#1  0xbf8d8758 in ?? ()
#2  0xb7dcd1ea in IA__g_type_create_instance (type=0) at gtype.c:1569
Backtrace stopped: previous frame inner to this frame (corrupt stack?)

I think that though the docs say the Cancellable can be NULL this is probably only true for for the C API. You may need to have a "real" Cancellable.

-Jose


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]