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 DebugProxyISVNWin32Library implements ISVNWin32Library {
private final ISVNWin32Library myLibrary;
private final ISVNDebugLog myDebugLog;
public DebugProxyISVNWin32Library(ISVNWin32Library myLibrary, ISVNDebugLog myDebugLog) {
this.myLibrary = myLibrary;
this.myDebugLog = myDebugLog;
}
public HRESULT SHGetFolderPathW(Pointer hwndOwner, int nFolder, Pointer hToken, DWORD dwFlags, char[] pszPath) {
final HRESULT hresult = myLibrary.SHGetFolderPathW(hwndOwner, nFolder, hToken, dwFlags, pszPath);
myDebugLog.log(SVNLogType.NATIVE_CALL, "CALLED ISVNWin32Library#SHGetFolderPathW(" +
DebugProxyISVNCLibrary.toStringNullable(hwndOwner) + ", " +
DebugProxyISVNCLibrary.toStringNullable(nFolder) + ", " +
DebugProxyISVNCLibrary.toStringNullable(hToken)+ ", " +
DebugProxyISVNCLibrary.toStringNullable(dwFlags) + ", " +
DebugProxyISVNCLibrary.toStringNullable(pszPath) + ") = " + DebugProxyISVNCLibrary.toStringNullable(hresult), Level.INFO);
return hresult;
}
}