diff --git a/lib/src/enum_helper.dart b/lib/src/enum_helper.dart index b8b8a52d..55f8949e 100644 --- a/lib/src/enum_helper.dart +++ b/lib/src/enum_helper.dart @@ -30,4 +30,14 @@ class EnumHelper { static String reCase(String value) { return ReCase(value).titleCase; } + + static T getEnum(String enumName, List values) { + String cleanedName = reCase(enumName); + for (int i = 0; i < values.length; i++) { + if (cleanedName == getName(values[i])) { + return values[i]; + } + } + throw Exception("$cleanedName doesn't exist in the list of enums $values"); + } } diff --git a/lib/src/sip_ua_helper.dart b/lib/src/sip_ua_helper.dart index ba2e92ff..ed1aec15 100644 --- a/lib/src/sip_ua_helper.dart +++ b/lib/src/sip_ua_helper.dart @@ -129,22 +129,20 @@ class SIPUAHelper extends EventManager { this._ua = UA(_settings); this._ua.on(EventSocketConnecting(), (EventSocketConnecting event) { logger.debug('connecting => ' + event.toString()); - _notifyTransportStateListeners(TransportState( - TransportStateEnum.CONNECTING, - socket: event.socket)); + _notifyTransportStateListeners( + TransportState(TransportStateEnum.CONNECTING)); }); this._ua.on(EventSocketConnected(), (EventSocketConnected event) { logger.debug('connected => ' + event.toString()); _notifyTransportStateListeners( - TransportState(TransportStateEnum.CONNECTED, socket: event.socket)); + TransportState(TransportStateEnum.CONNECTED)); }); this._ua.on(EventSocketDisconnected(), (EventSocketDisconnected event) { logger.debug('disconnected => ' + (event.cause.toString())); _notifyTransportStateListeners(TransportState( TransportStateEnum.DISCONNECTED, - socket: event.socket, cause: event.cause)); }); @@ -422,9 +420,8 @@ enum TransportStateEnum { class TransportState { TransportStateEnum state; - Socket socket; ErrorCause cause; - TransportState(this.state, {this.socket = null, this.cause}); + TransportState(this.state, {this.cause}); } abstract class SipUaHelperListener {