Exemple #1
0
        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);
            }
        }
Exemple #2
0
        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);
            }
        }
Exemple #3
0
 /// <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);
         }
     }
 }
Exemple #4
0
 /// <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);
 }
Exemple #5
0
 /// <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);
     }
 }
Exemple #6
0
        /// <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);
                }
            }
        }
Exemple #11
0
        /// <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();
            }
        }
Exemple #12
0
        /// <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);
        }
Exemple #13
0
 public bool UpdatePreset(UserPresetItem updatedItem)
 {
     throw new NotImplementedException();
 }