public GetCamerasResponse GetCameras(GetCamerasRequest request)
        {
            try
              {
            if (request == null)
              throw new ArgumentNullException("request");

            GetCamerasResponse response = new GetCamerasResponse();

            IList<BE::Camera> list = Locator.Get<ICameraManager>().GetCameras();
            foreach (var item in list)
            {
              DC::Camera camera = new DC::Camera()
              {
            Id = item.Id,
            Name = item.Name,
            Url = item.Url,
            Port = item.Port,
              };
              response.Cameras.Add(camera);
            }

            return response;
              }
              catch (Exception ex)
              {
            throw new FaultException<DeviceProfileServiceFault>(new DeviceProfileServiceFault(ex.Message, ex), ex.Message);
              }
        }
Example #2
0
        public GetCamerasResponse GetCameras(GetCamerasRequest request)
        {
            try
            {
                if (request == null)
                {
                    throw new ArgumentNullException("request");
                }

                GetCamerasResponse response = new GetCamerasResponse();

                IList <BE::Camera> list = Locator.Get <ICameraManager>().GetCameras();
                foreach (var item in list)
                {
                    DC::Camera camera = new DC::Camera()
                    {
                        Id   = item.Id,
                        Name = item.Name,
                        Url  = item.Url,
                        Port = item.Port,
                    };
                    response.Cameras.Add(camera);
                }

                return(response);
            }
            catch (Exception ex)
            {
                throw new FaultException <DeviceProfileServiceFault>(new DeviceProfileServiceFault(ex.Message, ex), ex.Message);
            }
        }
Example #3
0
        public void CheckCameraName(Camera camera, EventHandler <AsyncWorkerCallbackEventArgs <bool> > callback)
        {
            if (camera == null)
            {
                throw new ArgumentNullException("camera");
            }

            try
            {
                AsyncWorkerHandle <bool> handle = AsyncWorkerHelper.DoWork <bool>(
                    delegate(object sender, DoWorkEventArgs e)
                {
                    e.Result = true; // check here, true is available, false is in using

                    GetCamerasRequest request   = new GetCamerasRequest();
                    GetCamerasResponse response =
                        ServiceProvider.GetService <IDeviceConnectorService, IDeviceConnectorCallbackService>(
                            ViewModelLocator.ServiceClient,
                            ViewModelLocator.SelectedService.HostName,
                            ViewModelLocator.SelectedService.Uri.ToString()
                            ).GetCameras(request);
                    if (response.Cameras != null)
                    {
                        foreach (var item in response.Cameras)
                        {
                            if (item.Profile.Name == camera.Name)
                            {
                                e.Result = false;
                                break;
                            }
                        }
                    }
                },
                    null, callback);
            }
            catch (Exception ex)
            {
                ExceptionHandler.Handle(ex);
            }
        }
Example #4
0
        public GetCamerasResponse GetCameras(GetCamerasRequest request)
        {
            try
            {
                if (request == null)
                {
                    throw new ArgumentNullException("request");
                }

                GetCamerasResponse response = new GetCamerasResponse();
                response.Cameras = new CameraDataCollection();

                IList <Camera> list = Locator.Get <ICameraManager>().GetCameras();
                response.Cameras.AddRange((from c in list select CameraTranslator.Translate(c)).ToList());

                return(response);
            }
            catch (Exception ex)
            {
                throw new FaultException <DeviceConnectorServiceFault>(new DeviceConnectorServiceFault(ex.Message, ex), ex.Message);
            }
        }
