/** * Scrive il file xml di configurazione sulla flash card. * Se il disco NON è rimovibile, non faccio nulla. * Eseguo anche il controllo che il fotografo non sia l'ARTISTA. Infatti se sto creando * delle cornici, non ho bisogno di battezzare la card (perché non esiste una card). * <returns>Ritorna true se dovevo battezzare ed è andato tutto bene</returns> */ public bool battezzaFlashCard(ParamScarica param) { _giornale.Debug("Inizio battezzaFlashCard()"); bool riuscito = false; if (param.cartellaSorgente == null) { return(riuscito); } try { // Eseguo il controllo soltanto se il disco è rimovibile DriveInfo driveInfo = new DriveInfo(param.cartellaSorgente); if (driveInfo.DriveType == DriveType.Removable) { string nomeFileConfig = Path.Combine(param.cartellaSorgente, FlashCardConfig.NOMEFILECONFIG); FlashCardConfig.serialize(nomeFileConfig, param.flashCardConfig); riuscito = true; _giornale.Debug("Battezzata memory card al fotografo: " + param.flashCardConfig.idFotografo); } } catch (Exception ee) { // pazienza. Non è grave. _giornale.Debug("Non sono riuscito a battezzare la flash card", ee); } _giornale.Debug("Finito battezzaFlashCard(). riuscito=" + riuscito); return(riuscito); }
/** * Lo scopo di questa operazione è quella di scaricare le foto * dalla flash card all'hard disk locale il più velocemente * possibile. In questo modo posso congedare il fotografo che * sta aspettando. Durante questa fase, non ho feedback con l'utente. * Terminato lo scarico, allora posso muovere il file nella giusta * cartella di destinazione, scrivendo nel database e sollevando gli * eventi per poter visualizzare le foto. */ public void scarica(ParamScarica paramScarica) { _paramScarica = paramScarica; seNonPossoScaricareSpaccati(); // Se per sbaglio ho ancora un worker aperto, lo chiudo chiudiWorker(); // --- Pubblico un messaggio di inizio scaricamento foto ScaricoFotoMsg scaricoFotoMsg = new ScaricoFotoMsg(this, "Inizio Scarico Foto"); scaricoFotoMsg.esitoScarico = new EsitoScarico { riscontratiErrori = false }; scaricoFotoMsg.fase = FaseScaricoFoto.InizioScarico; scaricoFotoMsg.sorgente = _paramScarica.cartellaSorgente != null ? _paramScarica.cartellaSorgente : _paramScarica.nomeFileSingolo; scaricoFotoMsg.showInStatusBar = true; pubblicaMessaggio(scaricoFotoMsg); // --- // Creo il worker che copierà le foto in background _copiaImmaginiWorker = new CopiaImmaginiWorker(paramScarica, elaboraFotoAcquisite); // Lancio il worker che scarica ed elabora le foto. bool usaThreadSeparato = String.IsNullOrEmpty(paramScarica.nomeFileSingolo); if (usaThreadSeparato) { _copiaImmaginiWorker.Start(); } else { _copiaImmaginiWorker.StartSingleThread(); } statoScarica = StatoScarica.Scaricamento; }
/** Provo a leggere sulla flash card se esiste il file di configurazione */ private ParamScarica creaParamScarica(string driveName) { ParamScarica p = new ParamScarica(); p.cartellaSorgente = driveName; FlashCardConfig fcc = null; string nomeFileConfig = Path.Combine(driveName, FlashCardConfig.NOMEFILECONFIG); if (File.Exists(nomeFileConfig)) { try { fcc = FlashCardConfig.Deserialize(nomeFileConfig); } catch (Exception e) { _giornale.Debug("File riconoscimento flash card nel drive : " + driveName, e); } finally { p.flashCardConfig = fcc; } } return(p); }
public ElaboratoreFotoAcquisite(IList <FileInfo> list, ParamScarica paramScarica) { this._listaFiles = list; this._paramScarica = paramScarica; }
public CopiaImmaginiWorker(ParamScarica paramScarica, ElaboraImmaginiAcquisiteCallback elaboraCallback) { _paramScarica = paramScarica; _elaboraImmaginiAcquisiteCallback = elaboraCallback; }