Skip to content

Commit

Permalink
Place library in OOCP namespace
Browse files Browse the repository at this point in the history
  • Loading branch information
Werni2A committed Jul 4, 2024
1 parent a88a218 commit ea8bc84
Show file tree
Hide file tree
Showing 195 changed files with 744 additions and 461 deletions.
5 changes: 4 additions & 1 deletion src/CfbfStreamLocation.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,9 @@

namespace fs = std::filesystem;

namespace OOCP
{

class CfbfStreamLocation
{
public:
Expand Down Expand Up @@ -117,5 +120,5 @@ class CfbfStreamLocation
{
return aLhs.get_vector() == aRhs.get_vector();
}

} // namespace OOCP
#endif // CFBFSTREAMLOCATION_HPP
22 changes: 11 additions & 11 deletions src/Container.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@

namespace fs = std::filesystem;

Container::Container(const fs::path& aCfbfContainer, ParserConfig aCfg)
OOCP::Container::Container(const fs::path& aCfbfContainer, ParserConfig aCfg)
: mDb{},
mFileCtr{0U},
mFileErrCtr{0U},
Expand All @@ -63,7 +63,7 @@ Container::Container(const fs::path& aCfbfContainer, ParserConfig aCfg)
mCtx.mLogger.debug(to_string(mCfg));
}

Container::~Container()
OOCP::Container::~Container()
{
if(!mCfg.mKeepTmpFiles)
{
Expand All @@ -74,7 +74,7 @@ Container::~Container()
}
}

