示例#1
0
 internal SystemUnit(CiscoTelePresenceCodec codec)
     : base(codec)
 {
     _software = new Software(this, "Software");
     _state    = new State(this, "State");
     _hardware = new Hardware(this, "Hardware");
 }
示例#2
0
 internal UserInterface(CiscoTelePresenceCodec codec)
     : base(codec)
 {
     _contactInfo  = new ContactInfo(this, "ContactInfo");
     _presentation = new Presentation(codec);
     _extensions   = new Extensions(this, "Extensions");
 }
示例#3
0
 internal Conference(CiscoTelePresenceCodec codec)
     : base(codec)
 {
     _activeSpeaker = new ActiveSpeaker(this, "ActiveSpeaker");
     _presentation  = new Presentation(this, "Presentation");
     _multiPoint    = new MultiPoint(this, "MultiPoint");
 }
示例#4
0
        protected override void StandbyOnStateChange(CiscoTelePresenceCodec codec, StandbyState state)
        {
            switch (state)
            {
            case StandbyState.Off:
                foreach (var display in Displays.Where(d => d.Device != null))
                {
                    display.Device.Power = true;
                }
                break;

            case StandbyState.EnteringStandby:
                break;

            case StandbyState.Halfwake:
                break;

            case StandbyState.Standby:
                foreach (var display in Displays.Where(d => d.Device != null))
                {
                    display.Device.Power = false;
                }
                break;

            default:
                throw new ArgumentOutOfRangeException("state");
            }
        }
        private void CallsOnCallStatusChange(CiscoTelePresenceCodec codec, CallStatusEventType eventType, Call call)
        {
            if (call != _call)
            {
                return;
            }

            if (eventType == CallStatusEventType.Ended)
            {
                if (_timer != null)
                {
                    _timer.Stop();
                    _timerLabel.Clear();
                }
                Parent.ResetView();
                return;
            }

            if (eventType == CallStatusEventType.StatusUpdated && call.Connected)
            {
                _list[2].Show();
                _list[3].Show();
                StartCallTimer();
            }

            UpdateStatusText(call.Status);
            _nameLabel.SetText(call.DisplayName);
            _list[3].SetFeedback(call.OnHold);
        }
示例#6
0
        private void CodecOnEventReceived(CiscoTelePresenceCodec codec, string name, Dictionary <string, string> properties)
        {
            if (name != "Bookings")
            {
                return;
            }

            foreach (var property in properties)
            {
                try
                {
                    Debug.WriteSuccess("Booking Event", "{0} = {1}", property.Key, property.Value);
                }
                catch
                {
                    Debug.WriteError("Booking Event", "Could not show property!");
                }
            }

            if (properties.ContainsKey("Updated"))
            {
                Debug.WriteWarn("Bookings updated... getting bookings");
                GetBookingsAsync();
            }
        }
示例#7
0
        protected override void StandbyOnStateChange(CiscoTelePresenceCodec codec, StandbyState state)
        {
            if (!AutoMode)
            {
                return;
            }

            switch (state)
            {
            case StandbyState.Off:
                break;

            case StandbyState.EnteringStandby:
                break;

            case StandbyState.Halfwake:
                break;

            case StandbyState.Standby:
                break;

            default:
                throw new ArgumentOutOfRangeException("state");
            }
        }
示例#8
0
#pragma warning restore 649

        #endregion

        #region Constructors

        internal Video(CiscoTelePresenceCodec codec)
            : base(codec)
        {
            _selfview     = new Selfview(this, "Selfview");
            _input        = new Input(this, "Input");
            _output       = new Output(this, "Output");
            _presentation = new Presentation(this, "Presentation");
        }
示例#9
0
 internal Audio(CiscoTelePresenceCodec codec)
     : base(codec)
 {
     _microphones = new Microphones(this, "Microphones");
     _input       = new Input(this, "Input");
     _volume      = new Volume(this);
     _output      = new Output(this, "Output");
 }
