예제 #1
0
            public ICSShell(ICSClient client)
                : base()
            {
                this.client = client;
                max_chars = 16 * 1024;
                textView = new TextView ();
                textView.ModifyFont (Pango.FontDescription.
                             FromString
                             ("Monospace 9"));
                client.LineReceivedEvent += OnLineReceived;

                commandEntry = new Entry ();
                sendButton =
                    new Button (Catalog.
                            GetString ("Send"));

                ScrolledWindow win = new ScrolledWindow ();
                  win.HscrollbarPolicy =
                    win.VscrollbarPolicy =
                    PolicyType.Automatic;
                  win.Add (textView);

                  PackStart (win, true, true, 4);
                HBox box = new HBox ();
                  box.PackStart (commandEntry, true, true, 4);
                  box.PackStart (sendButton, false, false, 4);
                  PackStart (box, false, true, 4);

                  textView.Editable = false;

                  commandEntry.Activated += OnCommand;
                  sendButton.Clicked += OnCommand;
                  ShowAll ();
            }
            public RelayTournamentsView(ICSClient c)
            {
                client = c;
                tournamentIter = TreeIter.Zero;
                store = new TreeStore (typeof (int),
                               typeof (string),
                               typeof (string));
                  create_tree ();
                  refreshButton = new Button (Stock.Refresh);
                  refreshButton.Clicked += OnClicked;
                  infoLabel = new Label ();
                  infoLabel.UseMarkup = true;
                  infoLabel.Xalign = 0;
                  infoLabel.Xpad = 4;
                //infoLabel.Yalign = 0;
                //infoLabel.Ypad = 4;
                HBox box = new HBox ();
                  box.PackStart (infoLabel, true, true, 4);
                  box.PackStart (refreshButton, false, false,
                         4);
                  PackStart (box, false, true, 4);

                ScrolledWindow scroll = new ScrolledWindow ();
                  scroll.HscrollbarPolicy =
                    scroll.VscrollbarPolicy =
                    PolicyType.Automatic;
                  scroll.Add (tree);
                  PackStart (scroll, true, true, 4);
                  client.AuthEvent += OnAuth;
                  ShowAll ();
            }
예제 #3
0
            public ICSShell(ICSClient client)
                : base()
            {
                this.client = client;
                textView = new ShellTextView (client);

                commandEntry = new Entry ();
                sendButton =
                    new Button (Catalog.
                            GetString ("Send"));

                ScrolledWindow win = new ScrolledWindow ();
                  win.HscrollbarPolicy =
                    win.VscrollbarPolicy =
                    PolicyType.Automatic;
                  win.Add (textView);

                  PackStart (win, true, true, 4);
                HBox box = new HBox ();
                  box.PackStart (commandEntry, true, true, 4);
                  box.PackStart (sendButton, false, false, 4);
                  PackStart (box, false, true, 4);

                  textView.Editable = false;

                  commandEntry.Activated += OnCommand;
                  sendButton.Clicked += OnCommand;
                  ShowAll ();
            }
            public GameAdvertisementGraph(ICSClient c)
            {
                graph = new Graph ();
                categories = new Hashtable ();
                categories["blitz"] = 1;
                categories["standard"] = 1;
                categories["lightning"] = 1;
                categories["untimed"] = 1;

                graph.GameFocusedEvent += OnGameFocused;
                graph.GameClickedEvent += OnGameClicked;

                infoLabel = new Label ();
                infoLabel.Xalign = 0;
                infoLabel.Xpad = 4;
                this.client = c;

                client.GameAdvertisementAddEvent +=
                    OnGameAdvertisementAddEvent;
                client.GameAdvertisementRemoveEvent +=
                    OnGameAdvertisementRemoveEvent;
                client.GameAdvertisementsClearedEvent +=
                    OnGameAdvertisementsCleared;
                SetSizeRequest (600, 400);

                image = new Gtk.Image ();
                PackStart (graph, true, true, 4);

                HBox box = new HBox ();
                  box.PackStart (image, false, false, 4);
                  box.PackStart (infoLabel, true, true, 4);

                  PackStart (box, false, true, 4);
                  ShowAll ();
            }
예제 #5
0
            public static void GetMovesAsync(ICSClient client,
							  int id,
							  GetMovesDelegate
							  callback)
            {
                MovesGetter getter =
                    new MovesGetter (id, callback);
                  client.CommandSender.SendCommand ("moves " +
                                    id,
                                    getter);
            }
