Esempio n. 1
0
        private void HandleLocationUpdateEvent(IPSEventMessage message)
        {
            if (!message.HasLocationMsg)
            {
                return;
            }

            LocationMessage msg = message.LocationMsg;

            var args = new LocationEventArgs(msg.DeviceId, msg.MapId, msg.X, msg.Y);

            if (OnLocationChanged != null)
            {
                OnLocationChanged(this, args);
            }
        }
Esempio n. 2
0
        private void HandleCameraStateChangedEvent(IPSEventMessage message)
        {
            if (!message.HasCameraStateMsg)
            {
                return;
            }

            CameraStateMessage msg = message.CameraStateMsg;

            var args = new CameraStateArgs(msg.DeviceId,
                                           msg.IsCameraOn,
                                           msg.CameraType == CameraStateMessage.Types.CameraType.Front
                                               ? CameraStateArgs.CameraType.FrontCamera
                                               : CameraStateArgs.CameraType.BackCamera);

            args.FaceAngle = msg.FaceAngle;
            args.TiltAngle = msg.TiltAngle;

            if (OnCameraStateChanged != null)
            {
                OnCameraStateChanged(this, args);
            }
        }
Esempio n. 3
0
        protected override void OnEventReceived(byte[] msg)
        {
            string tag   = string.Empty;
            int    index = GetMessageTag(msg, ref tag);

            if (index == -1)
            {
                return;
            }

            if (tag != LocationTag)
            {
                return;
            }

            byte[] body = new byte[msg.Length - index - 1];
            Array.Copy(msg, index + 1, body, 0, body.Length);

            var message = IPSEventMessage.CreateBuilder().MergeFrom(body).Build();

            if (message == null)
            {
                return;
            }

            switch (message.MessageType)
            {
            case IPSEventMessage.Types.Type.CameraStateMsg:
                HandleCameraStateChangedEvent(message);
                break;

            case IPSEventMessage.Types.Type.LocationUpdateMsg:
                HandleLocationUpdateEvent(message);
                break;
            }
        }