Heart 1.3.861.487e628
Heart is base back end library for your c++ Qt projects.
Class Hierarchy

Go to the graphical class hierarchy

This inheritance list is sorted roughly, but not completely, alphabetically:
[detail level 123456]
 CQH::ErrorCodes::AbstractErrorCodesHelperHelper class with static methods for translate the ErrorCodes enums to text. This helper know only about the AbstractErrorCodes enum
 CQH::AbstractKeyThe Abstractkey class is provide general hash function for all keys of Heart library. This class using for generate a hash code of any keyObject
 CQH::DbAddressKeyImplementation for calc hash key of DbAddress objects
 CQH::AbstractTaskThe AbstractTask class. All tasks executed on separate thread
 CBASE
 CQH::PKG::CachedDbObjectsRequest< BASE >The CachedDbObjectsRequest class This is template class for generate request with the custom condition for BASE objects
 CQH::PKG::CustomDBRequest< BASE >The CustomDBRequest class intended for send to database custom select request for working with multiple tables
 CQH::DBPatchDBPatch This is function that should be upgrade database
 CQH::PKG::DBVariantThe DBVariant struct contains QVariant value of the DBObjects member and it type
 CQH::PKG::ErrorDataThe ErrorData struct is simple structure for contains data of the error
 CQH::HeaderThe Header struct 32 bytes
 CQuasarAppUtils::iHRO
 CQH::DistVersionThis is information of supported versions of the destinations api
 CQH::PKG::AbstractDataProvide base functions for transport data by network For create you own package you need to inherited from this class. Simple Example:
 CQH::PKG::APIVersionThis is base pacakge class that send information about supported api version on the paired node
 CQH::PKG::BadRequestSend response about error to client
 CQH::PKG::BigDataBaseThis is base class of big data parts. This class contains id of movving pacakge
 CQH::PKG::BigDataHeaderFirst empty pacakge with information of big data package
 CQH::PKG::BigDataPartThis data class used for transporting big data files greater than 64kb
 CQH::PKG::BigDataRequestMissing package parts for redownload. If missing parts count is 0 then pacakge donwloaded successful
 CQH::PKG::BigDataWraperWrapper of any big data commands
 CQH::PKG::CloseConnection
  • This commanad is request for close connection on parent node of connection. This is necessary because QAbstractSocket emit error when connection closed from remote node
 CQH::PKG::DBObjectThe DBObject class- main class for work with data base
 CQH::PKG::DBObjectSetAdd features for control database object arrays. You will be able be get or remove multiple objects into database table
 CQH::PKG::DBObjectsRequest< T >The DBObjectsRequest class is template class for get array of TEMPLATE Objects from database
 CQH::PKG::DBObjectsRequestWithStream< T >The DBObjectsRequestWithStream class is template class some as DBObjectsRequest but with implementation for the StreamBase::fromStream and StreamBase::toStream methods
 CQH::PKG::DeleteObjectRequest for update object with dbId;
 CQH::PKG::GetMaxIntegerIdIntended for get a maximum value of a sql tables column
 CQH::PKG::GetSingleValueIntended for get a single value from database. The value is selected by primaryKey. By Default the primary key is 'id'
 CQH::PKG::SetSingleValueThis is simple class - request sets a single value into database
 CQH::PKG::DataPack< Package >DataPack this is conteiner is wraqper of the QList for transport arrays to another node
 CQH::PKG::MultiversionDataThis class add support for multiple versions of ne command/package. If you need to add support multiple versions make your pakcage class children of the MultiversionData class
 CQH::PKG::Ping
  • test class for translate data on network
 CQH::PKG::UniversalDataAll data of object in the QMap Use this package if you want to change your packages in prodaction
 CQH::PKG::VersionIsReceivedBase class for confirmed versions
 CQH::iParserThis class provide functions for parsing income packages. For yousing just override the iParser::parsePackage method
 CQH::APIVersionParserThis is main parser forthe main command. This parsers work only with the APIVersion packge;
 CQH::AbstractNodeParserMain parser of the abstract level of the hear lib
 CQH::BigDataParserMain manager for control big data packages
 CQH::iObjectProviderBase interface for work with database objects. Using on database writers and database caches
 CQH::ISqlDBIt is db cache and bridge for DbWriters. Work Scheme of the database cache:
 CQH::SqlDBThis is base implementation fo datatbase. The SqlDB do not use caches, all request run on the sqlwtiter class
 CQH::SqlDBWriterThe SqlDBWriter class. This class write and read objects from database (hard level). Before working with database you need to initialize it. The SqlDBWriter support a any sql databases, For list of supported drivers see the Qt Docummentation https://doc.qt.io/qt-5/sql-driver.html For initialize a custom database driver you need to set an own params see the SqlDBWriter::initDb metthod. This class work only on own thread. For change working thread use the Qt method moveToThread
 CQH::AsyncSqlDBWriterThe AsyncSqlDbWriter class is some as SqlDBWriter but run all command in own thread. This class is thread save
 CQH::ITokenThe IToken classes interface for the validation user packages and user dates
 CQH::PKG::DeleteObjectRequest for update object with dbId;
 CQH::PackaDataThe PackaData struct - private data of packages
 CQH::PackageManagerThe PakcageManager class contains all processed packages. Working like a cache of packages
 CQH::PoolData
 CQHostAddress
 CQH::HostAddressThe Host Address class this is wrapper of QHostAddress. Contains the NetworkAddress and network port
 CQObject
 CQH::AbstractNodeInfoInformation about client or server connection and tcp socket of node. All node Info classes must be initialized in the AbstractNode::createNodeInfo methods. This implementation of nodeInf contains only trust of node and network socket
 CQH::AsyncThis is bundle of async templates and async wrappers
 CQH::AsyncLauncherWraper of the Async class for support moving invokes to thread of the current object
 CQH::AsyncRenderLoop
 CQH::DataSenderThis class create a queue for sendet data to network
 CQH::SqlDBWriterThe SqlDBWriter class. This class write and read objects from database (hard level). Before working with database you need to initialize it. The SqlDBWriter support a any sql databases, For list of supported drivers see the Qt Docummentation https://doc.qt.io/qt-5/sql-driver.html For initialize a custom database driver you need to set an own params see the SqlDBWriter::initDb metthod. This class work only on own thread. For change working thread use the Qt method moveToThread
 CQH::DataBaseDataBase base implementation. This implementation contains methods for work with database. DataBaseNode is thread save class
 CQH::ISqlDBIt is db cache and bridge for DbWriters. Work Scheme of the database cache:
 CQH::TaskSchedulerThis class contains queue of all shedule tasks
 CQH::iParserThis class provide functions for parsing income packages. For yousing just override the iParser::parsePackage method
 CQTcpServer
 CQH::AbstractNode
  • Abstract implementation of node. this implementation have a methods for send and receive data messages, and work with crypto method for create a security connections betwin nodes. AbstractNode - is thread save class
 CQTcpSocket
 CQH::TcpSocketThe AbstractSocket class This class is wraper of the QAbstract socket with slot implementation of the disconnect from host method
 CQH::ReceiveDataThe ReceiveData struct This is private structure for contains informaton for parse packages
 CQH::RequestBase interface for working with requests commands
 CQH::PKG::SerializationBox
 CQH::SoftDeletePovide the soft delete functionality. All child classes of this class must be deleted using the softDelete method for preparring for delete. IF you delete object without prepare then destructor invoke the abort function in debug mode. For release mode destructor print error message only
 CQH::AbstractNode
  • Abstract implementation of node. this implementation have a methods for send and receive data messages, and work with crypto method for create a security connections betwin nodes. AbstractNode - is thread save class
 CQH::ISqlDBIt is db cache and bridge for DbWriters. Work Scheme of the database cache:
 CQH::StreamBaseAdd support streaming data for all children classes. For correctly working all serializations functions you need to override fromStream and toStream methods. All implementations of overridden method should be contains a invoke of method of base class
 CQH::AccessTokenInformation duration of the access. Token are byte array for validation access users or another network member on nodes. In usually cases toke add permissions for database objects
 CQH::DbAddressUse to work with database addresses. Database Address it is structure with 2 values
 CQH::DbAddressKeyImplementation for calc hash key of DbAddress objects
 CQH::DistVersionThis is information of supported versions of the destinations api
 CQH::PKG::AbstractDataProvide base functions for transport data by network For create you own package you need to inherited from this class. Simple Example:
 CQH::PackageThe Package struct. This is base structure for transporting data by network between QH nodes. The Package contains a 32 bytes header and Package::data array. The size on the header should be equals size of Package::data array
 CQH::StreamMultiversionThis parser works with simple multiversion packages
 CQH::WorkStateSimple class with data of work state of node