public IList <string> GetIndexes() { object retVal = null; ThreadSafety.DoLocked(() => { CheckOpen(); var result = new C4SliceResult(); LiteCoreBridge.Check(err => { result = NativeRaw.c4db_getIndexes(c4db, err); return(result.buf != null); }); var val = NativeRaw.FLValue_FromTrustedData(new FLSlice(result.buf, result.size)); if (val == null) { Native.c4slice_free(result); throw new LiteCoreException(new C4Error(C4ErrorCode.CorruptIndexData)); } retVal = FLValueConverter.ToCouchbaseObject(val, this, true, typeof(string)); Native.c4slice_free(result); }); return(retVal as IList <string> ?? new List <string>()); }
public static void c4slice_free(C4SliceResult slice) => Impl.c4slice_free(slice);