private void SetAllIrcSettings(IrcSettings settings) { DebugHandler.TraceMessage("SetAllIrcSettings Called.", DebugSource.TASK, DebugType.ENTRY_EXIT); DebugHandler.TraceMessage(settings.ToString(), DebugSource.TASK, DebugType.PARAMETERS); IrcClientHandlerSettings.SetIrcSettings(settings); FileHandlerSettings.SetIrcSettings(settings); DownloadHandlerSettings.SetIrcSettings(settings); DirectoryWebSocketServiceSettings.SetIrcSettings(settings); IrcWebSocketServiceSettings.SetIrcSettings(settings); }
public bool StartConnection(IrcSettings settings = null) { DebugHandler.TraceMessage("StartConnection Called.", DebugSource.TASK, DebugType.ENTRY_EXIT); try { if (settings != null) { DebugHandler.TraceMessage(settings.ToString(), DebugSource.TASK, DebugType.PARAMETERS); IrcSettings = settings; } IrcClient.SetupIrc(IrcSettings.ServerAddress, IrcSettings.UserName, IrcSettings.Channels, IrcSettings.Port, "", 3000, IrcSettings.Secure); Thread.Sleep(500); if (!IrcClient.StartClient()) { OnIrcClientConnectionStatusEvent?.Invoke(this, new IrcClientConnectionStatusArgs() { Connected = false, ChannelsAndUsers = null }); DebugHandler.TraceMessage("Irc client is could not connect!", DebugSource.TASK, DebugType.WARNING); return(false); } else { DebugHandler.TraceMessage("Irc client is succesfully connected!", DebugSource.TASK, DebugType.INFO); return(true); } } catch (Exception e) { DebugHandler.TraceMessage(e.ToString(), DebugSource.TASK, DebugType.ERROR); return(false); } }
public void WriteIrcSettings(IrcSettings ircSettings) { DebugHandler.TraceMessage("WriteIrcSettings Called.", DebugSource.TASK, DebugType.ENTRY_EXIT); DebugHandler.TraceMessage(ircSettings.ToString(), DebugSource.TASK, DebugType.PARAMETERS); try { string settingsName = "IrcSettings.json"; string settingsJson = JsonConvert.SerializeObject(ircSettings); if (!File.Exists(Path.Combine(SettingsPath, settingsName))) { using (var fileStream = File.Open(Path.Combine(SettingsPath, settingsName), FileMode.OpenOrCreate, FileAccess.Write, FileShare.ReadWrite)) { using (var streamWriter = new StreamWriter(fileStream)) { streamWriter.Write(settingsJson); } } } else { using (var fileStream = File.Open(Path.Combine(SettingsPath, settingsName), FileMode.Truncate, FileAccess.ReadWrite, FileShare.ReadWrite)) { using (var streamWriter = new StreamWriter(fileStream)) { streamWriter.Write(settingsJson); } } } } catch (Exception e) { DebugHandler.TraceMessage(e.ToString(), DebugSource.TASK, DebugType.WARNING); } }
public void SetIrcSettings(IrcSettings settings) { DebugHandler.TraceMessage("SetIrcSettings called.", DebugSource.TASK, DebugType.ENTRY_EXIT); DebugHandler.TraceMessage(settings.ToString(), DebugSource.TASK, DebugType.PARAMETERS); IrcSettings = settings; }
public async Task Connect(JObject ircJson = null) { DebugHandler.TraceMessage("Connect called", DebugSource.TASK, DebugType.ENTRY_EXIT); bool succes = false; try { if (ircJson == null) { string username = IrcSettings.UserName; if (username == "") { username = UtilityMethods.GenerateUsername(LittleWeebSettings.RandomUsernameLength); } IrcSettings.UserName = username; } else { DebugHandler.TraceMessage(ircJson.ToString(), DebugSource.TASK, DebugType.INFO); string username = ircJson.Value <string>("username"); if (username == "") { username = UtilityMethods.GenerateUsername(LittleWeebSettings.RandomUsernameLength); } IrcSettings.ServerAddress = ircJson.Value <string>("address"); IrcSettings.Channels = ircJson.Value <string>("channels"); IrcSettings.UserName = username; } succes = IrcClientHandler.StartConnection(IrcSettings); if (succes) { JsonIrcInfo ircInfo = new JsonIrcInfo() { connected = succes, channel = IrcSettings.Channels, server = IrcSettings.ServerAddress, user = IrcSettings.UserName, fullfilepath = IrcSettings.fullfilepath }; await WebSocketHandler.SendMessage(ircInfo.ToJson()); } else { JsonIrcInfo ircInfo = new JsonIrcInfo() { connected = succes, channel = IrcSettings.Channels, server = IrcSettings.ServerAddress, user = IrcSettings.UserName, fullfilepath = IrcSettings.fullfilepath }; await WebSocketHandler.SendMessage(ircInfo.ToJson()); } DebugHandler.TraceMessage("Started irc connection using the following settings: " + IrcSettings.ToString(), DebugSource.TASK, DebugType.INFO); SettingsHandler.WriteIrcSettings(IrcSettings); } catch (Exception e) { DebugHandler.TraceMessage(e.ToString(), DebugSource.TASK, DebugType.WARNING); JsonIrcInfo ircInfo = new JsonIrcInfo() { connected = succes, channel = IrcSettings.Channels, server = IrcSettings.ServerAddress, user = IrcSettings.UserName, fullfilepath = IrcSettings.fullfilepath }; await WebSocketHandler.SendMessage(ircInfo.ToJson()); JsonError error = new JsonError() { type = "irc_connect_error", errormessage = "Could not start connection to irc server.", errortype = "exception", exception = e.ToString() }; await WebSocketHandler.SendMessage(error.ToJson()); } IsIrcConnected = succes; }