// Closes out a group and purges the unsaved contents.
        public static void CloseGroup(CloseGroupParams closeGroupParams, EmptyCallbackDelegate callback)
        {
            if (!instanceCreated)
            {
                Debug.LogError("ERROR: Cannot close a group. The SDK has not been initialized.");
                return;
            }

            IntPtr pnt = Marshal.AllocHGlobal(Marshal.SizeOf(closeGroupParams));

            EmptyCallbackId cid = new EmptyCallbackId();

            cid.id       = GetCallbackId();
            cid.callback = callback;

            IntPtr asyncOp = Marshal.AllocHGlobal(Marshal.SizeOf(cid));

            try
            {
                Marshal.StructureToPtr(closeGroupParams, pnt, false);
                Marshal.StructureToPtr(cid, asyncOp, false);

                Highlights_CloseGroupAsync(pnt, asyncOp);
            }
            finally
            {
                Marshal.FreeHGlobal(pnt);
                Marshal.FreeHGlobal(asyncOp);
            }
        }
예제 #2
0
        // Closes out a group and purges the unsaved contents.
        public static void CloseGroup(CloseGroupParams closeGroupParams)
        {
            if (!instanceCreated)
            {
                Debug.LogError("ERROR: Cannot close a group. The SDK has not been initialized.");
                return;
            }

            IntPtr pnt = Marshal.AllocHGlobal(Marshal.SizeOf(closeGroupParams));

            try
            {
                Marshal.StructureToPtr(closeGroupParams, pnt, false);
                Highlights_CloseGroupAsync(pnt);
            }
            finally {
                Marshal.FreeHGlobal(pnt);
            }
        }