/* GPL!*/ #ifndef OPIE_OCOP_PACKET_H #define OPIE_OCOP_PACKET_H #include #include /** * 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