libdrmconf 0.12.3
A library to program DMR radios.
Loading...
Searching...
No Matches
OpenGD77CallsignDB Class Reference

Represents and encodes the binary format for the call-sign database within the radio. More...

#include <opengd77_callsigndb.hh>

Inheritance diagram for OpenGD77CallsignDB:
Collaboration diagram for OpenGD77CallsignDB:

Classes

struct  Offset
 Some internal offsets within the callsign db. More...

Public Member Functions

 OpenGD77CallsignDB (QObject *parent=nullptr)
 Constructor.
bool encode (UserDatabase *calldb, const Selection &selection=Selection(), const ErrorStack &err=ErrorStack())
 Encodes as many entries as possible of the given user-database.
Public Member Functions inherited from OpenGD77BaseCallsignDB
 OpenGD77BaseCallsignDB (QObject *parent=nullptr)
 Constructor.
virtual ~OpenGD77BaseCallsignDB ()
 Destructor.
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.
bool read (QFile &file, const ErrorStack &err=ErrorStack())
 Reads the specified DFU file.
bool write (const QString &filename, const ErrorStack &err=ErrorStack())
 Writes to the specified file.
bool write (QFile &file, const ErrorStack &err=ErrorStack())
 Writes to the specified file.
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.

Detailed Description

Represents and encodes the binary format for the call-sign database within the radio.

The memory layout of the call-sign DB is relatively simple. The DB starts at address 0x00030000 with a maximum size of 0x00040000. The first 12bytes form the DB header (see OpenGD77CallsignDB::userdb_t) followed by the DB entries (see OpenGD77CallsignDB::userdb_entry_t).

The entries can be of variable size. The size of each entry is encoded in the header. QDMR uses a fixed size of 19bytes per entry. The entries must be sorted in ascending order to allow for an efficient binary search. No index table is used here.

Member Function Documentation

◆ encode()

bool OpenGD77CallsignDB::encode ( UserDatabase * calldb,
const Selection & selection = Selection(),
const ErrorStack & err = ErrorStack() )
virtual

Encodes as many entries as possible of the given user-database.

Implements OpenGD77BaseCallsignDB.


The documentation for this class was generated from the following files:
  • /builddir/build/BUILD/qdmr-0.12.3-build/qdmr-0.12.3/lib/opengd77_callsigndb.hh
  • /builddir/build/BUILD/qdmr-0.12.3-build/qdmr-0.12.3/lib/opengd77_callsigndb.cc