package Ġcom . fs ck . k 9 m _ m . backends Ċ Ċ import Ġcom . fs ck . k 9 m _ m . Account Ċ import Ġcom . fs ck . k 9 m _ m . backend . Backend Factory Ċ import Ġcom . fs ck . k 9 m _ m . backend . api . Backend Ċ import Ġcom . fs ck . k 9 m _ m . backend . pop 3 . Pop 3 Backend Ċ import Ġcom . fs ck . k 9 m _ m . backend . pop 3 . Pop 3 Store Uri Creator Ċ import Ġcom . fs ck . k 9 m _ m . backend . pop 3 . Pop 3 Store Uri Decoder Ċ import Ġcom . fs ck . k 9 m _ m . mail . Server Settings Ċ import Ġcom . fs ck . k 9 m _ m . mail . oauth . OAuth 2 Token Provider Ċ import Ġcom . fs ck . k 9 m _ m . mail . ssl . Trusted Socket Factory Ċ import Ġcom . fs ck . k 9 m _ m . mail . store . pop 3 . Pop 3 Store Ċ import Ġcom . fs ck . k 9 m _ m . mail . transport . smtp . Sm tp Transport Ċ import Ġcom . fs ck . k 9 m _ m . mail . transport . smtp . Sm tp Transport Uri Creator Ċ import Ġcom . fs ck . k 9 m _ m . mail . transport . smtp . Sm tp Transport Uri Decoder Ċ import Ġcom . fs ck . k 9 m _ m . mail store . K 9 Backend Storage Factory Ċ Ċ class ĠPop 3 Backend Factory ( ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġbackend Storage Factory : ĠK 9 Backend Storage Factory , ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġtrusted Socket Factory : ĠTr usted Socket Factory Ċ ) Ġ: ĠBackend Factory Ġ{ ĊĠĠĠ Ġoverride Ġval Ġtransport Uri Prefix Ġ= Ġ" smtp " ĊĊĠĠĠ Ġoverride Ġfun Ġcreate Backend ( account : ĠAccount ): ĠBackend Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġaccount Name Ġ= Ġaccount . displayName ĊĠĠĠĠĠĠĠ Ġval Ġbackend Storage Ġ= Ġbackend Storage Factory . create Backend Storage ( account ) ĊĠĠĠĠĠĠĠ Ġval Ġpop 3 Store Ġ= Ġcreate Pop 3 Store ( account ) ĊĠĠĠĠĠĠĠ Ġval Ġsmtp Transport Ġ= Ġcreate Sm tp Transport ( account ) ĊĠĠĠĠĠĠĠ Ġreturn ĠPop 3 Backend ( account Name , Ġbackend Storage , Ġpop 3 Store , Ġsmtp Transport ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġcreate Pop 3 Store ( account : ĠAccount ): ĠPop 3 Store Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġserver Settings Ġ= Ġdecode Store Uri ( account . store Uri ) ĊĠĠĠĠĠĠĠ Ġreturn ĠPop 3 Store ( server Settings , Ġaccount , Ġtrusted Socket Factory ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġcreate Sm tp Transport ( account : ĠAccount ): ĠSm tp Transport Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġserver Settings Ġ= Ġdecode Transport Uri ( account . transport Uri ) ĊĠĠĠĠĠĠĠ Ġval Ġoauth 2 Token Provider : ĠOAuth 2 Token Provider ? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġreturn ĠSm tp Transport ( server Settings , Ġtrusted Socket Factory , Ġoauth 2 Token Provider ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdecode Store Uri ( store Uri : ĠString ): ĠServer Settings Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠPop 3 Store Uri Decoder . decode ( store Uri ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġcreate Store Uri ( server Settings : ĠServer Settings ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠPop 3 Store Uri Creator . create ( server Settings ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdecode Transport Uri ( transport Uri : ĠString ): ĠServer Settings Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠSm tp Transport Uri Decoder . decode Sm tp Uri ( transport Uri ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġcreate Transport Uri ( server Settings : ĠServer Settings ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠSm tp Transport Uri Creator . create Sm tp Uri ( server Settings ) ĊĠĠĠ Ġ} Ċ } Ċ