author | zecke <zecke> | 2002-10-01 14:27:17 (UTC) |
---|---|---|
committer | zecke <zecke> | 2002-10-01 14:27:17 (UTC) |
commit | bba0335bbea81519beafb7fec1979a0abbd8a7ea (patch) (side-by-side diff) | |
tree | ee334cf518c59582a36a3dd24238a05dfc3535a2 /x11/ipc/common/ocoppacket.h | |
parent | ef8d0a15d706b0e230f052efcb1eab6f905a8737 (diff) | |
download | opie-bba0335bbea81519beafb7fec1979a0abbd8a7ea.zip opie-bba0335bbea81519beafb7fec1979a0abbd8a7ea.tar.gz opie-bba0335bbea81519beafb7fec1979a0abbd8a7ea.tar.bz2 |
5th try
initial checkin of X11 Opie stuff
it features an IPC Server
the client is todo
this will become the OPIE X11 department
including
alternative QPEApplication, QCOP replacement
-rw-r--r-- | x11/ipc/common/ocoppacket.h | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/x11/ipc/common/ocoppacket.h b/x11/ipc/common/ocoppacket.h new file mode 100644 index 0000000..490ff03 --- a/dev/null +++ b/x11/ipc/common/ocoppacket.h @@ -0,0 +1,64 @@ +/* GPL!*/ + +#ifndef OPIE_OCOP_PACKET_H +#define OPIE_OCOP_PACKET_H + +#include <qcstring.h> +#include <qstring.h> + +/** + * This is the head which will be sent + * in advance to every packet + */ +struct OCOPHead { + int magic; + int type; + int chlen; + int funclen; + int datalen; +}; + +/** + * This is the basic packet we will + * use for the communication between server + * and client + */ +class OCOPPacket { +public: + enum Type { + Register = 0, Unregister, Call, + Method, Reply, RegisterChannel, + UnregisterChannel, Return, Signal, + IsRegistered + }; + /** + * the c'tor + * type the Type of this packet + * the Channel + * the header of the function + * the data inside a QByteArray + */ + OCOPPacket( int type, const QCString& channel = QCString(), + const QCString& header = QCString(), + const QByteArray& array = QByteArray() ); + + QByteArray toByteArray()const; + int type()const; + QCString channel()const; + QCString header()const; + QByteArray content()const; + OCOPHead head()const; + + void setType( int type ); + void setChannel( const QCString& ); + void setHeader(const QCString& ); + void setContent( const QByteArray& ); + +private: + int m_type; + QCString m_channel; + QCString m_header; + QByteArray m_content; +}; + +#endif |