예제 #6
0
 public ShellTextView(ICSClient client)
     : base()
 {
     max_chars = 16 * 1024;
     WrapMode = WrapMode.Word;
     Editable = false;
     ModifyFont (Pango.FontDescription.
             FromString ("Monospace 9"));
     client.LineReceivedEvent += OnLineReceived;
     CreateTags ();
 }
            public GameObservationManager(ICSClient client,
						       ICSDetailsWidget
						       appwidget)
            {
                gameInfos = new Hashtable ();
                this.client = client;
                client.MoveMadeEvent += OnMoveMade;
                client.ResultNotificationEvent +=
                    OnResultNotification;
                client.GameInfoEvent += OnGameInfo;
                commandId = -1;
                this.appwidget = appwidget;
                label_text = Catalog.GetString ("Games");
                appwidget.Book.SwitchPage += OnSwitchPage;
            }
예제 #8
0
            public CommandSender(ICSClient client)
            {
                slots = new Hashtable ();
                this.client = client;
                commandId = 1;
                currentCommand = -1;
                blockCount = 0;

                client.BlockCodeEvent += OnBlockCodeEvent;
                client.CommandIdentifierEvent +=
                    OnCommandIdentifierEvent;
                client.CommandCodeEvent += OnCommandCodeEvent;

                client.LineBufferReceivedEvent +=
                    OnLineBufferReceivedEvent;
            }
            public ObservableGamesView(GameObservationManager
						    observer,
						    ICSClient client)
            {
                observableGamesWidget =
                    new ObservableGamesWidget (observer);
                relayTournamentsView =
                    new RelayTournamentsView (client);
                TabPos = PositionType.Left;
                AppendPage (relayTournamentsView,
                        new Label (Catalog.
                               GetString
                               ("Tournaments")));
                AppendPage (observableGamesWidget,
                        new Label (Catalog.
                               GetString ("Games")));
                ShowAll ();
            }
            public ICSConfigWidget(ICSClient client)
                : base(0.5f,
									0.5f,
									0, 0)
            {
                this.client = client;

                DecorateUI ();
                guestLoginCheckButton.Active = true;
                SetGuestLogin (guestLoginCheckButton.Active);
                guestLoginCheckButton.Toggled +=
                    delegate (object o, EventArgs args)
                {
                    SetGuestLogin (guestLoginCheckButton.
                               Active);
                };
                  serverNameEntry.Text = client.server;
                  portEntry.Text = client.port;
                  usernameEntry.Text = client.User;

                  ShowAll ();
            }
			public ICSConfigDialog (ICSClient client)
			{
				this.client = client;
				Glade.XML xml =
					Glade.XML.
					FromAssembly ("csboard.glade",
						      "icsConfigDialog",
						      null);
				xml.Autoconnect (this);

				guestLoginCheckButton.Active = true;
				SetGuestLogin (guestLoginCheckButton.Active);
				guestLoginCheckButton.Toggled +=
					delegate (object o, EventArgs args)
				{
					SetGuestLogin (guestLoginCheckButton.
						       Active);
				};
				  serverNameEntry.Text = client.server;
				  portEntry.Text = client.port;
				  usernameEntry.Text = client.User;
			}
