public bool DeletePreset(Guid id) { try { AppLogger.Message("CameraControlService.DeletePreset " + id); lock (_userLock) { if (_plugin is IPresetProvider) { return(((IPresetProvider)_plugin).DeletePreset(id)); } else { UserPresetItem item = PresetItems[id]; return(PresetItems.Remove(item)); } } } catch (Exception exc) { AppLogger.Dump(exc); return(false); } }
public bool UpdatePreset(UserPresetItem newItem) { try { AppLogger.Message(String.Format("CameraControlService.UpdatePreset {0} = {1}", newItem.ID, newItem)); lock (_userLock) { if (_plugin is IPresetProvider) { return(((IPresetProvider)_plugin).UpdatePreset(newItem)); } else { UserPresetItem oldItem = PresetItems[newItem.ID]; if (oldItem != null) { PresetItems.Remove(oldItem); } else { AppLogger.Message(" Warning! No item with ID " + newItem.ID + " pre-existed!"); } PresetItems.Add(newItem); return(true); } } } catch (Exception exc) { AppLogger.Dump(exc); return(false); } }
/// <summary> /// If the plugin is an IPresetProvider /// </summary> /// <returns></returns> public UserPresetItem SavePreset() { lock (_userLock) { AppLogger.Message("CameraControlService.SavePreset"); try { UserPresetItem item = null; if (_plugin is IPresetProvider) { item = ((IPresetProvider)_plugin).SavePreset(); } else { item = new CameraPositionPreset(CurrentPanAngle, CurrentTiltAngle, CurrentZoomPosition); PresetItems.Add(item); } return(item); } catch (IndexOutOfRangeException ex) { AppLogger.Dump(ex); this.StatusMessage = ex.Message; return(null); } catch (Exception exc) { AppLogger.Dump(exc); return(null); } } }
/// <summary> /// Update information attached to a preset on the server. /// The <see cref="P:UserPresetItem.ID"/> field must match an existing item for the update to occur. /// </summary> /// <param name="updatedItem">item with udpated information</param> /// <returns>true on success</returns> public bool UpdatePreset(UserPresetItem updatedItem) { if (ProxyReady) { return(Proxy.UpdatePreset(updatedItem)); } return(false); }
/// <summary> /// Updates a preset on the server. The <see cref="P:UserPresetItem.ID"/> must be the same as an existing preset for an update to occur. /// </summary> /// <param name="item">updated preset</param> /// <returns>true on success, false if either no update was made, or an error occurred</returns> public bool UpdatePreset(UserPresetItem item) { if (ProxyReady) { return(Proxy.UpdatePreset(item)); } else { return(false); } }
/// <summary> /// Deletes the preset with the given identifier /// </summary> /// <param name="id">preset identifier to delete</param> /// <returns>true if the preset was deleted, false if it did not exist</returns> public bool DeletePreset(Guid id) { UserPresetItem item = PresetItems[id]; CameraIndexedPreset cip = item as CameraIndexedPreset; if (cip != null) { ClearPreset((byte)cip.Index); presetIndexing[cip.Index - LowestPresetIndex] = null; } return(PresetItems.Remove(item)); }
/// <summary> /// Updates a preset on the server. The <see cref="P:UserPresetItem.ID"/> must be the same as an existing preset for an update to occur. /// </summary> /// <param name="item">updated preset</param> /// <returns>true on success, false if either no update was made, or an error occurred</returns> public bool UpdatePreset(UserPresetItem item) { Log(String.Format("UpdatePreset {0} {1}", item.ID, item.Name)); bool result = false; IPresetProvider presetProvider = Protocol as IPresetProvider; if (presetProvider != null) { result = presetProvider.UpdatePreset(item); } return(result); }
/// <summary> /// Indicates to the server that the current camera position should be saved as a preset. /// </summary> /// <returns>The server generates an object to refer to the preset and returns it. Null if an error occurred</returns> public UserPresetItem SavePreset() { Log("SavePreset"); UserPresetItem result = null; IPresetProvider presetProvider = Protocol as IPresetProvider; if (presetProvider != null) { result = presetProvider.SavePreset(); } return(result); }
public bool DeletePreset(Guid id) { lock (_userLock) { try { AppLogger.Message("MicrowaveControlService2.DeletePreset " + id); UserPresetItem item = frequencyPresets[id]; return(frequencyPresets.Remove(item)); } catch (Exception exc) { AppLogger.Dump(exc); return(false); } } }
public bool UpdatePreset(UserPresetItem updatedItem) { lock (_userLock) { AppLogger.Message(String.Format("MicrowaveControlService2.UpdatePreset {0} = {1}", updatedItem.ID, updatedItem)); try { if (!frequencyPresets.Remove(updatedItem.ID)) { AppLogger.Message(" Warning! No item with ID " + updatedItem.ID + " pre-existed!"); } frequencyPresets.Add(updatedItem); return(true); } catch (Exception exc) { AppLogger.Dump(exc); return(false); } } }
/// <summary> /// Called when the Favorites control needs a favorite added to it /// </summary> private void ptzFavoritesControl_AddFavorite(object sender, EventArgs e) { try { if (client != null) { UserPresetItem preset = client.SavePreset(); if (preset != null) { UserPresetItemView view = new UserPresetItemView(); view.Image = StreamViewerControl.GetSnapshot(); view.Preset = preset; ptzFavoritesControl.Add(view); } } } catch (Exception ex) { ErrorLogger.DumpToDebug(ex); Stop(); } }
/// <summary> /// Updates a pre-existing preset with new metadata. If the item does not pre-exist, a new on is created. /// </summary> /// <param name="newItem">updated item</param> /// <returns></returns> public bool UpdatePreset(UserPresetItem newItem) { UserPresetItem oldItem = PresetItems[newItem.ID]; if (oldItem != null) { PresetItems.Remove(oldItem); if (oldItem is CameraIndexedPreset) { presetIndexing[((CameraIndexedPreset)oldItem).Index - LowestPresetIndex] = null; } } else { Debug.WriteLine(" Warning! No item with ID " + newItem.ID + " pre-existed!"); } PresetItems.Add(newItem); if (newItem is CameraIndexedPreset) { presetIndexing[((CameraIndexedPreset)newItem).Index - LowestPresetIndex] = (CameraIndexedPreset)newItem; } return(true); }
public bool UpdatePreset(UserPresetItem updatedItem) { throw new NotImplementedException(); }