Klaus Schmidinger wrote: > So it's either > > void Recording(const cDevice *Device, const char *FileName) > > which would be code compatible but might break plugins at runtime that > rely on the string being a pure name, or > > void Recording(const cDevice *Device, const char *Name, const char *FileName) > > which extends the interface to hold a second parameter that contains > the actual file name (or NULL, if there is none), but would break plugins > st compile time. > > Same goes for Replaying(), of course. > > To me it's all the same, so let's here the votes. Imho it is far more dangerous to break a plugin at run-time because changes are not obvious. Incompatible changes of an interface should always break compilation. I have no problems to release a new version of the remote plugin... Recording/Replaying should pass the _same_ file name (short name, full name or whatever). If a recording has been stopped, Recording() should also pass the file name. Otherwise you never know which recording has stopped. ;-( For example: void Recording(const cDevice *Device, const char *FileName, bool On) The same should be done for Replaying(). void Replaying(const cControl *Control, const char *FileName, bool On) Just my 2 cents. Oliver -- -------------------------------------------------------- VDR Remote Plugin available at http://www.escape-edv.de/endriss/vdr/ --------------------------------------------------------