void Container::parseDatabaseFileThread(std::deque<std::shared_ptr<Stream>> aStreamList)
void OOCP::Container::parseDatabaseFileThread(std::deque<std::shared_ptr<Stream>> aStreamList)
{
for(auto& stream : aStreamList)
{
Expand All @@ -98,9 +98,9 @@ void Container::parseDatabaseFileThread(std::deque<std::shared_ptr<Stream>> aStr

// Equally distribute elements into new lists of pointers to the original elements
void distributeStreamsToThreadJobsForParsing(std::size_t aNumberParallelJobs,
const std::vector<std::shared_ptr<Stream>>& aStreams, //!< Streams to distribute
std::deque<std::shared_ptr<Stream>>& aSequentialJobList,
std::vector<std::deque<std::shared_ptr<Stream>>>& aParallelJobLists)
const std::vector<std::shared_ptr<OOCP::Stream>>& aStreams, //!< Streams to distribute
std::deque<std::shared_ptr<OOCP::Stream>>& aSequentialJobList,
std::vector<std::deque<std::shared_ptr<OOCP::Stream>>>& aParallelJobLists)
{
aSequentialJobList.clear();
aParallelJobLists.clear();
Expand Down Expand Up @@ -139,7 +139,7 @@ void distributeStreamsToThreadJobsForParsing(std::size_t aNumberParallelJobs,
/**
* @brief Parse the whole database file.
*/
void Container::parseDatabaseFile()
void OOCP::Container::parseDatabaseFile()
{
mCtx.mLogger.info("Using {} threads", mCtx.mCfg.mThreadCount);

Expand Down Expand Up @@ -250,7 +250,7 @@ void Container::parseDatabaseFile()
// mCtx.mLogger.info(to_string(mLibrary));
}

fs::path Container::extractContainer(const fs::path& aFile, const fs::path& aOutDir) const
fs::path OOCP::Container::extractContainer(const fs::path& aFile, const fs::path& aOutDir) const
{
ContainerExtractor extractor{aFile};

Expand All @@ -259,18 +259,18 @@ fs::path Container::extractContainer(const fs::path& aFile, const fs::path& aOut
return extractor.extract(aOutDir);
}

fs::path Container::extractContainer(const fs::path& aOutDir) const
fs::path OOCP::Container::extractContainer(const fs::path& aOutDir) const
{
return extractContainer(mCtx.mInputCfbfFile, aOutDir);
}

void Container::printContainerTree() const
void OOCP::Container::printContainerTree() const
{
ContainerExtractor extractor{mCtx.mInputCfbfFile};
extractor.printContainerTree();
}

std::optional<DatabaseType> Container::getDatabaseTypeByFileExtension(const fs::path& aFile) const
std::optional<OOCP::DatabaseType> OOCP::Container::getDatabaseTypeByFileExtension(const fs::path& aFile) const
{
std::string extension = aFile.extension().string();

Expand Down
3 changes: 3 additions & 0 deletions src/Container.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,8 @@

namespace fs = std::filesystem;

namespace OOCP
{
// @todo rename to DatabaseParser
class Container
{
Expand Down Expand Up @@ -95,5 +97,6 @@ class Container

ParserConfig mCfg;
};
} // namespace OOCP

#endif // CONTAINER_HPP
6 changes: 3 additions & 3 deletions src/ContainerContext.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ class Database;

namespace fs = std::filesystem;

ContainerContext::ContainerContext(
OOCP::ContainerContext::ContainerContext(
const fs::path& aInputCfbfFile, const fs::path& aExtractedCfbfPath, ParserConfig aCfg, Database& aDb)
: mDb{aDb},
mLogger{"tmp"}
Expand All @@ -33,7 +33,7 @@ ContainerContext::ContainerContext(
configureLogger(logPath);
}

ContainerContext::ContainerContext(const ContainerContext& aCtx)
OOCP::ContainerContext::ContainerContext(const ContainerContext& aCtx)
: mDb{aCtx.mDb},
mLogger{"tmp"}
{
Expand All @@ -44,7 +44,7 @@ ContainerContext::ContainerContext(const ContainerContext& aCtx)
mLogLevel = aCtx.mLogLevel;
}

void ContainerContext::configureLogger(const fs::path& aLogPath)
void OOCP::ContainerContext::configureLogger(const fs::path& aLogPath)
{
if(aLogPath.has_parent_path())
{
Expand Down
7 changes: 5 additions & 2 deletions src/ContainerContext.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,12 @@
// #include "Database.hpp"
#include "General.hpp"

class Database;

namespace fs = std::filesystem;

namespace OOCP
{
class Database;

struct ParserConfig
{
std::size_t mThreadCount{
Expand Down Expand Up @@ -67,5 +69,6 @@ class ContainerContext
spdlog::level::level_enum mLogLevel;
spdlog::logger mLogger;
};
} // namespace OOCP

#endif // CONTAINERCONTEXT_HPP
18 changes: 10 additions & 8 deletions src/ContainerExtractor.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,9 @@

namespace fs = std::filesystem;

ContainerExtractor::ContainerExtractor(const fs::path& aContainer)
using namespace OOCP;

OOCP::ContainerExtractor::ContainerExtractor(const fs::path& aContainer)
{
mContainer = aContainer;

Expand Down Expand Up @@ -50,7 +52,7 @@ ContainerExtractor::ContainerExtractor(const fs::path& aContainer)
// mReader->GetFileInfo();
}

void ContainerExtractor::outputFileInfo() const
void OOCP::ContainerExtractor::outputFileInfo() const
{
const CFB::COMPOUND_FILE_HDR* hdr = mReader->GetFileInfo();
std::clog << "file version: " << hdr->majorVersion << "." << hdr->minorVersion << std::endl
Expand All @@ -75,7 +77,7 @@ void ContainerExtractor::outputEntryInfo(const CFB::COMPOUND_FILE_ENTRY* aEntry)
<< "size: " << aEntry->size << std::endl;
}

std::vector<const CFB::COMPOUND_FILE_ENTRY*> ContainerExtractor::getSiblings(
std::vector<const CFB::COMPOUND_FILE_ENTRY*> OOCP::ContainerExtractor::getSiblings(
const CFB::COMPOUND_FILE_ENTRY* aChild) const
{
std::vector<const CFB::COMPOUND_FILE_ENTRY*> siblings;
Expand All @@ -98,7 +100,7 @@ std::vector<const CFB::COMPOUND_FILE_ENTRY*> ContainerExtractor::getSiblings(
return siblings;
}

const CFB::COMPOUND_FILE_ENTRY* ContainerExtractor::getParent(const CFB::COMPOUND_FILE_ENTRY* aChild) const
const CFB::COMPOUND_FILE_ENTRY* OOCP::ContainerExtractor::getParent(const CFB::COMPOUND_FILE_ENTRY* aChild) const
{
if(aChild == mReader->GetRootEntry() || aChild == nullptr)
{
Expand All @@ -125,7 +127,7 @@ const CFB::COMPOUND_FILE_ENTRY* ContainerExtractor::getParent(const CFB::COMPOUN
return parent;
}

void ContainerExtractor::printContainerTree() const
void OOCP::ContainerExtractor::printContainerTree() const
{
mReader->EnumFiles(mReader->GetRootEntry(), -1,
[&](const CFB::COMPOUND_FILE_ENTRY* entry, const CFB::utf16string& /* dir */, int level) -> void
Expand Down Expand Up @@ -154,7 +156,7 @@ void ContainerExtractor::printContainerTree() const
});
}

std::string ContainerExtractor::getInternalPath(const CFB::COMPOUND_FILE_ENTRY* aEntry) const
std::string OOCP::ContainerExtractor::getInternalPath(const CFB::COMPOUND_FILE_ENTRY* aEntry) const
{
if(aEntry == nullptr)
{
Expand All @@ -179,7 +181,7 @@ std::string ContainerExtractor::getInternalPath(const CFB::COMPOUND_FILE_ENTRY*
return internalPath;
}

fs::path ContainerExtractor::extract(const fs::path& aOutputDir)
fs::path OOCP::ContainerExtractor::extract(const fs::path& aOutputDir)
{
const fs::path baseOutputDir = aOutputDir / mContainer.filename();

Expand Down Expand Up @@ -247,7 +249,7 @@ fs::path ContainerExtractor::extract(const fs::path& aOutputDir)
return baseOutputDir;
}

void ContainerExtractor::dumpBuffer(const fs::path& aPath, const void* aBuffer, size_t aLen)
void OOCP::ContainerExtractor::dumpBuffer(const fs::path& aPath, const void* aBuffer, size_t aLen)
{
FILE* fp = std::fopen(aPath.string().c_str(), "wb");

Expand Down
3 changes: 3 additions & 0 deletions src/ContainerExtractor.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,8 @@

namespace fs = std::filesystem;

namespace OOCP
{
class ContainerExtractor
{

Expand Down Expand Up @@ -96,5 +98,6 @@ class ContainerExtractor
std::unique_ptr<uint8_t[]> mBuffer; //!< Contains the content of the container
size_t mBufferLen; //!< Container length
};
} // namespace OOCP

#endif // CONTAINEREXTRACTOR_HPP
22 changes: 11 additions & 11 deletions src/DataStream.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,12 @@
#include "General.hpp"
#include "StreamContext.hpp"

void DataStream::discardBytes(size_t aLen)
void OOCP::DataStream::discardBytes(size_t aLen)
{
seekg(aLen, std::ios_base::cur);
}

std::vector<uint8_t> DataStream::readBytes(size_t aLen)
std::vector<uint8_t> OOCP::DataStream::readBytes(size_t aLen)
{
std::vector<uint8_t> data;
data.resize(aLen);
Expand All @@ -28,7 +28,7 @@ std::vector<uint8_t> DataStream::readBytes(size_t aLen)
return data;
}

std::string DataStream::readStringZeroTerm()
std::string OOCP::DataStream::readStringZeroTerm()
{
std::string str;

Expand Down Expand Up @@ -67,7 +67,7 @@ std::string DataStream::readStringZeroTerm()
return str;
}

std::string DataStream::readStringLenTerm()
std::string OOCP::DataStream::readStringLenTerm()
{
const uint16_t len = readUint16();

Expand Down Expand Up @@ -111,7 +111,7 @@ std::string DataStream::readStringLenTerm()
return str;
}

std::string DataStream::readStringLenZeroTerm()
std::string OOCP::DataStream::readStringLenZeroTerm()
{
const uint16_t len = readUint16();

Expand All @@ -132,7 +132,7 @@ std::string DataStream::readStringLenZeroTerm()
return str;
}

void DataStream::printUnknownData(size_t aLen, const std::string& aComment)
void OOCP::DataStream::printUnknownData(size_t aLen, const std::string& aComment)
{
const auto data = readBytes(aLen);

Expand All @@ -143,7 +143,7 @@ void DataStream::printUnknownData(size_t aLen, const std::string& aComment)
}
}

void DataStream::padRest(size_t aStartOffset, size_t aBlockSize, bool aPadIsZero)
void OOCP::DataStream::padRest(size_t aStartOffset, size_t aBlockSize, bool aPadIsZero)
{
const size_t currOffset = getCurrentOffset();
const size_t offsetDiff = currOffset - aStartOffset;
Expand Down Expand Up @@ -183,17 +183,17 @@ void DataStream::padRest(size_t aStartOffset, size_t aBlockSize, bool aPadIsZero
}
}

std::string DataStream::getCurrentOffsetStrMsg()
std::string OOCP::DataStream::getCurrentOffsetStrMsg()
{
return fmt::format("Offset at 0x{:08x}", getCurrentOffset());
}

void DataStream::printData(const std::vector<uint8_t>& aData)
void OOCP::DataStream::printData(const std::vector<uint8_t>& aData)
{
mCtx.mLogger.info(dataToStr(aData));
}

std::string DataStream::dataToStr(const std::vector<uint8_t>& aData)
std::string OOCP::DataStream::dataToStr(const std::vector<uint8_t>& aData)
{
const unsigned int line_width = 16u;
const std::string hex_spacing = " ";
Expand Down Expand Up @@ -244,7 +244,7 @@ std::string DataStream::dataToStr(const std::vector<uint8_t>& aData)
return output;
}

void DataStream::assumeData(const std::vector<uint8_t>& aExpectedData, const std::string& aComment)
void OOCP::DataStream::assumeData(const std::vector<uint8_t>& aExpectedData, const std::string& aComment)
{
const std::vector<uint8_t> data = readBytes(aExpectedData.size());

Expand Down
8 changes: 5 additions & 3 deletions src/DataStream.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -16,12 +16,14 @@
#include "Enums/Structure.hpp"
#include "General.hpp"

namespace fs = std::filesystem;

namespace OOCP
{
class FutureDataLst;
class Record;
class StreamContext;

namespace fs = std::filesystem;

class DataStream : public std::ifstream
{
public:
Expand Down Expand Up @@ -216,5 +218,5 @@ class DataStream : public std::ifstream

StreamContext& mCtx;
};

} // namespace OOCP
#endif // DATASTREAM_HPP
4 changes: 3 additions & 1 deletion src/Database.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@
#include "Enums/StreamType.hpp"
#include "Stream.hpp"

namespace OOCP
{
class Database
{
public:
Expand Down Expand Up @@ -56,5 +58,5 @@ class Database

return aOs;
}

} // namespace OOCP
#endif // DATABASE_HPP
Loading

0 comments on commit ea8bc84

Please sign in to comment.