예제 #12
0
            public SeekDialog(ICSClient c)
            {
                client = c;

                Glade.XML gXML =
                    Glade.XML.
                    FromAssembly ("csboard.glade",
                              "seek_vbox", null);
                gXML.Autoconnect (this);

                HasSeparator = false;
                Title = Catalog.
                    GetString ("Start new ICS game");
                SetSizeRequest (550, 300);

                VBox.Add (seek_vbox);
                AddButton (Stock.Refresh,
                       (int) ResponseType.Apply);
                AddButton (Stock.Cancel,
                       (int) ResponseType.Close);
                AddButton (Stock.New,
                       (int) ResponseType.Accept);

                store = new ListStore (typeof (string),
                               typeof (string),
                               typeof (string),
                               typeof (string),
                               typeof (string),
                               typeof (string),
                               typeof (string),
                               typeof (string),
                               typeof (string),
                               typeof (string));
                seek_treeview.Model = store;
                seek_treeview.HeadersVisible = true;
                seek_treeview.HeadersClickable = true;
                seek_treeview.AppendColumn (Catalog.
                                GetString
                                ("Index"),
                                new
                                CellRendererText
                                (), "text", 0);
                seek_treeview.AppendColumn (Catalog.
                                GetString
                                ("Rating"),
                                new
                                CellRendererText
                                (), "text", 1);
                seek_treeview.AppendColumn (Catalog.
                                GetString
                                ("Player"),
                                new
                                CellRendererText
                                (), "text", 2);
                seek_treeview.AppendColumn (Catalog.
                                GetString
                                ("Time"),
                                new
                                CellRendererText
                                (), "text", 3);
                seek_treeview.AppendColumn (Catalog.
                                GetString
                                ("Increment"),
                                new
                                CellRendererText
                                (), "text", 4);
                // Translators: This means that player seeks for Rated/Unrated game
                seek_treeview.AppendColumn (Catalog.
                                GetString ("R/U"),
                                new
                                CellRendererText
                                (), "text", 5);
                seek_treeview.AppendColumn (Catalog.
                                GetString
                                ("Type"),
                                new
                                CellRendererText
                                (), "text", 6);
                seek_treeview.AppendColumn (Catalog.
                                GetString
                                ("Color"),
                                new
                                CellRendererText
                                (), "text", 7);
                seek_treeview.AppendColumn (Catalog.
                                GetString
                                ("Range"),
                                new
                                CellRendererText
                                (), "text", 8);
                seek_treeview.AppendColumn (Catalog.
                                GetString
                                ("Flags"),
                                new
                                CellRendererText
                                (), "text", 9);

                seek_treeview.RowActivated +=
                    new
                    RowActivatedHandler
                    (on_line_activate);
                seek_treeview.Selection.Changed +=
                    on_selection_changed;
            }
            public ICSDetailsWidget()
                : base()
            {
                menubar = new ICSMenuBar ();
                menubar.disconnectMenuItem.Activated +=
                    on_disconnect_activate;
                menubar.connectMenuItem.Activated +=
                    on_connect_activate;
                menubar.ShowAll ();

                Image img = new Image ();
                img.Stock = Stock.Network;
                toolbutton =
                    new ToolButton (img,
                            Catalog.
                            GetString
                            ("Chess Server"));
                toolbutton.ShowAll ();

                client = new ICSClient ();
                title = String.Format (Catalog.GetString
                               ("ICS: {0}@{1}:{2}"),
                               client.User,
                               client.server,
                               client.port);
                book = new Notebook ();
                book.Show ();

                Add (book);

                obManager =
                    new GameObservationManager (client,
                                    this);

                observableGames =
                    new ObservableGamesWidget (obManager);

                graph = new GameAdvertisementGraph (client);
                book.AppendPage (graph,
                         new Label (Catalog.
                                GetString
                                ("Seek Graph")));
                ads = new GameAdvertisements (client);
                book.AppendPage (ads,
                         new Label (Catalog.
                                GetString
                                ("Game Seeks")));

                book.AppendPage (observableGames,
                         new Label (Catalog.
                                GetString
                                ("Watch Games")));

                shell = new ICSShell (client);
                book.AppendPage (shell,
                         new Label (Catalog.
                                GetString
                                ("Shell")));

                client.ChallengeEvent += OnChallengeEvent;

                client.AuthEvent += OnAuth;
                client.ConnectionErrorEvent +=
                    OnConnectionError;

                ShowConfigWidget ();

                menubar.disconnectMenuItem.Sensitive = false;
                GLib.Idle.Add (delegate ()
                           {
                           Authenticate (); return false;}
                );

                accel = new AccelGroup ();
                menubar.quitMenuItem.
                    AddAccelerator ("activate", accel,
                            new AccelKey (Gdk.Key.
                                      q,
                                      Gdk.
                                      ModifierType.
                                      ControlMask,
                                      AccelFlags.
                                      Visible));
                ShowAll ();
                CsBoardApp.Instance.QuitEvent += OnQuitEvent;
            }
