blob: fbe121b504bfde1a293842d431076d090123f078 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
This is the design of our Opie PDA Communication
Protocol
It's main purpose is to be src compatible with QCOP
from TT and Qtopia. It's main target is to be used
as a QCOP replacement for the X11 Windowing System.
We heavily use unix domain sockets for the internal
communication.
We've one socket in $HOME/.opie.cop which is the
server socket. We will communicate with the use
of QDataStream and QByteArray.
Internally QByteArries will be copied from the client
to the server
A package is looking similiar to this one
int packet_type; // Register, Unregister, Call, Method, Reply, RegisterChannel, UnregisterChannel
QString channel;
QString header
QByteArray packet
Server PART:
We keep the fds together with a list of Channels
QMap<QString,QValueList<int>> int is the fd and QString is the channel
name
this makes the isRegistered stuff more easy to manage
Client:
RPC is currently not enabled but will be available in future versions
I do not want to add it otherwise I'll stick too tight
to this implementation.
We currently only support send and forget
isRegistered will be taken care of the client side. We can not
use the X WindowSystem for that
I hope this helps... be sure to look at the code
I try to comment it
and now go to the hacking ;)
-zecke 30.09.02
|