From 6e4021b4bb8ff06b0821519da73e59163d49c7dd Mon Sep 17 00:00:00 2001 From: Liong Sauw Ming Date: Tue, 9 Sep 2014 04:10:59 +0000 Subject: Fixed #1784: Remove the usage of nested structs/unions in PJSUA2 (unsupported by SWIG C++) git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@4918 74dad513-b988-da41-8d7b-12977e46ad98 --- pjsip/include/pjsua2/siptypes.hpp | 92 ++++++++++++++++++++++----------------- 1 file changed, 51 insertions(+), 41 deletions(-) (limited to 'pjsip/include/pjsua2/siptypes.hpp') diff --git a/pjsip/include/pjsua2/siptypes.hpp b/pjsip/include/pjsua2/siptypes.hpp index a5e7550f..8e0428b9 100644 --- a/pjsip/include/pjsua2/siptypes.hpp +++ b/pjsip/include/pjsua2/siptypes.hpp @@ -523,19 +523,24 @@ struct TimerEvent TimerEntry entry; /**< The timer entry. */ }; +/** + * This structure describes transaction state event source. + */ +struct TsxStateEventSrc +{ + SipRxData rdata; /**< The incoming message. */ + SipTxData tdata; /**< The outgoing message. */ + TimerEntry timer; /**< The timer. */ + pj_status_t status; /**< Transport error status. */ + GenericData data; /**< Generic data. */ +}; + /** * This structure describes transaction state changed event. */ struct TsxStateEvent { - struct - { - SipRxData rdata; /**< The incoming message. */ - SipTxData tdata; /**< The outgoing message. */ - TimerEntry timer; /**< The timer. */ - pj_status_t status; /**< Transport error status. */ - GenericData data; /**< Generic data. */ - } src; /**< Event source. */ + TsxStateEventSrc src; /**< Event source. */ SipTransaction tsx; /**< The transaction. */ pjsip_tsx_state_e prevState; /**< Previous state. */ pjsip_event_id_e type; /**< Type of event source: @@ -583,6 +588,43 @@ struct UserEvent GenericData user4; /**< User data 4. */ }; +/** + * The event body. + */ +struct SipEventBody +{ + /** + * Timer event. + */ + TimerEvent timer; + + /** + * Transaction state has changed event. + */ + TsxStateEvent tsxState; + + /** + * Message transmission event. + */ + TxMsgEvent txMsg; + + /** + * Transmission error event. + */ + TxErrorEvent txError; + + /** + * Message arrival event. + */ + RxMsgEvent rxMsg; + + /** + * User event. + */ + UserEvent user; + +}; + /** * This structure describe event descriptor to fully identify a SIP event. It * corresponds to the pjsip_event structure in PJSIP library. @@ -597,39 +639,7 @@ struct SipEvent /** * The event body, which fields depends on the event type. */ - struct - { - /** - * Timer event. - */ - TimerEvent timer; - - /** - * Transaction state has changed event. - */ - TsxStateEvent tsxState; - - /** - * Message transmission event. - */ - TxMsgEvent txMsg; - - /** - * Transmission error event. - */ - TxErrorEvent txError; - - /** - * Message arrival event. - */ - RxMsgEvent rxMsg; - - /** - * User event. - */ - UserEvent user; - - } body; + SipEventBody body; /** * Pointer to its original pjsip_event. Only valid when the struct is -- cgit v1.2.3