AddObserver() public method

public AddObserver ( Notification ev ) : void
ev Notification
return void
Ejemplo n.º 1
0
        private void performUpdate(object obj)
        {
            string url = (string)zipFileURL;

            String fullAppName    = callingAssembly.GetName().CodeBase;
            String appPath        = Path.GetDirectoryName(fullAppName);
            String updateDir      = appPath + "\\" + UPDATE_FOLDER_NAME;
            String updateFilename = getFilename(url);
            string updateZip      = updateDir + "\\" + updateFilename;

            // Create directory to store update files
            Directory.CreateDirectory(updateDir);
            TransferManager tm = new TransferManager();

            tm.AddObserver(notification);
            Stream s;

            tm.downloadFile(url, out s, updateZip, notification.trans);
            if (s != null)
            {
                s.Close();
            }

            if (!abortUpdate)
            {
                using (ZipFile zip1 = ZipFile.Read(updateZip))
                {
                    foreach (ZipEntry e in zip1)
                    {
                        e.Extract(updateDir, ExtractExistingFileAction.OverwriteSilently);
                    }
                }

                File.Delete(updateZip);
                string backupDir = appPath + "\\" + BACKUP_FOLDER_NAME;
                if (Directory.Exists(backupDir))
                {
                    Directory.Delete(backupDir, true);
                }
                Directory.CreateDirectory(backupDir);
                foreach (string filepath in Directory.GetFiles(updateDir))
                {
                    string originalFile = appPath + "\\" + getFilenameFromPath(filepath);
                    if (File.Exists(originalFile))
                    {
                        string backupFilepath = backupDir + "\\" + getFilenameFromPath(filepath);
                        File.Move(originalFile, backupFilepath);
                        File.Move(filepath, originalFile);
                    }
                }
                OnUpdateDone();
            }
        }
Ejemplo n.º 2
0
        private void performUpdate(object obj)
        {
            string url = (string)zipFileURL;

              String fullAppName = callingAssembly.GetName().CodeBase;
              String appPath = Path.GetDirectoryName(fullAppName);
              String updateDir = appPath + "\\" + UPDATE_FOLDER_NAME;
              String updateFilename = getFilename(url);
              string updateZip = updateDir + "\\" + updateFilename;
              // Create directory to store update files
              Directory.CreateDirectory(updateDir);
              TransferManager tm = new TransferManager();
              tm.AddObserver(notification);
              Stream s;

              tm.downloadFile(url, out s, updateZip, notification.trans);
              if (s != null)
            s.Close();

              if (!abortUpdate)
              {
            using (ZipFile zip1 = ZipFile.Read(updateZip))
            {
              foreach (ZipEntry e in zip1)
              {
            e.Extract(updateDir, ExtractExistingFileAction.OverwriteSilently);
              }
            }

            File.Delete(updateZip);
            string backupDir = appPath + "\\" + BACKUP_FOLDER_NAME;
            if (Directory.Exists(backupDir))
              Directory.Delete(backupDir, true);
            Directory.CreateDirectory(backupDir);
            foreach (string filepath in Directory.GetFiles(updateDir))
            {
              string originalFile = appPath + "\\" + getFilenameFromPath(filepath);
              if (File.Exists(originalFile))
              {
            string backupFilepath = backupDir + "\\" + getFilenameFromPath(filepath);
            File.Move(originalFile, backupFilepath);
            File.Move(filepath, originalFile);
              }
            }
            OnUpdateDone();
              }
        }