Choices and constraints
- Use named pipe under Windows and unix socket under Unix to isolate the architecture of the application (32Bits clients will work with 64bits servers, or other mix)
- That's allow correct portable application
- Work with all sources/destination, to that's it's the utf16 witch been choose
- Why not dbus?
- The average sources + destination size is <16KB, then the prior is flexibility not performance
Why not dbus?
The question is very often asked, then:
- Because I wish multi-platform protocol, then:
- Under Windows: the stability is poor (crash under windows xp 64Bits sp2), it alert the user about tcp port open, and poor integration
- Windows/Mac: it need dbus deamon, some user under this other like one application = one process
- Need a lib, for Qt example, need Qt-Dbus plugin, more dependency just to that's.
But I'm not hostile to dbus implementation, but it will be to have great popularity under linux.
I have do an implementation into dbus for very simple integration:
void copy(QStringList sources,QString destination); void move(QStringList sources,QString destination);
For service: "info.first-world.catchcopy", Object "/"
Warning: The dbus plugin is not provided as default.