private void setActive(ServerConnection serverCon) { //attivo il server serverCon.Active(); Trace.TraceInformation("Server attivo. Server: {0}:{1}:{2}", serverCon.Server.Name, serverCon.Server.IP, serverCon.Server.ControlPort); //controllo se il server si è attivato o vi è stato qualche problema if (!serverCon.GetState().Equals("ACTIVE")) { return; } //cambio il serverAttivoIndex serverAttivoIndex = serverConnessi.IndexOf(serverCon); //inizializzo l'evento ServerEventArgs args = new ServerEventArgs() { Server = serverCon.Server, Position = serverAttivoIndex }; EventHandler<ServerEventArgs> handler = ServerActivated; if (handler != null) { handler(this, args); } }
internal void TransferStopped(ServerConnection serverConnection, bool isCopy) { ServerTranferEventArgs args = new ServerTranferEventArgs { Server = serverConnection.Server, Position = serverConnessi.IndexOf(serverConnection), Copy = isCopy, Completed = false, Percentage = 0 }; EventHandler<ServerTranferEventArgs> handler = this.ServerTransferCancelled; if (handler != null) { handler(this, args); } }
void connectServerWorker_ProgressChanged(object sender, ProgressChangedEventArgs e) { if (e.UserState == null) { Server server = null; while (!serverToConnect.TryDequeue(out server)) ; ServerConnection serverToInsert = new ServerConnection(server, this); ServerEventArgs args = null; serverConnessi.Add(serverToInsert); args = new ServerEventArgs() { Server = server, Position = serverConnessi.IndexOf(serverToInsert) }; EventHandler<ServerEventArgs> handler = ServerConnected; if (handler != null) { handler(this, args); } } else if (e.ProgressPercentage == ERROR) { ServerErrorEventsArgs args = (ServerErrorEventsArgs)e.UserState; EventHandler<ServerErrorEventsArgs> handler = ServerError; if (handler != null) { handler(this, args); } } else if (e.ProgressPercentage == PASSWORD_REQUIRED) { ServerEventArgs args = (ServerEventArgs)e.UserState; EventHandler<ServerEventArgs> handler = ServerAuthRequired; if (handler != null) { handler(this, args); } } else if (e.ProgressPercentage == PASSWORD_ERROR) { ServerErrorEventsArgs args = (ServerErrorEventsArgs)e.UserState; EventHandler<ServerErrorEventsArgs> handler = ServerError; if (handler != null) { handler(this, args); } } }
internal void TransferCompleted(ServerConnection serverConnection, MyClipboard clipboardServer, bool isCopy) { if (isCopy) { clipboardClient = new MyClipboard(clipboardServer); } ServerTranferEventArgs args = new ServerTranferEventArgs { Server = serverConnection.Server, Position = serverConnessi.IndexOf(serverConnection), Copy = isCopy, Completed = true, Percentage = 100 }; EventHandler<ServerTranferEventArgs> handler = this.ServerTransferCompleted; if (handler != null) { handler(this, args); } }
internal void TransferReportProgress(ServerConnection serverConnection, int percentage, bool isCopy) { ServerTranferEventArgs args = new ServerTranferEventArgs { Server = serverConnection.Server, Position = serverConnessi.IndexOf(serverConnection), Copy = isCopy, Completed = false, Percentage = percentage }; EventHandler<ServerTranferEventArgs> handler = this.ServerTransferProgressChanged; if (handler != null) { handler(this, args); } }
internal void ImpossibleToDeactive(ServerConnection serverConnection) { ServerErrorEventsArgs args = null; args = new ServerErrorEventsArgs() { Server = serverConnection.Server, Position = serverConnessi.IndexOf(serverConnection), ErrorCode = ServerErrorEventsArgs.CLIPBOARD_IN_ACTION }; EventHandler<ServerErrorEventsArgs> handler = ServerError; if (handler != null) { handler(this, args); } }
internal void DeactiveCompleted(ServerConnection serverConnection) { //inizializzo l'evento ServerEventArgs args = new ServerEventArgs() { Server = serverConnection.Server, Position = serverAttivoIndex }; EventHandler<ServerEventArgs> handler = ServerDeactivated; if (handler != null) { handler(this, args); } //posso attivare il server su cui ho fatto switch che //l'ho salvato nella variabile serverToActiveIndex //quando ho chiamato il metodo IConnection.Active ServerConnection serverToActive = serverConnessi[serverToActiveIndex]; Trace.TraceInformation("Server non attivo. Server: {0}:{1}:{2}", serverConnection.Server.Name, serverConnection.Server.IP, serverConnection.Server.ControlPort); setActive(serverToActive); }
internal void ClosedByServerError(ServerConnection serverConnection) { ServerErrorEventsArgs args = null; int position = -1; position = serverConnessi.IndexOf(serverConnection); //inizializzo l'evento da inviare args = new ServerErrorEventsArgs() { Server = serverConnection.Server, Position = position, ErrorCode = ServerErrorEventsArgs.SERVER_ERROR }; serverConnessi.Remove(serverConnection); if (serverConnessi.Count == 0) { started = false; serverAttivoIndex = -1; } EventHandler<ServerErrorEventsArgs> handler = ServerError; if (handler != null) { handler(this, args); } EventArgs argsRefresh = new EventArgs(); EventHandler<EventArgs> handlerRefresh = RefreshConnections; if (handlerRefresh != null) { handlerRefresh(this, argsRefresh); } if (serverAttivoIndex == position && started) { ServerConnection serverToActive = serverConnessi[0]; setActive(serverToActive); } else if (position < serverAttivoIndex) {//Perché nella lista potrebbe precederlo serverAttivoIndex--; } }
internal void ClosedByNetworkError(ServerConnection serverConnection) { serverConnessi.Remove(serverConnection); serverAttivoIndex = -1; ServerErrorEventsArgs args = null; //inizializzo l'evento da inviare args = new ServerErrorEventsArgs() { Server = serverConnection.Server, Position = serverConnessi.IndexOf(serverConnection), ErrorCode = ServerErrorEventsArgs.NETWORK_ERROR }; EventHandler<ServerErrorEventsArgs> handler = ServerError; if (handler != null) { handler(this, args); } while (serverConnessi.Count > 0) { serverConnessi[0].ForceToDisconnect(); serverConnessi.RemoveAt(0); } EventArgs argsRefresh = new EventArgs(); EventHandler<EventArgs> handlerRefresh = RefreshConnections; if (handlerRefresh != null) { handlerRefresh(this, argsRefresh); } }
internal void Closed(ServerConnection serverConnection) { ServerEventArgs args = null; //inizializzo l'evento da inviare args = new ServerEventArgs() { Server = serverConnection.Server, Position = serverConnessi.IndexOf(serverConnection), }; serverConnessi.Remove(serverConnection); if (serverConnessi.Count == 0) { started = false; serverAttivoIndex = -1; } EventHandler<ServerEventArgs> handler = ServerDisconnected; if (handler != null) { handler(this, args); } EventArgs argsRefresh = new EventArgs(); EventHandler<EventArgs> handlerRefresh = RefreshConnections; if (handlerRefresh != null) { handlerRefresh(this, argsRefresh); } }