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); } }
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); } }
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); } }
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); } }
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); } }
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 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); } }
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); } }
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); } }