Hello all, currently it is not possible to compile a pjsua2 application with C++17. The reason is that C++17 removes support for dynamic exception specifications (that is "throws ..." declarations at the end of a function). Unfortunately PJSUA2 makes heavy use of exception specifications and most PJSUA2 functions are declared as "throw (Error)" - meaning that they can throw an exception of type "Error" that the programmer is supposed to catch. The consequence is that a lot of compile errors can be observed
when compiling a pjsua2 application with C++17. The compile errors
look as follows: /usr/local/include/pjsua2/json.hpp:80:33: error: ISO C++17
does not allow dynamic exception specifications The compile of the same application worked fine when using the C++14 standard, but it got broken when I switched from C++14 to the C++17 standard. See https://www.bfilipek.com/2017/05/cpp17-details-fixes-deprecation.html#removing-deprecated-exception-specifications-from-c17 and http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/p0003r0.html for more background about the removal of exception specifications. To make the application compile again, I had to remove "throw(Error)" in the whole PJSUA2 source code and include files. This seems to be the only viable and good fix for this issue. I wrote my own "sed" script to do that and made some cosmetic corrections afterwards. Then I generated the attached patch file. Could you please apply this patch to the code base or give me feedback what I still need to improve? I verified that pjsip compiles fine with the patch applied.Thank you very much! Best regards, Christian |
Index: aconfigure =================================================================== Index: aconfigure.ac =================================================================== Index: pjsip/include/pjsua2/account.hpp =================================================================== --- pjsip/include/pjsua2/account.hpp (revision 5883) +++ pjsip/include/pjsua2/account.hpp (working copy) @@ -174,7 +174,7 @@ * * @param node Container to read values from. */ - virtual void readObject(const ContainerNode &node) throw(Error); + virtual void readObject(const ContainerNode &node); /** * Write this object to a container node. @@ -181,7 +181,7 @@ * * @param node Container to write values to. */ - virtual void writeObject(ContainerNode &node) const throw(Error); + virtual void writeObject(ContainerNode &node) const; }; @@ -273,7 +273,7 @@ * * @param node Container to read values from. */ - virtual void readObject(const ContainerNode &node) throw(Error); + virtual void readObject(const ContainerNode &node); /** * Write this object to a container node. @@ -280,7 +280,7 @@ * * @param node Container to write values to. */ - virtual void writeObject(ContainerNode &node) const throw(Error); + virtual void writeObject(ContainerNode &node) const; }; /** @@ -331,7 +331,7 @@ * * @param node Container to read values from. */ - virtual void readObject(const ContainerNode &node) throw(Error); + virtual void readObject(const ContainerNode &node); /** * Write this object to a container node. @@ -338,7 +338,7 @@ * * @param node Container to write values to. */ - virtual void writeObject(ContainerNode &node) const throw(Error); + virtual void writeObject(ContainerNode &node) const; }; /** @@ -398,7 +398,7 @@ * * @param node Container to read values from. */ - virtual void readObject(const ContainerNode &node) throw(Error); + virtual void readObject(const ContainerNode &node); /** * Write this object to a container node. @@ -405,7 +405,7 @@ * * @param node Container to write values to. */ - virtual void writeObject(ContainerNode &node) const throw(Error); + virtual void writeObject(ContainerNode &node) const; }; /** @@ -438,7 +438,7 @@ * * @param node Container to read values from. */ - virtual void readObject(const ContainerNode &node) throw(Error); + virtual void readObject(const ContainerNode &node); /** * Write this object to a container node. @@ -445,7 +445,7 @@ * * @param node Container to write values to. */ - virtual void writeObject(ContainerNode &node) const throw(Error); + virtual void writeObject(ContainerNode &node) const; }; /** @@ -692,7 +692,7 @@ * * @param node Container to read values from. */ - virtual void readObject(const ContainerNode &node) throw(Error); + virtual void readObject(const ContainerNode &node); /** * Write this object to a container node. @@ -699,7 +699,7 @@ * * @param node Container to write values to. */ - virtual void writeObject(ContainerNode &node) const throw(Error); + virtual void writeObject(ContainerNode &node) const; }; /** @@ -781,7 +781,7 @@ * * @param node Container to read values from. */ - virtual void readObject(const ContainerNode &node) throw(Error); + virtual void readObject(const ContainerNode &node); /** * Write this object to a container node. @@ -788,7 +788,7 @@ * * @param node Container to write values to. */ - virtual void writeObject(ContainerNode &node) const throw(Error); + virtual void writeObject(ContainerNode &node) const; }; /** @@ -884,7 +884,7 @@ * * @param node Container to read values from. */ - virtual void readObject(const ContainerNode &node) throw(Error); + virtual void readObject(const ContainerNode &node); /** * Write this object to a container node. @@ -891,7 +891,7 @@ * * @param node Container to write values to. */ - virtual void writeObject(ContainerNode &node) const throw(Error); + virtual void writeObject(ContainerNode &node) const; }; /** @@ -971,7 +971,7 @@ * * @param node Container to read values from. */ - virtual void readObject(const ContainerNode &node) throw(Error); + virtual void readObject(const ContainerNode &node); /** * Write this object to a container node. @@ -978,7 +978,7 @@ * * @param node Container to write values to. */ - virtual void writeObject(ContainerNode &node) const throw(Error); + virtual void writeObject(ContainerNode &node) const; }; /** @@ -1077,7 +1077,7 @@ * * @param node Container to read values from. */ - virtual void readObject(const ContainerNode &node) throw(Error); + virtual void readObject(const ContainerNode &node); /** * Write this object to a container node. @@ -1084,7 +1084,7 @@ * * @param node Container to write values to. */ - virtual void writeObject(ContainerNode &node) const throw(Error); + virtual void writeObject(ContainerNode &node) const; }; /** @@ -1132,7 +1132,7 @@ * * @param node Container to read values from. */ - virtual void readObject(const ContainerNode &node) throw(Error); + virtual void readObject(const ContainerNode &node); /** * Write this object to a container node. @@ -1139,7 +1139,7 @@ * * @param node Container to write values to. */ - virtual void writeObject(ContainerNode &node) const throw(Error); + virtual void writeObject(ContainerNode &node) const; } AccountIpChangeConfig; @@ -1234,7 +1234,7 @@ * * @param node Container to read values from. */ - virtual void readObject(const ContainerNode &node) throw(Error); + virtual void readObject(const ContainerNode &node); /** * Write this object to a container node. @@ -1241,7 +1241,7 @@ * * @param node Container to write values to. */ - virtual void writeObject(ContainerNode &node) const throw(Error); + virtual void writeObject(ContainerNode &node) const; }; @@ -1642,7 +1642,7 @@ * @param make_default Make this the default account. */ void create(const AccountConfig &cfg, - bool make_default=false) throw(Error); + bool make_default=false); /** * Shutdown the account. This will initiate unregistration if needed, @@ -1664,7 +1664,7 @@ * @param cfg New account config to be applied to the * account. */ - void modify(const AccountConfig &cfg) throw(Error); + void modify(const AccountConfig &cfg); /** * Check if this account is still valid. @@ -1677,7 +1677,7 @@ * Set this as default account to be used when incoming and outgoing * requests don't match any accounts. */ - void setDefault() throw(Error); + void setDefault(); /** * Check if this account is the default account. Default account will be @@ -1709,7 +1709,7 @@ * * @return Account info. */ - AccountInfo getInfo() const throw(Error); + AccountInfo getInfo() const; /** * Update registration or perform unregistration. Application normally @@ -1719,7 +1719,7 @@ * @param renew If False, this will start unregistration * process. */ - void setRegistration(bool renew) throw(Error); + void setRegistration(bool renew); /** * Set or modify account's presence online status to be advertised to @@ -1730,7 +1730,7 @@ * * @param pres_st Presence online status. */ - void setOnlineStatus(const PresenceStatus &pres_st) throw(Error); + void setOnlineStatus(const PresenceStatus &pres_st); /** * Lock/bind this account to a specific transport/listener. Normally @@ -1746,7 +1746,7 @@ * * @param tp_id The transport ID. */ - void setTransport(TransportId tp_id) throw(Error); + void setTransport(TransportId tp_id); /** * Send NOTIFY to inform account presence status or to terminate server @@ -1756,7 +1756,7 @@ * * @param prm The sending NOTIFY parameter. */ - void presNotify(const PresNotifyParam &prm) throw(Error); + void presNotify(const PresNotifyParam &prm); /** * Enumerate all buddies of the account. @@ -1763,7 +1763,7 @@ * * @return The buddy list. */ - const BuddyVector& enumBuddies() const throw(Error); + const BuddyVector& enumBuddies() const; /** * Find a buddy in the buddy list with the specified URI. @@ -1776,7 +1776,7 @@ * @return The pointer to buddy. */ Buddy* findBuddy(string uri, FindBuddyMatch *buddy_match = NULL) const - throw(Error); + ; public: /* Index: pjsip/include/pjsua2/call.hpp =================================================================== --- pjsip/include/pjsua2/call.hpp (revision 5883) +++ pjsip/include/pjsua2/call.hpp (working copy) @@ -1245,7 +1245,7 @@ * * @return Call info. */ - CallInfo getInfo() const throw(Error); + CallInfo getInfo() const; /** * Check if this call has active INVITE session and the INVITE @@ -1344,7 +1344,7 @@ * * @see Endpoint::natGetType(), natTypeInSdp */ - pj_stun_nat_type getRemNatType() throw(Error); + pj_stun_nat_type getRemNatType(); /** * Make outgoing call to the specified URI. @@ -1355,7 +1355,7 @@ * @param prm.txOption Optional headers etc to be added to outgoing INVITE * request. */ - void makeCall(const string &dst_uri, const CallOpParam &prm) throw(Error); + void makeCall(const string &dst_uri, const CallOpParam &prm); /** * Send response to incoming INVITE request with call setting param. @@ -1379,7 +1379,7 @@ * be persistent in all next answers/responses for this * INVITE request. */ - void answer(const CallOpParam &prm) throw(Error); + void answer(const CallOpParam &prm); /** * Hangup call by using method that is appropriate according to the @@ -1399,7 +1399,7 @@ * @param prm.txOption Optional list of headers etc to be added to outgoing * request/response message. */ - void hangup(const CallOpParam &prm) throw(Error); + void hangup(const CallOpParam &prm); /** * Put the specified call on hold. This will send re-INVITE with the @@ -1413,7 +1413,7 @@ * @param prm.txOption Optional message components to be sent with * the request. */ - void setHold(const CallOpParam &prm) throw(Error); + void setHold(const CallOpParam &prm); /** * Send re-INVITE. @@ -1428,7 +1428,7 @@ * @param prm.txOption Optional message components to be sent with * the request. */ - void reinvite(const CallOpParam &prm) throw(Error); + void reinvite(const CallOpParam &prm); /** * Send UPDATE request. @@ -1438,7 +1438,7 @@ * @param prm.txOption Optional message components to be sent with * the request. */ - void update(const CallOpParam &prm) throw(Error); + void update(const CallOpParam &prm); /** * Initiate call transfer to the specified address. This function will send @@ -1455,7 +1455,7 @@ * @param prm.txOption Optional message components to be sent with * the request. */ - void xfer(const string &dest, const CallOpParam &prm) throw(Error); + void xfer(const string &dest, const CallOpParam &prm); /** * Initiate attended call transfer. This function will send REFER request @@ -1473,7 +1473,7 @@ * the request. */ void xferReplaces(const Call& dest_call, - const CallOpParam &prm) throw(Error); + const CallOpParam &prm); /** * Accept or reject redirection response. Application MUST call this @@ -1497,7 +1497,7 @@ * callback, except that the PJSIP_REDIRECT_PENDING is * not accepted here. */ - void processRedirect(pjsip_redirect_op cmd) throw(Error); + void processRedirect(pjsip_redirect_op cmd); /** * Send DTMF digits to remote using RFC 2833 payload formats. @@ -1504,7 +1504,7 @@ * * @param digits DTMF string digits to be sent. */ - void dialDtmf(const string &digits) throw(Error); + void dialDtmf(const string &digits); /** * Send DTMF digits to remote. @@ -1511,7 +1511,7 @@ * * @param param The send DTMF parameter. */ - void sendDtmf(const CallSendDtmfParam ¶m) throw (Error); + void sendDtmf(const CallSendDtmfParam ¶m); /** * Send instant messaging inside INVITE session. @@ -1525,7 +1525,7 @@ * @param prm.userData Optional user data, which will be given back when * the IM callback is called. */ - void sendInstantMessage(const SendInstantMessageParam& prm) throw(Error); + void sendInstantMessage(const SendInstantMessageParam& prm); /** * Send IM typing indication inside INVITE session. @@ -1536,7 +1536,7 @@ * outgoing request. */ void sendTypingIndication(const SendTypingIndicationParam &prm) - throw(Error); + ; /** * Send arbitrary request with the call. This is useful for example to send @@ -1548,7 +1548,7 @@ * @param prm.txOption Optional message body and/or list of headers to be * included in outgoing request. */ - void sendRequest(const CallSendRequestParam &prm) throw(Error); + void sendRequest(const CallSendRequestParam &prm); /** * Dump call and media statistics to string. @@ -1558,7 +1558,7 @@ * * @return Call dump and media statistics string. */ - string dump(bool with_media, const string indent) throw(Error); + string dump(bool with_media, const string indent); /** * Get the media stream index of the default video stream in the call. @@ -1596,7 +1596,7 @@ * (see CallVidSetStreamParam). */ void vidSetStream(pjsua_call_vid_strm_op op, - const CallVidSetStreamParam ¶m) throw(Error); + const CallVidSetStreamParam ¶m); /** * Get media stream info for the specified media index. @@ -1605,7 +1605,7 @@ * * @return The stream info. */ - StreamInfo getStreamInfo(unsigned med_idx) const throw(Error); + StreamInfo getStreamInfo(unsigned med_idx) const; /** * Get media stream statistic for the specified media index. @@ -1614,7 +1614,7 @@ * * @return The stream statistic. */ - StreamStat getStreamStat(unsigned med_idx) const throw(Error); + StreamStat getStreamStat(unsigned med_idx) const; /** * Get media transport info for the specified media index. @@ -1623,7 +1623,7 @@ * * @return The transport info. */ - MediaTransportInfo getMedTransportInfo(unsigned med_idx) const throw(Error); + MediaTransportInfo getMedTransportInfo(unsigned med_idx) const; /** * Internal function (callled by Endpoint( to process update to call Index: pjsip/include/pjsua2/endpoint.hpp =================================================================== --- pjsip/include/pjsua2/endpoint.hpp (revision 5883) +++ pjsip/include/pjsua2/endpoint.hpp (working copy) @@ -560,7 +560,7 @@ * * @param node Container to write values from. */ - virtual void readObject(const ContainerNode &node) throw(Error); + virtual void readObject(const ContainerNode &node); /** * Write this object to a container. @@ -567,7 +567,7 @@ * * @param node Container to write values to. */ - virtual void writeObject(ContainerNode &node) const throw(Error); + virtual void writeObject(ContainerNode &node) const; }; @@ -660,7 +660,7 @@ * * @param node Container to write values from. */ - virtual void readObject(const ContainerNode &node) throw(Error); + virtual void readObject(const ContainerNode &node); /** * Write this object to a container. @@ -667,7 +667,7 @@ * * @param node Container to write values to. */ - virtual void writeObject(ContainerNode &node) const throw(Error); + virtual void writeObject(ContainerNode &node) const; }; @@ -879,7 +879,7 @@ * * @param node Container to write values from. */ - virtual void readObject(const ContainerNode &node) throw(Error); + virtual void readObject(const ContainerNode &node); /** * Write this object to a container. @@ -886,7 +886,7 @@ * * @param node Container to write values to. */ - virtual void writeObject(ContainerNode &node) const throw(Error); + virtual void writeObject(ContainerNode &node) const; }; @@ -909,7 +909,7 @@ * * @param node Container to write values from. */ - virtual void readObject(const ContainerNode &node) throw(Error); + virtual void readObject(const ContainerNode &node); /** * Write this object to a container. @@ -916,7 +916,7 @@ * * @param node Container to write values to. */ - virtual void writeObject(ContainerNode &node) const throw(Error); + virtual void writeObject(ContainerNode &node) const; }; @@ -941,7 +941,7 @@ { public: /** Retrieve the singleton instance of the endpoint */ - static Endpoint &instance() throw(Error); + static Endpoint &instance(); /** Default constructor */ Endpoint(); @@ -965,7 +965,7 @@ * are properly initialized. Once this function has returned success, * application must call libDestroy() before quitting. */ - void libCreate() throw(Error); + void libCreate(); /** * Get library state. @@ -983,7 +983,7 @@ * * @param prmEpConfig Endpoint configurations */ - void libInit( const EpConfig &prmEpConfig) throw(Error); + void libInit( const EpConfig &prmEpConfig); /** * Call this function after all initialization is done, so that the @@ -990,7 +990,7 @@ * library can do additional checking set up. Application may call this * function any time after init(). */ - void libStart() throw(Error); + void libStart(); /** * Register a thread that was created by external or native API to the @@ -1000,7 +1000,7 @@ * * @param name The optional name to be assigned to the thread. */ - void libRegisterThread(const string &name) throw(Error); + void libRegisterThread(const string &name); /** * Check if this thread has been registered to the library. Note that @@ -1049,7 +1049,7 @@ * * @param prmFlags Combination of pjsua_destroy_flag enumeration. */ - void libDestroy(unsigned prmFlags=0) throw(Error); + void libDestroy(unsigned prmFlags=0); /************************************************************************* @@ -1122,7 +1122,7 @@ * given to utilTimerCancel(). */ Token utilTimerSchedule(unsigned prmMsecDelay, - Token prmUserData) throw (Error); + Token prmUserData); /** * Cancel previously scheduled timer with the specified timer token. @@ -1144,7 +1144,7 @@ /** * Get cipher list supported by SSL/TLS backend. */ - IntVector utilSslGetAvailableCiphers() throw (Error); + IntVector utilSslGetAvailableCiphers(); /************************************************************************* * NAT operations @@ -1161,7 +1161,7 @@ * * Note that STUN must be enabled to run this function successfully. */ - void natDetectType(void) throw(Error); + void natDetectType(void); /** * Get the NAT type as detected by natDetectType() function. This @@ -1172,7 +1172,7 @@ * Exception: if this function is called while detection is in progress, * PJ_EPENDING exception will be raised. */ - pj_stun_nat_type natGetType() throw(Error); + pj_stun_nat_type natGetType(); /** * Update the STUN servers list. The libInit() must have been called @@ -1198,7 +1198,7 @@ * */ void natUpdateStunServers(const StringVector &prmServers, - bool prmWait) throw(Error); + bool prmWait); /** * Auxiliary function to resolve and contact each of the STUN server @@ -1228,7 +1228,7 @@ */ void natCheckStunServers(const StringVector &prmServers, bool prmWait, - Token prmUserData) throw(Error); + Token prmUserData); /** * Cancel pending STUN resolution which match the specified token. @@ -1243,7 +1243,7 @@ * Exception: PJ_ENOTFOUND if there is no matching one, or other error. */ void natCancelCheckStunServers(Token token, - bool notify_cb = false) throw(Error); + bool notify_cb = false); /************************************************************************* * Transport operations @@ -1259,7 +1259,7 @@ * @return The transport ID. */ TransportId transportCreate(pjsip_transport_type_e type, - const TransportConfig &cfg) throw(Error); + const TransportConfig &cfg); /** * Enumerate all transports currently created in the system. This @@ -1269,7 +1269,7 @@ * * @return Array of transport IDs. */ - IntVector transportEnum() throw(Error); + IntVector transportEnum(); /** * Get information about transport. @@ -1278,7 +1278,7 @@ * * @return Transport info. */ - TransportInfo transportGetInfo(TransportId id) throw(Error); + TransportInfo transportGetInfo(TransportId id); /** * Disable a transport or re-enable it. By default transport is always @@ -1290,7 +1290,7 @@ * @param enabled Enable or disable the transport. * */ - void transportSetEnable(TransportId id, bool enabled) throw(Error); + void transportSetEnable(TransportId id, bool enabled); /** * Close the transport. The system will wait until all transactions are @@ -1299,7 +1299,7 @@ * * @param id Transport ID. */ - void transportClose(TransportId id) throw(Error); + void transportClose(TransportId id); /** * Start graceful shutdown procedure for this transport handle. After @@ -1314,7 +1314,7 @@ * * @param tp The transport. */ - void transportShutdown(TransportHandle tp) throw(Error); + void transportShutdown(TransportHandle tp); /************************************************************************* * Call operations @@ -1372,7 +1372,7 @@ * * @return The list of media port. */ - const AudioMediaVector &mediaEnumPorts() const throw(Error); + const AudioMediaVector &mediaEnumPorts() const; /** * Get the instance of Audio Device Manager. @@ -1397,7 +1397,7 @@ * * @return Array of codec info. */ - const CodecInfoVector &codecEnum() throw(Error); + const CodecInfoVector &codecEnum(); /** * Change codec priority. @@ -1409,7 +1409,7 @@ * */ void codecSetPriority(const string &codec_id, - pj_uint8_t priority) throw(Error); + pj_uint8_t priority); /** * Get codec parameters. @@ -1420,7 +1420,7 @@ * will be thrown. * */ - CodecParam codecGetParam(const string &codec_id) const throw(Error); + CodecParam codecGetParam(const string &codec_id) const; /** * Set codec parameters. @@ -1431,7 +1431,7 @@ * */ void codecSetParam(const string &codec_id, - const CodecParam param) throw(Error); + const CodecParam param); /** * Enum all supported video codecs in the system. @@ -1438,7 +1438,7 @@ * * @return Array of video codec info. */ - const CodecInfoVector &videoCodecEnum() throw(Error); + const CodecInfoVector &videoCodecEnum(); /** * Change video codec priority. @@ -1451,7 +1451,7 @@ * */ void videoCodecSetPriority(const string &codec_id, - pj_uint8_t priority) throw(Error); + pj_uint8_t priority); /** * Get video codec parameters. @@ -1462,7 +1462,7 @@ * will be thrown. * */ - VidCodecParam getVideoCodecParam(const string &codec_id) const throw(Error); + VidCodecParam getVideoCodecParam(const string &codec_id) const; /** * Set video codec parameters. @@ -1472,7 +1472,7 @@ * */ void setVideoCodecParam(const string &codec_id, - const VidCodecParam ¶m) throw(Error); + const VidCodecParam ¶m); /** * Reset video codec parameters to library default settings. @@ -1480,7 +1480,7 @@ * @param codec_id Codec ID. * */ - void resetVideoCodecParam(const string &codec_id) throw(Error); + void resetVideoCodecParam(const string &codec_id); /** * Enumerate all SRTP crypto-suite names. @@ -1487,7 +1487,7 @@ * * @return The list of SRTP crypto-suite name. */ - StringVector srtpCryptoEnum() throw(Error); + StringVector srtpCryptoEnum(); /************************************************************************* * IP Change @@ -1512,7 +1512,7 @@ * * @return PJ_SUCCESS on success, other on error. */ - void handleIpChange(const IpChangeParam ¶m) throw(Error); + void handleIpChange(const IpChangeParam ¶m); public: /* Index: pjsip/include/pjsua2/json.hpp =================================================================== --- pjsip/include/pjsua2/json.hpp (revision 5883) +++ pjsip/include/pjsua2/json.hpp (working copy) @@ -58,7 +58,7 @@ * * @param filename The file name. */ - virtual void loadFile(const string &filename) throw(Error); + virtual void loadFile(const string &filename); /** * Load this document from string. @@ -65,7 +65,7 @@ * * @param input The string. */ - virtual void loadString(const string &input) throw(Error); + virtual void loadString(const string &input); /** * Write this document to a file. @@ -72,12 +72,12 @@ * * @param filename The file name. */ - virtual void saveFile(const string &filename) throw(Error); + virtual void saveFile(const string &filename); /** * Write this document to string. */ - virtual string saveString() throw(Error); + virtual string saveString(); /** * Get the root container node for this document Index: pjsip/include/pjsua2/media.hpp =================================================================== --- pjsip/include/pjsua2/media.hpp (revision 5883) +++ pjsip/include/pjsua2/media.hpp (working copy) @@ -218,7 +218,7 @@ /** * Get information about the specified conference port. */ - ConfPortInfo getPortInfo() const throw(Error); + ConfPortInfo getPortInfo() const; /** * Get port Id. @@ -228,7 +228,7 @@ /** * Get information from specific port id. */ - static ConfPortInfo getPortInfoFromId(int port_id) throw(Error); + static ConfPortInfo getPortInfoFromId(int port_id); /** * Establish unidirectional media flow to sink. This media port @@ -243,7 +243,7 @@ * * @param sink The destination Media. */ - void startTransmit(const AudioMedia &sink) const throw(Error); + void startTransmit(const AudioMedia &sink) const; /** * Establish unidirectional media flow to sink. This media port @@ -271,8 +271,7 @@ * @param param The parameter. */ void startTransmit2(const AudioMedia &sink, - const AudioMediaTransmitParam ¶m) const - throw(Error); + const AudioMediaTransmitParam ¶m) const; /** * Stop media flow to destination/sink port. @@ -280,7 +279,7 @@ * @param sink The destination media. * */ - void stopTransmit(const AudioMedia &sink) const throw(Error); + void stopTransmit(const AudioMedia &sink) const; /** * Adjust the signal level to be transmitted from the bridge to this @@ -290,7 +289,7 @@ * level adjustment, while value 0 means to mute * the port. */ - void adjustRxLevel(float level) throw(Error); + void adjustRxLevel(float level); /** * Adjust the signal level to be received from this media port (to @@ -300,7 +299,7 @@ * level adjustment, while value 0 means to mute * the port. */ - void adjustTxLevel(float level) throw(Error); + void adjustTxLevel(float level); /** * Get the last received signal level. @@ -307,7 +306,7 @@ * * @return Signal level in percent. */ - unsigned getRxLevel() const throw(Error); + unsigned getRxLevel() const; /** * Get the last transmitted signal level. @@ -314,7 +313,7 @@ * * @return Signal level in percent. */ - unsigned getTxLevel() const throw(Error); + unsigned getTxLevel() const; /** * Typecast from base class Media. This is useful for application written @@ -351,7 +350,7 @@ * param port the media port to be registered to the conference bridge. * */ - void registerMediaPort(MediaPort port) throw(Error); + void registerMediaPort(MediaPort port); /** * This method needs to be called by descendants of this class to remove @@ -419,7 +418,7 @@ * PJMEDIA_FILE_NO_LOOP to prevent playback loop. */ void createPlayer(const string &file_name, - unsigned options=0) throw(Error); + unsigned options=0); /** * Create a file playlist media port, and automatically add the port @@ -434,7 +433,7 @@ */ void createPlaylist(const StringVector &file_names, const string &label="", - unsigned options=0) throw(Error); + unsigned options=0); /** * Get additional info about the player. This operation is only valid @@ -442,7 +441,7 @@ * * @return the info. */ - AudioMediaPlayerInfo getInfo() const throw(Error); + AudioMediaPlayerInfo getInfo() const; /** * Get current playback position in samples. This operation is not valid @@ -450,7 +449,7 @@ * * @return Current playback position, in samples. */ - pj_uint32_t getPos() const throw(Error); + pj_uint32_t getPos() const; /** * Set playback position in samples. This operation is not valid for @@ -458,7 +457,7 @@ * * @param samples The desired playback position, in samples. */ - void setPos(pj_uint32_t samples) throw(Error); + void setPos(pj_uint32_t samples); /** * Typecast from base class AudioMedia. This is useful for application @@ -543,7 +542,7 @@ void createRecorder(const string &file_name, unsigned enc_type=0, pj_ssize_t max_size=0, - unsigned options=0) throw(Error); + unsigned options=0); /** * Typecast from base class AudioMedia. This is useful for application @@ -639,7 +638,7 @@ * Create tone generator. */ void createToneGenerator(unsigned clock_rate = 16000, - unsigned channel_count = 1) throw(Error); + unsigned channel_count = 1); /** * Check if the tone generator is still busy producing some tones. @@ -650,13 +649,13 @@ /** * Instruct the tone generator to stop current processing. */ - void stop() throw(Error); + void stop(); /** * Rewind the playback. This will start the playback to the first * tone in the playback list. */ - void rewind() throw(Error); + void rewind(); /** * Instruct the tone generator to play single or dual frequency tones @@ -669,7 +668,7 @@ * @param loop Play the tone in a loop. */ void play(const ToneDescVector &tones, - bool loop=false) throw(Error); + bool loop=false); /** * Instruct the tone generator to play multiple MF digits with each of @@ -683,7 +682,7 @@ * @param loop Play the tone in a loop. */ void playDigits(const ToneDigitVector &digits, - bool loop=false) throw(Error); + bool loop=false); /** * Get the digit-map currently used by this tone generator. @@ -690,7 +689,7 @@ * * @return The digitmap currently used by the tone generator */ - ToneDigitMapVector getDigitMap() const throw(Error); + ToneDigitMapVector getDigitMap() const; /** * Set digit map to be used by the tone generator. @@ -697,7 +696,7 @@ * * @param digit_map Digitmap to be used by the tone generator. */ - void setDigitMap(const ToneDigitMapVector &digit_map) throw(Error); + void setDigitMap(const ToneDigitMapVector &digit_map); private: pj_pool_t *pool; @@ -787,7 +786,7 @@ * * @return Device ID of the capture device. */ - int getCaptureDev() const throw(Error); + int getCaptureDev() const; /** * Get the AudioMedia of the capture audio device. @@ -794,7 +793,7 @@ * * @return Audio media for the capture device. */ - AudioMedia &getCaptureDevMedia() throw(Error); + AudioMedia &getCaptureDevMedia(); /** * Get currently active playback sound devices. If sound devices has not @@ -802,7 +801,7 @@ * * @return Device ID of the playback device. */ - int getPlaybackDev() const throw(Error); + int getPlaybackDev() const; /** * Get the AudioMedia of the speaker/playback audio device. @@ -809,7 +808,7 @@ * * @return Audio media for the speaker/playback device. */ - AudioMedia &getPlaybackDevMedia() throw(Error); + AudioMedia &getPlaybackDevMedia(); /** * Select or change capture sound device. Application may call this @@ -819,7 +818,7 @@ * * @param capture_dev Device ID of the capture device. */ - void setCaptureDev(int capture_dev) const throw(Error); + void setCaptureDev(int capture_dev) const; /** * Select or change playback sound device. Application may call this @@ -829,7 +828,7 @@ * * @param playback_dev Device ID of the playback device. */ - void setPlaybackDev(int playback_dev) const throw(Error); + void setPlaybackDev(int playback_dev) const; /** * Enum all audio devices installed in the system. @@ -836,7 +835,7 @@ * * @return The list of audio device info. */ - const AudioDevInfoVector &enumDev() throw(Error); + const AudioDevInfoVector &enumDev(); /** * Set pjsua to use null sound device. The null sound device only provides @@ -844,7 +843,7 @@ * any hardware. * */ - void setNullDev() throw(Error); + void setNullDev(); /** * Disconnect the main conference bridge from any sound devices, and let @@ -863,7 +862,7 @@ * of #pjsua_snd_dev_mode * */ - void setSndDevMode(unsigned mode) const throw(Error); + void setSndDevMode(unsigned mode) const; /** * Change the echo cancellation settings. @@ -889,7 +888,7 @@ * Normally the value should be zero. * */ - void setEcOptions(unsigned tail_msec, unsigned options) throw(Error); + void setEcOptions(unsigned tail_msec, unsigned options); /** * Get current echo canceller tail length. @@ -897,7 +896,7 @@ * @return The EC tail length in milliseconds, * If AEC is disabled, the value will be zero. */ - unsigned getEcTail() const throw(Error); + unsigned getEcTail() const; /** * Check whether the sound device is currently active. The sound device @@ -916,7 +915,7 @@ * any method that accepts audio device index as its parameter. * */ - void refreshDevs() throw(Error); + void refreshDevs(); /** * Get the number of sound devices installed in the system. @@ -935,7 +934,7 @@ * @return The device information which will be filled in * by this method once it returns successfully. */ - AudioDevInfo getDevInfo(int id) const throw(Error); + AudioDevInfo getDevInfo(int id) const; /** * Lookup device index based on the driver and device name. @@ -947,7 +946,7 @@ * Error will be thrown. */ int lookupDev(const string &drv_name, - const string &dev_name) const throw(Error); + const string &dev_name) const; /** * Get string info for the specified capability. @@ -978,7 +977,7 @@ * */ void - setExtFormat(const MediaFormatAudio &format, bool keep=true) throw(Error); + setExtFormat(const MediaFormatAudio &format, bool keep=true); /** * Get the audio format capability (other than PCM) of the sound device @@ -995,7 +994,7 @@ * @return The audio format. * */ - MediaFormatAudio getExtFormat() const throw(Error); + MediaFormatAudio getExtFormat() const; /** * This will configure audio input latency control or query capability to @@ -1016,7 +1015,7 @@ * for future use. */ void - setInputLatency(unsigned latency_msec, bool keep=true) throw(Error); + setInputLatency(unsigned latency_msec, bool keep=true); /** * Get the audio input latency control or query capability of the sound @@ -1033,7 +1032,7 @@ * @return The audio input latency. * */ - unsigned getInputLatency() const throw(Error); + unsigned getInputLatency() const; /** * This will configure audio output latency control or query capability to @@ -1055,7 +1054,7 @@ * */ void - setOutputLatency(unsigned latency_msec, bool keep=true) throw(Error); + setOutputLatency(unsigned latency_msec, bool keep=true); /** * Get the audio output latency control or query capability of the sound @@ -1072,7 +1071,7 @@ * @return The audio output latency. * */ - unsigned getOutputLatency() const throw(Error); + unsigned getOutputLatency() const; /** * This will configure audio input volume level capability to the @@ -1094,7 +1093,7 @@ * future use. * */ - void setInputVolume(unsigned volume, bool keep=true) throw(Error); + void setInputVolume(unsigned volume, bool keep=true); /** * Get the audio input volume level capability of the sound device being @@ -1111,7 +1110,7 @@ * @return The audio input volume level, in percent. * */ - unsigned getInputVolume() const throw(Error); + unsigned getInputVolume() const; /** * This will configure audio output volume level capability to the sound @@ -1132,7 +1131,7 @@ * for future use. * */ - void setOutputVolume(unsigned volume, bool keep=true) throw(Error); + void setOutputVolume(unsigned volume, bool keep=true); /** * Get the audio output volume level capability of the sound device being @@ -1149,7 +1148,7 @@ * @return The audio output volume level, in percent. * */ - unsigned getOutputVolume() const throw(Error); + unsigned getOutputVolume() const; /** * Get the audio input signal level capability of the sound device being @@ -1166,7 +1165,7 @@ * @return The audio input signal level, in percent. * */ - unsigned getInputSignal() const throw(Error); + unsigned getInputSignal() const; /** * Get the audio output signal level capability of the sound device being @@ -1183,7 +1182,7 @@ * @return The audio output signal level, in percent. * */ - unsigned getOutputSignal() const throw(Error); + unsigned getOutputSignal() const; /** * This will configure audio input route capability to the sound device @@ -1205,7 +1204,7 @@ * */ void - setInputRoute(pjmedia_aud_dev_route route, bool keep=true) throw(Error); + setInputRoute(pjmedia_aud_dev_route route, bool keep=true); /** * Get the audio input route capability of the sound device being used. @@ -1222,7 +1221,7 @@ * @return The audio input route. * */ - pjmedia_aud_dev_route getInputRoute() const throw(Error); + pjmedia_aud_dev_route getInputRoute() const; /** * This will configure audio output route capability to the sound device @@ -1244,7 +1243,7 @@ * */ void - setOutputRoute(pjmedia_aud_dev_route route, bool keep=true) throw(Error); + setOutputRoute(pjmedia_aud_dev_route route, bool keep=true); /** * Get the audio output route capability of the sound device being used. @@ -1261,7 +1260,7 @@ * @return The audio output route. * */ - pjmedia_aud_dev_route getOutputRoute() const throw(Error); + pjmedia_aud_dev_route getOutputRoute() const; /** * This will configure audio voice activity detection capability to @@ -1282,7 +1281,7 @@ * future use. * */ - void setVad(bool enable, bool keep=true) throw(Error); + void setVad(bool enable, bool keep=true); /** * Get the audio voice activity detection capability of the sound device @@ -1298,7 +1297,7 @@ * @return The audio voice activity detection feature. * */ - bool getVad() const throw(Error); + bool getVad() const; /** * This will configure audio comfort noise generation capability to @@ -1319,7 +1318,7 @@ * future use. * */ - void setCng(bool enable, bool keep=true) throw(Error); + void setCng(bool enable, bool keep=true); /** * Get the audio comfort noise generation capability of the sound device @@ -1335,7 +1334,7 @@ * @return The audio comfort noise generation feature. * */ - bool getCng() const throw(Error); + bool getCng() const; /** * This will configure audio packet loss concealment capability to @@ -1356,7 +1355,7 @@ * future use. * */ - void setPlc(bool enable, bool keep=true) throw(Error); + void setPlc(bool enable, bool keep=true); /** * Get the audio packet loss concealment capability of the sound device @@ -1372,7 +1371,7 @@ * @return The audio packet loss concealment feature. * */ - bool getPlc() const throw(Error); + bool getPlc() const; private: AudioDevInfoVector audioDevList; @@ -1389,7 +1388,7 @@ ~AudDevManager(); void clearAudioDevList(); - int getActiveDev(bool is_capture) const throw(Error); + int getActiveDev(bool is_capture) const; friend class Endpoint; }; @@ -1548,7 +1547,7 @@ * * @return video window info. */ - VideoWindowInfo getInfo() const throw(Error); + VideoWindowInfo getInfo() const; /** * Show or hide window. This operation is not valid for native windows @@ -1559,7 +1558,7 @@ * hide the window. * */ - void Show(bool show) throw(Error); + void Show(bool show); /** * Set video window position. This operation is not valid for native windows @@ -1569,7 +1568,7 @@ * @param pos The window position. * */ - void setPos(const MediaCoordinate &pos) throw(Error); + void setPos(const MediaCoordinate &pos); /** * Resize window. This operation is not valid for native windows @@ -1579,7 +1578,7 @@ * @param size The new window size. * */ - void setSize(const MediaSize &size) throw(Error); + void setSize(const MediaSize &size); /** * Rotate the video window. This function will change the video orientation @@ -1592,7 +1591,7 @@ * Specify positive value for clockwise rotation or * negative value for counter-clockwise rotation. */ - void rotate(int angle) throw(Error); + void rotate(int angle); /** * Set output window. This operation is valid only when the underlying @@ -1602,7 +1601,7 @@ * * @param win The new output window. */ - void setWindow(const VideoWindowHandle &win) throw(Error); + void setWindow(const VideoWindowHandle &win); private: pjsua_vid_win_id winId; @@ -1691,12 +1690,12 @@ * * @param p Video preview parameters. */ - void start(const VideoPreviewOpParam ¶m) throw(Error); + void start(const VideoPreviewOpParam ¶m); /** * Stop video preview. */ - void stop() throw(Error); + void stop(); /* * Get the preview window handle associated with the capture device,if any. @@ -1785,7 +1784,7 @@ * variables of type pjmedia_vid_dev_index) before calling any function * that accepts video device index as its parameter. */ - void refreshDevs() throw(Error); + void refreshDevs(); /** * Get the number of video devices installed in the system. @@ -1801,7 +1800,7 @@ * * @return The list of video device info */ - VideoDevInfo getDevInfo(int dev_id) const throw(Error); + VideoDevInfo getDevInfo(int dev_id) const; /** * Enum all video devices installed in the system. @@ -1808,7 +1807,7 @@ * * @return The list of video device info */ - const VideoDevInfoVector &enumDev() throw(Error); + const VideoDevInfoVector &enumDev(); /** * Lookup device index based on the driver and device name. @@ -1820,7 +1819,7 @@ * Error will be thrown. */ int lookupDev(const string &drv_name, - const string &dev_name) const throw(Error); + const string &dev_name) const; /** * Get string info for the specified capability. @@ -1852,7 +1851,7 @@ */ void setFormat(int dev_id, const MediaFormatVideo &format, - bool keep) throw(Error); + bool keep); /** * Get the video format capability to the video device. @@ -1869,7 +1868,7 @@ * @param dev_id The video device id. * @return keep The video format. */ - MediaFormatVideo getFormat(int dev_id) const throw(Error); + MediaFormatVideo getFormat(int dev_id) const; /** * This will configure video format capability to the video device. @@ -1892,7 +1891,7 @@ */ void setInputScale(int dev_id, const MediaSize &scale, - bool keep) throw(Error); + bool keep); /** * Get the video input scale capability to the video device. @@ -1909,7 +1908,7 @@ * @param dev_id The video device id. * @return keep The video format. */ - MediaSize getInputScale(int dev_id) const throw(Error); + MediaSize getInputScale(int dev_id) const; /** * This will configure fast switching to another video device. @@ -1930,7 +1929,7 @@ * @param keep Specify whether the setting is to be kept for * future use. */ - void setOutputWindowFlags(int dev_id, int flags, bool keep) throw(Error); + void setOutputWindowFlags(int dev_id, int flags, bool keep); /** * Get the window output flags capability to the video device. @@ -1947,7 +1946,7 @@ * @param dev_id The video device id. * @return keep The video format. */ - int getOutputWindowFlags(int dev_id) throw(Error); + int getOutputWindowFlags(int dev_id); /** * This will configure fast switching to another video device. @@ -1963,7 +1962,7 @@ * @param param The video switch param. */ void switchDev(int dev_id, - const VideoSwitchParam ¶m) throw(Error); + const VideoSwitchParam ¶m); /** * Check whether the video capture device is currently active, i.e. if @@ -1996,7 +1995,7 @@ */ void setCaptureOrient(pjmedia_vid_dev_index dev_id, pjmedia_orient orient, - bool keep=true) throw(Error); + bool keep=true); private: VideoDevInfoVector videoDevList; Index: pjsip/include/pjsua2/persistent.hpp =================================================================== --- pjsip/include/pjsua2/persistent.hpp (revision 5883) +++ pjsip/include/pjsua2/persistent.hpp (working copy) @@ -68,7 +68,7 @@ * * @param node Container to read values from. */ - virtual void readObject(const ContainerNode &node) throw(Error) = 0; + virtual void readObject(const ContainerNode &node) = 0; /** * Write this object to a container node. @@ -75,7 +75,7 @@ * * @param node Container to write values to. */ - virtual void writeObject(ContainerNode &node) const throw(Error) = 0; + virtual void writeObject(ContainerNode &node) const = 0; }; @@ -110,7 +110,7 @@ * * @param filename The file name. */ - virtual void loadFile(const string &filename) throw(Error) = 0; + virtual void loadFile(const string &filename) = 0; /** * Load this document from string. @@ -117,7 +117,7 @@ * * @param input The string. */ - virtual void loadString(const string &input) throw(Error) = 0; + virtual void loadString(const string &input) = 0; /** * Write this document to a file. @@ -124,7 +124,7 @@ * * @param filename The file name. */ - virtual void saveFile(const string &filename) throw(Error) = 0; + virtual void saveFile(const string &filename) = 0; /** * Write this document to string. @@ -131,7 +131,7 @@ * * @return The string document. */ - virtual string saveString() throw(Error) = 0; + virtual string saveString() = 0; /** * Get the root container node for this document @@ -160,7 +160,7 @@ * * @return The name of the next element . */ - string unreadName() const throw(Error); + string unreadName() const; /** * Read an integer value from the document and return the value. @@ -173,7 +173,7 @@ * * @return The value. */ - int readInt(const string &name="") const throw(Error); + int readInt(const string &name="") const; /** * Read a float value from the document and return the value. @@ -186,7 +186,7 @@ * * @return The value. */ - float readNumber(const string &name="") const throw(Error); + float readNumber(const string &name="") const; /** * Read a boolean value from the container and return the value. @@ -199,7 +199,7 @@ * * @return The value. */ - bool readBool(const string &name="") const throw(Error); + bool readBool(const string &name="") const; /** * Read a string value from the container and return the value. @@ -212,7 +212,7 @@ * * @return The value. */ - string readString(const string &name="") const throw(Error); + string readString(const string &name="") const; /** * Read a string array from the container. This will throw Error @@ -225,8 +225,7 @@ * * @return The value. */ - StringVector readStringVector(const string &name="") const - throw(Error); + StringVector readStringVector(const string &name="") const; /** * Read the specified object from the container. This is equal to @@ -234,7 +233,7 @@ * * @param obj The object to read. */ - void readObject(PersistentObject &obj) const throw(Error); + void readObject(PersistentObject &obj) const; /** * Read a container from the container. This will throw Error if the @@ -247,8 +246,7 @@ * * @return Container object. */ - ContainerNode readContainer(const string &name="") const - throw(Error); + ContainerNode readContainer(const string &name="") const; /** * Read array container from the container. This will throw Error if the @@ -261,8 +259,7 @@ * * @return Container object. */ - ContainerNode readArray(const string &name="") const - throw(Error); + ContainerNode readArray(const string &name="") const; /** * Write a number value to the container. @@ -271,7 +268,7 @@ * @param num The value to be written. */ void writeNumber(const string &name, - float num) throw(Error); + float num); /** * Write a number value to the container. @@ -280,7 +277,7 @@ * @param num The value to be written. */ void writeInt(const string &name, - int num) throw(Error); + int num); /** * Write a boolean value to the container. @@ -289,7 +286,7 @@ * @param value The value to be written. */ void writeBool(const string &name, - bool value) throw(Error); + bool value); /** * Write a string value to the container. @@ -298,7 +295,7 @@ * @param value The value to be written. */ void writeString(const string &name, - const string &value) throw(Error); + const string &value); /** * Write string vector to the container. @@ -307,8 +304,7 @@ * @param arr The vector to be written. */ void writeStringVector(const string &name, - const StringVector &arr) - throw(Error); + const StringVector &arr); /** * Write an object to the container. This is equal to calling @@ -316,7 +312,7 @@ * * @param obj The object to be written */ - void writeObject(const PersistentObject &obj) throw(Error); + void writeObject(const PersistentObject &obj); /** * Create and write an empty Object node that can be used as parent @@ -326,8 +322,7 @@ * * @return A sub-container. */ - ContainerNode writeNewContainer(const string &name) - throw(Error); + ContainerNode writeNewContainer(const string &name); /** * Create and write an empty array node that can be used as parent @@ -337,8 +332,7 @@ * * @return A sub-container. */ - ContainerNode writeNewArray(const string &name) - throw(Error); + ContainerNode writeNewArray(const string &name); }; @@ -422,7 +416,7 @@ /** * Get the name of the next unread element. */ - string unreadName() const throw(Error); + string unreadName() const; /** * Read an integer value from the document and return the value. @@ -435,7 +429,7 @@ * * @return The value. */ - int readInt(const string &name="") const throw(Error); + int readInt(const string &name="") const; /** * Read a number value from the document and return the value. @@ -448,7 +442,7 @@ * * @return The value. */ - float readNumber(const string &name="") const throw(Error); + float readNumber(const string &name="") const; /** * Read a boolean value from the container and return the value. @@ -461,7 +455,7 @@ * * @return The value. */ - bool readBool(const string &name="") const throw(Error); + bool readBool(const string &name="") const; /** * Read a string value from the container and return the value. @@ -474,7 +468,7 @@ * * @return The value. */ - string readString(const string &name="") const throw(Error); + string readString(const string &name="") const; /** * Read a string array from the container. This will throw Error @@ -487,8 +481,7 @@ * * @return The value. */ - StringVector readStringVector(const string &name="") const - throw(Error); + StringVector readStringVector(const string &name="") const; /** * Read the specified object from the container. This is equal to @@ -496,7 +489,7 @@ * * @param obj The object to read. */ - void readObject(PersistentObject &obj) const throw(Error); + void readObject(PersistentObject &obj) const; /** * Read a container from the container. This will throw Error if the @@ -509,8 +502,7 @@ * * @return Container object. */ - ContainerNode readContainer(const string &name="") const - throw(Error); + ContainerNode readContainer(const string &name="") const; /** * Read array container from the container. This will throw Error if the @@ -523,8 +515,7 @@ * * @return Container object. */ - ContainerNode readArray(const string &name="") const - throw(Error); + ContainerNode readArray(const string &name="") const; /** * Write a number value to the container. @@ -533,7 +524,7 @@ * @param num The value to be written. */ void writeNumber(const string &name, - float num) throw(Error); + float num); /** * Write a number value to the container. @@ -542,7 +533,7 @@ * @param num The value to be written. */ void writeInt(const string &name, - int num) throw(Error); + int num); /** * Write a boolean value to the container. @@ -551,7 +542,7 @@ * @param value The value to be written. */ void writeBool(const string &name, - bool value) throw(Error); + bool value); /** * Write a string value to the container. @@ -560,7 +551,7 @@ * @param value The value to be written. */ void writeString(const string &name, - const string &value) throw(Error); + const string &value); /** * Write string vector to the container. @@ -569,8 +560,7 @@ * @param arr The vector to be written. */ void writeStringVector(const string &name, - const StringVector &arr) - throw(Error); + const StringVector &arr); /** * Write an object to the container. This is equal to calling @@ -578,7 +568,7 @@ * * @param obj The object to be written */ - void writeObject(const PersistentObject &obj) throw(Error); + void writeObject(const PersistentObject &obj); /** * Create and write an empty Object node that can be used as parent @@ -588,8 +578,7 @@ * * @return A sub-container. */ - ContainerNode writeNewContainer(const string &name) - throw(Error); + ContainerNode writeNewContainer(const string &name); /** * Create and write an empty array node that can be used as parent @@ -599,8 +588,7 @@ * * @return A sub-container. */ - ContainerNode writeNewArray(const string &name) - throw(Error); + ContainerNode writeNewArray(const string &name); public: /* internal data */ @@ -617,48 +605,35 @@ struct container_node_op { bool (*hasUnread)(const ContainerNode*); - string (*unreadName)(const ContainerNode*) - throw(Error); + string (*unreadName)(const ContainerNode*); float (*readNumber)(const ContainerNode*, - const string&) - throw(Error); + const string&); bool (*readBool)(const ContainerNode*, - const string&) - throw(Error); + const string&); string (*readString)(const ContainerNode*, - const string&) - throw(Error); + const string&); StringVector (*readStringVector)(const ContainerNode*, - const string&) - throw(Error); + const string&); ContainerNode (*readContainer)(const ContainerNode*, - const string &) - throw(Error); + const string &); ContainerNode (*readArray)(const ContainerNode*, - const string &) - throw(Error); + const string &); void (*writeNumber)(ContainerNode*, const string &name, - float num) - throw(Error); + float num); void (*writeBool)(ContainerNode*, const string &name, - bool value) - throw(Error); + bool value); void (*writeString)(ContainerNode*, const string &name, - const string &value) - throw(Error); + const string &value); void (*writeStringVector)(ContainerNode*, const string &name, - const StringVector &value) - throw(Error); + const StringVector &value); ContainerNode (*writeNewContainer)(ContainerNode*, - const string &name) - throw(Error); + const string &name); ContainerNode (*writeNewArray)(ContainerNode*, - const string &name) - throw(Error); + const string &name); }; /* Index: pjsip/include/pjsua2/presence.hpp =================================================================== --- pjsip/include/pjsua2/presence.hpp (revision 5883) +++ pjsip/include/pjsua2/presence.hpp (working copy) @@ -100,7 +100,7 @@ * * @param node Container to read values from. */ - virtual void readObject(const ContainerNode &node) throw(Error); + virtual void readObject(const ContainerNode &node); /** * Write this object to a container node. @@ -107,7 +107,7 @@ * * @param node Container to write values to. */ - virtual void writeObject(ContainerNode &node) const throw(Error); + virtual void writeObject(ContainerNode &node) const; }; @@ -210,7 +210,7 @@ * @param acc The account for this buddy. * @param cfg The buddy config. */ - void create(Account &acc, const BuddyConfig &cfg) throw(Error); + void create(Account &acc, const BuddyConfig &cfg); /** * Check if this buddy is valid. @@ -224,7 +224,7 @@ * * @return Buddy info. */ - BuddyInfo getInfo() const throw(Error); + BuddyInfo getInfo() const; /** * Enable/disable buddy's presence monitoring. Once buddy's presence is @@ -234,7 +234,7 @@ * @param subscribe Specify true to activate presence * subscription. */ - void subscribePresence(bool subscribe) throw(Error); + void subscribePresence(bool subscribe); /** * Update the presence information for the buddy. Although the library @@ -252,7 +252,7 @@ * application will be notified about the buddy's presence status in the * \a onBuddyState() callback. */ - void updatePresence(void) throw(Error); + void updatePresence(void); /** * Send instant messaging outside dialog, using this buddy's specified @@ -260,7 +260,7 @@ * * @param prm Sending instant message parameter. */ - void sendInstantMessage(const SendInstantMessageParam &prm) throw(Error); + void sendInstantMessage(const SendInstantMessageParam &prm); /** * Send typing indication outside dialog. @@ -267,8 +267,7 @@ * * @param prm Sending instant message parameter. */ - void sendTypingIndication(const SendTypingIndicationParam &prm) - throw(Error); + void sendTypingIndication(const SendTypingIndicationParam &prm); public: /* Index: pjsip/include/pjsua2/siptypes.hpp =================================================================== --- pjsip/include/pjsua2/siptypes.hpp (revision 5883) +++ pjsip/include/pjsua2/siptypes.hpp (working copy) @@ -104,7 +104,7 @@ * * @param node Container to read values from. */ - virtual void readObject(const ContainerNode &node) throw(Error); + virtual void readObject(const ContainerNode &node); /** * Write this object to a container node. @@ -111,7 +111,7 @@ * * @param node Container to write values to. */ - virtual void writeObject(ContainerNode &node) const throw(Error); + virtual void writeObject(ContainerNode &node) const; }; @@ -287,7 +287,7 @@ * * @param node Container to read values from. */ - virtual void readObject(const ContainerNode &node) throw(Error); + virtual void readObject(const ContainerNode &node); /** * Write this object to a container node. @@ -294,7 +294,7 @@ * * @param node Container to write values to. */ - virtual void writeObject(ContainerNode &node) const throw(Error); + virtual void writeObject(ContainerNode &node) const; }; @@ -384,7 +384,7 @@ * * @param node Container to read values from. */ - virtual void readObject(const ContainerNode &node) throw(Error); + virtual void readObject(const ContainerNode &node); /** * Write this object to a container node. @@ -391,7 +391,7 @@ * * @param node Container to write values to. */ - virtual void writeObject(ContainerNode &node) const throw(Error); + virtual void writeObject(ContainerNode &node) const; }; /** @@ -744,7 +744,7 @@ /** * Initiaize from PJSIP header. */ - void fromPj(const pjsip_hdr *) throw(Error); + void fromPj(const pjsip_hdr *); /** * Convert to PJSIP header. @@ -784,7 +784,7 @@ /** * Initiaize from PJSIP's pjsip_multipart_part. */ - void fromPj(const pjsip_multipart_part &prm) throw(Error); + void fromPj(const pjsip_multipart_part &prm); /** * Convert to PJSIP's pjsip_multipart_part. @@ -859,7 +859,7 @@ /** * Initiaize from PJSUA's pjsua_msg_data. */ - void fromPj(const pjsua_msg_data &prm) throw(Error); + void fromPj(const pjsua_msg_data &prm); /** * Convert to PJSUA's pjsua_msg_data. @@ -932,20 +932,20 @@ //! @cond Doxygen_Suppress void readIntVector( ContainerNode &node, const string &array_name, - IntVector &v) throw(Error); + IntVector &v); void writeIntVector(ContainerNode &node, const string &array_name, - const IntVector &v) throw(Error); + const IntVector &v); void readQosParams( ContainerNode &node, - pj_qos_params &qos) throw(Error); + pj_qos_params &qos); void writeQosParams( ContainerNode &node, - const pj_qos_params &qos) throw(Error); + const pj_qos_params &qos); void readSipHeaders( const ContainerNode &node, const string &array_name, - SipHeaderVector &headers) throw(Error); + SipHeaderVector &headers); void writeSipHeaders(ContainerNode &node, const string &array_name, - const SipHeaderVector &headers) throw(Error); + const SipHeaderVector &headers); //! @endcond #endif // SWIG Index: pjsip/src/pjsua2/account.cpp =================================================================== --- pjsip/src/pjsua2/account.cpp (revision 5883) +++ pjsip/src/pjsua2/account.cpp (working copy) @@ -84,7 +84,7 @@ return setting; } -void RtcpFbConfig::readObject(const ContainerNode &node) throw(Error) +void RtcpFbConfig::readObject(const ContainerNode &node) { ContainerNode this_node = node.readContainer("RtcpFbConfig"); NODE_READ_BOOL (this_node, dontUseAvpf); @@ -101,7 +101,7 @@ } } -void RtcpFbConfig::writeObject(ContainerNode &node) const throw(Error) +void RtcpFbConfig::writeObject(ContainerNode &node) const { ContainerNode this_node = node.writeNewContainer("RtcpFbConfig"); NODE_WRITE_BOOL (this_node, dontUseAvpf); @@ -179,7 +179,7 @@ return opt; } -void SrtpOpt::readObject(const ContainerNode &node) throw(Error) +void SrtpOpt::readObject(const ContainerNode &node) { ContainerNode this_node = node.readContainer("SrtpOpt"); @@ -202,7 +202,7 @@ } } -void SrtpOpt::writeObject(ContainerNode &node) const throw(Error) +void SrtpOpt::writeObject(ContainerNode &node) const { ContainerNode this_node = node.writeNewContainer("SrtpOpt"); @@ -221,7 +221,7 @@ /////////////////////////////////////////////////////////////////////////////// -void AccountRegConfig::readObject(const ContainerNode &node) throw(Error) +void AccountRegConfig::readObject(const ContainerNode &node) { ContainerNode this_node = node.readContainer("AccountRegConfig"); @@ -240,7 +240,7 @@ readSipHeaders(this_node, "headers", headers); } -void AccountRegConfig::writeObject(ContainerNode &node) const throw(Error) +void AccountRegConfig::writeObject(ContainerNode &node) const { ContainerNode this_node = node.writeNewContainer("AccountRegConfig"); @@ -261,7 +261,7 @@ /////////////////////////////////////////////////////////////////////////////// -void AccountSipConfig::readObject(const ContainerNode &node) throw(Error) +void AccountSipConfig::readObject(const ContainerNode &node) { ContainerNode this_node = node.readContainer("AccountSipConfig"); @@ -282,7 +282,7 @@ } } -void AccountSipConfig::writeObject(ContainerNode &node) const throw(Error) +void AccountSipConfig::writeObject(ContainerNode &node) const { ContainerNode this_node = node.writeNewContainer("AccountSipConfig"); @@ -302,7 +302,7 @@ /////////////////////////////////////////////////////////////////////////////// -void AccountCallConfig::readObject(const ContainerNode &node) throw(Error) +void AccountCallConfig::readObject(const ContainerNode &node) { ContainerNode this_node = node.readContainer("AccountCallConfig"); @@ -313,7 +313,7 @@ NODE_READ_UNSIGNED( this_node, timerSessExpiresSec); } -void AccountCallConfig::writeObject(ContainerNode &node) const throw(Error) +void AccountCallConfig::writeObject(ContainerNode &node) const { ContainerNode this_node = node.writeNewContainer("AccountCallConfig"); @@ -326,7 +326,7 @@ /////////////////////////////////////////////////////////////////////////////// -void AccountPresConfig::readObject(const ContainerNode &node) throw(Error) +void AccountPresConfig::readObject(const ContainerNode &node) { ContainerNode this_node = node.readContainer("AccountPresConfig"); @@ -338,7 +338,7 @@ readSipHeaders(this_node, "headers", headers); } -void AccountPresConfig::writeObject(ContainerNode &node) const throw(Error) +void AccountPresConfig::writeObject(ContainerNode &node) const { ContainerNode this_node = node.writeNewContainer("AccountPresConfig"); @@ -352,7 +352,7 @@ /////////////////////////////////////////////////////////////////////////////// -void AccountMwiConfig::readObject(const ContainerNode &node) throw(Error) +void AccountMwiConfig::readObject(const ContainerNode &node) { ContainerNode this_node = node.readContainer("AccountMwiConfig"); @@ -360,7 +360,7 @@ NODE_READ_UNSIGNED( this_node, expirationSec); } -void AccountMwiConfig::writeObject(ContainerNode &node) const throw(Error) +void AccountMwiConfig::writeObject(ContainerNode &node) const { ContainerNode this_node = node.writeNewContainer("AccountMwiConfig"); @@ -370,7 +370,7 @@ /////////////////////////////////////////////////////////////////////////////// -void AccountNatConfig::readObject(const ContainerNode &node) throw(Error) +void AccountNatConfig::readObject(const ContainerNode &node) { ContainerNode this_node = node.readContainer("AccountNatConfig"); @@ -402,7 +402,7 @@ NODE_READ_INT ( this_node, contactUseSrcPort); } -void AccountNatConfig::writeObject(ContainerNode &node) const throw(Error) +void AccountNatConfig::writeObject(ContainerNode &node) const { ContainerNode this_node = node.writeNewContainer("AccountNatConfig"); @@ -436,7 +436,7 @@ /////////////////////////////////////////////////////////////////////////////// -void AccountMediaConfig::readObject(const ContainerNode &node) throw(Error) +void AccountMediaConfig::readObject(const ContainerNode &node) { ContainerNode this_node = node.readContainer("AccountMediaConfig"); @@ -450,7 +450,7 @@ NODE_READ_BOOL ( this_node, rtcpMuxEnabled); } -void AccountMediaConfig::writeObject(ContainerNode &node) const throw(Error) +void AccountMediaConfig::writeObject(ContainerNode &node) const { ContainerNode this_node = node.writeNewContainer("AccountMediaConfig"); @@ -466,7 +466,7 @@ /////////////////////////////////////////////////////////////////////////////// -void AccountVideoConfig::readObject(const ContainerNode &node) throw(Error) +void AccountVideoConfig::readObject(const ContainerNode &node) { ContainerNode this_node = node.readContainer("AccountVideoConfig"); @@ -481,7 +481,7 @@ NODE_READ_UNSIGNED( this_node, startKeyframeInterval); } -void AccountVideoConfig::writeObject(ContainerNode &node) const throw(Error) +void AccountVideoConfig::writeObject(ContainerNode &node) const { ContainerNode this_node = node.writeNewContainer("AccountVideoConfig"); @@ -497,7 +497,7 @@ } /////////////////////////////////////////////////////////////////////////////// -void AccountIpChangeConfig::readObject(const ContainerNode &node) throw(Error) +void AccountIpChangeConfig::readObject(const ContainerNode &node) { ContainerNode this_node = node.readContainer("AccountIpChangeConfig"); @@ -506,7 +506,7 @@ NODE_READ_UNSIGNED( this_node, reinviteFlags); } -void AccountIpChangeConfig::writeObject(ContainerNode &node) const throw(Error) +void AccountIpChangeConfig::writeObject(ContainerNode &node) const { ContainerNode this_node = node.writeNewContainer("AccountIpChangeConfig"); @@ -847,7 +847,7 @@ ipChangeConfig.reinviteFlags = prm.ip_change_cfg.reinvite_flags; } -void AccountConfig::readObject(const ContainerNode &node) throw(Error) +void AccountConfig::readObject(const ContainerNode &node) { ContainerNode this_node = node.readContainer("AccountConfig"); @@ -863,7 +863,7 @@ NODE_READ_OBJ ( this_node, videoConfig); } -void AccountConfig::writeObject(ContainerNode &node) const throw(Error) +void AccountConfig::writeObject(ContainerNode &node) const { ContainerNode this_node = node.writeNewContainer("AccountConfig"); @@ -914,7 +914,7 @@ } void Account::create(const AccountConfig &acc_cfg, - bool make_default) throw(Error) + bool make_default) { pjsua_acc_config pj_acc_cfg; @@ -940,7 +940,7 @@ } } -void Account::modify(const AccountConfig &acc_cfg) throw(Error) +void Account::modify(const AccountConfig &acc_cfg) { pjsua_acc_config pj_acc_cfg; @@ -954,7 +954,7 @@ return pjsua_acc_is_valid(id) != 0; } -void Account::setDefault() throw(Error) +void Account::setDefault() { PJSUA2_CHECK_EXPR( pjsua_acc_set_default(id) ); } @@ -974,7 +974,7 @@ return (Account*)pjsua_acc_get_user_data(acc_id); } -AccountInfo Account::getInfo() const throw(Error) +AccountInfo Account::getInfo() const { pjsua_acc_info pj_ai; AccountInfo ai; @@ -984,13 +984,13 @@ return ai; } -void Account::setRegistration(bool renew) throw(Error) +void Account::setRegistration(bool renew) { PJSUA2_CHECK_EXPR( pjsua_acc_set_registration(id, renew) ); } void -Account::setOnlineStatus(const PresenceStatus &pres_st) throw(Error) +Account::setOnlineStatus(const PresenceStatus &pres_st) { pjrpid_element pj_rpid; @@ -1005,12 +1005,12 @@ &pj_rpid) ); } -void Account::setTransport(TransportId tp_id) throw(Error) +void Account::setTransport(TransportId tp_id) { PJSUA2_CHECK_EXPR( pjsua_acc_set_transport(id, tp_id) ); } -void Account::presNotify(const PresNotifyParam &prm) throw(Error) +void Account::presNotify(const PresNotifyParam &prm) { pj_str_t pj_state_str = str2Pj(prm.stateStr); pj_str_t pj_reason = str2Pj(prm.reason); @@ -1023,13 +1023,12 @@ &msg_data) ); } -const BuddyVector& Account::enumBuddies() const throw(Error) +const BuddyVector& Account::enumBuddies() const { return buddyList; } Buddy* Account::findBuddy(string uri, FindBuddyMatch *buddy_match) const - throw(Error) { if (!buddy_match) { static FindBuddyMatch def_bm; Index: pjsip/src/pjsua2/call.cpp =================================================================== --- pjsip/src/pjsua2/call.cpp (revision 5883) +++ pjsip/src/pjsua2/call.cpp (working copy) @@ -476,7 +476,7 @@ } } -CallInfo Call::getInfo() const throw(Error) +CallInfo Call::getInfo() const { pjsua_call_info pj_ci; CallInfo ci; @@ -547,7 +547,7 @@ return userData; } -pj_stun_nat_type Call::getRemNatType() throw(Error) +pj_stun_nat_type Call::getRemNatType() { pj_stun_nat_type nat; @@ -556,7 +556,7 @@ return nat; } -void Call::makeCall(const string &dst_uri, const CallOpParam &prm) throw(Error) +void Call::makeCall(const string &dst_uri, const CallOpParam &prm) { pj_str_t pj_dst_uri = str2Pj(dst_uri); call_param param(prm.txOption, prm.opt, prm.reason); @@ -566,7 +566,7 @@ param.p_msg_data, &id) ); } -void Call::answer(const CallOpParam &prm) throw(Error) +void Call::answer(const CallOpParam &prm) { call_param param(prm.txOption, prm.opt, prm.reason, sdp_pool, prm.sdp.wholeSdp); @@ -583,7 +583,7 @@ } } -void Call::hangup(const CallOpParam &prm) throw(Error) +void Call::hangup(const CallOpParam &prm) { call_param param(prm.txOption, prm.opt, prm.reason); @@ -591,7 +591,7 @@ param.p_msg_data) ); } -void Call::setHold(const CallOpParam &prm) throw(Error) +void Call::setHold(const CallOpParam &prm) { call_param param(prm.txOption, prm.opt, prm.reason); @@ -598,7 +598,7 @@ PJSUA2_CHECK_EXPR( pjsua_call_set_hold2(id, prm.options, param.p_msg_data)); } -void Call::reinvite(const CallOpParam &prm) throw(Error) +void Call::reinvite(const CallOpParam &prm) { call_param param(prm.txOption, prm.opt, prm.reason); @@ -605,7 +605,7 @@ PJSUA2_CHECK_EXPR( pjsua_call_reinvite2(id, param.p_opt, param.p_msg_data)); } -void Call::update(const CallOpParam &prm) throw(Error) +void Call::update(const CallOpParam &prm) { call_param param(prm.txOption, prm.opt, prm.reason); @@ -612,7 +612,7 @@ PJSUA2_CHECK_EXPR( pjsua_call_update2(id, param.p_opt, param.p_msg_data) ); } -void Call::xfer(const string &dest, const CallOpParam &prm) throw(Error) +void Call::xfer(const string &dest, const CallOpParam &prm) { call_param param(prm.txOption); pj_str_t pj_dest = str2Pj(dest); @@ -621,7 +621,7 @@ } void Call::xferReplaces(const Call& dest_call, - const CallOpParam &prm) throw(Error) + const CallOpParam &prm) { call_param param(prm.txOption); @@ -629,12 +629,12 @@ prm.options, param.p_msg_data) ); } -void Call::processRedirect(pjsip_redirect_op cmd) throw(Error) +void Call::processRedirect(pjsip_redirect_op cmd) { PJSUA2_CHECK_EXPR(pjsua_call_process_redirect(id, cmd)); } -void Call::dialDtmf(const string &digits) throw(Error) +void Call::dialDtmf(const string &digits) { pj_str_t pj_digits = str2Pj(digits); @@ -641,7 +641,7 @@ PJSUA2_CHECK_EXPR(pjsua_call_dial_dtmf(id, &pj_digits)); } -void Call::sendDtmf(const CallSendDtmfParam ¶m) throw (Error) +void Call::sendDtmf(const CallSendDtmfParam ¶m) { pjsua_call_send_dtmf_param pj_param = param.toPj(); @@ -650,7 +650,6 @@ void Call::sendInstantMessage(const SendInstantMessageParam& prm) - throw(Error) { pj_str_t mime_type = str2Pj(prm.contentType); pj_str_t content = str2Pj(prm.content); @@ -661,7 +660,6 @@ } void Call::sendTypingIndication(const SendTypingIndicationParam &prm) - throw(Error) { call_param param(prm.txOption); @@ -671,7 +669,7 @@ param.p_msg_data) ); } -void Call::sendRequest(const CallSendRequestParam &prm) throw(Error) +void Call::sendRequest(const CallSendRequestParam &prm) { pj_str_t method = str2Pj(prm.method); call_param param(prm.txOption); @@ -679,7 +677,7 @@ PJSUA2_CHECK_EXPR(pjsua_call_send_request(id, &method, param.p_msg_data) ); } -string Call::dump(bool with_media, const string indent) throw(Error) +string Call::dump(bool with_media, const string indent) { #if defined(PJMEDIA_HAS_RTCP_XR) && (PJMEDIA_HAS_RTCP_XR != 0) char buffer[1024 * 10]; @@ -715,7 +713,7 @@ } void Call::vidSetStream(pjsua_call_vid_strm_op op, - const CallVidSetStreamParam ¶m) throw(Error) + const CallVidSetStreamParam ¶m) { #if PJSUA_HAS_VIDEO pjsua_call_vid_strm_op_param prm; @@ -731,7 +729,7 @@ #endif } -StreamInfo Call::getStreamInfo(unsigned med_idx) const throw(Error) +StreamInfo Call::getStreamInfo(unsigned med_idx) const { pjsua_stream_info pj_si; StreamInfo si; @@ -741,7 +739,7 @@ return si; } -StreamStat Call::getStreamStat(unsigned med_idx) const throw(Error) +StreamStat Call::getStreamStat(unsigned med_idx) const { pjsua_stream_stat pj_ss; StreamStat ss; @@ -752,7 +750,6 @@ } MediaTransportInfo Call::getMedTransportInfo(unsigned med_idx) const - throw(Error) { pjmedia_transport_info pj_mti; MediaTransportInfo mti; Index: pjsip/src/pjsua2/endpoint.cpp =================================================================== --- pjsip/src/pjsua2/endpoint.cpp (revision 5883) +++ pjsip/src/pjsua2/endpoint.cpp (working copy) @@ -223,7 +223,7 @@ return pua_cfg; } -void UaConfig::readObject(const ContainerNode &node) throw(Error) +void UaConfig::readObject(const ContainerNode &node) { ContainerNode this_node = node.readContainer("UaConfig"); @@ -239,7 +239,7 @@ NODE_READ_BOOL ( this_node, mwiUnsolicitedEnabled); } -void UaConfig::writeObject(ContainerNode &node) const throw(Error) +void UaConfig::writeObject(ContainerNode &node) const { ContainerNode this_node = node.writeNewContainer("UaConfig"); @@ -292,7 +292,7 @@ return lc; } -void LogConfig::readObject(const ContainerNode &node) throw(Error) +void LogConfig::readObject(const ContainerNode &node) { ContainerNode this_node = node.readContainer("LogConfig"); @@ -304,7 +304,7 @@ NODE_READ_UNSIGNED( this_node, fileFlags); } -void LogConfig::writeObject(ContainerNode &node) const throw(Error) +void LogConfig::writeObject(ContainerNode &node) const { ContainerNode this_node = node.writeNewContainer("LogConfig"); @@ -386,7 +386,7 @@ return mcfg; } -void MediaConfig::readObject(const ContainerNode &node) throw(Error) +void MediaConfig::readObject(const ContainerNode &node) { ContainerNode this_node = node.readContainer("MediaConfig"); @@ -415,7 +415,7 @@ NODE_READ_BOOL ( this_node, vidPreviewEnableNative); } -void MediaConfig::writeObject(ContainerNode &node) const throw(Error) +void MediaConfig::writeObject(ContainerNode &node) const { ContainerNode this_node = node.writeNewContainer("MediaConfig"); @@ -446,7 +446,7 @@ /////////////////////////////////////////////////////////////////////////////// -void EpConfig::readObject(const ContainerNode &node) throw(Error) +void EpConfig::readObject(const ContainerNode &node) { ContainerNode this_node = node.readContainer("EpConfig"); NODE_READ_OBJ( this_node, uaConfig); @@ -454,7 +454,7 @@ NODE_READ_OBJ( this_node, medConfig); } -void EpConfig::writeObject(ContainerNode &node) const throw(Error) +void EpConfig::writeObject(ContainerNode &node) const { ContainerNode this_node = node.writeNewContainer("EpConfig"); NODE_WRITE_OBJ( this_node, uaConfig); @@ -488,7 +488,7 @@ instance_ = this; } -Endpoint& Endpoint::instance() throw(Error) +Endpoint& Endpoint::instance() { if (!instance_) { PJSUA2_RAISE_ERROR(PJ_ENOTFOUND); @@ -1569,7 +1569,7 @@ return ver; } -void Endpoint::libCreate() throw(Error) +void Endpoint::libCreate() { PJSUA2_CHECK_EXPR( pjsua_create() ); mainThread = pj_thread_this(); @@ -1583,7 +1583,7 @@ return pjsua_get_state(); } -void Endpoint::libInit(const EpConfig &prmEpConfig) throw(Error) +void Endpoint::libInit(const EpConfig &prmEpConfig) { pjsua_config ua_cfg; pjsua_logging_config log_cfg; @@ -1663,12 +1663,12 @@ } } -void Endpoint::libStart() throw(Error) +void Endpoint::libStart() { PJSUA2_CHECK_EXPR(pjsua_start()); } -void Endpoint::libRegisterThread(const string &name) throw(Error) +void Endpoint::libRegisterThread(const string &name) { pj_thread_t *thread; pj_thread_desc *desc; @@ -1711,7 +1711,7 @@ return pjsua_handle_events(msec_timeout); } -void Endpoint::libDestroy(unsigned flags) throw(Error) +void Endpoint::libDestroy(unsigned flags) { pj_status_t status; @@ -1778,7 +1778,7 @@ } Token Endpoint::utilTimerSchedule(unsigned prmMsecDelay, - Token prmUserData) throw (Error) + Token prmUserData) { UserTimer *ut; pj_time_val delay; @@ -1820,7 +1820,7 @@ delete ut; } -IntVector Endpoint::utilSslGetAvailableCiphers() throw (Error) +IntVector Endpoint::utilSslGetAvailableCiphers() { #if PJ_HAS_SSL_SOCK pj_ssl_cipher ciphers[PJ_SSL_SOCK_MAX_CIPHERS]; @@ -1838,12 +1838,12 @@ /* * Endpoint NAT operations */ -void Endpoint::natDetectType(void) throw(Error) +void Endpoint::natDetectType(void) { PJSUA2_CHECK_EXPR( pjsua_detect_nat_type() ); } -pj_stun_nat_type Endpoint::natGetType() throw(Error) +pj_stun_nat_type Endpoint::natGetType() { pj_stun_nat_type type; @@ -1853,7 +1853,7 @@ } void Endpoint::natUpdateStunServers(const StringVector &servers, - bool wait) throw(Error) + bool wait) { pj_str_t srv[MAX_STUN_SERVERS]; unsigned i, count = 0; @@ -1869,7 +1869,7 @@ void Endpoint::natCheckStunServers(const StringVector &servers, bool wait, - Token token) throw(Error) + Token token) { pj_str_t srv[MAX_STUN_SERVERS]; unsigned i, count = 0; @@ -1885,7 +1885,7 @@ } void Endpoint::natCancelCheckStunServers(Token token, - bool notify_cb) throw(Error) + bool notify_cb) { PJSUA2_CHECK_EXPR( pjsua_cancel_stun_resolution(token, notify_cb) ); } @@ -1895,7 +1895,7 @@ * Transport API */ TransportId Endpoint::transportCreate(pjsip_transport_type_e type, - const TransportConfig &cfg) throw(Error) + const TransportConfig &cfg) { pjsua_transport_config tcfg; pjsua_transport_id tid; @@ -1907,7 +1907,7 @@ return tid; } -IntVector Endpoint::transportEnum() throw(Error) +IntVector Endpoint::transportEnum() { pjsua_transport_id tids[32]; unsigned count = PJ_ARRAY_SIZE(tids); @@ -1917,7 +1917,7 @@ return IntVector(tids, tids+count); } -TransportInfo Endpoint::transportGetInfo(TransportId id) throw(Error) +TransportInfo Endpoint::transportGetInfo(TransportId id) { pjsua_transport_info pj_tinfo; TransportInfo tinfo; @@ -1928,17 +1928,17 @@ return tinfo; } -void Endpoint::transportSetEnable(TransportId id, bool enabled) throw(Error) +void Endpoint::transportSetEnable(TransportId id, bool enabled) { PJSUA2_CHECK_EXPR( pjsua_transport_set_enable(id, enabled) ); } -void Endpoint::transportClose(TransportId id) throw(Error) +void Endpoint::transportClose(TransportId id) { PJSUA2_CHECK_EXPR( pjsua_transport_close(id, PJ_FALSE) ); } -void Endpoint::transportShutdown(TransportHandle tp) throw(Error) +void Endpoint::transportShutdown(TransportHandle tp) { PJSUA2_CHECK_EXPR( pjsip_transport_shutdown((pjsip_transport *)tp) ); } @@ -1967,7 +1967,7 @@ return pjsua_conf_get_active_ports(); } -const AudioMediaVector &Endpoint::mediaEnumPorts() const throw(Error) +const AudioMediaVector &Endpoint::mediaEnumPorts() const { return mediaList; } @@ -2013,7 +2013,7 @@ /* * Codec operations. */ -const CodecInfoVector &Endpoint::codecEnum() throw(Error) +const CodecInfoVector &Endpoint::codecEnum() { pjsua_codec_info pj_codec[MAX_CODEC_NUM]; unsigned count = MAX_CODEC_NUM; @@ -2025,13 +2025,13 @@ } void Endpoint::codecSetPriority(const string &codec_id, - pj_uint8_t priority) throw(Error) + pj_uint8_t priority) { pj_str_t codec_str = str2Pj(codec_id); PJSUA2_CHECK_EXPR( pjsua_codec_set_priority(&codec_str, priority) ); } -CodecParam Endpoint::codecGetParam(const string &codec_id) const throw(Error) +CodecParam Endpoint::codecGetParam(const string &codec_id) const { CodecParam param; pjmedia_codec_param pj_param; @@ -2044,7 +2044,7 @@ } void Endpoint::codecSetParam(const string &codec_id, - const CodecParam param) throw(Error) + const CodecParam param) { pj_str_t codec_str = str2Pj(codec_id); pjmedia_codec_param pj_param = param.toPj(); @@ -2074,7 +2074,7 @@ pj_leave_critical_section(); } -const CodecInfoVector &Endpoint::videoCodecEnum() throw(Error) +const CodecInfoVector &Endpoint::videoCodecEnum() { #if PJSUA_HAS_VIDEO pjsua_codec_info pj_codec[MAX_CODEC_NUM]; @@ -2088,7 +2088,7 @@ } void Endpoint::videoCodecSetPriority(const string &codec_id, - pj_uint8_t priority) throw(Error) + pj_uint8_t priority) { #if PJSUA_HAS_VIDEO pj_str_t codec_str = str2Pj(codec_id); @@ -2100,7 +2100,6 @@ } VidCodecParam Endpoint::getVideoCodecParam(const string &codec_id) const - throw(Error) { VidCodecParam codec_param; #if PJSUA_HAS_VIDEO @@ -2116,7 +2115,7 @@ } void Endpoint::setVideoCodecParam(const string &codec_id, - const VidCodecParam ¶m) throw(Error) + const VidCodecParam ¶m) { #if PJSUA_HAS_VIDEO pj_str_t codec_str = str2Pj(codec_id); @@ -2129,7 +2128,7 @@ #endif } -void Endpoint::resetVideoCodecParam(const string &codec_id) throw(Error) +void Endpoint::resetVideoCodecParam(const string &codec_id) { #if PJSUA_HAS_VIDEO pj_str_t codec_str = str2Pj(codec_id); @@ -2143,7 +2142,7 @@ /* * Enumerate all SRTP crypto-suite names. */ -StringVector Endpoint::srtpCryptoEnum() throw(Error) +StringVector Endpoint::srtpCryptoEnum() { unsigned cnt = PJMEDIA_SRTP_MAX_CRYPTOS; pjmedia_srtp_crypto cryptos[PJMEDIA_SRTP_MAX_CRYPTOS]; @@ -2157,7 +2156,7 @@ return result; } -void Endpoint::handleIpChange(const IpChangeParam ¶m) throw(Error) +void Endpoint::handleIpChange(const IpChangeParam ¶m) { pjsua_ip_change_param ip_change_param = param.toPj(); PJSUA2_CHECK_EXPR(pjsua_handle_ip_change(&ip_change_param)); Index: pjsip/src/pjsua2/json.cpp =================================================================== --- pjsip/src/pjsua2/json.cpp (revision 5883) +++ pjsip/src/pjsua2/json.cpp (working copy) @@ -28,48 +28,35 @@ /* Json node operations */ static bool jsonNode_hasUnread(const ContainerNode*); -static string jsonNode_unreadName(const ContainerNode*n) - throw(Error); +static string jsonNode_unreadName(const ContainerNode*n); static float jsonNode_readNumber(const ContainerNode*, - const string&) - throw(Error); + const string&); static bool jsonNode_readBool(const ContainerNode*, - const string&) - throw(Error); + const string&); static string jsonNode_readString(const ContainerNode*, - const string&) - throw(Error); + const string&); static StringVector jsonNode_readStringVector(const ContainerNode*, - const string&) - throw(Error); + const string&); static ContainerNode jsonNode_readContainer(const ContainerNode*, - const string &) - throw(Error); + const string &); static ContainerNode jsonNode_readArray(const ContainerNode*, - const string &) - throw(Error); + const string &); static void jsonNode_writeNumber(ContainerNode*, const string &name, - float num) - throw(Error); + float num); static void jsonNode_writeBool(ContainerNode*, const string &name, - bool value) - throw(Error); + bool value); static void jsonNode_writeString(ContainerNode*, const string &name, - const string &value) - throw(Error); + const string &value); static void jsonNode_writeStringVector(ContainerNode*, const string &name, - const StringVector &value) - throw(Error); + const StringVector &value); static ContainerNode jsonNode_writeNewContainer(ContainerNode*, - const string &name) - throw(Error); + const string &name); static ContainerNode jsonNode_writeNewArray(ContainerNode*, - const string &name) - throw(Error); + const string &name); static container_node_op json_op = { @@ -114,7 +101,7 @@ rootNode.data.data2 = root->value.children.next; } -void JsonDocument::loadFile(const string &filename) throw(Error) +void JsonDocument::loadFile(const string &filename) { if (root) PJSUA2_RAISE_ERROR3(PJ_EINVALIDOP, "JsonDocument.loadString()", @@ -174,7 +161,7 @@ PJSUA2_RAISE_ERROR(status); } -void JsonDocument::loadString(const string &input) throw(Error) +void JsonDocument::loadString(const string &input) { if (root) PJSUA2_RAISE_ERROR3(PJ_EINVALIDOP, "JsonDocument.loadString()", @@ -214,7 +201,7 @@ return pj_file_write(sd->fd, s, &ssize); } -void JsonDocument::saveFile(const string &filename) throw(Error) +void JsonDocument::saveFile(const string &filename) { struct save_file_data sd; pj_status_t status; @@ -247,7 +234,7 @@ return PJ_SUCCESS; } -string JsonDocument::saveString() throw(Error) +string JsonDocument::saveString() { struct save_string_data sd; pj_status_t status; @@ -333,7 +320,6 @@ } static string jsonNode_unreadName(const ContainerNode *node) - throw(Error) { json_node_data *jdat = (json_node_data*)&node->data; json_verify(jdat, "unreadName()", "", PJ_JSON_VAL_NULL); @@ -342,7 +328,6 @@ static float jsonNode_readNumber(const ContainerNode *node, const string &name) - throw(Error) { json_node_data *jdat = (json_node_data*)&node->data; json_verify(jdat, "readNumber()", name, PJ_JSON_VAL_NUMBER); @@ -352,7 +337,6 @@ static bool jsonNode_readBool(const ContainerNode *node, const string &name) - throw(Error) { json_node_data *jdat = (json_node_data*)&node->data; json_verify(jdat, "readBool()", name, PJ_JSON_VAL_BOOL); @@ -362,7 +346,6 @@ static string jsonNode_readString(const ContainerNode *node, const string &name) - throw(Error) { json_node_data *jdat = (json_node_data*)&node->data; json_verify(jdat, "readString()", name, PJ_JSON_VAL_STRING); @@ -372,7 +355,6 @@ static StringVector jsonNode_readStringVector(const ContainerNode *node, const string &name) - throw(Error) { json_node_data *jdat = (json_node_data*)&node->data; json_verify(jdat, "readStringVector()", name, PJ_JSON_VAL_ARRAY); @@ -398,7 +380,6 @@ static ContainerNode jsonNode_readContainer(const ContainerNode *node, const string &name) - throw(Error) { json_node_data *jdat = (json_node_data*)&node->data; json_verify(jdat, "readContainer()", name, PJ_JSON_VAL_OBJ); @@ -416,7 +397,6 @@ static ContainerNode jsonNode_readArray(const ContainerNode *node, const string &name) - throw(Error) { json_node_data *jdat = (json_node_data*)&node->data; json_verify(jdat, "readArray()", name, PJ_JSON_VAL_ARRAY); @@ -442,7 +422,6 @@ static void jsonNode_writeNumber(ContainerNode *node, const string &name, float num) - throw(Error) { json_node_data *jdat = (json_node_data*)&node->data; pj_json_elem *el = jdat->doc->allocElement(); @@ -454,7 +433,6 @@ static void jsonNode_writeBool(ContainerNode *node, const string &name, bool value) - throw(Error) { json_node_data *jdat = (json_node_data*)&node->data; pj_json_elem *el = jdat->doc->allocElement(); @@ -466,7 +444,6 @@ static void jsonNode_writeString(ContainerNode *node, const string &name, const string &value) - throw(Error) { json_node_data *jdat = (json_node_data*)&node->data; pj_json_elem *el = jdat->doc->allocElement(); @@ -481,7 +458,6 @@ static void jsonNode_writeStringVector(ContainerNode *node, const string &name, const StringVector &value) - throw(Error) { json_node_data *jdat = (json_node_data*)&node->data; pj_json_elem *el = jdat->doc->allocElement(); @@ -502,7 +478,6 @@ static ContainerNode jsonNode_writeNewContainer(ContainerNode *node, const string &name) - throw(Error) { json_node_data *jdat = (json_node_data*)&node->data; pj_json_elem *el = jdat->doc->allocElement(); @@ -523,7 +498,6 @@ static ContainerNode jsonNode_writeNewArray(ContainerNode *node, const string &name) - throw(Error) { json_node_data *jdat = (json_node_data*)&node->data; pj_json_elem *el = jdat->doc->allocElement(); Index: pjsip/src/pjsua2/media.cpp =================================================================== --- pjsip/src/pjsua2/media.cpp (revision 5883) +++ pjsip/src/pjsua2/media.cpp (working copy) @@ -128,7 +128,7 @@ } -void AudioMedia::registerMediaPort(MediaPort port) throw(Error) +void AudioMedia::registerMediaPort(MediaPort port) { /* Check if media already added to Conf bridge. */ pj_assert(!Endpoint::instance().mediaExists(*this)); @@ -178,7 +178,7 @@ unregisterMediaPort(); } -ConfPortInfo AudioMedia::getPortInfo() const throw(Error) +ConfPortInfo AudioMedia::getPortInfo() const { return AudioMedia::getPortInfoFromId(id); } @@ -188,7 +188,7 @@ return id; } -ConfPortInfo AudioMedia::getPortInfoFromId(int port_id) throw(Error) +ConfPortInfo AudioMedia::getPortInfoFromId(int port_id) { pjsua_conf_port_info pj_info; ConfPortInfo pi; @@ -198,7 +198,7 @@ return pi; } -void AudioMedia::startTransmit(const AudioMedia &sink) const throw(Error) +void AudioMedia::startTransmit(const AudioMedia &sink) const { PJSUA2_CHECK_EXPR( pjsua_conf_connect(id, sink.id) ); } @@ -205,7 +205,6 @@ void AudioMedia::startTransmit2(const AudioMedia &sink, const AudioMediaTransmitParam ¶m) const - throw(Error) { pjsua_conf_connect_param pj_param; @@ -214,22 +213,22 @@ PJSUA2_CHECK_EXPR( pjsua_conf_connect2(id, sink.id, &pj_param) ); } -void AudioMedia::stopTransmit(const AudioMedia &sink) const throw(Error) +void AudioMedia::stopTransmit(const AudioMedia &sink) const { PJSUA2_CHECK_EXPR( pjsua_conf_disconnect(id, sink.id) ); } -void AudioMedia::adjustRxLevel(float level) throw(Error) +void AudioMedia::adjustRxLevel(float level) { PJSUA2_CHECK_EXPR( pjsua_conf_adjust_tx_level(id, level) ); } -void AudioMedia::adjustTxLevel(float level) throw(Error) +void AudioMedia::adjustTxLevel(float level) { PJSUA2_CHECK_EXPR( pjsua_conf_adjust_rx_level(id, level) ); } -unsigned AudioMedia::getRxLevel() const throw(Error) +unsigned AudioMedia::getRxLevel() const { unsigned level; PJSUA2_CHECK_EXPR( pjsua_conf_get_signal_level(id, &level, NULL) ); @@ -236,7 +235,7 @@ return level * 100 / 255; } -unsigned AudioMedia::getTxLevel() const throw(Error) +unsigned AudioMedia::getTxLevel() const { unsigned level; PJSUA2_CHECK_EXPR( pjsua_conf_get_signal_level(id, NULL, &level) ); @@ -266,7 +265,6 @@ void AudioMediaPlayer::createPlayer(const string &file_name, unsigned options) - throw(Error) { if (playerId != PJSUA_INVALID_ID) { PJSUA2_RAISE_ERROR(PJ_EEXISTS); @@ -302,7 +300,6 @@ void AudioMediaPlayer::createPlaylist(const StringVector &file_names, const string &label, unsigned options) - throw(Error) { if (playerId != PJSUA_INVALID_ID) { PJSUA2_RAISE_ERROR(PJ_EEXISTS); @@ -347,7 +344,7 @@ registerMediaPort(NULL); } -AudioMediaPlayerInfo AudioMediaPlayer::getInfo() const throw(Error) +AudioMediaPlayerInfo AudioMediaPlayer::getInfo() const { AudioMediaPlayerInfo info; pjmedia_wav_player_info pj_info; @@ -363,7 +360,7 @@ return info; } -pj_uint32_t AudioMediaPlayer::getPos() const throw(Error) +pj_uint32_t AudioMediaPlayer::getPos() const { pj_ssize_t pos = pjsua_player_get_pos(playerId); if (pos < 0) { @@ -372,7 +369,7 @@ return (pj_uint32_t)pos; } -void AudioMediaPlayer::setPos(pj_uint32_t samples) throw(Error) +void AudioMediaPlayer::setPos(pj_uint32_t samples) { PJSUA2_CHECK_EXPR( pjsua_player_set_pos(playerId, samples) ); } @@ -410,7 +407,7 @@ unsigned enc_type, pj_ssize_t max_size, unsigned options) - throw(Error) + { PJ_UNUSED_ARG(max_size); @@ -460,7 +457,7 @@ } void ToneGenerator::createToneGenerator(unsigned clock_rate, - unsigned channel_count) throw(Error) + unsigned channel_count) { pj_status_t status; @@ -488,7 +485,7 @@ return tonegen && pjmedia_tonegen_is_busy(tonegen) != 0; } -void ToneGenerator::stop() throw(Error) +void ToneGenerator::stop() { pj_status_t status; @@ -500,7 +497,7 @@ PJSUA2_CHECK_RAISE_ERROR2(status, "ToneGenerator::stop()"); } -void ToneGenerator::rewind() throw(Error) +void ToneGenerator::rewind() { pj_status_t status; @@ -513,7 +510,7 @@ } void ToneGenerator::play(const ToneDescVector &tones, - bool loop) throw(Error) + bool loop) { pj_status_t status; @@ -530,7 +527,7 @@ } void ToneGenerator::playDigits(const ToneDigitVector &digits, - bool loop) throw(Error) + bool loop) { pj_status_t status; @@ -546,7 +543,7 @@ PJSUA2_CHECK_RAISE_ERROR2(status, "ToneGenerator::playDigits()"); } -ToneDigitMapVector ToneGenerator::getDigitMap() const throw(Error) +ToneDigitMapVector ToneGenerator::getDigitMap() const { const pjmedia_tone_digit_map *pdm; ToneDigitMapVector tdm; @@ -578,7 +575,6 @@ } void ToneGenerator::setDigitMap(const ToneDigitMapVector &digit_map) - throw(Error) { unsigned i; pj_status_t status; @@ -665,12 +661,12 @@ clearAudioDevList(); } -int AudDevManager::getCaptureDev() const throw(Error) +int AudDevManager::getCaptureDev() const { return getActiveDev(true); } -AudioMedia &AudDevManager::getCaptureDevMedia() throw(Error) +AudioMedia &AudDevManager::getCaptureDevMedia() { if (!devMedia) devMedia = new DevAudioMedia; @@ -677,12 +673,12 @@ return *devMedia; } -int AudDevManager::getPlaybackDev() const throw(Error) +int AudDevManager::getPlaybackDev() const { return getActiveDev(false); } -AudioMedia &AudDevManager::getPlaybackDevMedia() throw(Error) +AudioMedia &AudDevManager::getPlaybackDevMedia() { if (!devMedia) devMedia = new DevAudioMedia; @@ -689,7 +685,7 @@ return *devMedia; } -void AudDevManager::setCaptureDev(int capture_dev) const throw(Error) +void AudDevManager::setCaptureDev(int capture_dev) const { pjsua_snd_dev_param param; pjsua_snd_dev_param_default(¶m); @@ -704,7 +700,7 @@ PJSUA2_CHECK_EXPR( pjsua_set_snd_dev2(¶m) ); } -void AudDevManager::setPlaybackDev(int playback_dev) const throw(Error) +void AudDevManager::setPlaybackDev(int playback_dev) const { pjsua_snd_dev_param param; pjsua_snd_dev_param_default(¶m); @@ -719,7 +715,7 @@ PJSUA2_CHECK_EXPR( pjsua_set_snd_dev2(¶m) ); } -const AudioDevInfoVector &AudDevManager::enumDev() throw(Error) +const AudioDevInfoVector &AudDevManager::enumDev() { pjmedia_aud_dev_info pj_info[MAX_DEV_COUNT]; unsigned count = MAX_DEV_COUNT; @@ -737,7 +733,7 @@ return audioDevList; } -void AudDevManager::setNullDev() throw(Error) +void AudDevManager::setNullDev() { PJSUA2_CHECK_EXPR( pjsua_set_null_snd_dev() ); } @@ -747,7 +743,7 @@ return (MediaPort*)pjsua_set_no_snd_dev(); } -void AudDevManager::setSndDevMode(unsigned mode) const throw(Error) +void AudDevManager::setSndDevMode(unsigned mode) const { int capture_dev = 0, playback_dev = 0; pjsua_snd_dev_param param; @@ -763,12 +759,12 @@ } void AudDevManager::setEcOptions(unsigned tail_msec, - unsigned options) throw(Error) + unsigned options) { PJSUA2_CHECK_EXPR( pjsua_set_ec(tail_msec, options) ); } -unsigned AudDevManager::getEcTail() const throw(Error) +unsigned AudDevManager::getEcTail() const { unsigned tail_msec = 0; @@ -782,7 +778,7 @@ return PJ2BOOL(pjsua_snd_is_active()); } -void AudDevManager::refreshDevs() throw(Error) +void AudDevManager::refreshDevs() { PJSUA2_CHECK_EXPR( pjmedia_aud_dev_refresh() ); } @@ -793,7 +789,7 @@ } AudioDevInfo -AudDevManager::getDevInfo(int id) const throw(Error) +AudDevManager::getDevInfo(int id) const { AudioDevInfo dev_info; pjmedia_aud_dev_info pj_info; @@ -805,7 +801,7 @@ } int AudDevManager::lookupDev(const string &drv_name, - const string &dev_name) const throw(Error) + const string &dev_name) const { pjmedia_aud_dev_index pj_idx = 0; @@ -824,7 +820,7 @@ void AudDevManager::setExtFormat(const MediaFormatAudio &format, - bool keep) throw(Error) + bool keep) { pjmedia_format pj_format = format.toPj(); @@ -833,7 +829,7 @@ keep) ); } -MediaFormatAudio AudDevManager::getExtFormat() const throw(Error) +MediaFormatAudio AudDevManager::getExtFormat() const { pjmedia_format pj_format; MediaFormatAudio format; @@ -847,7 +843,7 @@ } void AudDevManager::setInputLatency(unsigned latency_msec, - bool keep) throw(Error) + bool keep) { PJSUA2_CHECK_EXPR( pjsua_snd_set_setting(PJMEDIA_AUD_DEV_CAP_INPUT_LATENCY, &latency_msec, @@ -854,7 +850,7 @@ keep) ); } -unsigned AudDevManager::getInputLatency() const throw(Error) +unsigned AudDevManager::getInputLatency() const { unsigned latency_msec = 0; @@ -866,7 +862,7 @@ void AudDevManager::setOutputLatency(unsigned latency_msec, - bool keep) throw(Error) + bool keep) { PJSUA2_CHECK_EXPR( pjsua_snd_set_setting(PJMEDIA_AUD_DEV_CAP_OUTPUT_LATENCY, &latency_msec, @@ -873,7 +869,7 @@ keep) ); } -unsigned AudDevManager::getOutputLatency() const throw(Error) +unsigned AudDevManager::getOutputLatency() const { unsigned latency_msec = 0; @@ -883,7 +879,7 @@ return latency_msec; } -void AudDevManager::setInputVolume(unsigned volume, bool keep) throw(Error) +void AudDevManager::setInputVolume(unsigned volume, bool keep) { PJSUA2_CHECK_EXPR( pjsua_snd_set_setting(PJMEDIA_AUD_DEV_CAP_INPUT_VOLUME_SETTING, @@ -891,7 +887,7 @@ keep) ); } -unsigned AudDevManager::getInputVolume() const throw(Error) +unsigned AudDevManager::getInputVolume() const { unsigned volume = 0; @@ -902,7 +898,7 @@ return volume; } -void AudDevManager::setOutputVolume(unsigned volume, bool keep) throw(Error) +void AudDevManager::setOutputVolume(unsigned volume, bool keep) { PJSUA2_CHECK_EXPR( pjsua_snd_set_setting(PJMEDIA_AUD_DEV_CAP_OUTPUT_VOLUME_SETTING, @@ -910,7 +906,7 @@ keep) ); } -unsigned AudDevManager::getOutputVolume() const throw(Error) +unsigned AudDevManager::getOutputVolume() const { unsigned volume = 0; @@ -921,7 +917,7 @@ return volume; } -unsigned AudDevManager::getInputSignal() const throw(Error) +unsigned AudDevManager::getInputSignal() const { unsigned signal = 0; @@ -932,7 +928,7 @@ return signal; } -unsigned AudDevManager::getOutputSignal() const throw(Error) +unsigned AudDevManager::getOutputSignal() const { unsigned signal = 0; @@ -945,7 +941,7 @@ void AudDevManager::setInputRoute(pjmedia_aud_dev_route route, - bool keep) throw(Error) + bool keep) { PJSUA2_CHECK_EXPR( pjsua_snd_set_setting(PJMEDIA_AUD_DEV_CAP_INPUT_ROUTE, &route, @@ -952,7 +948,7 @@ keep) ); } -pjmedia_aud_dev_route AudDevManager::getInputRoute() const throw(Error) +pjmedia_aud_dev_route AudDevManager::getInputRoute() const { pjmedia_aud_dev_route route = PJMEDIA_AUD_DEV_ROUTE_DEFAULT; @@ -964,7 +960,7 @@ void AudDevManager::setOutputRoute(pjmedia_aud_dev_route route, - bool keep) throw(Error) + bool keep) { PJSUA2_CHECK_EXPR( pjsua_snd_set_setting(PJMEDIA_AUD_DEV_CAP_OUTPUT_ROUTE, &route, @@ -971,7 +967,7 @@ keep) ); } -pjmedia_aud_dev_route AudDevManager::getOutputRoute() const throw(Error) +pjmedia_aud_dev_route AudDevManager::getOutputRoute() const { pjmedia_aud_dev_route route = PJMEDIA_AUD_DEV_ROUTE_DEFAULT; @@ -981,7 +977,7 @@ return route; } -void AudDevManager::setVad(bool enable, bool keep) throw(Error) +void AudDevManager::setVad(bool enable, bool keep) { PJSUA2_CHECK_EXPR( pjsua_snd_set_setting(PJMEDIA_AUD_DEV_CAP_VAD, &enable, @@ -988,7 +984,7 @@ keep) ); } -bool AudDevManager::getVad() const throw(Error) +bool AudDevManager::getVad() const { bool enable = false; @@ -998,7 +994,7 @@ return enable; } -void AudDevManager::setCng(bool enable, bool keep) throw(Error) +void AudDevManager::setCng(bool enable, bool keep) { PJSUA2_CHECK_EXPR( pjsua_snd_set_setting(PJMEDIA_AUD_DEV_CAP_CNG, &enable, @@ -1005,7 +1001,7 @@ keep) ); } -bool AudDevManager::getCng() const throw(Error) +bool AudDevManager::getCng() const { bool enable = false; @@ -1015,7 +1011,7 @@ return enable; } -void AudDevManager::setPlc(bool enable, bool keep) throw(Error) +void AudDevManager::setPlc(bool enable, bool keep) { PJSUA2_CHECK_EXPR( pjsua_snd_set_setting(PJMEDIA_AUD_DEV_CAP_PLC, &enable, @@ -1022,7 +1018,7 @@ keep) ); } -bool AudDevManager::getPlc() const throw(Error) +bool AudDevManager::getPlc() const { bool enable = false; @@ -1040,7 +1036,7 @@ audioDevList.clear(); } -int AudDevManager::getActiveDev(bool is_capture) const throw(Error) +int AudDevManager::getActiveDev(bool is_capture) const { int capture_dev = 0, playback_dev = 0; PJSUA2_CHECK_EXPR( pjsua_get_snd_dev(&capture_dev, &playback_dev) ); @@ -1128,7 +1124,7 @@ #endif } -VideoWindowInfo VideoWindow::getInfo() const throw(Error) +VideoWindowInfo VideoWindow::getInfo() const { VideoWindowInfo vwi; pj_bzero(&vwi, sizeof(vwi)); @@ -1150,7 +1146,7 @@ return vwi; } -void VideoWindow::Show(bool show) throw(Error) +void VideoWindow::Show(bool show) { #if PJSUA_HAS_VIDEO PJSUA2_CHECK_EXPR( pjsua_vid_win_set_show(winId, show) ); @@ -1159,7 +1155,7 @@ #endif } -void VideoWindow::setPos(const MediaCoordinate &pos) throw(Error) +void VideoWindow::setPos(const MediaCoordinate &pos) { #if PJSUA_HAS_VIDEO pjmedia_coord pj_pos; @@ -1172,7 +1168,7 @@ #endif } -void VideoWindow::setSize(const MediaSize &size) throw(Error) +void VideoWindow::setSize(const MediaSize &size) { #if PJSUA_HAS_VIDEO pjmedia_rect_size pj_size; @@ -1185,7 +1181,7 @@ #endif } -void VideoWindow::rotate(int angle) throw(Error) +void VideoWindow::rotate(int angle) { #if PJSUA_HAS_VIDEO PJSUA2_CHECK_EXPR( pjsua_vid_win_rotate(winId, angle) ); @@ -1194,7 +1190,7 @@ #endif } -void VideoWindow::setWindow(const VideoWindowHandle &win) throw(Error) +void VideoWindow::setWindow(const VideoWindowHandle &win) { #if PJSUA_HAS_VIDEO pjmedia_vid_dev_hwnd vhwnd; @@ -1263,7 +1259,7 @@ #endif } -void VideoPreview::start(const VideoPreviewOpParam ¶m) throw(Error) +void VideoPreview::start(const VideoPreviewOpParam ¶m) { #if PJSUA_HAS_VIDEO pjsua_vid_preview_param prm = param.toPj(); @@ -1274,7 +1270,7 @@ #endif } -void VideoPreview::stop() throw(Error) +void VideoPreview::stop() { #if PJSUA_HAS_VIDEO pjsua_vid_preview_stop(devId); @@ -1364,7 +1360,7 @@ } /////////////////////////////////////////////////////////////////////////////// -void VidDevManager::refreshDevs() throw(Error) +void VidDevManager::refreshDevs() { #if PJSUA_HAS_VIDEO PJSUA2_CHECK_EXPR(pjmedia_vid_dev_refresh()); @@ -1380,7 +1376,7 @@ #endif } -VideoDevInfo VidDevManager::getDevInfo(int dev_id) const throw(Error) +VideoDevInfo VidDevManager::getDevInfo(int dev_id) const { VideoDevInfo dev_info; #if PJSUA_HAS_VIDEO @@ -1395,7 +1391,7 @@ return dev_info; } -const VideoDevInfoVector &VidDevManager::enumDev() throw(Error) +const VideoDevInfoVector &VidDevManager::enumDev() { #if PJSUA_HAS_VIDEO pjmedia_vid_dev_info pj_info[MAX_DEV_COUNT]; @@ -1416,7 +1412,7 @@ } int VidDevManager::lookupDev(const string &drv_name, - const string &dev_name) const throw(Error) + const string &dev_name) const { pjmedia_vid_dev_index pj_idx = 0; #if PJSUA_HAS_VIDEO @@ -1443,7 +1439,7 @@ void VidDevManager::setFormat(int dev_id, const MediaFormatVideo &format, - bool keep) throw(Error) + bool keep) { #if PJSUA_HAS_VIDEO pjmedia_format pj_format = format.toPj(); @@ -1459,7 +1455,7 @@ #endif } -MediaFormatVideo VidDevManager::getFormat(int dev_id) const throw(Error) +MediaFormatVideo VidDevManager::getFormat(int dev_id) const { MediaFormatVideo vid_format; pj_bzero(&vid_format, sizeof(vid_format)); @@ -1477,7 +1473,7 @@ void VidDevManager::setInputScale(int dev_id, const MediaSize &scale, - bool keep) throw(Error) + bool keep) { #if PJSUA_HAS_VIDEO pjmedia_rect_size pj_size; @@ -1494,7 +1490,7 @@ #endif } -MediaSize VidDevManager::getInputScale(int dev_id) const throw(Error) +MediaSize VidDevManager::getInputScale(int dev_id) const { MediaSize scale; pj_bzero(&scale, sizeof(scale)); @@ -1514,7 +1510,7 @@ void VidDevManager::setOutputWindowFlags(int dev_id, int flags, - bool keep) throw(Error) + bool keep) { #if PJSUA_HAS_VIDEO PJSUA2_CHECK_EXPR(pjsua_vid_dev_set_setting(dev_id, @@ -1528,7 +1524,7 @@ #endif } -int VidDevManager::getOutputWindowFlags(int dev_id) throw(Error) +int VidDevManager::getOutputWindowFlags(int dev_id) { int flags = 0; @@ -1543,7 +1539,7 @@ } void VidDevManager::switchDev(int dev_id, - const VideoSwitchParam ¶m) throw(Error) + const VideoSwitchParam ¶m) { #if PJSUA_HAS_VIDEO pjmedia_vid_dev_switch_param pj_param; @@ -1581,7 +1577,7 @@ void VidDevManager::setCaptureOrient(pjmedia_vid_dev_index dev_id, pjmedia_orient orient, - bool keep) throw(Error) + bool keep) { #if PJSUA_HAS_VIDEO PJSUA2_CHECK_EXPR(pjsua_vid_dev_set_setting(dev_id, Index: pjsip/src/pjsua2/persistent.cpp =================================================================== --- pjsip/src/pjsua2/persistent.cpp (revision 5883) +++ pjsip/src/pjsua2/persistent.cpp (working copy) @@ -27,74 +27,71 @@ return getRootContainer().hasUnread(); } -string PersistentDocument::unreadName() const throw(Error) +string PersistentDocument::unreadName() const { return getRootContainer().unreadName(); } -int PersistentDocument::readInt(const string &name) const throw(Error) +int PersistentDocument::readInt(const string &name) const { return (int)getRootContainer().readNumber(name); } -float PersistentDocument::readNumber(const string &name) const throw(Error) +float PersistentDocument::readNumber(const string &name) const { return getRootContainer().readNumber(name); } -bool PersistentDocument::readBool(const string &name) const throw(Error) +bool PersistentDocument::readBool(const string &name) const { return getRootContainer().readBool(name); } -string PersistentDocument::readString(const string &name) const throw(Error) +string PersistentDocument::readString(const string &name) const { return getRootContainer().readString(name); } StringVector PersistentDocument::readStringVector(const string &name) const - throw(Error) { return getRootContainer().readStringVector(name); } -void PersistentDocument::readObject(PersistentObject &obj) const throw(Error) +void PersistentDocument::readObject(PersistentObject &obj) const { getRootContainer().readObject(obj); } ContainerNode PersistentDocument::readContainer(const string &name) const - throw(Error) { return getRootContainer().readContainer(name); } ContainerNode PersistentDocument::readArray(const string &name) const - throw(Error) { return getRootContainer().readArray(name); } void PersistentDocument::writeNumber(const string &name, - float num) throw(Error) + float num) { getRootContainer().writeNumber(name, num); } void PersistentDocument::writeInt(const string &name, - int num) throw(Error) + int num) { getRootContainer().writeNumber(name, (float)num); } void PersistentDocument::writeBool(const string &name, - bool value) throw(Error) + bool value) { getRootContainer().writeBool(name, value); } void PersistentDocument::writeString(const string &name, - const string &value) throw(Error) + const string &value) { getRootContainer().writeString(name, value); } @@ -101,24 +98,21 @@ void PersistentDocument::writeStringVector(const string &name, const StringVector &value) - throw(Error) { getRootContainer().writeStringVector(name, value); } -void PersistentDocument::writeObject(const PersistentObject &obj) throw(Error) +void PersistentDocument::writeObject(const PersistentObject &obj) { getRootContainer().writeObject(obj); } ContainerNode PersistentDocument::writeNewContainer(const string &name) - throw(Error) { return getRootContainer().writeNewContainer(name); } ContainerNode PersistentDocument::writeNewArray(const string &name) - throw(Error) { return getRootContainer().writeNewArray(name); } @@ -130,74 +124,74 @@ return op->hasUnread(this); } -string ContainerNode::unreadName() const throw(Error) +string ContainerNode::unreadName() const { return op->unreadName(this); } -int ContainerNode::readInt(const string &name) const throw(Error) +int ContainerNode::readInt(const string &name) const { return (int)op->readNumber(this, name); } -float ContainerNode::readNumber(const string &name) const throw(Error) +float ContainerNode::readNumber(const string &name) const { return op->readNumber(this, name); } -bool ContainerNode::readBool(const string &name) const throw(Error) +bool ContainerNode::readBool(const string &name) const { return op->readBool(this, name); } -string ContainerNode::readString(const string &name) const throw(Error) +string ContainerNode::readString(const string &name) const { return op->readString(this, name); } StringVector ContainerNode::readStringVector(const string &name) const - throw(Error) + { return op->readStringVector(this, name); } -void ContainerNode::readObject(PersistentObject &obj) const throw(Error) +void ContainerNode::readObject(PersistentObject &obj) const { obj.readObject(*this); } ContainerNode ContainerNode::readContainer(const string &name) const - throw(Error) + { return op->readContainer(this, name); } ContainerNode ContainerNode::readArray(const string &name) const - throw(Error) + { return op->readArray(this, name); } void ContainerNode::writeNumber(const string &name, - float num) throw(Error) + float num) { return op->writeNumber(this, name, num); } void ContainerNode::writeInt(const string &name, - int num) throw(Error) + int num) { return op->writeNumber(this, name, (float)num); } void ContainerNode::writeBool(const string &name, - bool value) throw(Error) + bool value) { return op->writeBool(this, name, value); } void ContainerNode::writeString(const string &name, - const string &value) throw(Error) + const string &value) { return op->writeString(this, name, value); } @@ -204,24 +198,21 @@ void ContainerNode::writeStringVector(const string &name, const StringVector &value) - throw(Error) { return op->writeStringVector(this, name, value); } -void ContainerNode::writeObject(const PersistentObject &obj) throw(Error) +void ContainerNode::writeObject(const PersistentObject &obj) { obj.writeObject(*this); } ContainerNode ContainerNode::writeNewContainer(const string &name) - throw(Error) { return op->writeNewContainer(this, name); } ContainerNode ContainerNode::writeNewArray(const string &name) - throw(Error) { return op->writeNewArray(this, name); } Index: pjsip/src/pjsua2/presence.cpp =================================================================== --- pjsip/src/pjsua2/presence.cpp (revision 5883) +++ pjsip/src/pjsua2/presence.cpp (working copy) @@ -36,7 +36,7 @@ /////////////////////////////////////////////////////////////////////////////// -void BuddyConfig::readObject(const ContainerNode &node) throw(Error) +void BuddyConfig::readObject(const ContainerNode &node) { ContainerNode this_node = node.readContainer("BuddyConfig"); @@ -44,7 +44,7 @@ NODE_READ_BOOL ( this_node, subscribe); } -void BuddyConfig::writeObject(ContainerNode &node) const throw(Error) +void BuddyConfig::writeObject(ContainerNode &node) const { ContainerNode this_node = node.writeNewContainer("BuddyConfig"); @@ -99,7 +99,7 @@ /* * Create buddy and register the buddy to PJSUA-LIB. */ -void Buddy::create(Account &account, const BuddyConfig &cfg) throw(Error) +void Buddy::create(Account &account, const BuddyConfig &cfg) { pjsua_buddy_config pj_cfg; pjsua_buddy_config_default(&pj_cfg); @@ -127,7 +127,7 @@ /* * Get detailed buddy info. */ -BuddyInfo Buddy::getInfo() const throw(Error) +BuddyInfo Buddy::getInfo() const { pjsua_buddy_info pj_bi; BuddyInfo bi; @@ -140,7 +140,7 @@ /* * Enable/disable buddy's presence monitoring. */ -void Buddy::subscribePresence(bool subscribe) throw(Error) +void Buddy::subscribePresence(bool subscribe) { PJSUA2_CHECK_EXPR( pjsua_buddy_subscribe_pres(id, subscribe) ); } @@ -149,7 +149,7 @@ /* * Update the presence information for the buddy. */ -void Buddy::updatePresence(void) throw(Error) +void Buddy::updatePresence(void) { PJSUA2_CHECK_EXPR( pjsua_buddy_update_pres(id) ); } @@ -157,7 +157,7 @@ /* * Send instant messaging outside dialog. */ -void Buddy::sendInstantMessage(const SendInstantMessageParam &prm) throw(Error) +void Buddy::sendInstantMessage(const SendInstantMessageParam &prm) { BuddyInfo bi = getInfo(); @@ -176,7 +176,6 @@ * Send typing indication outside dialog. */ void Buddy::sendTypingIndication(const SendTypingIndicationParam &prm) - throw(Error) { BuddyInfo bi = getInfo(); Index: pjsip/src/pjsua2/siptypes.cpp =================================================================== --- pjsip/src/pjsua2/siptypes.cpp (revision 5883) +++ pjsip/src/pjsua2/siptypes.cpp (working copy) @@ -30,7 +30,7 @@ { void readIntVector( ContainerNode &node, const string &array_name, - IntVector &v) throw(Error) + IntVector &v) { ContainerNode array_node = node.readArray(array_name); v.resize(0); @@ -41,7 +41,7 @@ void writeIntVector(ContainerNode &node, const string &array_name, - const IntVector &v) throw(Error) + const IntVector &v) { ContainerNode array_node = node.writeNewArray(array_name); for (unsigned i=0; i<v.size(); ++i) { @@ -50,7 +50,7 @@ } void readQosParams( ContainerNode &node, - pj_qos_params &qos) throw(Error) + pj_qos_params &qos) { ContainerNode this_node = node.readContainer("qosParams"); @@ -61,7 +61,7 @@ } void writeQosParams( ContainerNode &node, - const pj_qos_params &qos) throw(Error) + const pj_qos_params &qos) { ContainerNode this_node = node.writeNewContainer("qosParams"); @@ -73,7 +73,7 @@ void readSipHeaders( const ContainerNode &node, const string &array_name, - SipHeaderVector &headers) throw(Error) + SipHeaderVector &headers) { ContainerNode headers_node = node.readArray(array_name); headers.resize(0); @@ -89,7 +89,7 @@ void writeSipHeaders(ContainerNode &node, const string &array_name, - const SipHeaderVector &headers) throw(Error) + const SipHeaderVector &headers) { ContainerNode headers_node = node.writeNewArray(array_name); for (unsigned i=0; i<headers.size(); ++i) { @@ -117,7 +117,7 @@ { } -void AuthCredInfo::readObject(const ContainerNode &node) throw(Error) +void AuthCredInfo::readObject(const ContainerNode &node) { ContainerNode this_node = node.readContainer("AuthCredInfo"); @@ -131,7 +131,7 @@ NODE_READ_STRING( this_node, akaAmf); } -void AuthCredInfo::writeObject(ContainerNode &node) const throw(Error) +void AuthCredInfo::writeObject(ContainerNode &node) const { ContainerNode this_node = node.writeNewContainer("AuthCredInfo"); @@ -208,7 +208,7 @@ this->qosIgnoreError = PJ2BOOL(prm.qos_ignore_error); } -void TlsConfig::readObject(const ContainerNode &node) throw(Error) +void TlsConfig::readObject(const ContainerNode &node) { ContainerNode this_node = node.readContainer("TlsConfig"); @@ -230,7 +230,7 @@ NODE_READ_BOOL ( this_node, qosIgnoreError); } -void TlsConfig::writeObject(ContainerNode &node) const throw(Error) +void TlsConfig::writeObject(ContainerNode &node) const { ContainerNode this_node = node.writeNewContainer("TlsConfig"); @@ -288,7 +288,7 @@ return tc; } -void TransportConfig::readObject(const ContainerNode &node) throw(Error) +void TransportConfig::readObject(const ContainerNode &node) { ContainerNode this_node = node.readContainer("TransportConfig"); @@ -301,7 +301,7 @@ NODE_READ_OBJ ( this_node, tlsConfig); } -void TransportConfig::writeObject(ContainerNode &node) const throw(Error) +void TransportConfig::writeObject(ContainerNode &node) const { ContainerNode this_node = node.writeNewContainer("TransportConfig"); @@ -378,7 +378,7 @@ /////////////////////////////////////////////////////////////////////////////// -void SipHeader::fromPj(const pjsip_hdr *hdr) throw(Error) +void SipHeader::fromPj(const pjsip_hdr *hdr) { char *buf = NULL; int len = 0; @@ -435,7 +435,7 @@ /////////////////////////////////////////////////////////////////////////////// -void SipMultipartPart::fromPj(const pjsip_multipart_part &prm) throw(Error) +void SipMultipartPart::fromPj(const pjsip_multipart_part &prm) { headers.clear(); pjsip_hdr* pj_hdr = prm.hdr.next; @@ -574,7 +574,7 @@ multipartContentType.subType == "" && multipartParts.size() == 0); } -void SipTxOption::fromPj(const pjsua_msg_data &prm) throw(Error) +void SipTxOption::fromPj(const pjsua_msg_data &prm) { targetUri = pj2Str(prm.target_uri); Index: pjsip-apps/src/samples/pjsua2_demo.cpp =================================================================== --- pjsip-apps/src/samples/pjsua2_demo.cpp (revision 5883) +++ pjsip-apps/src/samples/pjsua2_demo.cpp (working copy) @@ -105,7 +105,7 @@ } } -static void mainProg1(Endpoint &ep) throw(Error) +static void mainProg1(Endpoint &ep) { // Init library EpConfig ep_cfg; @@ -151,7 +151,7 @@ delete acc; } -static void mainProg2() throw(Error) +static void mainProg2() { string json_str; { @@ -197,7 +197,7 @@ } -static void mainProg3(Endpoint &ep) throw(Error) +static void mainProg3(Endpoint &ep) { const char *paths[] = { "../../../../tests/pjsua/wavs/input.16.wav", "../../tests/pjsua/wavs/input.16.wav", @@ -256,7 +256,7 @@ } -static void mainProg() throw(Error) +static void mainProg() { string json_str; @@ -308,7 +308,7 @@ } -static void mainProg4(Endpoint &ep) throw(Error) +static void mainProg4(Endpoint &ep) { // Init library EpConfig ep_cfg;
_______________________________________________ Visit our blog: http://blog.pjsip.org pjsip mailing list pjsip@xxxxxxxxxxxxxxx http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org