Skip to content

Commit 4f50af5

Browse files
committed
Removed ${bin2cpp_file_object_file_name_impl} and ${bin2cpp_file_object_file_path_impl} template variables which were way too much complicated and provided poor improvement. Replaced by ${bin2cpp_file_object_file_name} and ${bin2cpp_file_object_file_path} which are much simpler. Inspired by c generated code.
1 parent fb2d3fc commit 4f50af5

File tree

8 files changed

+16
-87
lines changed

8 files changed

+16
-87
lines changed

TODO.txt

Lines changed: 0 additions & 3 deletions
This file was deleted.

src/bin2cpp/ArrayGenerator.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -68,8 +68,8 @@ namespace bin2cpp
6868
" ${bin2cpp_classname}() {}\n"
6969
" virtual ~${bin2cpp_classname}() {}\n"
7070
" virtual size_t getSize() const { return ${bin2cpp_input_file_size}; }\n"
71-
" virtual const char * getFileName() const { ${bin2cpp_file_object_file_name_impl} }\n"
72-
" virtual const char * getFilePath() const { ${bin2cpp_file_object_file_path_impl} }\n"
71+
" virtual const char * getFileName() const { return \"${bin2cpp_file_object_file_name}\"; }\n"
72+
" virtual const char * getFilePath() const { return \"${bin2cpp_file_object_file_path}\"; }\n"
7373
" virtual const char * getBuffer() const\n"
7474
" {\n"
7575
" static const unsigned char buffer[] = {\n${bin2cpp_insert_input_file_as_code}" // INPUT FILE AS CODE HERE

src/bin2cpp/BaseGenerator.cpp

Lines changed: 0 additions & 66 deletions
Original file line numberDiff line numberDiff line change
@@ -68,9 +68,7 @@ namespace bin2cpp
6868
if ( name == "bin2cpp_file_manager_file_header" ) { output = getHeaderTemplate(false); return true; }
6969
if ( name == "bin2cpp_file_manager_header_file_name" ) { output = mContext.managerHeaderFilename; return true; }
7070
if ( name == "bin2cpp_file_manager_macro_guard_prefix" ) { output = getFileManagerMacroGuardPrefix(); return true; }
71-
if ( name == "bin2cpp_file_object_file_name_impl" ) { output = getFileObjectGetFileNameImplementation(); return true; }
7271
if ( name == "bin2cpp_file_object_file_name" ) { output = getFileObjectFileName(); return true; }
73-
if ( name == "bin2cpp_file_object_file_path_impl" ) { output = getFileObjectGetFilePathImplementation(); return true; }
7472
if ( name == "bin2cpp_file_object_file_path" ) { output = getFileObjectFilePath(); return true; }
7573
if ( name == "bin2cpp_file_object_getter_function_name" ) { output = getFileObjectGetterFunctionName(); return true; }
7674
if ( name == "bin2cpp_file_object_macro_guard_prefix" ) { output = getClassMacroGuardPrefix(); return true; }
@@ -300,70 +298,6 @@ namespace bin2cpp
300298
return output;
301299
}
302300