示例#10
0
 internal ExternalSource(CiscoTelePresenceCodec codec, string sourceIdentifier, string name, int connectorId, ExternalSourceType type)
 {
     _codec            = codec;
     _sourceIdentifier = sourceIdentifier;
     _name             = name;
     _connectorId      = connectorId;
     _type             = type;
 }
示例#11
0
 internal Network(CiscoTelePresenceCodec codec, int indexer)
     : base(codec, indexer)
 {
     _cdp      = new Cdp(this, "CDP");
     _dns      = new Dns(this, "DNS");
     _ethernet = new Ethernet(this, "Ethernet");
     _ipv4     = new Ipv4(this, "IPV4");
     _ipv6     = new Ipv6(this, "IPV6");
     _vlan     = new Vlan(this, "VLAN");
 }
示例#12
0
 protected PhonebookItem(CiscoTelePresenceCodec codec, string id, string parentId, string name, PhonebookType phonebookType)
 {
     _codec   = codec;
     Id       = id;
     ParentId = parentId;
     Name     = name;
     if (this is PhonebookContact)
     {
         Type = PhonebookItemType.Contact;
     }
 }
示例#13
0
        /// <summary>
        /// The default Constructor.
        /// </summary>
        internal CallHistory(CiscoTelePresenceCodec codec)
        {
            _codec = codec;

#if DEBUG
            CrestronConsole.AddNewConsoleCommand(parameters => Get(Filter.All, 0, 50),
                                                 "CHTest", "Test Call History", ConsoleAccessLevelEnum.AccessOperator);
            CrestronConsole.AddNewConsoleCommand(parameters => GetLastDialed(),
                                                 "CHTestLast", "Test Call History", ConsoleAccessLevelEnum.AccessOperator);
#endif
        }
示例#14
0
 private void CallsOnCallStatusChange(CiscoTelePresenceCodec codec, CallStatusEventType eventType, Call call)
 {
     if (!RequestedVisibleState)
     {
         return;
     }
     if (eventType == CallStatusEventType.NewCall && !_callView.Visible)
     {
         _callView.Show(call);
     }
 }
示例#15
0
        protected override void StandbyOnStateChange(CiscoTelePresenceCodec codec, StandbyState state)
        {
            if (!AutoMode)
            {
                return;
            }

            Task task = null;

            switch (state)
            {
            case StandbyState.Off:
                task = new Task(() =>
                {
                    var vcSource = Sources[SourceType.VideoConference];
                    foreach (var display in Displays)
                    {
                        display.Source = vcSource;
                    }
                });
                break;

            case StandbyState.EnteringStandby:
                break;

            case StandbyState.Halfwake:
                break;

            case StandbyState.Standby:
                task = new Task(() =>
                {
                    foreach (var display in Displays)
                    {
                        display.Source = null;
                    }
                });
                break;

            default:
                throw new ArgumentOutOfRangeException("state");
            }

            if (task != null)
            {
                task.Start();
            }
        }
示例#16
0
 internal PhonebookContact(CiscoTelePresenceCodec codec, XElement element, PhonebookType phonebookType)
     : base(codec,
            element.Element("ContactId").Value,
            element.Element("FolderId") != null ? element.Element("FolderId").Value : string.Empty,
            element.Element("Name").Value, phonebookType)
 {
     foreach (var newMethod in from contactMethod in element.Elements("ContactMethod")
              let id = int.Parse(contactMethod.Element("ContactMethodId").Value)
                       let number = contactMethod.Element("Number").Value
                                    select new PhonebookContactMethod(this)
     {
         Id = id,
         Number = number
     })
     {
         _contactMethods.Add(newMethod.Id, newMethod);
     }
 }
示例#17
0
        private void CodecOnEventReceived(CiscoTelePresenceCodec codec, string name, Dictionary <string, string> properties)
        {
#if DEBUG
            var values = properties.Select(property => string.Format("- {0} = {1}", property.Key, property.Value)).ToArray();
            Debug.WriteInfo("Event received", "name: {0}\r\n{1}", name, string.Join("\r\n", values));
#endif
            if (name != "UserInterface Presentation ExternalSource Selected")
            {
                return;
            }

            try
            {
                var sourceId = properties["SourceIdentifier"];
                var source   = _sources.FirstOrDefault(s => s.SourceIdentifier == sourceId);
                OnExternalSourceSelected(sourceId, source);
            }
            catch (Exception e)
            {
                CloudLog.Exception(e);
            }
        }
