58 lines
1.4 KiB
C
58 lines
1.4 KiB
C
#ifndef _FILENODECMP_H_
|
|
#define _FILENODECMP_H_
|
|
|
|
#include "filenode.h"
|
|
|
|
typedef enum {
|
|
ActionFileCmp_Nothing,
|
|
ActionFileCmp_LeftToRight,
|
|
ActionFileCmp_RightToLeft,
|
|
ActionFileCmp_DeleteLeft,
|
|
ActionFileCmp_DeleteRight,
|
|
ActionFileCmp_DateLeftToRight,
|
|
ActionFileCmp_DateRightToLeft,
|
|
ActionFileCmp_MakeRightDirectory,
|
|
ActionFileCmp_MakeLeftDirectory
|
|
} ActionFileCmp;
|
|
|
|
typedef struct TActionFileNode TActionFileNode, *ActionFileNode;
|
|
struct TActionFileNode {
|
|
ActionFileCmp action;
|
|
FileNode left;
|
|
FileNode right;
|
|
ActionFileNode next;
|
|
};
|
|
|
|
ActionFileNode ActionFileNode_Create();
|
|
void AccionFileNode_Destroy(ActionFileNode actionFileNode);
|
|
ActionFileNode ActionFileNode_CreateNormal(FileNode fileNodeLeft,
|
|
FileNode fileNodeRight);
|
|
|
|
ActionFileNode ActionFileNode_BuildSync(FileNode fileNodeLeft,
|
|
FileNode fileNodeRight);
|
|
ActionFileNode ActionFileNode_BuildCopy(FileNode fileNodeLeft,
|
|
FileNode fileNodeRight);
|
|
|
|
typedef struct SActionQueueStatistics {
|
|
long long readLeft;
|
|
long long writeLeft;
|
|
long long readRight;
|
|
long long writeRight;
|
|
int fullCopyCount;
|
|
int dateCopyCount;
|
|
int directoryCount;
|
|
int deleteCount;
|
|
long long deleteLeft;
|
|
long long deleteRight;
|
|
} ActionQueueStatistics;
|
|
|
|
void ActionFileNode_Statistics(ActionFileNode actionFileNode,
|
|
ActionQueueStatistics *statistics);
|
|
|
|
void ActionFileNode_Print(ActionFileNode actionFileNode);
|
|
|
|
void ActionFileNode_RunList(ActionFileNode actionFileNode, char *pathLeft,
|
|
char *pathRight);
|
|
|
|
#endif
|