Heart 1.3.879.d03aaa4
Heart is base back end library for your c++ Qt projects.
Namespace List
Here is a list of all namespaces with brief descriptions:
[detail level 123]
 NQHThe QH namespace - QuasarApp Heart namespace. This namespace contains all classes of the Heart library
 NErrorCodesErrorCodes This namesapce contains all error codes of the Heart Library
 CAbstractErrorCodesHelperHelper class with static methods for translate the ErrorCodes enums to text. This helper know only about the AbstractErrorCodes enum
 NPKGThe PKG namesapce - this namespace contains all default packages of the Heart library. If you want create a pool request for Heart Library with own implemented packages you need to create a new package into a PKG namesapce
 CAbstractDataProvide base functions for transport data by network For create you own package you need to inherited from this class. Simple Example:
 CAPIVersionThis is base pacakge class that send information about supported api version on the paired node
 CBadRequestSend response about error to client
 CBigDataBaseThis is base class of big data parts. This class contains id of movving pacakge
 CBigDataHeaderFirst empty pacakge with information of big data package
 CBigDataPartThis data class used for transporting big data files greater than 64kb
 CBigDataRequestMissing package parts for redownload. If missing parts count is 0 then pacakge donwloaded successful
 CBigDataWraperWrapper of any big data commands
 CCachedDbObjectsRequestThe CachedDbObjectsRequest class This is template class for generate request with the custom condition for BASE objects
 CCloseConnection
  • 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
 CCustomDBRequestThe CustomDBRequest class intended for send to database custom select request for working with multiple tables
 CDataPackDataPack this is conteiner is wraqper of the QList for transport arrays to another node
 CDBObjectThe DBObject class- main class for work with data base
 CDBObjectSetAdd features for control database object arrays. You will be able be get or remove multiple objects into database table
 CDBObjectsRequestThe DBObjectsRequest class is template class for get array of TEMPLATE Objects from database
 CDBObjectsRequestWithStreamThe DBObjectsRequestWithStream class is template class some as DBObjectsRequest but with implementation for the StreamBase::fromStream and StreamBase::toStream methods
 CDBVariantThe DBVariant struct contains QVariant value of the DBObjects member and it type
 CDeleteObjectRequest for update object with dbId;
 CErrorDataThe ErrorData struct is simple structure for contains data of the error
 CGetMaxIntegerIdIntended for get a maximum value of a sql tables column
 CGetSingleValueIntended for get a single value from database. The value is selected by primaryKey. By Default the primary key is 'id'
 CMultiversionDataThis 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
 CPing
  • test class for translate data on network
 CSerializationBox
 CSetSingleValueThis is simple class - request sets a single value into database
 CUniversalDataAll data of object in the QMap Use this package if you want to change your packages in prodaction
 CVersionIsReceivedBase class for confirmed versions
 CAbstractKeyThe Abstractkey class is provide general hash function for all keys of Heart library. This class using for generate a hash code of any keyObject
 CAbstractNode
  • 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
 CAbstractNodeInfoInformation 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
 CAbstractNodeParserMain parser of the abstract level of the hear lib
 CAbstractTaskThe AbstractTask class. All tasks executed on separate thread
 CAccessTokenInformation 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
 CAPIVersionParserThis is main parser forthe main command. This parsers work only with the APIVersion packge;
 CAsyncThis is bundle of async templates and async wrappers
 CAsyncLauncherWraper of the Async class for support moving invokes to thread of the current object
 CAsyncRenderLoopThe AsyncRenderLoop is a class for asynchronous rendering. This class is used to create a render loop that is executed in a separate thread. To use this class, you must inherit from it and implement the renderIteration method. example: :
 CMainSharedPtrThe MainSharedPtr class is a helper class for creating a shared pointer to the render loop
 CAsyncSqlDBWriterThe AsyncSqlDbWriter class is some as SqlDBWriter but run all command in own thread. This class is thread save
 CBigDataParserMain manager for control big data packages
 CDataBaseDataBase base implementation. This implementation contains methods for work with database. DataBaseNode is thread save class
 CDataSenderThis class create a queue for sendet data to network
 CDbAddressUse to work with database addresses. Database Address it is structure with 2 values
 CDbAddressKeyImplementation for calc hash key of DbAddress objects
 CDBPatchDBPatch This is function that should be upgrade database
 CDistVersionThis is information of supported versions of the destinations api
 CHeaderThe Header struct 32 bytes
 CHostAddressThe Host Address class this is wrapper of QHostAddress. Contains the NetworkAddress and network port
 CiObjectProviderBase interface for work with database objects. Using on database writers and database caches
 CiParserThis class provide functions for parsing income packages. For yousing just override the iParser::parsePackage method
 CISqlDBIt is db cache and bridge for DbWriters. Work Scheme of the database cache:
 CITokenThe IToken classes interface for the validation user packages and user dates
 CPackaDataThe PackaData struct - private data of packages
 CPackageThe 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
 CPackageManagerThe PakcageManager class contains all processed packages. Working like a cache of packages
 CPoolData
 CReceiveDataThe ReceiveData struct This is private structure for contains informaton for parse packages
 CRequestBase interface for working with requests commands
 CSoftDeletePovide 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
 CSqlDBThis is base implementation fo datatbase. The SqlDB do not use caches, all request run on the sqlwtiter class
 CSqlDBWriterThe 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
 CStreamBaseAdd 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
 CTaskSchedulerThis class contains queue of all shedule tasks
 CTcpSocketThe AbstractSocket class This class is wraper of the QAbstract socket with slot implementation of the disconnect from host method
 CWorkStateSimple class with data of work state of node