/// <summary> /// Al usuario B le llega un mensaje y levanta un formulario drmChat /// </summary> /// <param name="msg">Message enviado por A</param> public void SwitchMessage(agsXMPP.protocol.client.Message msg) { if (msg.Type == MessageType.groupchat) { return; } if (msg.Body != null)//--> es un chat { frmChat f = null; if (ChatForms.ContainsKey(msg.From.Bare)) { f = (frmChat)ChatForms[msg.From.Bare]; f.Show(); } else { RosterNode rn = RosterControl.GetRosterItem(msg.From); string nick = msg.From.Bare; if (rn != null) { nick = rn.Text; } f = new frmChat(msg.From, nick); f.Show(); f.IncomingMessage(msg); } } if (msg.HasTag(typeof(Comand))) { } }
/// <summary> /// Handlebars template can reference members of <see cref="RosterCore"/> /// by accessing the root context's "roster" property: <code>Name: {{roster.name}}</code>. /// </summary> /// <param name="roster"></param> /// <param name="format"></param> /// <returns></returns> public static string Format(RosterNode roster, RosterFormat format) { return(format.Method switch { FormatMethod.Handlebars => GetHandlebars(), FormatMethod.Json => GetJson(), _ => throw new ArgumentException($"Unknown {nameof(FormatMethod)} value '{format.Method}'.", nameof(format)), });
/// <summary> /// Creates a roster with updated cost totals. /// </summary> /// <param name="roster">A roster used to calculate the cost totals.</param> /// <returns>The created instance with recalculated cost totals.</returns> public static RosterNode WithUpdatedCostTotals(this RosterNode roster) { var aggregator = new RosterCostAggregator(); aggregator.Visit(roster); return(roster.ReplaceFluent(x => x.Costs, Update)); CostNode Update(CostNode cost) { return(cost.WithValue(aggregator.Costs.TryGetValue(cost.TypeId !, out var value) ? value : 0)); } }
private void btnChat_Click(object sender, EventArgs e) { RosterNode rosterNode = Util.XmppServices.RosterControl.SelectedItem(); if (rosterNode == null) { return; } Util.XmppServices.ChatWtich_User(rosterNode.RosterItem.Jid, rosterNode.Text); }
private void rosterControl_SelectionChanged(object sender, EventArgs e) { RosterNode roster = Util.XmppServices.RosterControl.SelectedItem(); if (roster.RosterItem != null) { txtTo.Text = roster.RosterItem.Jid.User; txtBare.Text = roster.RosterItem.Jid.Bare; } else { txtTo.Text = ""; txtBare.Text = ""; } }
private void btnremoveUser_Click(object sender, EventArgs e) { RosterNode rosterNode = Util.XmppServices.RosterControl.SelectedItem(); string user = rosterNode.ToString(); if (rosterNode == null) { return; } //RosterIq riq = new RosterIq(); //riq.Type = IqType.set; Util.XmppServices.XmppCon.RosterManager.RemoveRosterItem(rosterNode.RosterItem.Jid); MessageBox.Show(string.Concat(user, " se elimino con exito")); }
private void btnSendCommand_Click(object sender, EventArgs e) { RosterNode roster = Util.XmppServices.RosterControl.SelectedItem(); if (roster == null) { return; } if (roster.RosterItem != null) { //IQ iq = new IQ(IqType.get, XmppCon.MyJID, roster.RosterItem.Jid); agsXMPP.protocol.client.Message msg = new agsXMPP.protocol.client.Message(); msg.To = roster.RosterItem.Jid; agsXMPP.Client.Comand cmd = new agsXMPP.Client.Comand(); cmd.Type = "tipo 01"; cmd.Value = Convert.ToInt32(txtCmdValue.Text); msg.AddChild(cmd); Util.XmppServices.XmppCon.Send(msg); } }
public override void VisitRoster(RosterNode node) { Depth = 0;
public override IDatafileInfo <SourceNode> VisitRoster(RosterNode node) => Create(node);
public override void VisitRoster(RosterNode node) { Costs.Clear(); Visit(node.Forces); }
internal ICatalogueSymbol BindGamesystemSymbol(RosterNode node, DiagnosticBag diagnostics) => BindSimple <ICatalogueSymbol, ErrorSymbols.ErrorGamesystemSymbol>( node, diagnostics, node.GameSystemId, LookupOptions.CatalogueOnly);
public override Binder VisitRoster(RosterNode node) { // TODO custom roster binder return(Compilation.GlobalNamespaceBinder); }
public static RosterCore.FastSerializationProxy GetSerializationProxy(this RosterNode node) { return(node.Core.ToSerializationProxy()); }