ExchangeFileContents
Lade ...
Suche ...
Keine Treffer
EfcApp Klassenreferenz

Die Applikationsklasse von ExchangeFileContents. Mehr ...

#include <EfcApp.h>

Zusammengehörigkeiten von EfcApp:

Klassen

class  EfcCallBackFileFount
 Klasse um gefundene Dateien zu bearbeite; wird an eut::FileHelper::iterateDirectory( const fs::path & rIterPath, bool bRecursive, CallBackFileDirFount & rProcessingObject ) übergeben. Mehr ...
 

Öffentliche Methoden

 EfcApp (const std::vector< std::wstring > &rArgVector)
 
virtual ~EfcApp ()
 
int exec ()
 

Private Methoden

 EfcApp ()
 
 EfcApp (const EfcApp &)
 
void showResult (int iResultCode, const std::string &rsCurrentFile)
 
void showHelp ()
 
void getFileNameAndExtension (std::wstring &rsFileName, std::wstring &rsExtension, const fs::path &rFileSystemPath)
 
EfcAppoperator= (const EfcApp &)
 

Private Attribute

std::vector< std::wstring > m_ParaVector
 
int m_iVerboseMode
 
bool m_bStopOnError
 
bool m_bSimulate
 
std::wstring m_sFileNameFilter
 
std::wstring m_sFileExtensionFilter
 
std::string m_sLanguage
 

Ausführliche Beschreibung

Die Applikationsklasse von ExchangeFileContents.

Beschreibung der Konstruktoren und Destruktoren

◆ EfcApp() [1/3]

EfcApp::EfcApp ( const std::vector< std::wstring > & rArgVector)

Konstruktor mit Parameterübergabe.

Parameter
[in]rArgVectorDie der Applikation übergebenen Argumente (Parameter).
Aufbau:
  • rArgVector[0] Die Datei, deren Inhalt geändert werden soll (z.B. 'c:/dir/filename.txt').
  • rArgVector[1] Der Ausdruck, welcher in den Daten aus rArgVector[0] mit den Daten aus rArgVector[2] ausgetauscht werden soll.
    Format: Der Parameter rArgVector[1] muss immer mit 'text:' bzw. 't:', 'hex:' bzw. 'h:' oder 'file:' bzw. 'f:' beginnen.
    • Wenn der Ausdruck mit 'text:' bzw. 't:' beginnt, wird der nachfolgende Text als auszutauschender Text genommen. Z.B. 'text:alter Text' ergibt'alter Text'.
    • Wenn der Ausdruck mit 'hex:' bzw. 'h:' beginnt, wird der folgende Text nach 'hex:' bzw. 'h:' als Hexadezimalzahl-Folge interpretiert, der ausgetauscht werden soll. Die Hex-Werte müssen zweistellig, kommasepariert übergeben werden (z.B. "h:0D,0A").
    • Wenn der Ausdruck mit 'file:' bzw. 'f:' beginnt, wird der Inhalt aus der Datei genommen, deren Bezeichnung auf 'file:' bzw. 'f:' folgt. Wenn z.B. 'file:D:/dir/filename.txt', wird der Inhalt aus der Datei 'D:/dir/filename.txt' als auszutauschender Text genommen.
  • rArgVector[2] Der auszutauschende Inhalt.
    Format: Der Parameter rArgVector[2] muss immer mit 'text:' bzw. 't:' oder 'file:' bzw. 'f:' beginnen.
    • Wenn der Ausdruck mit 'text:' bzw. 't:' beginnt, wird der nachfolgende Text als neuer Text genommen. Z.B. 'text:neuer Text' ergibt'neuer Text' als neuen Text.
    • Wenn der Ausdruck mit 'hex:' bzw. 'h:' beginnt, wird der urspruengliche Inhalt (der zweite Parameter 'AlterInhalt') durch die Hexadezimalzahl- Folge nach 'hex:' bzw. 'h:' ersetzt. Die Hex-Werte müssen zweistellig, kommasepariert übergeben werden (z.B. "h:0D,0A").
    • Wenn der Ausdruck mit 'file:' bzw. 'f:' beginnt, wird der Inhalt aus der Datei genommen, deren Bezeichnung auf 'file:' bzw. 'f:' folgt. Wenn z.B. 'file:D:/dir/filename.txt', wird der Inhalt aus der Datei 'D:/dir/filename.txt' als neuer Text genommen.
  • rArgVector[3] Optional die Datei, in die der geänderte Inhalt aus rArgVector[0] gespeichert werden sollen.
  • rArgVector[n] Desweiteren können folgende Parameter übergeben werden:
    • -r Es werden auch Unter-Verzeichnisse rekursiv durchsucht.
    • -v Zeigt an, ob und wie oft der Inhalt der Datei geändert wurde.
    • -v+ Zeigt auch die übersprungenen Dateien an.
    • -s Stoppt bei einem Fehler und wartet auf einen Tastendruck.
    • -f Wenn Parameter [Zieldatei] gesetzt wird, wird eine vorhandene Zieldatei nur dann überschrieben, wenn dieser Parameter übergeben wird. Ansonsten keine Auswirkung.
    • -nop Die Verarbeitung wird nur simuliert, es werden keine Dateien verändert oder angelegt.