303-
std::string BaseGenerator::getFileObjectGetFileNameImplementation()
304-
{
305-
std::string output;
306-
307-
std::string inputFileName = ra::filesystem::GetFilename(mContext.inputFilePath.c_str());
308-
309-
//could we report getFileName() as a substring of getFilePath() ?
310-
const char * reported_path = mContext.reportedFilePath.c_str();
311-
if (reported_path != NULL && reported_path[0] != '\0')
312-
{
313-
size_t offset = mContext.reportedFilePath.find(inputFileName);
314-
if (offset != std::string::npos)
315-
{
316-
output = "return &getFilePath()[";
317-
output += ra::strings::ToString(offset);
318-
output += "];";
319-
return output;
320-
}
321-
}
322-
323-
//return default implementation
324-
output = "return \"";
325-
output += inputFileName;
326-
output += "\";";
327-
return output;
328-
}
329-
330-
std::string BaseGenerator::getFileObjectGetFilePathImplementation()
331-
{
332-
std::string output;
333-
334-
//convert mReportedFilePath string to c++
335-
std::string path = mContext.reportedFilePath;
336-
#ifdef _WIN32
337-
//escape backslash characters for c++
338-
static const std::string BACKSLASH = "\\";
339-
static const std::string BACKSLASH_ESCAPED = "\\\\";
340-
ra::strings::Replace(path, BACKSLASH, BACKSLASH_ESCAPED);
341-
#endif
342-
343-
//is there a reported path specified ?
344-
const char * reported_path = mContext.reportedFilePath.c_str();
345-
if (reported_path != NULL && reported_path[0] != '\0')
346-
{
347-
output = "return \"";
348-
output += path;
349-
output += "\";";
350-
return output;
351-
}
352-
else
353-
{
354-
//if reported path is not specified ?
355-
//report the same as getFileName()
356-
output = "return getFileName();";
357-
return output;
358-
}
359-
360-
//return default implementation
361-
output = "return \"";
362-
output += path;
363-
output += "\";";
364-
return output;
365-
}
366-
367301
std::string BaseGenerator::getFileObjectFileName()
368302
{
369303
std::string output;

src/bin2cpp/BaseGenerator.h

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -69,8 +69,6 @@ namespace bin2cpp
6969
virtual std::string getClassName();
7070
virtual std::string getClassMacroGuardPrefix();
7171
virtual std::string getFileManagerMacroGuardPrefix();
72-
virtual std::string getFileObjectGetFileNameImplementation();
73-
virtual std::string getFileObjectGetFilePathImplementation();
7472
virtual std::string getFileObjectFileName();
7573
virtual std::string getFileObjectFilePath();
7674
virtual std::string getHeaderFileIncludePath();

src/bin2cpp/SegmentGenerator.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -71,8 +71,8 @@ namespace bin2cpp
7171
" ${bin2cpp_classname}() { build(); }\n"
7272
" virtual ~${bin2cpp_classname}() {}\n"
7373
" virtual size_t getSize() const { return ${bin2cpp_input_file_size}; }\n"
74-
" virtual const char * getFileName() const { ${bin2cpp_file_object_file_name_impl} }\n"
75-
" virtual const char * getFilePath() const { ${bin2cpp_file_object_file_path_impl} }\n"
74+
" virtual const char * getFileName() const { return \"${bin2cpp_file_object_file_name}\"; }\n"
75+
" virtual const char * getFilePath() const { return \"${bin2cpp_file_object_file_path}\"; }\n"
7676
" virtual const char * getBuffer() const { return mBuffer.c_str(); }\n"
7777
" void build()\n"
7878
" {\n"

src/bin2cpp/StringGenerator.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -67,8 +67,8 @@ namespace bin2cpp
6767
" ${bin2cpp_classname}() {}\n"
6868
" virtual ~${bin2cpp_classname}() {}\n"
6969
" virtual size_t getSize() const { return ${bin2cpp_input_file_size}; }\n"
70-
" virtual const char * getFileName() const { ${bin2cpp_file_object_file_name_impl} }\n"
71-
" virtual const char * getFilePath() const { ${bin2cpp_file_object_file_path_impl} }\n"
70+
" virtual const char * getFileName() const { return \"${bin2cpp_file_object_file_name}\"; }\n"
71+
" virtual const char * getFilePath() const { return \"${bin2cpp_file_object_file_path}\"; }\n"
7272
" virtual const char * getBuffer() const\n"
7373
" {\n"
7474
" const char * buffer = \n${bin2cpp_insert_input_file_as_code}" // INPUT FILE AS CODE HERE

src/bin2cpp/Win32ResourceGenerator.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -98,8 +98,8 @@ namespace bin2cpp
9898
" }\n"
9999
" virtual ~${bin2cpp_classname}() { unloadResource(); }\n"
100100
" virtual size_t getSize() const { return mBufferSize; }\n"
101-
" virtual const char * getFileName() const { ${bin2cpp_file_object_file_name_impl} }\n"
102-
" virtual const char * getFilePath() const { ${bin2cpp_file_object_file_path_impl} }\n"
101+
" virtual const char * getFileName() const { return \"${bin2cpp_file_object_file_name}\"; }\n"
102+
" virtual const char * getFilePath() const { return \"${bin2cpp_file_object_file_path}\"; }\n"
103103
" virtual const char * getBuffer() const { return mBuffer; }\n"
104104
" void loadResource()\n"
105105
" {\n"

src/bin2cpp/bin2cpp.samples.txt

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,10 @@ Test all generators:
99
--file=..\..\test\bin2cpp_unittest\generated_files\testHtml100000\testHtml100000.bin --output=..\..\test\bin2cpp_unittest\generated_files\testHtml100000 --headerfile=_testHtml100000_C.h --override --code=c --generator=win32
1010

1111
Test as much features as possible with all generators:
12-
--file=..\..\test\bin2cpp_unittest\generated_files\testHtml100000\testHtml100000.bin --output=..\..\temp --headerfile=c_tim_testHtml100000_array.h --identifier=LibFooFOO --chunksize=75 --baseclass=ben --namespace=ray --managerfile=c_tim_filemanager.h --registerfile --override --code=c --generator=array
13-
--file=..\..\test\bin2cpp_unittest\generated_files\testHtml100000\testHtml100000.bin --output=..\..\temp --headerfile=c_jim_testHtml100000_segment.h --identifier=LibBarBAR --chunksize=75 --baseclass=tom --namespace=eva --managerfile=c_jim_filemanager.h --registerfile --override --code=c --generator=segment
14-
--file=..\..\test\bin2cpp_unittest\generated_files\testHtml100000\testHtml100000.bin --output=..\..\temp --headerfile=c_lou_testHtml100000_string.h --identifier=LibBazBAZ --chunksize=75 --baseclass=sam --namespace=joe --managerfile=c_lou_filemanager.h --registerfile --override --code=c --generator=string
15-
--file=..\..\test\bin2cpp_unittest\generated_files\testHtml100000\testHtml100000.bin --output=..\..\temp --headerfile=c_sue_testHtml100000_win32.h --identifier=LibBobBOB --chunksize=75 --baseclass=leo --namespace=jon --managerfile=c_sue_filemanager.h --registerfile --override --code=c --generator=win32
12+
--file=..\..\test\bin2cpp_unittest\generated_files\testHtml100000\testHtml100000.bin --output=..\..\temp --headerfile=c_tim_testHtml100000_array.h --identifier=LibFooFOO --chunksize=75 --baseclass=ben --namespace=ray --managerfile=c_tim_filemanager.h --registerfile --reportedfilepath=virtual/folder/testHtml100000.bin --override --code=c --generator=array
13+
--file=..\..\test\bin2cpp_unittest\generated_files\testHtml100000\testHtml100000.bin --output=..\..\temp --headerfile=c_jim_testHtml100000_segment.h --identifier=LibBarBAR --chunksize=75 --baseclass=tom --namespace=eva --managerfile=c_jim_filemanager.h --registerfile --reportedfilepath=virtual/folder/testHtml100000.bin --override --code=c --generator=segment
14+
--file=..\..\test\bin2cpp_unittest\generated_files\testHtml100000\testHtml100000.bin --output=..\..\temp --headerfile=c_lou_testHtml100000_string.h --identifier=LibBazBAZ --chunksize=75 --baseclass=sam --namespace=joe --managerfile=c_lou_filemanager.h --registerfile --reportedfilepath=virtual/folder/testHtml100000.bin --override --code=c --generator=string
15+
--file=..\..\test\bin2cpp_unittest\generated_files\testHtml100000\testHtml100000.bin --output=..\..\temp --headerfile=c_sue_testHtml100000_win32.h --identifier=LibBobBOB --chunksize=75 --baseclass=leo --namespace=jon --managerfile=c_sue_filemanager.h --registerfile --reportedfilepath=virtual/folder/testHtml100000.bin --override --code=c --generator=win32
1616

1717
Test for:
1818
* Segment C generator
@@ -51,10 +51,10 @@ Compare all generators:
5151
--file=..\..\test\bin2cpp_unittest\generated_files\testGeneratorSegment10000\testGeneratorSegment10000.bin --output=..\..\temp --headerfile=cpp_sue_testHtml100000_win32.h --identifier=LibWin32 --chunksize=75 --registerfile --override --generator=win32
5252

5353
Test as much features as possible with all generators:
54-
--file=..\..\test\bin2cpp_unittest\generated_files\testHtml100000\testHtml100000.bin --output=..\..\temp --headerfile=cpp_tim_testHtml100000_array.h --identifier=LibFooFOO --chunksize=75 --baseclass=ben --namespace=ray --managerfile=cpp_tim_filemanager.h --registerfile --override --code=cpp --generator=array
55-
--file=..\..\test\bin2cpp_unittest\generated_files\testHtml100000\testHtml100000.bin --output=..\..\temp --headerfile=cpp_jim_testHtml100000_segment.h --identifier=LibBarBAR --chunksize=75 --baseclass=tom --namespace=eva --managerfile=cpp_jim_filemanager.h --registerfile --override --code=cpp --generator=segment
56-
--file=..\..\test\bin2cpp_unittest\generated_files\testHtml100000\testHtml100000.bin --output=..\..\temp --headerfile=cpp_lou_testHtml100000_string.h --identifier=LibBazBAZ --chunksize=75 --baseclass=sam --namespace=joe --managerfile=cpp_lou_filemanager.h --registerfile --override --code=cpp --generator=string
57-
--file=..\..\test\bin2cpp_unittest\generated_files\testHtml100000\testHtml100000.bin --output=..\..\temp --headerfile=cpp_sue_testHtml100000_win32.h --identifier=LibBobBOB --chunksize=75 --baseclass=leo --namespace=jon --managerfile=cpp_sue_filemanager.h --registerfile --override --code=cpp --generator=win32
54+
--file=..\..\test\bin2cpp_unittest\generated_files\testHtml100000\testHtml100000.bin --output=..\..\temp --headerfile=cpp_tim_testHtml100000_array.h --identifier=LibFooFOO --chunksize=75 --baseclass=ben --namespace=ray --managerfile=cpp_tim_filemanager.h --registerfile --reportedfilepath=virtual/folder/testHtml100000.bin --override --code=cpp --generator=array
55+
--file=..\..\test\bin2cpp_unittest\generated_files\testHtml100000\testHtml100000.bin --output=..\..\temp --headerfile=cpp_jim_testHtml100000_segment.h --identifier=LibBarBAR --chunksize=75 --baseclass=tom --namespace=eva --managerfile=cpp_jim_filemanager.h --registerfile --reportedfilepath=virtual/folder/testHtml100000.bin --override --code=cpp --generator=segment
56+
--file=..\..\test\bin2cpp_unittest\generated_files\testHtml100000\testHtml100000.bin --output=..\..\temp --headerfile=cpp_lou_testHtml100000_string.h --identifier=LibBazBAZ --chunksize=75 --baseclass=sam --namespace=joe --managerfile=cpp_lou_filemanager.h --registerfile --reportedfilepath=virtual/folder/testHtml100000.bin --override --code=cpp --generator=string
57+
--file=..\..\test\bin2cpp_unittest\generated_files\testHtml100000\testHtml100000.bin --output=..\..\temp --headerfile=cpp_sue_testHtml100000_win32.h --identifier=LibBobBOB --chunksize=75 --baseclass=leo --namespace=jon --managerfile=cpp_sue_filemanager.h --registerfile --reportedfilepath=virtual/folder/testHtml100000.bin --override --code=cpp --generator=win32
5858

5959
Test plain output:
6060
--plainoutput --chunksize=75 --file=..\..\test\bin2cpp_unittest\generated_files\testSequential1000\testSequential1000.bin --generator=array

0 commit comments

Comments
 (0)