示例#1
0
        /// <summary>
        /// Installs a default log handler which is used if no log handler
        /// has been set for the particular log domain and log level combination.
        /// </summary>
        /// <param name="logFunc">the log handler function</param>
        /// <returns>the previous default log handler</returns>
        public static LogFunc SetDefaultHandler(LogFunc logFunc)
        {
            if (_nativeHandler == null)
            {
                _nativeHandler = NativeCallback;
            }

            var prev = GLib.GLogSetDefaultHandler(_nativeHandler, (IntPtr)GCHandle.Alloc(logFunc));

            if (prev == null)
            {
                return(null);
            }
            var invoker = new Invoker(prev);

            return(invoker.Handler);
        }