/// <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; } }
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."); } }
public async Task <ChannelBase> GetCurrentChannelAsync(Identity identity) { var channelTransport = await channelClient.DispatchAsync <ChannelTransport>(ApiFromClientTopic.GetCurrentChannel, new { identity }); return(ChannelUtils.GetChannelObject(channelTransport, this)); }
public async Task <ChannelBase> GetChannelByIdAsync(string channelId) { var channelTransport = await channelClient.DispatchAsync <ChannelTransport>(ApiFromClientTopic.GetChannelById, new { id = channelId }); return(ChannelUtils.GetChannelObject(channelTransport, this)); }