* Shop + Plugin is now functionnal, sample Plugin provided to connect to the default...
[circ.git] / CirC / Main.cs
blobda8fce7fc01b29db9f0924a1c80fe94fc36b8faf
1 #region License
2 /* Circ : Main program
3 * Copyright (C) 2007 LAVAL Jérémie
5 * This file is licensed under the terms of the LGPL.
7 * For the complete licence see the file COPYING.
8 */
9 #endregion
10 using System;
11 using Circ.Cil;
12 using Circ.Backend;
13 using System.IO;
15 namespace Circ
17 public static class CircMain
19 static MainControl mainControl;
21 public static void Main(string[] args)
23 Logger.Debug("Circ starting...");
25 Logger.Debug("Initializing the Addin manager");
26 Mono.Addins.AddinManager.Initialize(Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Personal), ".Circ"));
27 Mono.Addins.AddinManager.Registry.Update(null);
29 mainControl = new MainControl();
30 Circ.Plugins.Shop.MainControl = mainControl;
32 Logger.Debug("Cross your fingers, it's beginning");
34 mainControl.WaitForInit();
35 //System.Threading.Thread.Sleep(3000);
36 Logger.Debug("Initialization finalized");
38 try {
39 Logger.Debug("Loading Plugins");
40 PluginsContainer.LoadPlugins();
41 mainControl.Idle();
42 } finally {
43 PluginsContainer.Unload();
44 mainControl.Dispose();
47 GC.Collect();
48 GC.WaitForPendingFinalizers();
51 public static void PrintUsageInformation()
53 Console.WriteLine("Circ, IRC client for the GNU/Linux plateform\n(c) 2006 LAVAL Jérémie\n\n"+
54 "Usage information : circ [OPTIONS]\n\nOPTIONS can be"+
55 ":\n\t-server:hostname Connect to the specified IRC server");
56 Environment.Exit(0);
59 /*private static void LoadPlugins()
61 plugins = new PluginLoader();
62 try {
63 plugins.Launch();
64 } catch (PluginException e) {
65 log.Error(e.Message, e);
67 }*/