view src/name/blackcap/exifwasher/exiv2/ExifData.kt @ 2:efd9fe2d70d7

Rationalize exceptions, code whitelist, add command-line tool.
author David Barts <n5jrn@me.com>
date Wed, 01 Apr 2020 14:23:54 -0700
parents db63d01a23c6
children 959fa9014deb
line wrap: on
line source

/*
 * Some image EXIF metadata.
 */
package name.blackcap.exifwasher.exiv2

import kotlin.collections.Iterable
import kotlin.collections.Iterator

public class ExifData(ptr: Long) {
    init {
        Initialize.libraries()
    }

    private external fun _erase(key: String): Unit
    private external fun _value(key: String): Value
    private external fun _keys(): Array<String>

    private val pointer = ptr

    val keys: Array<String>
    get() {
        return _keys()
    }

    fun erase(key: String): Unit = _erase(key)

    public data class Value(val type: String, val value: String)

    operator fun get(key: String): Value = _value(key)
}