libdrmconf
0.11.3
A library to program DMR radios.
|
Represents and encodes the binary format for the call-sign database within a AnyTone AT-D868UV radio. More...
#include <d868uv_callsigndb.hh>
Classes | |
class | EntryBankElement |
Represents a bank of call-sign DB entries. More... | |
class | EntryElement |
Represents the header of an entry in the callsign database. More... | |
class | IndexBankElement |
Represents a bank of index entries. More... | |
struct | Limit |
Some limits for the call-sign DB. More... | |
class | LimitsElement |
Stores some basic limits of the callsign db. More... | |
struct | Offset |
Some internal used offsets within the DB. More... | |
Public Types | |
typedef D868UVCodeplug::ContactMapElement | IndexEntryElement |
Same index entry used by the codeplug to map normal digital contacts to an contact index. More... | |
Public Member Functions | |
D868UVCallsignDB (QObject *parent=nullptr) | |
Constructor, does not allocate any memory yet. | |
bool | encode (UserDatabase *db, const Selection &selection=Selection(), const ErrorStack &err=ErrorStack()) |
Tries to encode as many entries of the given user-database. | |
Public Member Functions inherited from CallsignDB | |
virtual | ~CallsignDB () |
Destructor. | |
Public Member Functions inherited from DFUFile | |
DFUFile (QObject *parent=nullptr) | |
Constructs an empty DFU file object. | |
uint32_t | size () const |
Returns the total size of the DFU file. | |
uint32_t | memSize () const |
Returns the total memory size stored in the DFU file. | |
int | numImages () const |
Returns the number of images within the DFU file. | |
const Image & | image (int i) const |
Returns a reference to the i-th image of the file. | |
Image & | image (int i) |
Returns a reference to the i-th image of the file. | |
void | addImage (const QString &name, uint8_t altSettings=1) |
Adds a new image to the file. | |
void | addImage (const Image &img) |
Adds an image to the file. | |
void | remImage (int i) |
Deletes the i-th image from the file. | |
bool | isAligned (unsigned blocksize) const |
Checks if all image addresses and sizes is aligned with the given block size. | |
bool | read (const QString &filename, const ErrorStack &err=ErrorStack()) |
Reads the specified DFU file. More... | |
bool | read (QFile &file, const ErrorStack &err=ErrorStack()) |
Reads the specified DFU file. More... | |
bool | write (const QString &filename, const ErrorStack &err=ErrorStack()) |
Writes to the specified file. More... | |
bool | write (QFile &file, const ErrorStack &err=ErrorStack()) |
Writes to the specified file. More... | |
void | dump (QTextStream &stream) const |
Dumps a text representation of the DFU file structure to the specified text stream. | |
virtual bool | isAllocated (uint32_t offset, uint32_t img=0) const |
Returns true if the specified address (and image) is allocated. | |
virtual unsigned char * | data (uint32_t offset, uint32_t img=0) |
Returns a pointer to the encoded raw data at the specified offset. | |
virtual const unsigned char * | data (uint32_t offset, uint32_t img=0) const |
Returns a const pointer to the encoded raw data at the specified offset. | |
Additional Inherited Members | |
Protected Member Functions inherited from CallsignDB | |
CallsignDB (QObject *parent=nullptr) | |
Hidden constructor. | |
Protected Attributes inherited from DFUFile | |
QVector< Image > | _images |
The list of images. | |
Represents and encodes the binary format for the call-sign database within a AnyTone AT-D868UV radio.
Callsign database | ||
---|---|---|
Start | Size | Content |
04000000 | max. 186a00 | Index of callsign entries. Follows the same weird format as D868UVCodeplug::contact_map_t . Sorted by ID. Empty entries set to 0xffffffffffffffff. |
044c0000 | unknown | Database limits, see limits_t . |
04500000 | unknown | The actual DB entries, each entry is of variable size but shares the same header, see entry_t . Order arbitrary. Filled with 0x00. |
Same index entry used by the codeplug to map normal digital contacts to an contact index.
Here it maps to the byte offset within the database entries.