示例#18
0
        private void CodecOnEventReceived(CiscoTelePresenceCodec codec, string name, Dictionary <string, string> properties)
        {
            switch (name)
            {
            case "UserInterface Extensions Panel Clicked":
                Debug.WriteSuccess("Panel Clicked", properties["PanelId"]);
                OnPanelClicked(properties["PanelId"]);
                break;

            case "UserInterface Extensions Widget Action":
                Debug.WriteSuccess("Widget Action", "Type \"{0}\": {1} = {2}", properties["Type"],
                                   properties["WidgetId"],
                                   properties["Value"]);
                OnWidgetChanged(new CiscoCodecUIWidgetEventArgs
                {
                    Type     = (Widget.ActionType)Enum.Parse(typeof(Widget.ActionType), properties["Type"], true),
                    Value    = properties["Value"],
                    WidgetId = properties["WidgetId"]
                });
                break;
            }
        }
示例#19
0
 public void Dial(CiscoTelePresenceCodec codec, DialResult callback)
 {
     try
     {
         var calls = _bookingData.Element("DialInfo").Element("Calls").Elements("Call");
         foreach (
             var number in
             calls.Select(call => call.Element("Number")).Where(number => number != null && !number.IsEmpty))
         {
             codec.Calls.Dial(number.Value, new[]
             {
                 new CodecCommandArg("BookingId", Id),
             }, callback);
             return;
         }
         callback.Invoke(500, "No calls to dial for this booking", 0);
     }
     catch (Exception e)
     {
         CloudLog.Error("Error trying to dial booking, {0}", e.Message);
         callback.Invoke(500, string.Format("Error: {0}", e.Message), 0);
     }
 }
示例#20
0
#pragma warning restore 649

        internal RoomAnalytics(CiscoTelePresenceCodec codec)
            : base(codec)
        {
            _peopleCount = new PeopleCount(this, "PeopleCount");
        }
示例#21
0
 internal Diagnostics(CiscoTelePresenceCodec codec)
     : base(codec)
 {
 }
示例#22
0
 internal Capabilities(CiscoTelePresenceCodec codec)
     : base(codec)
 {
     _conference = new Conference(this, "Conference");
 }
示例#23
0
 internal Cameras(CiscoTelePresenceCodec codec)
     : base(codec)
 {
     _speakerTrack = new SpeakerTrack(this, "SpeakerTrack");
 }
示例#24
0
#pragma warning restore 649

        #endregion

        #region Constructors

        internal SIP(CiscoTelePresenceCodec codec)
            : base(codec)
        {
        }
示例#25
0
 internal NetworkServices(CiscoTelePresenceCodec codec)
     : base(codec)
 {
     _ntp = new Ntp(this, "NTP");
 }
示例#26
0
 internal Bookings(CiscoTelePresenceCodec codec)
     : base(codec)
 {
     _current             = new CurrentBooking(this, "Current");
     codec.EventReceived += CodecOnEventReceived;
 }
示例#27
0
 protected abstract void StandbyOnStateChange(CiscoTelePresenceCodec codec, StandbyState state);
示例#28
0
 internal Phonebook(CiscoTelePresenceCodec codec)
 {
     _codec       = codec;
     _folderNames = new Dictionary <string, string>();
 }
示例#29
0
 internal Presentation(CiscoTelePresenceCodec codec)
 {
     _codec = codec;
     _codec.EventReceived += CodecOnEventReceived;
 }
示例#30
0
 public PhonebookFolder(CiscoTelePresenceCodec codec, XElement element, PhonebookType phonebookType)
     : base(codec, element.Element("LocalId").Value, element.Element("FolderId").Value, element.Element("Name").Value, phonebookType)
 {
 }