File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree 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