コード例 #1
0
 internal void OnUploadCompleted(SharedFile sender, EventArgs args)
 {
     if (UploadCompleted != null)
     {
         UploadCompleted(sender, new EventArgs());
     }
 }
コード例 #2
0
 internal void OnDownloadProgressChanged(SharedFile sender, EventArgs args)
 {
     if (DownloadProgressChanged != null)
     {
         DownloadProgressChanged(sender, new EventArgs());
     }
 }
コード例 #3
0
        public SharedFile Download(String filename, String username, String password, String fromJID, String id)
        {
            try
            {
                mDownloadFile               = new SharedFile();
                mDownloadFile.FileName      = Path.GetFileName(filename);
                mDownloadFile.FromJID       = fromJID;
                mDownloadFile.ToJID         = username;
                mDownloadFile.ID            = id;
                mDownloadFile.LocalFileName = Path.GetTempFileName();

                FileTransferWS.ServiceWse serviceWse = new Remwave.Client.FileTransferWS.ServiceWse();
                serviceWse.RequireMtom = true;

                mDownloadFile.Size = serviceWse.GetFileSize(username, password, id);

                mDownloadBackgroundWorker = new BackgroundWorker();
                mDownloadBackgroundWorker.WorkerReportsProgress = true;
                mDownloadBackgroundWorker.DoWork             += new DoWorkEventHandler(mDownloadBackgroundWorker_DoWork);
                mDownloadBackgroundWorker.RunWorkerCompleted += new RunWorkerCompletedEventHandler(mDownloadBackgroundWorker_RunWorkerCompleted);
                mDownloadBackgroundWorker.ProgressChanged    += new ProgressChangedEventHandler(mDownloadBackgroundWorker_ProgressChanged);
                mDownloadBackgroundWorker.RunWorkerAsync();
            }
            catch (Exception)
            {
            }
            return(mDownloadFile);
        }
コード例 #4
0
ファイル: ChatWindow.cs プロジェクト: biddyweb/communicator
        private void InitializeFileTransfer(string toJID, string file)
        {
            if (!File.Exists(file))
            {
                return;
            }
            try
            {
                String ID = Guid.NewGuid().ToString();
                //PROCESS UPLOAD
                FileInfo     fileInfo   = new FileInfo(file);
                FileTransfer fileUpload = new FileTransfer();
                fileUpload.UploadCompleted       += new EventHandler(fileTransfer_UploadCompleted);
                fileUpload.UploadProgressChanged += new EventHandler(fileUpload_UploadProgressChanged);
                SharedFile fileUploadInfo = fileUpload.Upload(file, myClientForm.mUserAccount.Username, myClientForm.mUserAccount.Password, toJID, ID);
                fileUploadInfo.Size = fileInfo.Length;
                myClientForm.FileTransferInvite(new JabberUser(fileUploadInfo.ToJID), fileUploadInfo.FileName, fileUploadInfo.ID, FileTransfer.FormatFileSize(fileUploadInfo.Size));
            }
            catch (Exception)
            {
#if (DEBUG)
                throw;
#endif
            }
        }
コード例 #5
0
ファイル: ChatWindow.cs プロジェクト: biddyweb/communicator
        void fileDownload_DownloadCompleted(object sender, EventArgs e)
        {
            SharedFile sharedFile = (SharedFile)sender;

            if (sharedFile.LocalFileName == null)
            {
                //transfer failed
                if (DialogResult.Retry == MessageBox.Show(
                        Properties.Localization.txtChatFileTransferFailedDesc,
                        Properties.Localization.txtChatFileTransferFailed,
                        MessageBoxButtons.RetryCancel,
                        MessageBoxIcon.Error,
                        MessageBoxDefaultButton.Button1
                        ))
                {
                    ProcessFileDownload(sharedFile.FromJID, sharedFile.FileName, sharedFile.ID);
                }
            }
            else
            {
                mySaveFileDialog.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
                mySaveFileDialog.FileName         = sharedFile.FileName;
                if (DialogResult.OK == mySaveFileDialog.ShowDialog())
                {
                    if (File.Exists(mySaveFileDialog.FileName))
                    {
                        File.Delete(mySaveFileDialog.FileName);
                    }
                    File.Move(sharedFile.LocalFileName, mySaveFileDialog.FileName);
                }
            }
        }
