[mythtv-commits] mythtv commit: r7021 - in trunk/mythtv/libs/libmythtv by danielk

mythtv at cvs.mythtv.org mythtv at cvs.mythtv.org
Sat Aug 13 00:18:02 UTC 2005


      Author: danielk
        Date: 2005-08-13 00:18:02 +0000 (Sat, 13 Aug 2005)
New Revision: 7021
   Changeset: http://cvs.mythtv.org/trac/changeset/7021

Modified:

   trunk/mythtv/libs/libmythtv/dtvsignalmonitor.cpp
   trunk/mythtv/libs/libmythtv/mpeg/atscstreamdata.cpp
   trunk/mythtv/libs/libmythtv/mpeg/atscstreamdata.h
   trunk/mythtv/libs/libmythtv/mpeg/dvbstreamdata.cpp
   trunk/mythtv/libs/libmythtv/mpeg/dvbstreamdata.h
   trunk/mythtv/libs/libmythtv/mpeg/mpegstreamdata.h
   trunk/mythtv/libs/libmythtv/mpeg/scanstreamdata.cpp
   trunk/mythtv/libs/libmythtv/mpeg/scanstreamdata.h

Log:

>From the "You learn something everyday (TM)" Dept.

Apparently the Qt signals and slots mechanism supports 
neither multiple inheritence nor virtual inheritence.
See: http://www.die.net/doc/linux/man/man1/moc.1.html

I used both in the implementation of ScanStreamData.

I've rewritten it to inherit from ATSCStreamData and
contain a DVBStreamData instance as a variable.

If I were to re-implement DTVSignalMonitor I would just
use one instance of DVBStreamData and one instance of
ATSCStreamData, as this current solution requires this
duplication of MPEGStreamData anyway and in addition
requires making a bunch of methods in MPEGStreamData
virtual. Ugh!

Beware of virtual inheritence and multiple inheritence,
there are several instances of both in the settings code.






More information about the mythtv-commits mailing list