Ejemplo n.º 1
0
        public IList <Camera> GetCameras()
        {
            List <Camera> cameras = new List <Camera>();
            Dictionary <Uri, ServiceProfile> services = ServiceProvider.GetServices <IMediaPublisherService>();

            foreach (var item in services)
            {
                IMediaPublisherService service = ServiceProvider.GetService <IMediaPublisherService>(item.Value.HostName, item.Value.Uri.ToString());

                GetPublishedCamerasRequest  request  = new GetPublishedCamerasRequest();
                GetPublishedCamerasResponse response = service.GetPublishedCameras(request);

                foreach (var publishedCamera in response.PublishedCameras)
                {
                    Camera camera = new Camera()
                    {
                        Id   = publishedCamera.Profile.CameraId,
                        Name = publishedCamera.Profile.CameraName,
                        Url  = string.Format(CultureInfo.InvariantCulture, @"http://{0}:{1}", item.Value.HostName, publishedCamera.Destination.Port),
                        Port = publishedCamera.Destination.Port,
                    };
                    cameras.Add(camera);
                }
            }

            return(cameras);
        }
Ejemplo n.º 2
0
        public Camera GetCamera(string cameraId)
        {
            Dictionary <Uri, ServiceProfile> services = ServiceProvider.GetServices <IMediaPublisherService>();

            foreach (var item in services)
            {
                IMediaPublisherService service = ServiceProvider.GetService <IMediaPublisherService>(item.Value.HostName, item.Value.Uri.ToString());

                GetPublishedCamerasRequest  request  = new GetPublishedCamerasRequest();
                GetPublishedCamerasResponse response = service.GetPublishedCameras(request);

                var publishedCamera = response.PublishedCameras.FirstOrDefault(c => c.Profile.CameraId == cameraId);
                if (publishedCamera != null)
                {
                    Camera camera = new Camera()
                    {
                        Id   = publishedCamera.Profile.CameraId,
                        Name = publishedCamera.Profile.CameraName,
                        Url  = string.Format(CultureInfo.InvariantCulture, @"http://{0}:{1}", item.Value.HostName, publishedCamera.Destination.Port),
                        Port = publishedCamera.Destination.Port,
                    };
                    return(camera);
                }
            }

            return(null);
        }
Ejemplo n.º 3
0
        public IList<Camera> GetCameras()
        {
            List<Camera> cameras = new List<Camera>();
              Dictionary<Uri, ServiceProfile> services = ServiceProvider.GetServices<IMediaPublisherService>();

              foreach (var item in services)
              {
            IMediaPublisherService service = ServiceProvider.GetService<IMediaPublisherService>(item.Value.HostName, item.Value.Uri.ToString());

            GetPublishedCamerasRequest request = new GetPublishedCamerasRequest();
            GetPublishedCamerasResponse response = service.GetPublishedCameras(request);

            foreach (var publishedCamera in response.PublishedCameras)
            {
              Camera camera = new Camera()
              {
            Id = publishedCamera.Profile.CameraId,
            Name = publishedCamera.Profile.CameraName,
            Url = string.Format(CultureInfo.InvariantCulture, @"http://{0}:{1}", item.Value.HostName, publishedCamera.Destination.Port),
            Port = publishedCamera.Destination.Port,
              };
              cameras.Add(camera);
            }
              }

              return cameras;
        }
Ejemplo n.º 4
0
        public Camera GetCamera(string cameraId)
        {
            Dictionary<Uri, ServiceProfile> services = ServiceProvider.GetServices<IMediaPublisherService>();

              foreach (var item in services)
              {
            IMediaPublisherService service = ServiceProvider.GetService<IMediaPublisherService>(item.Value.HostName, item.Value.Uri.ToString());

            GetPublishedCamerasRequest request = new GetPublishedCamerasRequest();
            GetPublishedCamerasResponse response = service.GetPublishedCameras(request);

            var publishedCamera = response.PublishedCameras.FirstOrDefault(c => c.Profile.CameraId == cameraId);
            if (publishedCamera != null)
            {
              Camera camera = new Camera()
              {
            Id = publishedCamera.Profile.CameraId,
            Name = publishedCamera.Profile.CameraName,
            Url = string.Format(CultureInfo.InvariantCulture, @"http://{0}:{1}", item.Value.HostName, publishedCamera.Destination.Port),
            Port = publishedCamera.Destination.Port,
              };
              return camera;
            }
              }

              return null;
        }