Example #5
0
        public void CheckCameraName(Camera camera, EventHandler<AsyncWorkerCallbackEventArgs<bool>> callback)
        {
            if (camera == null)
            throw new ArgumentNullException("camera");

              try
              {
            AsyncWorkerHandle<bool> handle = AsyncWorkerHelper.DoWork<bool>(
              delegate(object sender, DoWorkEventArgs e)
              {
            e.Result = true; // check here, true is available, false is in using

            GetCamerasRequest request = new GetCamerasRequest();
            GetCamerasResponse response =
              ServiceProvider.GetService<IDeviceConnectorService, IDeviceConnectorCallbackService>(
              ViewModelLocator.ServiceClient,
              ViewModelLocator.SelectedService.HostName,
              ViewModelLocator.SelectedService.Uri.ToString()
              ).GetCameras(request);
            if (response.Cameras != null)
            {
              foreach (var item in response.Cameras)
              {
                if (item.Profile.Name == camera.Name)
                {
                  e.Result = false;
                  break;
                }
              }
            }
              },
              null, callback);
              }
              catch (Exception ex)
              {
            ExceptionHandler.Handle(ex);
              }
        }
Example #6
0
        private static List<Camera> GetCamerasSync()
        {
            List<MediaService> services = GetDeviceConnectorServicesSync();

              List<Camera> cameras = new List<Camera>();

              foreach (var service in services)
              {
            GetCamerasRequest request = new GetCamerasRequest();
            GetCamerasResponse response =
              ServiceProvider
            .GetService<IDeviceConnectorService, IDeviceConnectorCallbackService>(
              ViewModelLocator.ServiceClient, service.HostName, service.Uri.ToString())
            .GetCameras(request);

            if (response.Cameras != null)
            {
              foreach (var item in response.Cameras)
              {
            Camera camera = new Camera()
            {
              Id = item.Profile.Id,
              Name = item.Profile.Name,
              Description = item.Profile.Description,
              Tags = item.Profile.Tags,
              Thumbnail = item.Thumbnail
            };

            // camera video source
            camera.VideoSourceDescription = new VideoSourceDescription()
            {
              FriendlyName = item.Config.FriendlyName,
              OriginalSourceString = item.Config.OriginalSourceString,
              SourceString = item.Config.SourceString,
              FrameInterval = item.Config.FrameInterval,
              FrameRate = item.Config.FrameRate,
              UserName = item.Config.UserName,
              Password = item.Config.Password,
              UserAgent = item.Config.UserAgent,
            };

            if (item.Config.Resolution != null)
            {
              camera.VideoSourceDescription.Resolution = new Resolution() { Width = item.Config.Resolution.Width, Height = item.Config.Resolution.Height };
            }

            // translate cameras came from remote server
            switch (item.Profile.FilterType)
            {
              case FilterTypeData.LocalCamera:
              case FilterTypeData.LocalDesktop:
              case FilterTypeData.LocalAVIFile:
              case FilterTypeData.NetworkJPEG:
              case FilterTypeData.NetworkMJPEG:
                camera.VideoSourceDescription.SourceType = VideoSourceType.NetworkRtpStream;
                break;
              default:
                break;
            }

            // where is this camera
            camera.HostName = service.HostName;
            camera.HostUri = service.Uri.ToString();

            cameras.Add(camera);
              }
            }
              }

              return cameras;
        }
