Я хотел бы сохранить некоторую информацию о классе, используя макрос Q_CLASSINFO. Однако я хотел бы обернуть его в свой собственный макрос, например:
#define DB_TABLE( TABLE ) \
Q_CLASSINFO( "db_table", #TABLE )
#define DB_FIELD( PROPERTY, COLUMN ) \
Q_CLASSINFO( "dbcol_" #PROPERTY, #COLUMN )
class Foo : public QObject
{
Q_OBJECT
DB_TABLE( some_table )
DB_FIELD( clientName, client_name )
}
К сожалению, moc не расширяет макросы, поэтому Q_CLASSINFO не добавляется.
Я пытался передать moc уже предварительно обработанным исходным кодом, но он не работает с некоторыми включенными классами Qt.
Знаете ли вы какой-нибудь обходной путь?