コード例 #6
0
ファイル: ChatWindow.cs プロジェクト: biddyweb/communicator
        public void ProcessFileDownload(String jabberID, String filename, String fileTransferID)
        {
            FileTransfer fileDownload = new FileTransfer();

            fileDownload.DownloadCompleted       += new EventHandler(fileDownload_DownloadCompleted);
            fileDownload.DownloadProgressChanged += new EventHandler(fileDownload_DownloadProgressChanged);
            SharedFile fileDownloadInfo = fileDownload.Download(filename, myClientForm.mUserAccount.Username, myClientForm.mUserAccount.Password, jabberID, fileTransferID);
        }
コード例 #7
0
ファイル: ChatWindow.cs プロジェクト: biddyweb/communicator
        void fileTransfer_UploadCompleted(object sender, EventArgs e)
        {
            SharedFile sharedFile = (SharedFile)sender;

            if (sharedFile.LocalFileName != null)
            {
                myClientForm.FileTransferProcessDone(sharedFile.ToJID, sharedFile.FileName, sharedFile.ID, FileTransfer.FormatFileSize(sharedFile.Size));
            }
        }
コード例 #8
0
ファイル: ChatWindow.cs プロジェクト: biddyweb/communicator
        void fileDownload_UploadProgressChanged(object sender, EventArgs e)
        {
            SharedFile  sharedFile      = (SharedFile)sender;
            ChatSession tmplChatSession = (ChatSession)myChatSessions[sharedFile.ToJID];

            if (tmplChatSession != null)
            {
                tmplChatSession.ChatBox.SetLink(IMMessage.NormalizeGUID(sharedFile.ID), sharedFile.Size.ToString() + " " + (sharedFile.Offset / sharedFile.Size), true);
            }
        }
コード例 #9
0
ファイル: ChatWindow.cs プロジェクト: biddyweb/communicator
        void fileDownload_DownloadProgressChanged(object sender, EventArgs e)
        {
            SharedFile  sharedFile      = (SharedFile)sender;
            ChatSession tmplChatSession = (ChatSession)myChatSessions[sharedFile.FromJID];

            if (tmplChatSession != null)
            {
                tmplChatSession.ChatBox.SetLink(IMMessage.NormalizeGUID(sharedFile.ID), sharedFile.FileName.ToString() + " " + sharedFile.GetSizeFormated() + " (" + (100 * sharedFile.Offset / sharedFile.Size) + @"%)", true);
            }
        }
コード例 #10
0
ファイル: FileTransfer.cs プロジェクト: biddyweb/communicator
        public SharedFile Download(String filename, String username, String password, String fromJID, String id)
        {
            try
            {
                mDownloadFile = new SharedFile();
                mDownloadFile.FileName = Path.GetFileName(filename);
                mDownloadFile.FromJID = fromJID;
                mDownloadFile.ToJID = username;
                mDownloadFile.ID = id;
                mDownloadFile.LocalFileName = Path.GetTempFileName();

                FileTransferWS.ServiceWse serviceWse = new Remwave.Client.FileTransferWS.ServiceWse();
                serviceWse.RequireMtom = true;

                mDownloadFile.Size = serviceWse.GetFileSize(username, password, id);

                mDownloadBackgroundWorker = new BackgroundWorker();
                mDownloadBackgroundWorker.WorkerReportsProgress = true;
                mDownloadBackgroundWorker.DoWork += new DoWorkEventHandler(mDownloadBackgroundWorker_DoWork);
                mDownloadBackgroundWorker.RunWorkerCompleted += new RunWorkerCompletedEventHandler(mDownloadBackgroundWorker_RunWorkerCompleted);
                mDownloadBackgroundWorker.ProgressChanged += new ProgressChangedEventHandler(mDownloadBackgroundWorker_ProgressChanged);
                mDownloadBackgroundWorker.RunWorkerAsync();
            }
            catch (Exception)
            {

            }
            return mDownloadFile;
        }
コード例 #11
0
ファイル: FileTransfer.cs プロジェクト: biddyweb/communicator
 internal void OnDownloadProgressChanged(SharedFile sender, EventArgs args)
 {
     if (DownloadProgressChanged != null)
         DownloadProgressChanged(sender, new EventArgs());
 }
コード例 #12
0
ファイル: FileTransfer.cs プロジェクト: biddyweb/communicator
 internal void OnDownloadCompleted(SharedFile sender, EventArgs args)
 {
     if (DownloadCompleted != null)
         DownloadCompleted(sender, new EventArgs());
 }