Kimono.KSystemTimeZoneBackend.OffsetAtZoneTime C# (CSharp) Method

OffsetAtZoneTime() private method

private OffsetAtZoneTime ( KTimeZone caller, Qyoto.QDateTime zoneDateTime, int &secondOffset ) : int
caller KTimeZone
zoneDateTime Qyoto.QDateTime
secondOffset int
return int
        public override int OffsetAtZoneTime(KTimeZone caller, QDateTime zoneDateTime, ref int secondOffset)
        {
            StackItem[] stack = new StackItem[4];
            #if DEBUG
            stack[1].s_class = (IntPtr) DebugGCHandle.Alloc(caller);
            #else
            stack[1].s_class = (IntPtr) GCHandle.Alloc(caller);
            #endif
            #if DEBUG
            stack[2].s_class = (IntPtr) DebugGCHandle.Alloc(zoneDateTime);
            #else
            stack[2].s_class = (IntPtr) GCHandle.Alloc(zoneDateTime);
            #endif
            stack[3].s_int = secondOffset;
            interceptor.Invoke("offsetAtZoneTime##$", "offsetAtZoneTime(const KTimeZone*, const QDateTime&, int*) const", stack);
            #if DEBUG
            DebugGCHandle.Free((GCHandle) stack[1].s_class);
            #else
            ((GCHandle) stack[1].s_class).Free();
            #endif
            #if DEBUG
            DebugGCHandle.Free((GCHandle) stack[2].s_class);
            #else
            ((GCHandle) stack[2].s_class).Free();
            #endif
            secondOffset = stack[3].s_int;
            return stack[0].s_int;
        }