Ejemplo n.º 5
0
        public byte[] GetCameraThumbnail(string cameraId)
        {
            Dictionary <Uri, ServiceProfile> services = ServiceProvider.GetServices <IMediaPublisherService>();

            foreach (var item in services)
            {
                IMediaPublisherService service = ServiceProvider.GetService <IMediaPublisherService>(item.Value.HostName, item.Value.Uri.ToString());

                GetPublishedCamerasRequest  request  = new GetPublishedCamerasRequest();
                GetPublishedCamerasResponse response = service.GetPublishedCameras(request);

                var publishedCamera = response.PublishedCameras.FirstOrDefault(c => c.Profile.CameraId == cameraId);
                if (publishedCamera != null)
                {
                    return(publishedCamera.Profile.CameraThumbnail);
                }
            }

            return(null);
        }
Ejemplo n.º 6
0
        public byte[] GetCameraThumbnail(string cameraId)
        {
            Dictionary<Uri, ServiceProfile> services = ServiceProvider.GetServices<IMediaPublisherService>();

              foreach (var item in services)
              {
            IMediaPublisherService service = ServiceProvider.GetService<IMediaPublisherService>(item.Value.HostName, item.Value.Uri.ToString());

            GetPublishedCamerasRequest request = new GetPublishedCamerasRequest();
            GetPublishedCamerasResponse response = service.GetPublishedCameras(request);

            var publishedCamera = response.PublishedCameras.FirstOrDefault(c => c.Profile.CameraId == cameraId);
            if (publishedCamera != null)
            {
              return publishedCamera.Profile.CameraThumbnail;
            }
              }

              return null;
        }
Ejemplo n.º 7
0
        public void CheckPortAvailable(string hostUri, int port, EventHandler <AsyncWorkerCallbackEventArgs <bool> > callback)
        {
            if (port <= 0)
            {
                throw new ArgumentNullException("port");
            }

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

                    MediaService service = GetMediaPublisherServiceSync(hostUri);

                    GetPublishedCamerasRequest request   = new GetPublishedCamerasRequest();
                    GetPublishedCamerasResponse response =
                        ServiceProvider
                        .GetService <IMediaPublisherService>(service.HostName, service.Uri.ToString())
                        .GetPublishedCameras(request);

                    if (response.PublishedCameras != null)
                    {
                        foreach (var item in response.PublishedCameras)
                        {
                            if (item.Destination.Port == port)
                            {
                                e.Result = false; // find this port is in using, so it's not available
                                break;
                            }
                        }
                    }
                },
                    null, callback);
            }
            catch (Exception ex)
            {
                ExceptionHandler.Handle(ex);
            }
        }
Ejemplo n.º 8
0
        public void CheckPortAvailable(string hostUri, int port, EventHandler<AsyncWorkerCallbackEventArgs<bool>> callback)
        {
            if (port <= 0)
            throw new ArgumentNullException("port");

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

            MediaService service = GetMediaPublisherServiceSync(hostUri);

            GetPublishedCamerasRequest request = new GetPublishedCamerasRequest();
            GetPublishedCamerasResponse response =
              ServiceProvider
                .GetService<IMediaPublisherService>(service.HostName, service.Uri.ToString())
                .GetPublishedCameras(request);

            if (response.PublishedCameras != null)
            {
              foreach (var item in response.PublishedCameras)
              {
                if (item.Destination.Port == port)
                {
                  e.Result = false; // find this port is in using, so it's not available
                  break;
                }
              }
            }
              },
              null, callback);
              }
              catch (Exception ex)
              {
            ExceptionHandler.Handle(ex);
              }
        }
Ejemplo n.º 9
0
        public GetPublishedCamerasResponse GetPublishedCameras(GetPublishedCamerasRequest request)
        {
            try
            {
                if (request == null)
                {
                    throw new ArgumentNullException("request");
                }

                GetPublishedCamerasResponse response = new GetPublishedCamerasResponse();
                response.PublishedCameras = new PublishedCameraDataCollection();

                IList <PublishedCamera> list = Locator.Get <IStreamingManager>().GetPublishedCameras();
                response.PublishedCameras.AddRange((from c in list select PublishedCameraTranslator.Translate(c)).ToList());

                return(response);
            }
            catch (Exception ex)
            {
                throw new FaultException <DeviceConnectorServiceFault>(new DeviceConnectorServiceFault(ex.Message, ex), ex.Message);
            }
        }
        public GetPublishedCamerasResponse GetPublishedCameras(GetPublishedCamerasRequest request)
        {
            try
            {
                if (request == null)
                {
                    throw new ArgumentNullException("request");
                }

                GetPublishedCamerasResponse response = new GetPublishedCamerasResponse();

                IList <PublishedCamera> list = Locator.Get <IPublishedCameraManager>().GetPublishedCameras();
                foreach (var item in list)
                {
                    PublishedCameraData camera = new PublishedCameraData()
                    {
                        Profile = new PublishedCameraProfileData()
                        {
                            CameraId              = item.Profile.CameraId,
                            CameraName            = item.Profile.CameraName,
                            CameraThumbnail       = item.Profile.CameraThumbnail,
                            DeviceServiceHostName = item.Profile.DeviceServiceHostName,
                            DeviceServiceUri      = item.Profile.DeviceServiceUri,
                        },
                        Destination = new PublishedDestinationData()
                        {
                            Port = item.Destination.Port,
                        },
                    };
                    response.PublishedCameras.Add(camera);
                }

                return(response);
            }
            catch (Exception ex)
            {
                throw new FaultException <MediaPublisherServiceFault>(new MediaPublisherServiceFault(ex.Message, ex), ex.Message);
            }
        }