Example #7
0
        public void GetCameras(EventHandler <AsyncWorkerCallbackEventArgs <IList <Camera> > > callback)
        {
            try
            {
                AsyncWorkerHandle <IList <Camera> > handle = AsyncWorkerHelper.DoWork <IList <Camera> >(
                    delegate(object sender, DoWorkEventArgs e)
                {
                    List <Camera> cameras = new List <Camera>();

                    GetCamerasRequest request   = new GetCamerasRequest();
                    GetCamerasResponse response =
                        ServiceProvider.GetService <IDeviceConnectorService, IDeviceConnectorCallbackService>(
                            ViewModelLocator.ServiceClient,
                            ViewModelLocator.SelectedService.HostName,
                            ViewModelLocator.SelectedService.Uri.ToString()
                            ).GetCameras(request);

                    if (response.Cameras != null)
                    {
                        foreach (var item in response.Cameras)
                        {
                            Camera camera = new Camera()
                            {
                                Id          = item.Profile.Id,
                                Name        = item.Profile.Name,
                                Description = item.Profile.Description,
                                Tags        = item.Profile.Tags,
                                Thumbnail   = item.Thumbnail
                            };

                            camera.VideoSourceDescription = new VideoSourceDescription()
                            {
                                FriendlyName         = item.Config.FriendlyName,
                                OriginalSourceString = item.Config.OriginalSourceString,
                                SourceString         = item.Config.SourceString,
                                FrameInterval        = item.Config.FrameInterval,
                                FrameRate            = item.Config.FrameRate,
                                UserName             = item.Config.UserName,
                                Password             = item.Config.Password,
                                UserAgent            = item.Config.UserAgent,
                            };

                            if (item.Config.Resolution != null)
                            {
                                camera.VideoSourceDescription.Resolution = new Resolution()
                                {
                                    Width = item.Config.Resolution.Width, Height = item.Config.Resolution.Height
                                };
                            }

                            switch (item.Profile.FilterType)
                            {
                            case FilterTypeData.LocalCamera:
                                camera.VideoSourceDescription.SourceType = VideoSourceType.LocalCamera;
                                break;

                            case FilterTypeData.LocalDesktop:
                                camera.VideoSourceDescription.SourceType = VideoSourceType.LocalDesktop;
                                break;

                            case FilterTypeData.LocalAVIFile:
                                camera.VideoSourceDescription.SourceType = VideoSourceType.LocalAVIFile;
                                break;

                            case FilterTypeData.NetworkJPEG:
                                camera.VideoSourceDescription.SourceType = VideoSourceType.NetworkJPEG;
                                break;

                            case FilterTypeData.NetworkMJPEG:
                                camera.VideoSourceDescription.SourceType = VideoSourceType.NetworkMJPEG;
                                break;

                            default:
                                break;
                            }

                            camera.HostName = ViewModelLocator.SelectedService.HostName;
                            camera.HostUri  = ViewModelLocator.SelectedService.Uri.ToString();

                            cameras.Add(camera);
                        }
                    }

                    e.Result = cameras;
                },
                    null, callback);
            }
            catch (Exception ex)
            {
                ExceptionHandler.Handle(ex);
            }
        }
Example #8
0
        public void GetCameras(EventHandler<AsyncWorkerCallbackEventArgs<IList<Camera>>> callback)
        {
            try
              {
            AsyncWorkerHandle<IList<Camera>> handle = AsyncWorkerHelper.DoWork<IList<Camera>>(
              delegate(object sender, DoWorkEventArgs e)
              {
            List<Camera> cameras = new List<Camera>();

            GetCamerasRequest request = new GetCamerasRequest();
            GetCamerasResponse response =
              ServiceProvider.GetService<IDeviceConnectorService, IDeviceConnectorCallbackService>(
              ViewModelLocator.ServiceClient,
              ViewModelLocator.SelectedService.HostName,
              ViewModelLocator.SelectedService.Uri.ToString()
              ).GetCameras(request);

            if (response.Cameras != null)
            {
              foreach (var item in response.Cameras)
              {
                Camera camera = new Camera()
                {
                  Id = item.Profile.Id,
                  Name = item.Profile.Name,
                  Description = item.Profile.Description,
                  Tags = item.Profile.Tags,
                  Thumbnail = item.Thumbnail
                };

                camera.VideoSourceDescription = new VideoSourceDescription()
                {
                  FriendlyName = item.Config.FriendlyName,
                  OriginalSourceString = item.Config.OriginalSourceString,
                  SourceString = item.Config.SourceString,
                  FrameInterval = item.Config.FrameInterval,
                  FrameRate = item.Config.FrameRate,
                  UserName = item.Config.UserName,
                  Password = item.Config.Password,
                  UserAgent = item.Config.UserAgent,
                };

                if (item.Config.Resolution != null)
                {
                  camera.VideoSourceDescription.Resolution = new Resolution() { Width = item.Config.Resolution.Width, Height = item.Config.Resolution.Height };
                }

                switch (item.Profile.FilterType)
                {
                  case FilterTypeData.LocalCamera:
                    camera.VideoSourceDescription.SourceType = VideoSourceType.LocalCamera;
                    break;
                  case FilterTypeData.LocalDesktop:
                    camera.VideoSourceDescription.SourceType = VideoSourceType.LocalDesktop;
                    break;
                  case FilterTypeData.LocalAVIFile:
                    camera.VideoSourceDescription.SourceType = VideoSourceType.LocalAVIFile;
                    break;
                  case FilterTypeData.NetworkJPEG:
                    camera.VideoSourceDescription.SourceType = VideoSourceType.NetworkJPEG;
                    break;
                  case FilterTypeData.NetworkMJPEG:
                    camera.VideoSourceDescription.SourceType = VideoSourceType.NetworkMJPEG;
                    break;
                  default:
                    break;
                }

                camera.HostName = ViewModelLocator.SelectedService.HostName;
                camera.HostUri = ViewModelLocator.SelectedService.Uri.ToString();

                cameras.Add(camera);
              }
            }

            e.Result = cameras;
              },
              null, callback);
              }
              catch (Exception ex)
              {
            ExceptionHandler.Handle(ex);
              }
        }
