예제 #1
0
        public ServerGui()
        {
            InitializeComponent();
            this.FormClosed += formIsClosed;

            var config = FConfig.LoadFrom("f-config.json");

            var log = Logger.New(config);

            log.Info("fserver.gui", config);

            var server = new FServer(log, config);

            textPort.Text       = server.Port.ToString();
            textServerName.Text = server.ServerName;

            _log    = log;
            _server = server;
            _users  = server;

            _controlsToLock = new Control[] {
                textPort,
                textUserName,
                textPassword,
                textFolder,
                buttonList,
                buttonCreate,
                buttonUpdate,
                buttonDelete,
                listUsers
            };
        }
예제 #2
0
 protected override void Dispose(bool disposing)
 {
     try
     {
         try
         {
             if (FSurfaceStack != null)
             {
                 while (FSurfaceStack.Count > 0)
                 {
                     Pop();
                 }
                 FDatabaseSurface = null;
                 FSurfaceStack    = null;
             }
         }
         finally
         {
             if (FServer != null)
             {
                 FServer.Dispose();
                 FServer = null;
             }
         }
     }
     finally
     {
         base.Dispose(disposing);
     }
 }
예제 #3
0
 protected virtual void Dispose(bool ADisposed)
 {
     if (FServer != null)
     {
         FServer.Dispose();
         FServer = null;
     }
 }
예제 #4
0
        public void createPipe()
        {
            var masterPipe = new FServer("testAddr");

            var pipe = masterPipe;

            var currentPipeNum = pipeCounter;

            pipe.DataReceived += (s, e) =>
            {
                WriteConsole("Receive", " client " + currentPipeNum, e.action, e.payload);

                if (e.method == Felcon.Definitions.Tokens.Request)
                {
                    e.response.action  = "SA";
                    e.response.payload = "Client " + currentPipeNum + " kardes";

                    WriteConsole("Automatic Response", " client " + currentPipeNum, e.response.action, e.response.payload);
                }
            };

            pipe.Connected += (s, e) =>
            {
                WriteConsole("Connected", " client " + currentPipeNum);

                clientsListView.Invoke((clientsListView) =>
                {
                    var item = new ListViewItem()
                    {
                        Text = "client " + currentPipeNum,
                        Tag  = s
                    };
                    clientsListView.Items.Add(item);
                    pipeCounter++;
                });


                createPipe();
            };

            pipe.Disconnected += (s, e) =>
            {
                WriteConsole("Disconnected", " client " + currentPipeNum);

                clientsListView.Invoke(clientsListView =>
                {
                    foreach (var item in clientsListView.Items.Cast <ListViewItem>().Where(l => l.Tag == s))
                    {
                        item.Remove();
                    }
                }
                                       );
            };

            masterPipe.Initialize();
        }
예제 #5
0
 public FileManager()
 {
     _receiver                 = new FServer();
     _receiver.OnRequested    += _receiver_OnBegin;
     _receiver.OnFile         += _receiver_OnFile;
     _receiver.OnError        += _receiver_OnError;
     _receiver.OnDisconnected += _receiver_OnDisconnected;
     _receiver.Start();
     ShowMonitorInfo();
 }
예제 #6
0
        public async Task RunMajorUseCasesWithDummyUser()
        {
            var config = new FConfig()
            {
                TcpPort = 0
            };
            var dummyUsers = new DummyUsers();

            var             fserver = new FServer(Logger.Null, config, dummyUsers);
            IUserManagement users   = fserver;

            await users.Create(_goga);

            await users.Update(_goga);

            var all = await users.List();

            Assert.That(all, Is.Not.Empty);

            var fclient = await FClient.New(config, new ClientInfo {
                ServerName = fserver.ServerName,
                Port       = fserver.Port,
                UserName   = "******",
                Password   = "******"
            });

            await fclient.Upload("f-config.goga.json", "f-config.json");

            await fclient.Upload("NUnit3.TestAdapter.dll.goga", "NUnit3.TestAdapter.dll");

            await fclient.Download("f-config.goga.json", "f-config.copy.json");

            await fclient.Download("NUnit3.TestAdapter.dll.goga", "NUnit3.TestAdapter.dll.copy");

            var list = await fclient.ListFiles();

            Assert.That(list, Is.Not.Empty);

            await fclient.Delete("f-config.goga.json");

            await users.Delete(_goga, false);
        }