view src/name/blackcap/exifwasher/exiv2/Image.kt @ 13:a59d84674fb0

Make it seamlessly work on IPTC and XMP metadata, too.
author David Barts <davidb@stashtea.com>
date Sat, 11 Apr 2020 09:14:31 -0700
parents db63d01a23c6
children
line wrap: on
line source

/*
 * Represents an image file we're examining and manipulating the metadata of.
 */
package name.blackcap.exifwasher.exiv2

public class Image(path: String) {
    init {
        Initialize.libraries()
    }

    private external fun _ctor(path: String): Long
    private external fun _writeMetadata()
    private external fun _getMetadata(): Long
    private external fun _dtor()

    private val pointer: Long
    init {
        pointer = _ctor(path)
    }

    val metadata: ExifData
    get() {
        return ExifData(_getMetadata())
    }

    fun store() = _writeMetadata()

    protected fun finalize() = _dtor()
}