Hi On 2013-12-13 13:17, JM <interflug1 gmx net> wrote:
Sorry to hear that libtaginfo is so not suited for easytag. Certainly, it would be possible to do a GObject wrapper for the C++ API. And it is true that libtaginfo's C bindings are not using GObject or GFile and do mapping to standard C types. Why should it do more? I think that would be a little too much overhead for a simple, generally usable wrapper for synchronous file access.
I do not think that libtaginfo should be using GFile, but providing the I/O callbacks is a convenient way to substitute an alternative I/O implementation.
For instance, I keep none of my audio files on the machine where I run EasyTAG, yet I want to be able to use EasyTAG to modify those files. I can mount a remote file share as a user, and access it transparently with GIO API (with a URI through gvfs) if I am using GFile. For many remote filesystems, a filename will not be available, and I want to support those in EasyTAG. The port to use GFile is not complete, but many functions are already using it, the image tag page being the best example.
Asynchronous I/O is also possible (and not too difficult) with GIO, and it is planned to make all I/O in EasyTAG asynchronous. I think it is quite reasonable not to support this in a wrapper, but not providing support for overriding the I/O implementation would make it difficult to implement some remote file share scenarios and asynchronous I/O.
-- http://amigadave.com/
Attachment:
signature.asc
Description: Digital signature