package Ġcom . electron slab čĊč Ċ import Ġorg . j ives o ftware . sm ack . packet . Extension Element č Ċ import Ġorg . j ives o ftware . sm ack . util . Xml StringBuilder čĊč Ċ data Ġclass ĠSignal ing ( čĊĠĠĠ Ġval Ġs dp : String , čĊĠĠĠ Ġval Ġs dp Mid : String ?, čĊĠĠĠ Ġval Ġs dp ML ine Index : Int ?, čĊĠĠĠ Ġval Ġserver Url : String ?, čĊĠĠĠ Ġval Ġadapter Type : String ?, čĊĠĠĠ Ġval Ġtype : Type č Ċ ): ĠExtension Element Ġ{ čĊčĊčĊĠĠĠ Ġoverride Ġfun Ġto XML ( enc lo sing Namespace : ĠString ?): ĠCharSequence Ġ{ čĊĠĠĠĠĠĠĠ Ġreturn ĠXml StringBuilder ( this ). right Angle Bracket () čĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. element ( TAG _ NAME _ SD P , Ġs dp ) čĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. element ( TAG _ NAME _ TYPE , Ġtype ) čĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. opt Element ( TAG _ NAME _ SD P _ MID , Ġs dp Mid ) čĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. opt Element ( TAG _ NAME _ SD P _ M _ LINE _ INDEX , Ġs dp ML ine Index ?. toString ()) čĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. opt Element ( TAG _ NAME _ SERVER _ URL , Ġserver Url ) čĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. opt Element ( TAG _ NAME _ ADAPTER _ TYPE , Ġadapter Type ) čĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. close Element ( this ) čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġoverride Ġfun Ġget Namespace () Ġ= ĠELEMENT _ NAME čĊčĊĠĠĠ Ġoverride Ġfun Ġget ElementName () Ġ= ĠNAMES PACE čĊčĊčĊĠĠĠ Ġenum Ġclass ĠType { čĊĠĠĠĠĠĠĠ ĠAnswer , ĠOffer , ĠC andidate čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġcompanion Ġobject Ġ{ čĊĠĠĠĠĠĠĠ Ġconst Ġval ĠELEMENT _ NAME Ġ= Ġ" signal ing " čĊĠĠĠĠĠĠĠ Ġconst Ġval ĠNAMES PACE Ġ= Ġ" jab ber : client " čĊĠĠĠĠĠĠĠ Ġconst Ġval ĠTAG _ NAME _ SD P Ġ= Ġ" sdp " čĊĠĠĠĠĠĠĠ Ġconst Ġval ĠTAG _ NAME _ SD P _ MID Ġ= Ġ" sdp Mid " čĊĠĠĠĠĠĠĠ Ġconst Ġval ĠTAG _ NAME _ SD P _ M _ LINE _ INDEX Ġ= Ġ" sdp ML ine Index " čĊĠĠĠĠĠĠĠ Ġconst Ġval ĠTAG _ NAME _ SERVER _ URL Ġ= Ġ" server Url " čĊĠĠĠĠĠĠĠ Ġconst Ġval ĠTAG _ NAME _ ADAPTER _ TYPE Ġ= Ġ" adapter Type " čĊĠĠĠĠĠĠĠ Ġconst Ġval ĠTAG _ NAME _ TYPE Ġ= Ġ" type " čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġclass ĠBuilder Ġ{ čĊĠĠĠĠĠĠĠ Ġprivate Ġvar Ġs dp : ĠString ? Ġ= Ġnull čĊĠĠĠĠĠĠĠ Ġprivate Ġvar Ġs dp Mid : ĠString ? Ġ= Ġnull čĊĠĠĠĠĠĠĠ Ġprivate Ġvar Ġs dp ML ine Index : ĠInt ? Ġ= Ġnull čĊĠĠĠĠĠĠĠ Ġprivate Ġvar Ġserver Url : ĠString ? Ġ= Ġnull čĊĠĠĠĠĠĠĠ Ġprivate Ġvar Ġadapter Type : ĠString ? Ġ= Ġnull čĊĠĠĠĠĠĠĠ Ġprivate Ġvar Ġtype : ĠType ? Ġ= Ġnull čĊčĊčĊĠĠĠĠĠĠĠ Ġfun Ġset S dp ( sdp : String ): Builder { čĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . sdp Ġ= Ġs dp čĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġthis čĊĠĠĠĠĠĠĠ Ġ} čĊčĊĠĠĠĠĠĠĠ Ġfun Ġset S dp Mid ( sdp Mid : String ): Builder { čĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . sdp Mid Ġ= Ġs dp Mid čĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġthis čĊĠĠĠĠĠĠĠ Ġ} čĊčĊĠĠĠĠĠĠĠ Ġfun Ġset S dp ML ine Index ( sdp ML ine Index : String ): Builder { čĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . sdp ML ine Index Ġ= Ġs dp ML ine Index . toInt () čĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġthis čĊĠĠĠĠĠĠĠ Ġ} čĊčĊĠĠĠĠĠĠĠ Ġfun Ġset Server Url ( server Url : String ): Builder { čĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . server Url Ġ= Ġserver Url čĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġthis čĊĠĠĠĠĠĠĠ Ġ} čĊčĊĠĠĠĠĠĠĠ Ġfun Ġset Adapter Type ( adapter Type : String ): Builder { čĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . adapter Type Ġ= Ġadapter Type čĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġthis čĊĠĠĠĠĠĠĠ Ġ} čĊčĊĠĠĠĠĠĠĠ Ġfun Ġset Type ( type : String ): Builder { čĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . type Ġ= ĠType . valueOf ( type ) čĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġthis čĊĠĠĠĠĠĠĠ Ġ} čĊčĊčĊĠĠĠĠĠĠĠ Ġfun Ġbuild (): Signal ing Ġ= ĠSignal ing ( sdp !! , Ġs dp Mid , Ġs dp ML ine Index , Ġserver Url , Ġadapter Type , Ġtype !! ) čĊĠĠĠ Ġ} č Ċ }