예제 #14
0
            /// <summary>
            /// Create a new CS client logger using the given logging delegates.
            /// </summary>
            /// <param name="CSClient">A OCPP CS client.</param>
            /// <param name="LoggingPath">The logging path.</param>
            /// <param name="Context">A context of this API.</param>
            ///
            /// <param name="LogHTTPRequest_toConsole">A delegate to log incoming HTTP requests to console.</param>
            /// <param name="LogHTTPResponse_toConsole">A delegate to log HTTP requests/responses to console.</param>
            /// <param name="LogHTTPRequest_toDisc">A delegate to log incoming HTTP requests to disc.</param>
            /// <param name="LogHTTPResponse_toDisc">A delegate to log HTTP requests/responses to disc.</param>
            ///
            /// <param name="LogHTTPRequest_toNetwork">A delegate to log incoming HTTP requests to a network target.</param>
            /// <param name="LogHTTPResponse_toNetwork">A delegate to log HTTP requests/responses to a network target.</param>
            /// <param name="LogHTTPRequest_toHTTPSSE">A delegate to log incoming HTTP requests to a HTTP client sent events source.</param>
            /// <param name="LogHTTPResponse_toHTTPSSE">A delegate to log HTTP requests/responses to a HTTP client sent events source.</param>
            ///
            /// <param name="LogHTTPError_toConsole">A delegate to log HTTP errors to console.</param>
            /// <param name="LogHTTPError_toDisc">A delegate to log HTTP errors to disc.</param>
            /// <param name="LogHTTPError_toNetwork">A delegate to log HTTP errors to a network target.</param>
            /// <param name="LogHTTPError_toHTTPSSE">A delegate to log HTTP errors to a HTTP client sent events source.</param>
            ///
            /// <param name="LogFileCreator">A delegate to create a log file from the given context and log file name.</param>
            public CSClientLogger(ICSClient CSClient,
                                  String LoggingPath,
                                  String Context,

                                  HTTPRequestLoggerDelegate LogHTTPRequest_toConsole,
                                  HTTPResponseLoggerDelegate LogHTTPResponse_toConsole,
                                  HTTPRequestLoggerDelegate LogHTTPRequest_toDisc,
                                  HTTPResponseLoggerDelegate LogHTTPResponse_toDisc,

                                  HTTPRequestLoggerDelegate LogHTTPRequest_toNetwork   = null,
                                  HTTPResponseLoggerDelegate LogHTTPResponse_toNetwork = null,
                                  HTTPRequestLoggerDelegate LogHTTPRequest_toHTTPSSE   = null,
                                  HTTPResponseLoggerDelegate LogHTTPResponse_toHTTPSSE = null,

                                  HTTPResponseLoggerDelegate LogHTTPError_toConsole = null,
                                  HTTPResponseLoggerDelegate LogHTTPError_toDisc    = null,
                                  HTTPResponseLoggerDelegate LogHTTPError_toNetwork = null,
                                  HTTPResponseLoggerDelegate LogHTTPError_toHTTPSSE = null,

                                  LogfileCreatorDelegate LogFileCreator = null)

                : base(CSClient,
                       LoggingPath,
                       Context.IsNotNullOrEmpty() ? Context : DefaultContext,

                       LogHTTPRequest_toConsole,
                       LogHTTPResponse_toConsole,
                       LogHTTPRequest_toDisc,
                       LogHTTPResponse_toDisc,

                       LogHTTPRequest_toNetwork,
                       LogHTTPResponse_toNetwork,
                       LogHTTPRequest_toHTTPSSE,
                       LogHTTPResponse_toHTTPSSE,

                       LogHTTPError_toConsole,
                       LogHTTPError_toDisc,
                       LogHTTPError_toNetwork,
                       LogHTTPError_toHTTPSSE,

                       LogFileCreator)

            {
                #region Initial checks

                this.CSClient = CSClient ?? throw new ArgumentNullException(nameof(CSClient), "The given EMP client must not be null!");

                #endregion


                //#region GetChargePointList

                //RegisterEvent("GetChargePointListRequest",
                //              handler => CSClient.OnGetChargePointListSOAPRequest += handler,
                //              handler => CSClient.OnGetChargePointListSOAPRequest -= handler,
                //              "GetChargePointList", "OCPP", "Requests", "All").
                //    RegisterDefaultConsoleLogTarget(this).
                //    RegisterDefaultDiscLogTarget(this);

                //RegisterEvent("GetChargePointListResponse",
                //              handler => CSClient.OnGetChargePointListSOAPResponse += handler,
                //              handler => CSClient.OnGetChargePointListSOAPResponse -= handler,
                //              "GetChargePointList", "OCPP", "Responses", "All").
                //    RegisterDefaultConsoleLogTarget(this).
                //    RegisterDefaultDiscLogTarget(this);

                //#endregion
            }
            public ICSGameObserverWidget(ICSClient
						      client)
                : base()
            {
                split = new HPaned ();
                this.client = client;
                currentGames = new Hashtable ();
                gamesBook = new Notebook ();
                gamesBook.ShowTabs = false;

                gamesList = new TreeView ();
                gamesStore =
                    new ListStore (typeof (string),
                               typeof (string));
                gamesList.Model = gamesStore;
                gamesList.AppendColumn ("Games",
                            new
                            CellRendererText (),
                            "markup", 0);
                ScrolledWindow scroll = new ScrolledWindow ();
                scroll.HscrollbarPolicy =
                    scroll.VscrollbarPolicy =
                    PolicyType.Automatic;
                scroll.Add (gamesList);

                gamesList.CursorChanged +=
                    OnGamesListCursorChanged;
                split.Add1 (scroll);
                split.Add2 (gamesBook);

                split.ShowAll ();
                PackStart (split, true, true, 2);
                client.GameMessageEvent += OnGameMessage;
            }
예제 #16
0
 public RelayGetter(ICSClient c)
 {
     start_parsing = false;
     client = c;
     client.LineReceivedEvent += OnLineReceived;
 }