OSCR
Open Source Cartridge Reader
Loading...
Searching...
No Matches
CRDBBrowser.h
Go to the documentation of this file.
1
5#pragma once
6#ifndef OSCR_CRDB_BROWSER_H_
7# define OSCR_CRDB_BROWSER_H_
8
9# include "config.h"
10
11# include "common/specializations.h"
12# include "common/Types.h"
13# include "common/Util.h"
14# include "common/CRDB.h"
15# include "common/crdb/basic.h"
16# include "common/crdb/standard.h"
17# include "common/crdb/extended.h"
18# include "common/crdb/mapper.h"
19# include "common/crdb/nes.h"
20# include "common/crdb/snes.h"
21# include "common/crdb/gba.h"
22# include "common/crdb/ti99.h"
23# include "ui.h"
24
25namespace OSCR
26{
27 namespace Apps
28 {
46 template <
47 typename CRDBType,
48 typename RecordType,
49 uint_fast32_t dbRecordSize,
50 typename OSCR::Util::enable_if_t<(
51 OSCR::Util::is_base_of_template<OSCR::CRDB::CRDBNamedByCRC32, CRDBType>::value ||
52 OSCR::Util::is_base_of_template<OSCR::CRDB::CRDBNamedByID, CRDBType>::value
53 ), bool> EnableDB = true
54 >
55 class CRDBBrowser : public OSCR::UI::MenuRenderer
56 {
57 public:
63 CRDBBrowser(char const * browserTitle, CRDBType * crdbTarget);
64 CRDBBrowser(__FlashStringHelper const * browserTitle, CRDBType * crdbTarget);
65
66 protected:
68 CRDBType * crdb;
69
70 void setup();
71 void onPageChange();
72 bool onConfirm();
73
74 //void gotoRecordIndex(uint16_t entryIndex);
75 //char * getName();
76 };
77 } /* namespace Apps */
78
79 void crdbBrowser(__FlashStringHelper const * title, OSCR::Databases::Basic::CRDatabase * crdbTarget);
80 void crdbBrowser(__FlashStringHelper const * title, OSCR::Databases::Basic::CRMapperDatabase * crdbTarget);
81 void crdbBrowser(__FlashStringHelper const * title, OSCR::Databases::Standard::CRDatabase * crdbTarget);
82 void crdbBrowser(__FlashStringHelper const * title, OSCR::Databases::Extended::CRDatabase * crdbTarget);
83
84# if HAS_NES
85 void crdbBrowser(__FlashStringHelper const * title, OSCR::Databases::NES * crdbTarget);
86# endif /* HAS_NES */
87
88# if HAS_SNES
89 void crdbBrowser(__FlashStringHelper const * title, OSCR::Databases::SNES * crdbTarget);
90# endif /* HAS_SNES */
91
92# if HAS_TI99
93 void crdbBrowser(__FlashStringHelper const * title, OSCR::Databases::TI99 * crdbTarget);
94# endif /* HAS_TI99 */
95
96} /* namespace OSCR */
97
98#endif /* OSCR_CRDB_BROWSER_H_ */
CRDBBrowser(char const *browserTitle, CRDBType *crdbTarget)
Definition CRDBBrowser.cpp:19
Definition nes.h:133
Definition snes.h:54
Definition ti99.h:49
User interface methods.
Definition Types.h:118
Main program.
Definition Storage.h:13