예제 #1
0
 public SyncFileManager(ConnectionManager Manager, FileTransport FileTransport)
 {
     this.Manager                   = Manager;
     this.FileTransport             = FileTransport;
     FileTransport.RemoteTaskAdded += FileTransport_RemoteTaskAdded;
     Manager.SyncFile               = this;
 }
예제 #2
0
        public void StartListen_Queue_CreatesListener()
        {
            var transport = new FileTransport();

            transport.StartListen(Path.GetTempPath());

            Assert.That(((FileListener)transport.Listener).IsEnabled);
        }
예제 #3
0
        public void sendMessage(object ft)
        {//客户端向服务端发送
            FileTransport fileToSend = ft as FileTransport;

            try
            {
                client.Send(fileToSend.returnFileStream());
                Console.WriteLine("正在发送信息{0}", fileToSend);
            }
            catch (Exception ex)
            {
                Console.WriteLine("客户端向服务端发送", ex);
            }
        }
예제 #4
0
        private void miRemoteSave_Click(object sender, EventArgs e)
        {
            var msg = new FileTransport();

            msg.Filename = m_File;

            Pandora.Profile.Server.FillBoxMessage(msg);
            msg.Text = m_Text;

            var response = Pandora.BoxConnection.ProcessMessage(msg, true) as GenericOK;

            if (response != null)
            {
                // Success
                sBar.Text = "Remote save succesful";
            }
            else
            {
                sBar.Text = "Remote save failed";
            }
        }
예제 #5
0
        /// <summary>
        ///     Uploads a file to the server
        /// </summary>
        private void Upload()
        {
            if (Folder == null)
            {
                return;
            }

            if (OpenFile.ShowDialog() != DialogResult.OK)
            {
                return;
            }

            var filename = Path.Combine(Folder, Path.GetFileName(OpenFile.FileName));

            var msg = new FileTransport();

            msg.Filename = filename;

            Pandora.Profile.Server.FillBoxMessage(msg);

            // Read text from the file
            try
            {
                var reader = new StreamReader(OpenFile.FileName);
                msg.Text = reader.ReadToEnd();
                reader.Close();
            }
            catch (Exception err)
            {
                Pandora.Log.WriteError(err, "Error when reading text file {0}", OpenFile.FileName);
                sBar.Text = Pandora.Localization.GetTextProvider()["Script.ReadErr"];
                return;
            }

            var response = Pandora.BoxConnection.ProcessMessage(msg, true) as GenericOK;

            if (response != null)
            {
                // Success
                sBar.Text = Pandora.Localization.GetTextProvider()["Script.UploadOk"];

                // Add item
                var      node   = GetTreeNode(Path.GetFileName(OpenFile.FileName));
                TreeNode parent = null;

                if (m_File == null)
                {
                    parent = Tree.SelectedNode;
                }
                else
                {
                    parent = Tree.SelectedNode.Parent;
                }

                var exists = false;
                foreach (TreeNode exist in parent.Nodes)
                {
                    if (exist.Text.ToLower() == node.Text.ToLower())
                    {
                        exists = true;
                        break;
                    }
                }

                if (!exists)
                {
                    parent.Nodes.Add(node);
                }
            }
            else
            {
                sBar.Text = Pandora.Localization.GetTextProvider()["Script.UploadFail"];
            }
        }
예제 #6
0
 public static void FolderTransport(string inputFolderPath, string outputFolderPath, FileTransport fileTransport, string pattern = "*")
 {
     Parallel.ForEach(Directory.EnumerateFiles(inputFolderPath, pattern), new ParallelOptions {
         MaxDegreeOfParallelism = 10
     }, inputFilePath =>
     {
         Console.WriteLine("Processing " + inputFilePath);
         string fileName       = inputFilePath.Split('\\').Last();
         string outputFilePath = Path.Combine(outputFolderPath, fileName);
         fileTransport(inputFilePath, outputFilePath);
     });
 }