public async Task RegisteredAsync(TimeBooking newBooking) { if (OnRegistered != null) { await OnRegistered.Invoke(newBooking); } }
public WebNfcListener(string ident) { if (!ident.Contains("@")) { throw new ArgumentException("Invalid ident - missing @"); } var parts = ident.Split('@'); if (parts.Length != 2) { throw new ArgumentException("Invalid ident - invalid length"); } _endpoint = parts[0]; _address = parts[1]; _ioHandler = IO.Socket(_address); _ioHandler.On(Socket.EVENT_CONNECT, (obj) => { OnConnected?.Invoke(); }); _ioHandler.On("scanner.registered", (obj) => { var scanner = NfcScanner.FromJson(obj as string); OnRegistered?.Invoke(scanner); }); _ioHandler.On("scanner.scanned", (obj) => { var scanner = NfcScanner.FromJson(obj as string); }); }
public async Task EstablishConnection() { var isConnected = await _connection.GetIsConnectedAsync(); if (isConnected) { if (SignalingStatus.IsRegistered) { OnRegistered?.Invoke(); } else { await _connection.RegisterAsync(); } } else { _isConnecting = true; await UpdateStatusAsync(); await _connection.ConnectAsync(); _isConnecting = false; await UpdateStatusAsync(); } }
public static bool TryCreateUser(string email, string password, string username, string pic = "") { try { UserFile u = new UserFile() { Email = email, Password = password, Username = username }; FileSystem.TryWriteFile(UserFile.UserFolder + username + "/user.userfile", UserFile.Serialise(u)); //Debug.WriteLine($"Create new user at {UserFile.UserFolder}"); UpdateLocalUsers(); OnRegistered?.Invoke(new UserAccount() { Username = username, EmailAddress = email, Password = password }); return(true); } catch (Exception ex) { Debug.LogException(ex); return(false); } }
public void Register(IUpdatable updatable) { var entry = new SchedulerEntry(_elapsedDeviceTicks, _elapsedDeviceTicks + RegisterDelta, updatable); _queue.Add(entry.DequeueTicks, entry); OnRegistered?.Invoke(this, updatable); }
public virtual void OnRegisteredInvoke(RegistrationResponse x) { if (GameSparksManager.Instance().IsDebug) { var subs = OnRegistered?.GetInvocationList(); var debugStr = "OnRegistered InvokationList: "; subs?.ToList().ForEach(m => debugStr += "\n" + m.Method.Name); Debug.Log(debugStr); } OnRegistered?.Invoke(x); }
private void OnRegistrationStatusUpdated() { if (SignalingStatus.IsRegistered) { OnRegistered?.Invoke(); } else { OnRegistrationFailed?.Invoke(); Status = "Connection to the server has been terminated."; ConnectCommand.RaiseCanExecuteChanged(); } }
public async void EstablishConnection() { if (_connection.IsConnected) { if (SignalingStatus.IsRegistered) { OnRegistered?.Invoke(); } else { _connection.Register(); } } else { _isConnecting = true; UpdateStatus(); await _connection.Connect(); _isConnecting = false; UpdateStatus(); } }
public void TriggerOnRegistered(string regId) { OnRegistered?.Invoke(this, regId); }
private void OnSetRegister(object sender, IQ iq, object data) { OnRegistered?.Invoke(this, iq); }
private void OnGetRegister(object sender, IQ iq, object data) { if (iq == null) { FireOnError(new IQTimeoutException((JID)data)); return; } if (iq.Type == IQType.error) { OnRegistered?.Invoke(this, iq); } else if (iq.Type == IQType.result) { JID jid = (JID)data; iq.Type = IQType.set; iq.From = null; iq.To = jid.Server; iq.ID = Element.NextID(); Register r = iq.Query as Register; if (r == null) { throw new BadProtocolException(iq, "Expected a register response"); } jabber.protocol.x.Data xdata = r["x", URI.XDATA] as jabber.protocol.x.Data; jabber.protocol.x.Field f; if (xdata != null) { f = xdata.GetField("username"); if (f != null) { f.Val = jid.User; } f = xdata.GetField("password"); if (f != null) { f.Val = this.Password; } } else { r.Username = jid.User; r.Password = this.Password; } bool res = true; if (OnRegisterInfo != null) { res = OnRegisterInfo(this, r); if (xdata != null) { f = xdata.GetField("username"); if (f != null) { this.User = f.Val; } f = xdata.GetField("password"); if (f != null) { this.Password = f.Val; } } else { this.User = r.Username; this.Password = r.Password; } } if (!res) { this.Close(); return; } if (xdata != null) { xdata.Type = jabber.protocol.x.XDataType.result; } Tracker.BeginIQ(iq, new IqCB(OnSetRegister), jid); } }
public void ParseReply(string[] tokens) { ReplyCode code = (ReplyCode)int.Parse(tokens[1], CultureInfo.InvariantCulture); tokens[3] = RemoveLeadingColon(tokens[3]); switch (code) { //Messages sent upon successful registration case ReplyCode.RPL_WELCOME: case ReplyCode.RPL_YOURESERVICE: OnRegistered.Fire(this, new EventArgs()); break; case ReplyCode.RPL_MOTDSTART: case ReplyCode.RPL_MOTD: OnMotd?.Invoke(CondenseStrings(tokens, 3), false); break; case ReplyCode.RPL_ENDOFMOTD: OnMotd?.Invoke(CondenseStrings(tokens, 3), true); break; case ReplyCode.RPL_ISON: OnIson?.Invoke(tokens[3]); break; case ReplyCode.RPL_NAMREPLY: ProcessNamesReply(tokens, false); break; case ReplyCode.RPL_ENDOFNAMES: ProcessNamesReply(tokens, true); break; case ReplyCode.RPL_LIST: tokens[5] = RemoveLeadingColon(tokens[5]); OnList?.Invoke( tokens[3], int.Parse(tokens[4], CultureInfo.InvariantCulture), CondenseStrings(tokens, 5), false); break; case ReplyCode.RPL_LISTEND: OnList?.Invoke("", 0, "", true); break; case ReplyCode.ERR_NICKNAMEINUSE: case ReplyCode.ERR_NICKCOLLISION: tokens[4] = RemoveLeadingColon(tokens[4]); OnNickError.Fire(this, new NickErrorEventArgs(tokens[3], CondenseStrings(tokens, 4))); //Trace.WriteLine("Nick collision", "IRC"); break; case ReplyCode.RPL_NOTOPIC: OnError.Fire(this, new ErrorMessageEventArgs(code, CondenseStrings(tokens, 3))); break; case ReplyCode.RPL_TOPIC: tokens[4] = RemoveLeadingColon(tokens[4]); OnRecieveTopic?.Invoke(tokens[3], CondenseStrings(tokens, 4)); break; case ReplyCode.RPL_INVITING: OnInviteSent.Fire(this, new InviteEventArgs(tokens[3], tokens[4])); break; case ReplyCode.RPL_AWAY: OnAway.Fire(this, new AwayEventArgs(tokens[3], RemoveLeadingColon(CondenseStrings(tokens, 4)))); break; case ReplyCode.RPL_WHOREPLY: User user = new User(tokens[7], tokens[4], tokens[5]); OnWho?.Invoke( user, tokens[3], tokens[6], tokens[8], int.Parse(RemoveLeadingColon(tokens[9]), CultureInfo.InvariantCulture), tokens[10], false); break; case ReplyCode.RPL_ENDOFWHO: OnWho?.Invoke(User.Empty, "", "", "", 0, "", true); break; case ReplyCode.RPL_WHOISUSER: User whoUser = new User(tokens[3], tokens[4], tokens[5]); WhoisInfo whoisInfo = LookupInfo(whoUser.Nick); whoisInfo.user = whoUser; tokens[7] = RemoveLeadingColon(tokens[7]); whoisInfo.realName = CondenseStrings(tokens, 7); break; case ReplyCode.RPL_WHOISCHANNELS: WhoisInfo whoisChannelInfo = LookupInfo(tokens[3]); tokens[4] = RemoveLeadingColon(tokens[4]); int numberOfChannels = tokens.Length - 4; string[] channels = new String[numberOfChannels]; Array.Copy(tokens, 4, channels, 0, numberOfChannels); whoisChannelInfo.SetChannels(channels); break; case ReplyCode.RPL_WHOISSERVER: WhoisInfo whoisServerInfo = LookupInfo(tokens[3]); whoisServerInfo.ircServer = tokens[4]; tokens[5] = RemoveLeadingColon(tokens[5]); whoisServerInfo.serverDescription = CondenseStrings(tokens, 5); break; case ReplyCode.RPL_WHOISOPERATOR: WhoisInfo whoisOpInfo = LookupInfo(tokens[3]); whoisOpInfo.isOperator = true; break; case ReplyCode.RPL_WHOISIDLE: WhoisInfo whoisIdleInfo = LookupInfo(tokens[3]); whoisIdleInfo.idleTime = long.Parse(tokens[5], CultureInfo.InvariantCulture); break; case ReplyCode.RPL_ENDOFWHOIS: string nick = tokens[3]; WhoisInfo whoisEndInfo = LookupInfo(nick); OnWhois?.Invoke(whoisEndInfo); whoisInfos.Remove(nick); break; case ReplyCode.RPL_WHOWASUSER: User whoWasUser = new User(tokens[3], tokens[4], tokens[5]); tokens[7] = RemoveLeadingColon(tokens[7]); OnWhowas?.Invoke(whoWasUser, CondenseStrings(tokens, 7), false); break; case ReplyCode.RPL_ENDOFWHOWAS: OnWhowas?.Invoke(User.Empty, "", true); break; case ReplyCode.RPL_UMODEIS: { //First drop the '+' string chars = tokens[3].Substring(1); UserMode[] modes = Rfc2812Util.UserModesToArray(chars); OnUserModeRequest?.Invoke(modes); } break; case ReplyCode.RPL_CHANNELMODEIS: try { ChannelModeInfo[] modes = ChannelModeInfo.ParseModes(tokens, 4); OnChannelModeRequest?.Invoke(tokens[3], modes); } catch (Exception) { OnError.Fire(this, new ErrorMessageEventArgs(ReplyCode.UnparseableMessage, CondenseStrings(tokens, 0))); Debug.WriteLineIf(Rfc2812Util.IrcTrace.TraceWarning, "[" + Thread.CurrentThread.Name + "] Listener::ParseReply() Bad IRC MODE string=" + tokens[0]); } break; case ReplyCode.RPL_BANLIST: OnChannelList?.Invoke(tokens[3], ChannelMode.Ban, tokens[4], Rfc2812Util.UserFromString(tokens[5]), Convert.ToInt64(tokens[6], CultureInfo.InvariantCulture), false); break; case ReplyCode.RPL_ENDOFBANLIST: OnChannelList?.Invoke(tokens[3], ChannelMode.Ban, "", User.Empty, 0, true); break; case ReplyCode.RPL_INVITELIST: OnChannelList?.Invoke(tokens[3], ChannelMode.Invitation, tokens[4], Rfc2812Util.UserFromString(tokens[5]), Convert.ToInt64(tokens[6]), false); break; case ReplyCode.RPL_ENDOFINVITELIST: OnChannelList?.Invoke(tokens[3], ChannelMode.Invitation, "", User.Empty, 0, true); break; case ReplyCode.RPL_EXCEPTLIST: OnChannelList?.Invoke(tokens[3], ChannelMode.Exception, tokens[4], Rfc2812Util.UserFromString(tokens[5]), Convert.ToInt64(tokens[6]), false); break; case ReplyCode.RPL_ENDOFEXCEPTLIST: OnChannelList?.Invoke(tokens[3], ChannelMode.Exception, "", User.Empty, 0, true); break; case ReplyCode.RPL_UNIQOPIS: OnChannelList?.Invoke(tokens[3], ChannelMode.ChannelCreator, tokens[4], User.Empty, 0, true); break; case ReplyCode.RPL_VERSION: OnVersion?.Invoke(CondenseStrings(tokens, 3)); break; case ReplyCode.RPL_TIME: OnTime?.Invoke(CondenseStrings(tokens, 3)); break; case ReplyCode.RPL_INFO: OnInfo?.Invoke(CondenseStrings(tokens, 3), false); break; case ReplyCode.RPL_ENDOFINFO: OnInfo?.Invoke(CondenseStrings(tokens, 3), true); break; case ReplyCode.RPL_ADMINME: case ReplyCode.RPL_ADMINLOC1: case ReplyCode.RPL_ADMINLOC2: case ReplyCode.RPL_ADMINEMAIL: OnAdmin?.Invoke(RemoveLeadingColon(CondenseStrings(tokens, 3))); break; case ReplyCode.RPL_LUSERCLIENT: case ReplyCode.RPL_LUSEROP: case ReplyCode.RPL_LUSERUNKNOWN: case ReplyCode.RPL_LUSERCHANNELS: case ReplyCode.RPL_LUSERME: OnLusers?.Invoke(RemoveLeadingColon(CondenseStrings(tokens, 3))); break; case ReplyCode.RPL_LINKS: OnLinks?.Invoke(tokens[3], //mask tokens[4], //hostname int.Parse(RemoveLeadingColon(tokens[5]), CultureInfo.InvariantCulture), //hopcount CondenseStrings(tokens, 6), false); break; case ReplyCode.RPL_ENDOFLINKS: OnLinks?.Invoke(String.Empty, String.Empty, -1, String.Empty, true); break; case ReplyCode.RPL_STATSLINKINFO: case ReplyCode.RPL_STATSCOMMANDS: case ReplyCode.RPL_STATSUPTIME: case ReplyCode.RPL_STATSOLINE: OnStats?.Invoke(GetQueryType(code), RemoveLeadingColon(CondenseStrings(tokens, 3)), false); break; case ReplyCode.RPL_ENDOFSTATS: OnStats?.Invoke(Rfc2812Util.CharToStatsQuery(tokens[3][0]), RemoveLeadingColon(CondenseStrings(tokens, 4)), true); break; default: HandleDefaultReply(code, tokens); break; } }