/*
* PROJECT: ReactOS cabinet manager
* LICENSE: GPL-2.0+ (https://spdx.org/licenses/GPL-2.0+)
- * PURPOSE: CCFDATAStorage class implementation for Linux/Unix
+ * PURPOSE: CCFDATAStorage class implementation
* COPYRIGHT: Copyright 2017 Casper S. Hornstrup (chorns@users.sourceforge.net)
* Copyright 2017 Colin Finck <mail@colinfinck.de>
- * Copyright 2018 Dmitry Bagdanov <dimbo_job@mail.ru>
+ * Copyright 2018 Dmitry Bagdanov <dimbo_job@mail.ru>
*/
#include <stdio.h>
#include <stdlib.h>
#include <dirent.h>
#endif
-#include "cabinet.h"
+#include "CCFDATAStorage.h"
#include "raw.h"
#include "mszip.h"
--- /dev/null
+/*
+ * COPYRIGHT: See COPYING in the top level directory
+ * PROJECT: ReactOS cabinet manager
+ * FILE: tools/cabman/cabman.h
+ * PURPOSE: Cabinet manager header
+ */
+
+#pragma once
+
+#include "cabinet.h"
+
+#ifndef CAB_READ_ONLY
+
+class CCFDATAStorage
+{
+public:
+ /* Default constructor */
+ CCFDATAStorage();
+ /* Default destructor */
+ virtual ~CCFDATAStorage();
+ ULONG Create();
+ ULONG Destroy();
+ ULONG Truncate();
+ ULONG Position();
+ ULONG Seek(LONG Position);
+ ULONG ReadBlock(PCFDATA Data, void* Buffer, PULONG BytesRead);
+ ULONG WriteBlock(PCFDATA Data, void* Buffer, PULONG BytesWritten);
+private:
+ char FullName[PATH_MAX];
+ FILE* FileHandle;
+};
+
+#endif /* CAB_READ_ONLY */
+
mszip.h
raw.cxx
raw.h
- CCFDATAStorage.cxx)
+ CCFDATAStorage.cxx
+ CCFDATAStorage.h)
add_host_tool(cabman ${SOURCE})
target_link_libraries(cabman PRIVATE host_includes zlibhost)
# include <sys/types.h>
#endif
#include "cabinet.h"
+#include "CCFDATAStorage.h"
#include "raw.h"
#include "mszip.h"
/* Classes */
-#ifndef CAB_READ_ONLY
-
-class CCFDATAStorage
-{
-public:
- /* Default constructor */
- CCFDATAStorage();
- /* Default destructor */
- virtual ~CCFDATAStorage();
- ULONG Create();
- ULONG Destroy();
- ULONG Truncate();
- ULONG Position();
- ULONG Seek(LONG Position);
- ULONG ReadBlock(PCFDATA Data, void* Buffer, PULONG BytesRead);
- ULONG WriteBlock(PCFDATA Data, void* Buffer, PULONG BytesWritten);
-private:
- char FullName[PATH_MAX];
- FILE* FileHandle;
-};
-
-#endif /* CAB_READ_ONLY */
-
class CCabinet
{
public:
bool CreateNewDisk;
bool CreateNewFolder;
- CCFDATAStorage *ScratchFile;
+ class CCFDATAStorage *ScratchFile;
FILE* SourceFile;
bool ContinueFile;
ULONG TotalBytesLeft;