File tree Expand file tree Collapse file tree 4 files changed +20
-11
lines changed Expand file tree Collapse file tree 4 files changed +20
-11
lines changed Original file line number Diff line number Diff line change 22
33This document summarizes the changes to the module between releases.
44
5+ ## Release 4.7.2 (UNRELEASED)
6+
7+ * The virtual ` init() ` method of ` class PVSupport ` has been made un-virtual, and the base-class
8+ implementation always returns ` false ` as it should not be used. The ` ControlSupport ` and
9+ ` ScalarAlarmSupport ` derived classes already provided their own implementations but needed
10+ different method arguments, so a virtual base-class method couldn't be used anyway.
11+ Those derived classes don't appear to be used internally at all, although they were being
12+ used in Marty Kraimer's exampleCPP repository which is no longer maintained or recommended
13+ for use anyway.
14+
515## Release 4.7.1 (EPICS 7.0.8, Dec 2023)
616
717* Added data distributor plugin which can be used for distributing data between
Original file line number Diff line number Diff line change @@ -35,19 +35,18 @@ class epicsShareClass ControlSupport :
3535 */
3636 virtual ~ControlSupport ();
3737 /* *
38- * @brief Connects to contol fields.
38+ * @brief Connects to control fields.
3939 *
4040 * @param pvValue The field to support.
4141 * @param pvSupport Support specific fields.
4242 * @return <b>true</b> for success and <b>false</b> for failure.
4343 */
44- virtual bool init (
44+ bool init (
4545 epics::pvData::PVFieldPtr const & pvValue,
4646 epics::pvData::PVFieldPtr const & pvSupport);
4747 /* *
4848 * @brief Honors control fields.
4949 *
50- *
5150 * @return Returns true is any fields were modified; otherwise false.
5251 */
5352 virtual bool process ();
Original file line number Diff line number Diff line change @@ -38,17 +38,17 @@ class epicsShareClass PVSupport
3838 */
3939 virtual ~PVSupport (){}
4040 /* *
41- * @brief Optional initialization method.
41+ * @brief Required initialization method.
4242 *
43- * Called after PVRecord is created but before record is installed into PVDatabase.
43+ * Implementation classes must define an init() method that must be
44+ * explicitly called by PVRecord classes that use them to provide
45+ * references to the specific fields to be supported. Different support
46+ * will may different fields, so a virtual method cannot be defined in
47+ * this base class to support them, hence this method always fails.
4448 *
45- * @param pvValue The field to support.
46- * @param pvSupport Support specific fields.
4749 * @return <b>true</b> for success and <b>false</b> for failure.
4850 */
49- virtual bool init (
50- epics::pvData::PVFieldPtr const & pvValue,
51- epics::pvData::PVFieldPtr const & pvSupport) {return true ;}
51+ bool init () {return false ;}
5252 /* *
5353 * @brief Optional method for derived class.
5454 *
Original file line number Diff line number Diff line change @@ -45,7 +45,7 @@ class epicsShareClass ScalarAlarmSupport :
4545 * @param pvSupport Support specific fields.
4646 * @return <b>true</b> for success and <b>false</b> for failure.
4747 */
48- virtual bool init (
48+ bool init (
4949 epics::pvData::PVFieldPtr const & pvValue,
5050 epics::pvData::PVStructurePtr const & pvAlarm,
5151 epics::pvData::PVFieldPtr const & pvSupport);
You can’t perform that action at this time.
0 commit comments