Exemplo n.º 1
0
        /// <summary>
        /// Gets all system channels.
        /// </summary>
        /// <returns></returns>
        public async Task <IEnumerable <SystemChannel> > GetSystemChannelsAsync()
        {
            try
            {
                var transports = await channelClient.DispatchAsync <List <SystemChannelTransport> >(ApiFromClientTopic.GetSystemChannels, JValue.CreateUndefined());

                var channels = new List <SystemChannel>();
                transports.ForEach(transport => channels.Add(ChannelUtils.GetChannelObject(transport, this) as SystemChannel));

                return(channels);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Exemplo n.º 2
0
        public FDC3Event ToEvent(Connection connection)
        {
            var channel         = ChannelUtils.GetChannelObject(this.Channel, connection);
            var previousChannel = ChannelUtils.GetChannelObject(PreviousChannel, connection);

            switch (Type)
            {
            case FDC3EventType.ChannelChanged:
                return(new ChannelChangedEvent(Identity, channel, previousChannel));

            case FDC3EventType.WindowAdded:
                return(new ChannelWindowAddedEvent(Identity, channel, previousChannel));

            case FDC3EventType.WindowRemoved:
                return(new ChannelWindowRemovedEvent(Identity, channel, previousChannel));

            default:
                throw new System.ArgumentException("unrecognized event type.");
            }
        }
Exemplo n.º 3
0
        public async Task <ChannelBase> GetCurrentChannelAsync(Identity identity)
        {
            var channelTransport = await channelClient.DispatchAsync <ChannelTransport>(ApiFromClientTopic.GetCurrentChannel, new { identity });

            return(ChannelUtils.GetChannelObject(channelTransport, this));
        }
Exemplo n.º 4
0
        public async Task <ChannelBase> GetChannelByIdAsync(string channelId)
        {
            var channelTransport = await channelClient.DispatchAsync <ChannelTransport>(ApiFromClientTopic.GetChannelById, new { id = channelId });

            return(ChannelUtils.GetChannelObject(channelTransport, this));
        }