private void xcapService_onXcapEvent(object sender, BogheCore.Xcap.Events.XcapEventArgs e)
        {
            if (e.Type != XcapEventTypes.PRESCONTENT_DONE)
            {
                return;
            }

            if (this.Dispatcher.Thread != System.Threading.Thread.CurrentThread)
            {
                this.Dispatcher.BeginInvoke(System.Windows.Threading.DispatcherPriority.Normal,
                                            new EventHandler <XcapEventArgs>(this.xcapService_onXcapEvent), sender, new object[] { e });
                return;
            }

            switch (e.Type)
            {
            case XcapEventTypes.PRESCONTENT_DONE:
            {
                object content = e.GetExtra(XcapEventArgs.EXTRA_CONTENT);
                if (content != null && content is String)
                {
                    this.SetAvatarFromBase64String(content as String);
                }
                break;
            }

            default:
                break;
            }
        }
Example #2
0
        private void xcapService_onXcapEvent(object sender, XcapEventArgs e)
        {
            if (e.Type != XcapEventTypes.PRESCONTENT_DONE)
            {
                return;
            }

            if (this.Dispatcher.Thread != System.Threading.Thread.CurrentThread)
            {
                this.Dispatcher.BeginInvoke(System.Windows.Threading.DispatcherPriority.Normal,
                        new EventHandler<XcapEventArgs>(this.xcapService_onXcapEvent), sender, new object[] { e });
                return;
            }

            switch (e.Type)
            {
                case XcapEventTypes.PRESCONTENT_DONE:
                    {
                        System.Drawing.Image avatar;
                        object content = e.GetExtra(XcapEventArgs.EXTRA_CONTENT);
                        if (content != null && content is String)
                        {
                            try
                            {
                                using (MemoryStream stream = new MemoryStream(Convert.FromBase64String(content as String)))
                                {
                                    avatar = System.Drawing.Bitmap.FromStream(stream);
                                    this.imageAvatar.Source = MyImageConverter.FromBitmap(avatar as System.Drawing.Bitmap);
                                }
                            }
                            catch (Exception ex)
                            {
                                LOG.Error("Failed to get avatar", ex);
                            }
                        }
                        break;
                    }

                default:
                    break;
            }
        }