◆ ~EfcApp()

virtual EfcApp::~EfcApp ( )
virtual

Destruktor, der Speicher wird aufgeräumt.

◆ EfcApp() [2/3]

EfcApp::EfcApp ( )
private

Der Standard-Konstruktor steht nicht zur Verfügung.

◆ EfcApp() [3/3]

EfcApp::EfcApp ( const EfcApp & )
private

Der Copy-Konstruktor steht nicht zur Verfügung.

Dokumentation der Elementfunktionen

◆ exec()

int EfcApp::exec ( )

Startet die Application. Es werden die Parameter geprüft und angepasst und dann eut::FileHelper::iterateDirectory(const fs::path &, bool, CallBackFileDirFount &) aufgerufen (u.a. mit Übergabe von einem EfcApp::EfcCallBackFileFount als Parameter).

Rückgabe
Eine Rückgabe < 0 zeigt einen Fehler an.

◆ getFileNameAndExtension()

void EfcApp::getFileNameAndExtension ( std::wstring & rsFileName,
std::wstring & rsExtension,
const fs::path & rFileSystemPath )
private

Liefert aus übergebenen Filesystem-Pfad den Dateinamen und die Extension. Diese Funktion gibt es, damit bei einerm Dateinamen == "*" auch eine Extension ".*" geliefert wirde.

Parameter
[in,out]rsFileNameDer ermittelte Dateiname.
[in,out]rsExtensionDie ermittelte Extension-Bezeichnung.
[in]rFileSystemPathDer Pfad, aus dem die Datei- und Extension-Bezeichnung ermittelt werden soll.

◆ operator=()

EfcApp & EfcApp::operator= ( const EfcApp & )
private

Der Zuweisungsoperator steht nicht zur Verfügung.

◆ showHelp()

void EfcApp::showHelp ( )
private

Zeigt die Befehlssyntax von efc an.

◆ showResult()

void EfcApp::showResult ( int iResultCode,
const std::string & rsCurrentFile )
private

Zeigt an, wie oft ein Austausch stattgefunden hat bzw. wenn ein Fehler aufgetreten ist, eine Fehlermeldung.

Parameter
[in]iResultCodeDer Fehlercode.
[in]rsCurrentFileDie Bezeichnung der aktuell bearbeiteten Datei.

Dokumentation der Datenelemente

◆ m_bSimulate

bool EfcApp::m_bSimulate
private

Wenn true, wird die Verarbeitung nur simuliert, also keine Änderungen gespeichert (Voreinstellung ist 'false').

◆ m_bStopOnError

bool EfcApp::m_bStopOnError
private

Wenn true, wird bei Fehlern die Verarbeitung angehalten und auf einen Tastendruck gewartet (Voreinstellung ist 'false').

◆ m_iVerboseMode

int EfcApp::m_iVerboseMode
private

Der Ausgabemodus (Voreinstellung ist 0).

  • 0 -> Nichts anzeigen
  • 1 -> nur gefundene Dateien anzeigen
  • 2 -> alles anzeigen (auch skipped)

◆ m_ParaVector

std::vector<std::wstring> EfcApp::m_ParaVector
private

Ein Vector mit den Parametern.

◆ m_sFileExtensionFilter

std::wstring EfcApp::m_sFileExtensionFilter
private

Der Dateiextension Filter kann auch Platzhalterzeichen ('*' und '?') beinhalten.

◆ m_sFileNameFilter

std::wstring EfcApp::m_sFileNameFilter
private

Der Dateinamen Filter kann auch Platzhalterzeichen ('*' und '?') beinhalten.

◆ m_sLanguage

std::string EfcApp::m_sLanguage
private

Die ermittelte Sprache (Voreinstellung ist "en" für englisch).


Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Datei: