Esempio n. 1
0
        void Protocol_MessageReceived(object sender, FlowLib.Events.FmdcEventArgs e)
        {
            StrMessage msg = e.Data as StrMessage;

            if (msg != null)
            {
                System.Console.WriteLine(string.Format("IN: {0}", msg.Raw));
            }
        }
        protected void OnMessageReceived(object sender, FlowLib.Events.FmdcEventArgs e)
        {
            IConMessage msg = e.Data as IConMessage;

            if (msg != null)
            {
                HandleReceived(msg);
            }
        }
        void hubConnection_ProtocolChange(object sender, FlowLib.Events.FmdcEventArgs e)
        {
            hubConnection = sender as Hub;
            IProtocol prot = e.Data as IProtocol;

            if (prot != null)
            {
                prot.MessageReceived -= Protocol_MessageReceived;
            }
            hubConnection.Protocol.MessageReceived += new FlowLib.Events.FmdcEventHandler(Protocol_MessageReceived);
        }
        protected void OnProtocolChange(object sender, FlowLib.Events.FmdcEventArgs e)
        {
            IProtocol   prot = e.Data as IProtocol;
            IConnection con  = sender as IConnection;

            if (con != null && con.Protocol != null)
            {
                RemoveProtocol();
                AddProtocol(con.Protocol);
            }
        }
        void Protocol_MessageReceived(object sender, FlowLib.Events.FmdcEventArgs e)
        {
            FlowLib.Protocols.HubNmdc.To msg = e.Data as FlowLib.Protocols.HubNmdc.To;
            if (msg != null && !string.IsNullOrEmpty(msg.From))
            {
                User usr = hubConnection.GetUserById(msg.From);
                if (usr != null)
                {
                    // Note that this will always be empty if you dont set it. (As this took me like 1-2 min todo. i havnt added a none static one)
                    usr.UserInfo.Set(UserInfo.IP, "193.0.19.25");   // http://ripe.net

                    System.Text.StringBuilder sb = new System.Text.StringBuilder("\r\n");
                    sb.AppendLine("---------------------------------------------------------------------------------------------------------");
                    sb.AppendFormat("¦ Showing information on: {0}\r\n", usr.DisplayName);
                    sb.AppendLine("---------------------------------------------------------------------------------------------------------");
                    sb.AppendLine("¦ General information:");
                    sb.AppendFormat("¦  User: {0} (Online)\r\n", usr.DisplayName);
                    sb.AppendFormat("¦  Profile: {0}\r\n", usr.UserInfo.Account.ToString());
                    // Note that this will always be empty if you dont set it. (As this took me like 1-2 min todo. i havnt added a none static one)
                    if (usr.UserInfo.ContainsKey(UserInfo.IP))
                    {
                        sb.AppendFormat("¦  IP: {0}\r\n", usr.UserInfo.Get(UserInfo.IP));
                        try{
                            System.Net.IPHostEntry entry = System.Net.Dns.GetHostEntry(usr.UserInfo.Get(UserInfo.IP));
                            sb.AppendFormat("¦  DNS: {0}\r\n", entry.HostName);
                        }catch {}
                    }
                    sb.AppendFormat("¦  Passive: {0}\r\n", (usr.Tag.Mode == FlowLib.Enums.ConnectionTypes.Passive));
                    sb.AppendFormat("¦  Operator: {0}\r\n", usr.IsOperator);
                    sb.AppendFormat("¦  Sharesize: {0} (exact size: {1} B)\r\n", usr.UserInfo.ShareIEEE1541, usr.UserInfo.Share);
                    sb.AppendFormat("¦  Description: {0}\r\n", usr.Description);
                    sb.AppendFormat("¦  Tag: {0}\r\n", usr.Tag.Tag);
                    sb.AppendFormat("¦  Hubs: {0}\r\n", usr.UserInfo.TagInfo.Normal + usr.UserInfo.TagInfo.OP + usr.UserInfo.TagInfo.Regged);
                    sb.AppendFormat("¦  Slots: {0}\r\n", usr.UserInfo.TagInfo.Slots);
                    sb.AppendLine("---------------------------------------------------------------------------------------------------------");

                    // Create mainchat message.
                    MainMessage mm = new MainMessage(hubConnection.Me.ID, sb.ToString());
                    // message will here be converted to right format and then be sent.
                    UpdateBase(this, new FlowLib.Events.FmdcEventArgs(FlowLib.Events.Actions.MainMessage, mm));

                    string str = string.Format("[{1}] IN: {0}", sb.ToString(), System.DateTime.Now.ToLongTimeString());
                    System.Console.WriteLine(str);
                }
            }
        }
Esempio n. 6
0
 protected virtual void OnUpdateBase(object sender, FlowLib.Events.FmdcEventArgs e)
 {
     ProtocolUPnP.ActOnOutMessage(e);
 }
 void OnUpdateBase(object sender, FlowLib.Events.FmdcEventArgs e)
 {
 }
 void SendMainChatOrPMToHub_UpdateBase(object sender, FlowLib.Events.FmdcEventArgs e)
 {
 }