File tree 4 files changed +20
-11
lines changed
4 files changed +20
-11
lines changed Original file line number Diff line number Diff line change 2
2
3
3
This document summarizes the changes to the module between releases.
4
4
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
+
5
15
## Release 4.7.1 (EPICS 7.0.8, Dec 2023)
6
16
7
17
* 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 :
35
35
*/
36
36
virtual ~ControlSupport ();
37
37
/* *
38
- * @brief Connects to contol fields.
38
+ * @brief Connects to control fields.
39
39
*
40
40
* @param pvValue The field to support.
41
41
* @param pvSupport Support specific fields.
42
42
* @return <b>true</b> for success and <b>false</b> for failure.
43
43
*/
44
- virtual bool init (
44
+ bool init (
45
45
epics::pvData::PVFieldPtr const & pvValue,
46
46
epics::pvData::PVFieldPtr const & pvSupport);
47
47
/* *
48
48
* @brief Honors control fields.
49
49
*
50
- *
51
50
* @return Returns true is any fields were modified; otherwise false.
52
51
*/
53
52
virtual bool process ();
Original file line number Diff line number Diff line change @@ -38,17 +38,17 @@ class epicsShareClass PVSupport
38
38
*/
39
39
virtual ~PVSupport (){}
40
40
/* *
41
- * @brief Optional initialization method.
41
+ * @brief Required initialization method.
42
42
*
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.
44
48
*
45
- * @param pvValue The field to support.
46
- * @param pvSupport Support specific fields.
47
49
* @return <b>true</b> for success and <b>false</b> for failure.
48
50
*/
49
- virtual bool init (
50
- epics::pvData::PVFieldPtr const & pvValue,
51
- epics::pvData::PVFieldPtr const & pvSupport) {return true ;}
51
+ bool init () {return false ;}
52
52
/* *
53
53
* @brief Optional method for derived class.
54
54
*
Original file line number Diff line number Diff line change @@ -45,7 +45,7 @@ class epicsShareClass ScalarAlarmSupport :
45
45
* @param pvSupport Support specific fields.
46
46
* @return <b>true</b> for success and <b>false</b> for failure.
47
47
*/
48
- virtual bool init (
48
+ bool init (
49
49
epics::pvData::PVFieldPtr const & pvValue,
50
50
epics::pvData::PVStructurePtr const & pvAlarm,
51
51
epics::pvData::PVFieldPtr const & pvSupport);
You can’t perform that action at this time.
0 commit comments