Ejemplo n.º 11
0
        private static List <PublishedCamera> GetPublishedCamerasSync()
        {
            List <MediaService> services = GetMediaPublisherServicesSync();

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

            foreach (var service in services)
            {
                GetPublishedCamerasRequest  request  = new GetPublishedCamerasRequest();
                GetPublishedCamerasResponse response =
                    ServiceProvider
                    .GetService <IMediaPublisherService>(service.HostName, service.Uri.ToString())
                    .GetPublishedCameras(request);

                if (response.PublishedCameras != null)
                {
                    foreach (var item in response.PublishedCameras)
                    {
                        PublishedCamera camera = new PublishedCamera(
                            new PublishedCameraProfile(item.Profile.CameraId, item.Profile.CameraName)
                        {
                            CameraThumbnail       = item.Profile.CameraThumbnail,
                            DeviceServiceHostName = item.Profile.DeviceServiceHostName,
                            DeviceServiceUri      = item.Profile.DeviceServiceUri,
                        },
                            new PublishedDestination(item.Destination.Port))
                        {
                            PublishServiceHostName = service.HostName,
                            PublishServiceUri      = service.Uri.ToString(),
                        };

                        cameras.Add(camera);
                    }
                }
            }

            return(cameras);
        }
        public GetPublishedCamerasResponse GetPublishedCameras(GetPublishedCamerasRequest request)
        {
            try
              {
            if (request == null)
              throw new ArgumentNullException("request");

            GetPublishedCamerasResponse response = new GetPublishedCamerasResponse();

            IList<PublishedCamera> list = Locator.Get<IPublishedCameraManager>().GetPublishedCameras();
            foreach (var item in list)
            {
              PublishedCameraData camera = new PublishedCameraData()
              {
            Profile = new PublishedCameraProfileData()
            {
              CameraId = item.Profile.CameraId,
              CameraName = item.Profile.CameraName,
              CameraThumbnail = item.Profile.CameraThumbnail,
              DeviceServiceHostName = item.Profile.DeviceServiceHostName,
              DeviceServiceUri = item.Profile.DeviceServiceUri,
            },
            Destination = new PublishedDestinationData()
            {
              Port = item.Destination.Port,
            },
              };
              response.PublishedCameras.Add(camera);
            }

            return response;
              }
              catch (Exception ex)
              {
            throw new FaultException<MediaPublisherServiceFault>(new MediaPublisherServiceFault(ex.Message, ex), ex.Message);
              }
        }
Ejemplo n.º 13
0
        private static List<PublishedCamera> GetPublishedCamerasSync()
        {
            List<MediaService> services = GetMediaPublisherServicesSync();

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

              foreach (var service in services)
              {
            GetPublishedCamerasRequest request = new GetPublishedCamerasRequest();
            GetPublishedCamerasResponse response =
              ServiceProvider
            .GetService<IMediaPublisherService>(service.HostName, service.Uri.ToString())
            .GetPublishedCameras(request);

            if (response.PublishedCameras != null)
            {
              foreach (var item in response.PublishedCameras)
              {
            PublishedCamera camera = new PublishedCamera(
              new PublishedCameraProfile(item.Profile.CameraId, item.Profile.CameraName)
              {
                CameraThumbnail = item.Profile.CameraThumbnail,
                DeviceServiceHostName = item.Profile.DeviceServiceHostName,
                DeviceServiceUri = item.Profile.DeviceServiceUri,
              },
              new PublishedDestination(item.Destination.Port))
            {
              PublishServiceHostName = service.HostName,
              PublishServiceUri = service.Uri.ToString(),
            };

            cameras.Add(camera);
              }
            }
              }

              return cameras;
        }
        public GetPublishedCamerasResponse GetPublishedCameras(GetPublishedCamerasRequest request)
        {
            try
              {
            if (request == null)
              throw new ArgumentNullException("request");

            GetPublishedCamerasResponse response = new GetPublishedCamerasResponse();
            response.PublishedCameras = new PublishedCameraDataCollection();

            IList<PublishedCamera> list = Locator.Get<IStreamingManager>().GetPublishedCameras();
            response.PublishedCameras.AddRange((from c in list select PublishedCameraTranslator.Translate(c)).ToList());

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