Skip to content

Commit 7f665bf

Browse files
committed
Changed back to core::vector, fixes to generated CArchives
1 parent 9f6bcc2 commit 7f665bf

File tree

10 files changed

+29
-25
lines changed

10 files changed

+29
-25
lines changed

include/nbl/system/CFileArchive.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -105,10 +105,10 @@ class CFileArchive : public IFileArchive
105105
}
106106

107107
protected:
108-
CFileArchive(path&& _defaultAbsolutePath, system::logger_opt_smart_ptr&& logger, std::vector<SFileList::SEntry>* _items) :
108+
CFileArchive(path&& _defaultAbsolutePath, system::logger_opt_smart_ptr&& logger, core::vector<SFileList::SEntry>* _items) :
109109
IFileArchive(std::move(_defaultAbsolutePath),std::move(logger))
110110
{
111-
auto itemsSharedPtr = std::make_shared<std::vector<IFileArchive::SFileList::SEntry>>(std::move(_items));
111+
auto itemsSharedPtr = std::shared_ptr<core::vector<SFileList::SEntry>>(_items);
112112
std::sort(itemsSharedPtr->begin(), itemsSharedPtr->end());
113113
m_items.store(itemsSharedPtr);
114114

include/nbl/system/IFileArchive.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ class NBL_API2 IFileArchive : public core::IReferenceCounted
6565
return pathRelativeToArchive < other.pathRelativeToArchive;
6666
}
6767
};
68-
using refctd_storage_t = std::shared_ptr<const std::vector<SEntry>>;
68+
using refctd_storage_t = std::shared_ptr<const core::vector<SEntry>>;
6969
using range_t = core::SRange<const SEntry>;
7070

7171
inline operator range_t() const { return m_range; }

src/nbl/builtin/template/CArchive.cpp.in

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,12 @@
33

44
using namespace @_NAMESPACE_@;
55

