public GetCameraResponse GetCamera(GetCameraRequest request)
        {
            try
              {
            if (request == null)
              throw new ArgumentNullException("request");

            GetCameraResponse response = new GetCameraResponse();

            response.Camera = CameraTranslator.Translate(Locator.Get<ICameraManager>().GetCamera(request.CameraId));

            return response;
              }
              catch (Exception ex)
              {
            throw new FaultException<DeviceConnectorServiceFault>(new DeviceConnectorServiceFault(ex.Message, ex), ex.Message);
              }
        }
Example #2
0
        private Camera GetCameraDevice()
        {
            MediaService service = GetDeviceConnectorServiceSync(Camera.Profile.DeviceServiceUri);

              GetCameraRequest request = new GetCameraRequest()
              {
            CameraId = Camera.Profile.CameraId,
              };
              GetCameraResponse response =
            ServiceProvider
              .GetService<IDeviceConnectorService, IDeviceConnectorCallbackService>(
            DeviceConnectorServiceClient.ServiceClient, service.HostName, service.Uri.ToString())
              .GetCamera(request);

              Camera camera = null;

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

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

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

            // translate cameras came from remote server
            switch (response.Camera.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();
              }

              return camera;
        }