/* Ċ Ġ* ĠCopyright Ġ 2 0 2 0 ĠRealm ĠInc . Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ Ċ package Ġio . realm . internal Ċ Ċ import Ġio . realm . C ancellable Ċ import Ġio . realm . interop . Native Pointer Ċ import Ġio . realm . interop . Realm Interop Ċ Ċ class ĠNotification Token < T >( t : ĠT , Ġprivate Ġval Ġtoken : ĠNative Pointer ) Ġ: ĠC ancellable Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġt : ĠT ? Ġ= Ġt ĊĊĠĠĠ Ġoverride Ġfun Ġcancel () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( t Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRealm Interop . realm _ release ( token ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġt Ġ= Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// ĠFIXME ĠAPI ĠWe Ġcurrently Ġfavor Ġto Ġdo Ġexplicit Ġregistration . ĊĠĠĠ Ġ// Ġ ĠOnly Ġworks Ġon ĠJVM . ĠK N ĠClean er Ġis Ġnot Ġavailable Ġbefore Ġv 1 . 4 . 3 0 - M 1 - e ap - 4 8 ĊĠĠĠ Ġ// Ġ Ġhttps :// github . com / realm / realm - kotlin / issues / 2 3 ĊĠĠĠ Ġ// Ġ Ġfun Ġfinalize () Ġ{ ĊĠĠĠ Ġ// ĠĠĠĠĠ Ġcancel () ĊĠĠĠ Ġ// Ġ Ġ} Ċ } Ċ