public CKLBIntervalTimer(CKLBTask parent, uint interval, CallBack callback, bool repeat = false, ETIMERMODE mode = ETIMERMODE.INTERVALTIMER_TIME) 
            : base(s_classID)
        {
            NativeManagement.resetCppError();
            IntPtr ptr = CKLBIntervalTimer_create(parent != null ? parent.CppObject : IntPtr.Zero, interval, repeat, (byte)mode);
            NativeManagement.intercepCppError();
            bind(ptr);

            m_callback = callback;
        }
        public CKLBIntervalTimer(CKLBTask parent, uint interval, CallBack callback, bool repeat = false, ETIMERMODE mode = ETIMERMODE.INTERVALTIMER_TIME)
            : base(s_classID)
        {
            NativeManagement.resetCppError();

            IntPtr ptr = CKLBIntervalTimer_create(parent != null ? parent.CppObject : IntPtr.Zero, interval, repeat, (byte)mode);

            NativeManagement.intercepCppError();
            bind(ptr);

            m_callback = callback;
        }