From c89016e7427defd1f8a095d7aeb30292a42fad92 Mon Sep 17 00:00:00 2001 From: Pacien TRAN-GIRARD Date: Fri, 30 Jun 2017 10:21:51 +0200 Subject: Conversion to Kotlin --- .../java/org/pacien/tincapp/context/AppPaths.kt | 43 ++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 app/src/main/java/org/pacien/tincapp/context/AppPaths.kt (limited to 'app/src/main/java/org/pacien/tincapp/context/AppPaths.kt') diff --git a/app/src/main/java/org/pacien/tincapp/context/AppPaths.kt b/app/src/main/java/org/pacien/tincapp/context/AppPaths.kt new file mode 100644 index 0000000..21db0a4 --- /dev/null +++ b/app/src/main/java/org/pacien/tincapp/context/AppPaths.kt @@ -0,0 +1,43 @@ +package org.pacien.tincapp.context + +import android.content.Context + +import java.io.File + +/** + * @author pacien + * * + * @implNote Logs and PID files are stored in the cache directory for easy clean up. + */ +object AppPaths { + + private val CONFDIR = "conf" + private val LOGDIR = "log" + private val PIDDIR = "pid" + + private val TINCD_BIN = "libtincd.so" + private val TINC_BIN = "libtinc.so" + + private val LOGFILE_FORMAT = "tinc.%s.log" + private val PIDFILE_FORMAT = "tinc.%s.pid" + + private val NET_CONF_FILE = "network.conf" + + private fun createDirIfNotExists(basePath: File, newDir: String): File { + val f = File(basePath, newDir) + f.mkdirs() + return f + } + + fun confDir(ctx: Context): File = ctx.getDir(CONFDIR, Context.MODE_PRIVATE) + fun confDir(ctx: Context, netName: String): File = File(confDir(ctx), netName) + fun logDir(ctx: Context): File = createDirIfNotExists(ctx.cacheDir, LOGDIR) + fun pidDir(ctx: Context): File = createDirIfNotExists(ctx.cacheDir, PIDDIR) + fun logFile(ctx: Context, netName: String): File = File(logDir(ctx), String.format(LOGFILE_FORMAT, netName)) + fun pidFile(ctx: Context, netName: String): File = File(pidDir(ctx), String.format(PIDFILE_FORMAT, netName)) + fun netConfFile(ctx: Context, netName: String): File = File(confDir(ctx, netName), NET_CONF_FILE) + fun binDir(ctx: Context): File = File(ctx.applicationInfo.nativeLibraryDir) + fun tincd(ctx: Context): File = File(binDir(ctx), TINCD_BIN) + fun tinc(ctx: Context): File = File(binDir(ctx), TINC_BIN) + +} -- cgit v1.2.3