Choices and constraints

From Catchcopy
Jump to: navigation, search

Protocol

Choices

  • 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?

Constraints

  • 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.

Dbus implementation

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.