summaryrefslogtreecommitdiff
path: root/FreeFileSync.h
diff options
context:
space:
mode:
authorDaniel Wilhelm <daniel@wili.li>2014-04-18 16:57:45 +0200
committerDaniel Wilhelm <daniel@wili.li>2014-04-18 16:57:45 +0200
commit2a3ebac62eb6dd88122c0f447ea90ce368373d3a (patch)
treefae5c18deaecfb6f39d4d66dd3de8ce730b2025b /FreeFileSync.h
parent1.17 (diff)
downloadFreeFileSync-2a3ebac62eb6dd88122c0f447ea90ce368373d3a.tar.gz
FreeFileSync-2a3ebac62eb6dd88122c0f447ea90ce368373d3a.tar.bz2
FreeFileSync-2a3ebac62eb6dd88122c0f447ea90ce368373d3a.zip
1.18
Diffstat (limited to 'FreeFileSync.h')
-rw-r--r--FreeFileSync.h155
1 files changed, 0 insertions, 155 deletions
diff --git a/FreeFileSync.h b/FreeFileSync.h
deleted file mode 100644
index a15be076..00000000
--- a/FreeFileSync.h
+++ /dev/null
@@ -1,155 +0,0 @@
-#ifndef FREEFILESYNC_H_INCLUDED
-#define FREEFILESYNC_H_INCLUDED
-
-#include <wx/string.h>
-#include <set>
-#include <vector>
-#include "library/fileHandling.h"
-#include "library/zstring.h"
-
-namespace FreeFileSync
-{
- enum CompareVariant
- {
- CMP_BY_CONTENT,
- CMP_BY_TIME_SIZE
- };
-
-
- struct SyncConfiguration
- {
- SyncConfiguration() :
- exLeftSideOnly(SYNC_DIR_RIGHT),
- exRightSideOnly(SYNC_DIR_RIGHT),
- leftNewer(SYNC_DIR_RIGHT),
- rightNewer(SYNC_DIR_RIGHT),
- different(SYNC_DIR_RIGHT) {}
-
- enum Direction
- {
- SYNC_DIR_LEFT,
- SYNC_DIR_RIGHT,
- SYNC_DIR_NONE
- };
-
- Direction exLeftSideOnly;
- Direction exRightSideOnly;
- Direction leftNewer;
- Direction rightNewer;
- Direction different;
- };
-
-
- struct MainConfiguration
- {
- MainConfiguration() :
- compareVar(CMP_BY_TIME_SIZE),
- filterIsActive(false), //do not filter by default
- includeFilter(wxT("*")), //include all files/folders
- excludeFilter(wxEmptyString), //exclude nothing
- useRecycleBin(FreeFileSync::recycleBinExists()) {} //enable if OS supports it; else user will have to activate first and then get an error message
-
- //Compare setting
- CompareVariant compareVar;
-
- //Synchronisation settings
- SyncConfiguration syncConfiguration;
-
- //Filter setting
- bool filterIsActive;
- wxString includeFilter;
- wxString excludeFilter;
-
- //misc options
- bool useRecycleBin; //use Recycle bin when deleting or overwriting files while synchronizing
- };
-
-
- struct FileDescrLine
- {
- FileDescrLine() : objType(TYPE_NOTHING) {}
-
- enum ObjectType
- {
- TYPE_NOTHING,
- TYPE_DIRECTORY,
- TYPE_FILE
- };
-
- Zstring fullName; // == directory + relativeName
- Zstring directory; //directory to be synced + separator
- Zsubstr relativeName; //fullName without directory that is being synchronized
- //Note on performance: Keep redundant information "directory" and "relativeName"!
- //Extracting info from "fullName" instead would result in noticeable performance loss, with only limited memory reduction (note ref. counting strings)!
- wxLongLong lastWriteTimeRaw; //number of seconds since Jan. 1st 1970 UTC, same semantics like time_t (== signed long)
- wxULongLong fileSize;
- ObjectType objType; //is it a file or directory or initial?
-
- //the following operators are needed by template class "set"
- //DO NOT CHANGE THESE RELATIONS!!!
- bool operator < (const FileDescrLine& b) const
- {
- //quick check based on string length: we are not interested in a lexicographical order!
- const size_t aLength = relativeName.length();
- const size_t bLength = b.relativeName.length();
- if (aLength != bLength)
- return aLength < bLength;
-#ifdef FFS_WIN //Windows does NOT distinguish between upper/lower-case
- return FreeFileSync::compareStringsWin32(relativeName.c_str(), b.relativeName.c_str()) < 0; //implementing a (reverse) comparison manually is a lot slower!
-#elif defined FFS_LINUX //Linux DOES distinguish between upper/lower-case
- return defaultCompare(relativeName.c_str(), b.relativeName.c_str()) < 0;
-#endif
- }
- };
- typedef std::vector<FileDescrLine> DirectoryDescrType;
-
-
- enum CompareFilesResult
- {
- FILE_LEFT_SIDE_ONLY,
- FILE_RIGHT_SIDE_ONLY,
- FILE_LEFT_NEWER,
- FILE_RIGHT_NEWER,
- FILE_DIFFERENT,
- FILE_EQUAL,
-
- FILE_UNDEFINED
- };
-
-
- struct FileCompareLine
- {
- FileCompareLine() : selectedForSynchronization(true) {}
-
- FileDescrLine fileDescrLeft;
- FileDescrLine fileDescrRight;
-
- CompareFilesResult cmpResult;
- bool selectedForSynchronization;
- };
- typedef std::vector<FileCompareLine> FileCompareResult;
-
-
- typedef int GridViewLine;
- typedef std::vector<GridViewLine> GridView; //vector of references to lines in FileCompareResult
-
-
- struct FolderPair
- {
- Zstring leftDirectory;
- Zstring rightDirectory;
- };
-
-
- class AbortThisProcess //Exception class used to abort the "compare" and "sync" process
- {
- public:
- AbortThisProcess() {}
- ~AbortThisProcess() {}
- };
-
- const wxString LAST_CONFIG_FILE = wxT("LastRun.ffs_gui");
- const wxString GLOBAL_CONFIG_FILE = wxT("GlobalSettings.xml");
-}
-
-#endif // FREEFILESYNC_H_INCLUDED
bgstack15