private void NotifyTrackSolutionGroup(IntPtr handle, MDP_NOTIFY_TYPE nType, IntPtr tracksolutiongrouparray, uint count, IntPtr context) { var trackSolutionGroups = TrackSolutionGroup.FromNativePointerArray(tracksolutiongrouparray, count, _mta); switch (nType) { case MDP_NOTIFY_TYPE.MDP_NOTIFY_SELECT: case MDP_NOTIFY_TYPE.MDP_NOTIFY_INSERT: case MDP_NOTIFY_TYPE.MDP_NOTIFY_UPDATE: trackSolutionGroups.ForEach(tsg => _tracksolutionGroups[tsg.ID] = tsg); _allTrackSolutionGroupDataAvailable = true; break; case MDP_NOTIFY_TYPE.MDP_NOTIFY_DELETE: trackSolutionGroups.ForEach(tsg => _tracksolutionGroups.Remove(tsg.ID)); break; case MDP_NOTIFY_TYPE.MDP_NOTIFY_CLEAR: _allTrackSolutionGroupDataAvailable = false; _tracksolutionGroups.Clear(); break; } if (NotifyTrackSolutionGroupHandlers != null) { NotifyTrackSolutionGroupHandlers(nType, trackSolutionGroups, _mta); } }
public bool DeleteTrackSolutionGroup(TrackSolutionGroup trackSolutionGroup) { return(NativeMethods.mta_tracksolutiongroup_delete(_nativeHandle, trackSolutionGroup.ID)); }
/// <summary> /// Request a modifier to change a TrackSolutionGroup configuration /// </summary> /// <param name="trackSolutionGroup"> /// Instance to be updated/changed /// </param> /// <exception cref="MylapsException"> /// Throws an exception whenever it failes to create a TrackSolutionGroupModifier instance /// </exception> /// <remarks> /// To commit the changes, use related MTA.CommitChanges() /// </remarks> public TrackSolutionGroupModifier UpdateTrackSolutionGroup(TrackSolutionGroup trackSolutionGroup) { var p = NativeMethods.mta_tracksolutiongroup_update(_nativeHandle, trackSolutionGroup.ID); return(AddTrackSolutionGroupModifier(p)); }