ivan.savytskyi
08/22/2019, 3:39 PMoverride fun foo(): CPointer<ByteVar>?
, should I use StableRef
like:
override fun foo(): CPointer<ByteVar>? {
return StableRef
.create(name.encodeToByteArray())
.asCPointer()
.rawValue
.let { interpretCPointer(it) }
}
Dominaezzz
08/22/2019, 4:08 PMDominaezzz
08/22/2019, 4:09 PMDominaezzz
08/22/2019, 4:10 PMCPointer<ByteVar>
, you're gonna have to allocate memory and return it.Dominaezzz
08/22/2019, 4:10 PMDominaezzz
08/22/2019, 4:11 PMmalloc
?Dominaezzz
08/22/2019, 4:12 PMoverride fun foo(): CValues<ByteVar>? {
return name.encodeToByteArray().cstr
}
olonho
08/22/2019, 4:39 PMivan.savytskyi
08/22/2019, 4:59 PM@kotlinx.cinterop.ObjCMethod public abstract fun foo(): kotlinx.cinterop.CPointer<kotlinx.cinterop.ByteVar
ivan.savytskyi
08/22/2019, 5:03 PMivan.savytskyi
08/22/2019, 5:05 PM@protocol XXX <NSObject>
....
@property (nonatomic, readonly) const char *foo;`
ivan.savytskyi
08/22/2019, 5:06 PMreturn name.cstr.getPointer(Arena())
but I'm not sure if this is correct usage as wellDominaezzz
08/22/2019, 5:26 PM