author | zecke <zecke> | 2003-02-05 08:54:58 (UTC) |
---|---|---|
committer | zecke <zecke> | 2003-02-05 08:54:58 (UTC) |
commit | bbb3690f12191763a407e6a0edd521113b3c25ac (patch) (unidiff) | |
tree | 39f90d71c7f085f5722382db4a5577bbda2e1618 /x11/ipc/server/ocopserver.cpp | |
parent | 97b96e141fca844317e59ca5b99c1bf5fa52b1f0 (diff) | |
download | opie-bbb3690f12191763a407e6a0edd521113b3c25ac.zip opie-bbb3690f12191763a407e6a0edd521113b3c25ac.tar.gz opie-bbb3690f12191763a407e6a0edd521113b3c25ac.tar.bz2 |
Fix the IPC server and client
registering channel is done locally with refcounts
if the channel is already registered globally
Fix some sizes to allow proper communication..
Diffstat (limited to 'x11/ipc/server/ocopserver.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | x11/ipc/server/ocopserver.cpp | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/x11/ipc/server/ocopserver.cpp b/x11/ipc/server/ocopserver.cpp index 0f818b7..ee5ea18 100644 --- a/x11/ipc/server/ocopserver.cpp +++ b/x11/ipc/server/ocopserver.cpp | |||
@@ -167,7 +167,7 @@ void OCopServer::newOnClient( int fd ) { | |||
167 | // qWarning("magic match"); | 167 | // qWarning("magic match"); |
168 | QCString channel( head.chlen+1 ); | 168 | QCString channel( head.chlen+1 ); |
169 | QCString func( head.funclen+1 ); | 169 | QCString func( head.funclen+1 ); |
170 | QByteArray data ( head.datalen ); | 170 | QByteArray data ( head.datalen+1 ); |
171 | 171 | ||
172 | /* | 172 | /* |
173 | * we do not check for errors | 173 | * we do not check for errors |
@@ -300,7 +300,7 @@ void OCopServer::dispatch( const OCOPPacket& packet, int sourceFD ) { | |||
300 | case OCOPPacket::Signal: | 300 | case OCOPPacket::Signal: |
301 | break; | 301 | break; |
302 | case OCOPPacket::IsRegistered: | 302 | case OCOPPacket::IsRegistered: |
303 | qWarning("IsRegistered"); | 303 | qWarning("Server:IsRegistered %s", packet.channel().data() ); |
304 | isRegistered( packet.channel(), sourceFD ); | 304 | isRegistered( packet.channel(), sourceFD ); |
305 | break; | 305 | break; |
306 | }; | 306 | }; |
@@ -365,7 +365,7 @@ void OCopServer::delChannel( const QCString& channel, | |||
365 | } | 365 | } |
366 | } | 366 | } |
367 | void OCopServer::isRegistered( const QCString& channel, int fd) { | 367 | void OCopServer::isRegistered( const QCString& channel, int fd) { |
368 | // qWarning("isRegistered"); | 368 | qWarning("Server:isRegistered %s", channel.data() ); |
369 | OCOPHead head; | 369 | OCOPHead head; |
370 | QCString func(2); | 370 | QCString func(2); |
371 | 371 | ||
@@ -379,8 +379,10 @@ void OCopServer::isRegistered( const QCString& channel, int fd) { | |||
379 | if ( isChannelRegistered( channel ) ) { | 379 | if ( isChannelRegistered( channel ) ) { |
380 | //is registered | 380 | //is registered |
381 | func[0] = 1; | 381 | func[0] = 1; |
382 | qWarning("Server:Channel is Registered %d", head.chlen); | ||
382 | }else{ | 383 | }else{ |
383 | func[0] = 0; | 384 | func[0] = 0; |
385 | qWarning("Server:Channel is NotRegistered"); | ||
384 | } | 386 | } |
385 | 387 | ||
386 | /** | 388 | /** |
@@ -401,6 +403,7 @@ void OCopServer::call( const OCOPPacket& p, int ) { | |||
401 | 403 | ||
402 | OCOPHead head = p.head(); | 404 | OCOPHead head = p.head(); |
403 | for (it = cli.begin(); it != cli.end(); ++it ) { | 405 | for (it = cli.begin(); it != cli.end(); ++it ) { |
406 | qWarning("Server:calling %d %s %s", (*it), p.channel().data(), p.header().data() ); | ||
404 | write( (*it), &head, sizeof(head ) ); | 407 | write( (*it), &head, sizeof(head ) ); |
405 | /* expl. shared! */ | 408 | /* expl. shared! */ |
406 | write( (*it), p.channel().data(), p.channel().size() ); | 409 | write( (*it), p.channel().data(), p.channel().size() ); |