Example #9
0
        private static List <Camera> GetCamerasSync()
        {
            List <MediaService> services = GetDeviceConnectorServicesSync();

            List <Camera> cameras = new List <Camera>();

            foreach (var service in services)
            {
                GetCamerasRequest  request  = new GetCamerasRequest();
                GetCamerasResponse response =
                    ServiceProvider
                    .GetService <IDeviceConnectorService, IDeviceConnectorCallbackService>(
                        ViewModelLocator.ServiceClient, service.HostName, service.Uri.ToString())
                    .GetCameras(request);

                if (response.Cameras != null)
                {
                    foreach (var item in response.Cameras)
                    {
                        Camera camera = new Camera()
                        {
                            Id          = item.Profile.Id,
                            Name        = item.Profile.Name,
                            Description = item.Profile.Description,
                            Tags        = item.Profile.Tags,
                            Thumbnail   = item.Thumbnail
                        };

                        // camera video source
                        camera.VideoSourceDescription = new VideoSourceDescription()
                        {
                            FriendlyName         = item.Config.FriendlyName,
                            OriginalSourceString = item.Config.OriginalSourceString,
                            SourceString         = item.Config.SourceString,
                            FrameInterval        = item.Config.FrameInterval,
                            FrameRate            = item.Config.FrameRate,
                            UserName             = item.Config.UserName,
                            Password             = item.Config.Password,
                            UserAgent            = item.Config.UserAgent,
                        };

                        if (item.Config.Resolution != null)
                        {
                            camera.VideoSourceDescription.Resolution = new Resolution()
                            {
                                Width = item.Config.Resolution.Width, Height = item.Config.Resolution.Height
                            };
                        }

                        // translate cameras came from remote server
                        switch (item.Profile.FilterType)
                        {
                        case FilterTypeData.LocalCamera:
                        case FilterTypeData.LocalDesktop:
                        case FilterTypeData.LocalAVIFile:
                        case FilterTypeData.NetworkJPEG:
                        case FilterTypeData.NetworkMJPEG:
                            camera.VideoSourceDescription.SourceType = VideoSourceType.NetworkRtpStream;
                            break;

                        default:
                            break;
                        }

                        // where is this camera
                        camera.HostName = service.HostName;
                        camera.HostUri  = service.Uri.ToString();

                        cameras.Add(camera);
                    }
                }
            }

            return(cameras);
        }
        public GetCamerasResponse GetCameras(GetCamerasRequest request)
        {
            try
              {
            if (request == null)
              throw new ArgumentNullException("request");

            GetCamerasResponse response = new GetCamerasResponse();
            response.Cameras = new CameraDataCollection();

            IList<Camera> list = Locator.Get<ICameraManager>().GetCameras();
            response.Cameras.AddRange((from c in list select CameraTranslator.Translate(c)).ToList());

            return response;
              }
              catch (Exception ex)
              {
            throw new FaultException<DeviceConnectorServiceFault>(new DeviceConnectorServiceFault(ex.Message, ex), ex.Message);
              }
        }