6-
static const auto k_builtinArchiveFileList = std::make_shared<const nbl::core::vector<nbl::system::IFileArchive::SListEntry>>(nbl::core::vector<nbl::system::IFileArchive::SListEntry>{
6+
static const auto k_builtinArchiveFileList = std::make_shared<const nbl::core::vector<nbl::system::IFileArchive::SFileList::SEntry>>(nbl::core::vector<nbl::system::IFileArchive::SFileList::SEntry>{
77
@_RESOURCES_INIT_LIST_@
88
});
99

1010
CArchive::CArchive(nbl::system::logger_opt_smart_ptr&& logger)
11-
: nbl::system::CFileArchive(nbl::system::path(pathPrefix.data()),std::move(logger), *const_cast<nbl::core::vector<nbl::system::IFileArchive::SListEntry>*>(k_builtinArchiveFileList.get()))
11+
: nbl::system::CFileArchive(nbl::system::path(pathPrefix.data()),std::move(logger), const_cast<nbl::core::vector<nbl::system::IFileArchive::SFileList::SEntry>*>(k_builtinArchiveFileList.get()))
1212
{
1313

1414
}

src/nbl/builtin/template/CArchive.h.in

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ namespace @_NAMESPACE_@
1515
CArchive(nbl::system::logger_opt_smart_ptr&& logger);
1616

1717
protected:
18-
file_buffer_t getFileBuffer(const nbl::system::IFileArchive::SListEntry* item) override
18+
file_buffer_t getFileBuffer(const nbl::system::IFileArchive::SFileList::SEntry* item) override
1919
{
2020
auto found = get_resource_runtime(item->pathRelativeToArchive.string());
2121
return { const_cast<uint8_t*>(found.first), found.second, nullptr };

src/nbl/system/CAPKResourcesArchive.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ CAPKResourcesArchive::CAPKResourcesArchive(const path& _path, system::logger_opt
1212
{
1313
}
1414

15-
std::vector<IFileArchive::SFileList::SEntry> CAPKResourcesArchive::computeItems(const std::string& asset_path, ANativeActivity* activity, JNIEnv* jniEnv)
15+
core::vector<IFileArchive::SFileList::SEntry> CAPKResourcesArchive::computeItems(const std::string& asset_path, ANativeActivity* activity, JNIEnv* jniEnv)
1616
{
1717
auto context_object = activity->clazz;
1818
auto getAssets_method = jniEnv->GetMethodID(jniEnv->GetObjectClass(context_object), "getAssets", "()Landroid/content/res/AssetManager;");
@@ -27,7 +27,7 @@ std::vector<IFileArchive::SFileList::SEntry> CAPKResourcesArchive::computeItems(
2727

2828
auto length = jniEnv->GetArrayLength(files_object);
2929

30-
std::vector<IFileArchive::SFileList::SEntry> result;
30+
core::vector<IFileArchive::SFileList::SEntry> result;
3131
for (decltype(length) i=0; i<length; i++)
3232
{
3333
jstring jstr = (jstring)jniEnv->GetObjectArrayElement(files_object,i);

src/nbl/system/CArchiveLoaderTar.cpp

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ core::smart_refctd_ptr<IFileArchive> CArchiveLoaderTar::createArchive_impl(core:
9898
if (!file || !(file->getFlags()&IFileBase::ECF_MAPPABLE))
9999
return nullptr;
100100

101-
std::vector<IFileArchive::SFileList::SEntry> items;
101+
core::vector<IFileArchive::SFileList::SEntry>* items = new core::vector<IFileArchive::SFileList::SEntry>();
102102
for (size_t pos=0ull; true; )
103103
{
104104
STarHeader fHead;
@@ -158,11 +158,11 @@ core::smart_refctd_ptr<IFileArchive> CArchiveLoaderTar::createArchive_impl(core:
158158
pos = offset + core::roundUp(size,BlockSize);
159159

160160
// add file to list
161-
auto& item = items.emplace_back();
161+
auto& item = items->emplace_back();
162162
item.pathRelativeToArchive = fullPath;
163163
item.size = size;
164164
item.offset = offset;
165-
item.ID = items.size()-1u;
165+
item.ID = items->size()-1u;
166166
item.allocatorType = IFileArchive::EAT_NULL;
167167
break;
168168
}
@@ -173,8 +173,8 @@ core::smart_refctd_ptr<IFileArchive> CArchiveLoaderTar::createArchive_impl(core:
173173
break;
174174
}
175175
}
176-
if (items.empty())
176+
if (items->empty())
177177
return nullptr;
178178

179-
return core::make_smart_refctd_ptr<CArchive>(std::move(file),core::smart_refctd_ptr(m_logger.get()),std::move(items));
179+
return core::make_smart_refctd_ptr<CArchive>(std::move(file),core::smart_refctd_ptr(m_logger.get()),items);
180180
}

src/nbl/system/CArchiveLoaderTar.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@ class CArchiveLoaderTar final : public IArchiveLoader
1414
class CArchive final : public CFileArchive
1515
{
1616
public:
17-
CArchive(core::smart_refctd_ptr<IFile>&& _file, system::logger_opt_smart_ptr&& logger, std::vector<SFileList::SEntry>&& _items) :
18-
CFileArchive(path(_file->getFileName()),std::move(logger),std::move(_items)), m_file(std::move(_file)) {}
17+
CArchive(core::smart_refctd_ptr<IFile>&& _file, system::logger_opt_smart_ptr&& logger, core::vector<SFileList::SEntry>* _items) :
18+
CFileArchive(path(_file->getFileName()),std::move(logger),_items), m_file(std::move(_file)) {}
1919

2020
protected:
2121
file_buffer_t getFileBuffer(const IFileArchive::SFileList::SEntry* item) override;

src/nbl/system/CArchiveLoaderZip.cpp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,7 @@ core::smart_refctd_ptr<IFileArchive> CArchiveLoaderZip::createArchive_impl(core:
106106
return nullptr;
107107
}
108108

109-
std::vector<IFileArchive::SFileList::SEntry> items;
109+
core::vector<IFileArchive::SFileList::SEntry>* items = new core::vector<IFileArchive::SFileList::SEntry>();
110110
core::vector<SZIPFileHeader> itemsMetadata;
111111
// load file entries
112112
{
@@ -119,7 +119,7 @@ core::smart_refctd_ptr<IFileArchive> CArchiveLoaderZip::createArchive_impl(core:
119119
if (_path.empty())
120120
return;
121121

122-
auto& item = items.emplace_back();
122+
auto& item = items->emplace_back();
123123
item.pathRelativeToArchive = _path;
124124
item.size = meta.DataDescriptor.UncompressedSize;
125125
item.offset = offset;
@@ -316,7 +316,7 @@ core::smart_refctd_ptr<IFileArchive> CArchiveLoaderZip::createArchive_impl(core:
316316
if (!success)
317317
return nullptr;
318318
}
319-
items.reserve(dirEnd.TotalEntries);
319+
items->reserve(dirEnd.TotalEntries);
320320
itemsMetadata.reserve(dirEnd.TotalEntries);
321321
offset = dirEnd.Offset;
322322
#if 0
@@ -333,11 +333,11 @@ core::smart_refctd_ptr<IFileArchive> CArchiveLoaderZip::createArchive_impl(core:
333333
}
334334
}
335335

336-
assert(items.size()==itemsMetadata.size());
337-
if (items.empty())
336+
assert(items->size()==itemsMetadata.size());
337+
if (items->empty())
338338
return nullptr;
339339

340-
return core::make_smart_refctd_ptr<CArchive>(std::move(file),core::smart_refctd_ptr(m_logger.get()),std::move(items),std::move(itemsMetadata));
340+
return core::make_smart_refctd_ptr<CArchive>(std::move(file),core::smart_refctd_ptr(m_logger.get()),items,std::move(itemsMetadata));
341341
}
342342

343343
#if 0

src/nbl/system/CArchiveLoaderZip.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,9 +39,9 @@ class CArchiveLoaderZip final : public IArchiveLoader
3939
CArchive(
4040
core::smart_refctd_ptr<IFile>&& _file,
4141
system::logger_opt_smart_ptr&& logger,
42-
std::vector<SFileList::SEntry>&& _items,
42+
core::vector<SFileList::SEntry>* _items,
4343
core::vector<SZIPFileHeader>&& _itemsMetadata
44-
) : CFileArchive(path(_file->getFileName()),std::move(logger),std::move(_items)),
44+
) : CFileArchive(path(_file->getFileName()),std::move(logger),_items),
4545
m_file(std::move(_file)), m_itemsMetadata(std::move(_itemsMetadata)), m_password("")
4646
{}
4747

src/nbl/system/CMountDirectoryArchive.h

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
#ifndef _NBL_SYSTEM_C_MOUNT_DIRECTORY_ARCHIVE_H_INCLUDED_
2+
#define _NBL_SYSTEM_C_MOUNT_DIRECTORY_ARCHIVE_H_INCLUDED_
3+
14
#include "nbl/system/IFileArchive.h"
25

36
#include "nbl/system/IFile.h"
@@ -42,7 +45,7 @@ class CMountDirectoryArchive : public IFileArchive
4245

4346
void populateItemList(const path& p) const {
4447
auto items = m_system->listItemsInDirectory(m_defaultAbsolutePath/p);
45-
auto new_entries = std::make_shared<std::vector<SFileList::SEntry>>();
48+
auto new_entries = std::make_shared<core::vector<SFileList::SEntry>>();
4649
for (auto item : items)
4750
{
4851
if (item.has_extension())
@@ -56,4 +59,5 @@ class CMountDirectoryArchive : public IFileArchive
5659
}
5760
};
5861

59-
} //namespace nbl::system
62+
} //namespace nbl::system
63+
#endif

0 commit comments

Comments
 (0)