예제 #1
0
            /// <summary>
            /// Creates a Camera Manager using the <c>Helpers.CameraConfig</c> supplied.
            /// </summary>
            /// <param name="cameraConfig">The list of camera configuration details to build and manage the camera with.</param>
            /// <returns></returns>
            public virtual BaseCameraManager CreateCameraManager(Helpers.CameraConfig cameraConfig)
            {
                CameraManagerBuilder builder = this.Builders[cameraConfig.CameraClass];

                if (builder == null)
                {
                    throw new System.ArgumentNullException(cameraConfig.CameraClass);
                }
                return(builder.Build(cameraConfig));
            }
예제 #2
0
        /// <summary>
        /// Instantiates a Manager ready to manage a camera.
        /// </summary>
        /// <param name="cameraConfig">The configuration of the camera to be managed.</param>
        /// <returns>A <c>BaseCameraManager</c></returns>
        public override BaseCameraManager Build(Helpers.CameraConfig cameraConfig)
        {
            // todo: this whole method can be generic and move to base class
            BaseCamera camera = StaticCameraFactory.Factory.CreateCamera(cameraConfig);

            camera.OpenVideo();

            OnvifCameraManager manager = new OnvifCameraManager((BaseOnvifPtzCamera)camera, cameraConfig);

            manager.RunAsync();

            return(manager);
        }
예제 #3
0
 /// <summary>
 /// Instantiates a Builder Manager ready for use.
 /// </summary>
 /// <param name="cameraConfig">The config of the camera to be built and managed</param>
 /// <returns></returns>
 public virtual BaseCameraManager Build(Helpers.CameraConfig cameraConfig)
 {
     throw new NotImplementedException("Not yet implemented.");
 }