Example #1
0
        /// <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)))
            {
            }
        }
Example #2
0
 /// <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)),
     });
Example #3
0
    /// <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));
        }
    }
Example #4
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);
        }
Example #5
0
        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 = "";
            }
        }
Example #6
0
        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"));
        }
Example #7
0
        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);
            }
        }
Example #8
0
 public override void VisitRoster(RosterNode node)
 {
     Depth = 0;
Example #9
0
 public override IDatafileInfo <SourceNode> VisitRoster(RosterNode node) => Create(node);
Example #10
0
 public override void VisitRoster(RosterNode node)
 {
     Costs.Clear();
     Visit(node.Forces);
 }
Example #11
0
 internal ICatalogueSymbol BindGamesystemSymbol(RosterNode node, DiagnosticBag diagnostics) =>
 BindSimple <ICatalogueSymbol, ErrorSymbols.ErrorGamesystemSymbol>(
     node, diagnostics, node.GameSystemId, LookupOptions.CatalogueOnly);
Example #12
0
 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());
 }