package Ġorg . gui V ista . core . dataType Ċ Ċ import Ġg lib 2 .* Ċ import Ġkotlinx . c interop . CP o inter Ċ import Ġkotlinx . c interop . to K String Ċ import Ġorg . gui V ista . core . C losable Ċ Ċ /** ĠStr ong ly Ġtyped Ġvalue Ġdata Ġtype . Ġ*/ Ċ public Ġactual Ġclass ĠVariant Ġprivate Ġconstructor ( ptr : ĠC Pointer < G Variant > ?) Ġ: ĠC losable Ġ{ ĊĠĠĠ Ġpublic Ġval Ġg Variant Ptr : ĠC Pointer < G Variant >? Ġ= Ġptr ĊĊĠĠĠ Ġpublic Ġactual Ġval Ġtotal Children : ĠU Long ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġg _ variant _ n _ children ( g Variant Ptr ). to UL ong () ĊĊĠĠĠ Ġpublic Ġactual Ġval Ġboolean Value : ĠBoolean Ġ= Ġg _ variant _ get _ boolean ( g Variant Ptr ) Ġ== ĠTRUE ĊĊĠĠĠ Ġpublic Ġactual Ġval Ġu Byte Value : ĠU Byte Ġ= Ġg _ variant _ get _ byte ( g Variant Ptr ) ĊĊĠĠĠ Ġpublic Ġactual Ġval Ġshort Value : ĠShort Ġ= Ġg _ variant _ get _ int 1 6 ( g Variant Ptr ) ĊĊĠĠĠ Ġpublic Ġactual Ġval Ġu Short Value : ĠU Short Ġ= Ġg _ variant _ get _ uint 1 6 ( g Variant Ptr ) ĊĊĠĠĠ Ġpublic Ġactual Ġval Ġint Value : ĠInt Ġ= Ġg _ variant _ get _ int 3 2 ( g Variant Ptr ) ĊĊĠĠĠ Ġpublic Ġactual Ġval Ġu Int Value : ĠUInt Ġ= Ġg _ variant _ get _ uint 3 2 ( g Variant Ptr ) ĊĊĠĠĠ Ġpublic Ġactual Ġval Ġdouble Value : ĠDouble Ġ= Ġg _ variant _ get _ double ( g Variant Ptr ) ĊĊĠĠĠ Ġpublic Ġactual Ġval Ġstring Value : ĠString Ġ= Ġg _ variant _ get _ string ( g Variant Ptr , Ġnull )?. to K String () Ġ?: Ġ"" ĊĊĠĠĠ Ġpublic Ġactual Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġpublic Ġactual Ġfun Ġfrom String ( value : ĠString ): ĠVariant Ġ= ĠVariant ( g _ variant _ new _ string ( value )) ĊĊĠĠĠĠĠĠĠ Ġpublic Ġactual Ġfun Ġfrom Boolean ( value : ĠBoolean ): ĠVariant Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠVariant ( g _ variant _ new _ boolean ( if Ġ( value ) ĠTRUE Ġelse ĠFALSE )) ĊĊĠĠĠĠĠĠĠ Ġpublic Ġactual Ġfun Ġfrom U Byte ( value : ĠU Byte ): ĠVariant Ġ= ĠVariant ( g _ variant _ new _ byte ( value )) ĊĊĠĠĠĠĠĠĠ Ġpublic Ġactual Ġfun Ġfrom Short ( value : ĠShort ): ĠVariant Ġ= ĠVariant ( g _ variant _ new _ int 1 6 ( value )) ĊĊĠĠĠĠĠĠĠ Ġpublic Ġactual Ġfun Ġfrom U Short ( value : ĠU Short ): ĠVariant Ġ= ĠVariant ( g _ variant _ new _ uint 1 6 ( value )) ĊĊĠĠĠĠĠĠĠ Ġpublic Ġactual Ġfun Ġfrom Int ( value : ĠInt ): ĠVariant Ġ= ĠVariant ( g _ variant _ new _ int 3 2 ( value )) ĊĊĠĠĠĠĠĠĠ Ġpublic Ġactual Ġfun Ġfrom UInt ( value : ĠUInt ): ĠVariant Ġ= ĠVariant ( g _ variant _ new _ uint 3 2 ( value )) ĊĊĠĠĠĠĠĠĠ Ġpublic Ġactual Ġfun Ġfrom Long ( value : ĠLong ): ĠVariant Ġ= ĠVariant ( g _ variant _ new _ int 6 4 ( value )) ĊĊĠĠĠĠĠĠĠ Ġpublic Ġactual Ġfun Ġfrom Dict Entry ( key : ĠVariant , Ġvalue : ĠVariant ): ĠVariant Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠVariant ( g _ variant _ new _ dict _ entry ( key . g Variant Ptr , Ġvalue . g Variant Ptr )) ĊĊĠĠĠĠĠĠĠ Ġpublic Ġfun Ġfrom Pointer ( ptr : ĠC Pointer < G Variant >? ): ĠVariant Ġ= ĠVariant ( ptr ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġpublic Ġactual Ġfun Ġfetch Child Value ( value : ĠVariant , Ġindex : ĠU Long ): ĠVariant Ġ= ĊĠĠĠĠĠĠĠ ĠVariant ( g _ variant _ get _ child _ value ( value . g Variant Ptr , Ġindex . to UInt ())) ĊĊĠĠĠ Ġpublic Ġactual Ġfun Ġlookup Value ( dictionary : ĠVariant , Ġkey : ĠString , Ġexpected Type : ĠVariant Type ): ĠVariant ? Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġptr Ġ= Ġg _ variant _ lookup _ value ( dictionary Ġ= Ġdictionary . g Variant Ptr , Ġkey Ġ= Ġkey , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġexpected _ type Ġ= Ġexpected Type . g Variant Type Ptr ) ĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( ptr Ġ!= Ġnull ) ĠVariant ( ptr ) Ġelse Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġclose () Ġ{ ĊĠĠĠĠĠĠĠ Ġg _ variant _ unref ( g Variant Ptr ) ĊĠĠĠ Ġ} Ċ } Ċ