Read info items using a filter
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
EPICS Base |
Confirmed
|
Wishlist
|
Dirk Zimoch |
Bug Description
Info items are currently only accessible from inside the IOC, but a few people have asked if they could be fetched over the network. The simplest way to implement that is probably with a server-side filter, which makes this functionality optional and decouples the code from the internals of the IOC.
The filter could accept parameters to control what it returns, such as:
1. A list of all the info item names attached to this record or alias.
2. A list of info item names attached that match a particular pattern.
3. Number of info items attached.
4. Value of a specific info item, selected by index number or item name.
5. All info item names and values, formatted as a JSON object (beware that item values can now themselves be JSON objects, don't assume they are just a string).
It would be reasonable to limit item names to 39 characters so #1 and #2 above could return an array of DBF_STRINGs, and #3 could return a DBF_SHORT or DBF_LONG, but item values can be much longer so the return types of #4 and #5 would need to be an array of DBF_CHAR with some chosen maximum length.
CAUTION: Record aliases have their own info item namespace, separate from the record they alias:
record(ai, ai1) {
info(tag1, "record")
alias(al1)
}
record("*", al1) {
info(tag2, "alias")
}
epics> dbli
ai1 info(tag1, "record")
al1 info(tag2, "alias")
Changed in epics-base: | |
assignee: | nobody → Dirk Zimoch (dirk.zimoch) |