aboutsummaryrefslogtreecommitdiffstats
path: root/src/base/songloading/songloading_strategy_txt.hpp
diff options
context:
space:
mode:
authorAlexander Sulfrian <alexander@sulfrian.net>2010-03-29 07:30:52 +0200
committerAlexander Sulfrian <alexander@sulfrian.net>2013-01-05 17:17:47 +0100
commit15c0132fd080003f2bf47749e30e1f724b249341 (patch)
tree1d09f54e344d19e99df9e0fc89643f071881c6ae /src/base/songloading/songloading_strategy_txt.hpp
parent0779a60f3e31a31db71614134ddd7eedc5e385d9 (diff)
downloadusdx-15c0132fd080003f2bf47749e30e1f724b249341.tar.gz
usdx-15c0132fd080003f2bf47749e30e1f724b249341.tar.xz
usdx-15c0132fd080003f2bf47749e30e1f724b249341.zip
dynamic registration of songloading_strategies with static template
Diffstat (limited to 'src/base/songloading/songloading_strategy_txt.hpp')
-rw-r--r--src/base/songloading/songloading_strategy_txt.hpp10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/base/songloading/songloading_strategy_txt.hpp b/src/base/songloading/songloading_strategy_txt.hpp
index 13851e6e..6177a5d3 100644
--- a/src/base/songloading/songloading_strategy_txt.hpp
+++ b/src/base/songloading/songloading_strategy_txt.hpp
@@ -31,7 +31,8 @@
#include <boost/filesystem.hpp>
#include <log4cxx/logger.h>
#include "songloading_strategy.hpp"
-#include "utils/file.hpp"
+#include "songloading_strategy_factory.hpp"
+#include "utils/unicode_file.hpp"
namespace usdx
{
@@ -45,19 +46,22 @@ namespace usdx
*/
std::pair<std::wstring, std::wstring> split_header_field(std::wstring &line);
- bool parse_line(Song* song, File& file, const int line_number);
+ bool parse_line(Song* song, UnicodeFile& file, const int line_number);
void parse_newline(Song* song, std::wistringstream& linestream, const int line_number);
void parse_bpm(Song* song, std::wistringstream& linestream, const int line_number);
void parse_note(Song* song, wchar_t type, std::wistringstream& linestream, const int line_number);
-
public:
SongloadingStrategyTxt();
virtual ~SongloadingStrategyTxt();
virtual Song* load_song(Song* song);
virtual Song* load_header(const boost::filesystem::wpath& filename);
+
+ static std::wstring get_fileextension(void) { return L".txt"; };
};
+
+ REGISTER_SONGLOADING_STRATEGY(SongloadingStrategyTxt);
};
#endif