package org.tmatesoft.svn.core.internal.util.jna;
import java.util.logging.Level;
import org.tmatesoft.svn.util.ISVNDebugLog;
import org.tmatesoft.svn.util.SVNLogType;
import com.sun.jna.Pointer;
public class DebugProxyISVNGLibrary implements ISVNGLibrary {
private final ISVNGLibrary myLibrary;
private final ISVNDebugLog myDebugLog;
public DebugProxyISVNGLibrary(ISVNGLibrary myLibrary, ISVNDebugLog myDebugLog) {
this.myLibrary = myLibrary;
this.myDebugLog = myDebugLog;
}
public String g_get_application_name() {
final String s = myLibrary.g_get_application_name();
myDebugLog.log(SVNLogType.NATIVE_CALL, "CALLED ISVNGLibrary#g_get_application_name() = " + s, Level.INFO);
return s;
}
public void g_set_application_name(String applicationName) {
myDebugLog.log(SVNLogType.NATIVE_CALL, "CALLED ISVNGLibrary#g_set_application_name() = " + applicationName, Level.INFO);
myLibrary.g_set_application_name(applicationName);
}
public Pointer g_main_loop_new(Pointer context, boolean isRunning) {
final Pointer pointer = myLibrary.g_main_loop_new(context, isRunning);
myDebugLog.log(SVNLogType.NATIVE_CALL, "CALLED ISVNGLibrary#g_main_loop_new(" +
DebugProxyISVNCLibrary.toStringNullable(context) + ", " + isRunning + ") = " +
DebugProxyISVNCLibrary.toStringNullable(pointer), Level.INFO);
return pointer;
}
public void g_main_loop_run(Pointer context) {
myDebugLog.log(SVNLogType.NATIVE_CALL, "CALLED ISVNGLibrary#g_main_loop_run() = " + DebugProxyISVNCLibrary.toStringNullable(context), Level.INFO);
myLibrary.g_main_loop_run(context);
}
public void g_main_loop_quit(Pointer context) {
myDebugLog.log(SVNLogType.NATIVE_CALL, "CALLED ISVNGLibrary#g_main_loop_quit() = " + DebugProxyISVNCLibrary.toStringNullable(context), Level.INFO);
myLibrary.g_main_loop_quit(context);
}
}