Hi Philipp,
On 10/5/20 10:17 PM, Philipp Maier wrote:
I understand a,b,c,c1,d,d1 but I am a bit lost at e and e1.
it's just an implementation detail that should not affect the process of adding attributes. I came up with the implementation, maybe it would be easier to understand looking at the code:
https://gerrit.osmocom.org/c/libosmocore/+/20440 vty/command: add CMD_ATTR_LIB_COMMAND and install() API wrappers https://gerrit.osmocom.org/c/libosmocore/+/20447 vty: introduce API for the library specific attributes
In other words, vty_dump_element() needs to know whether a given command is a library command or it belongs to an application. Thanks to CMD_ATTR_LIB_COMMAND, this function can print proper attribute description and flag letter (if present).
We don't want to equip each DEFUN() in libraries with this attribute *manually*, so that's why I came up with install_lib_element() and install_lib_element_ve(). Patches are in Gerrit.
btw.: In libosmo-sccp there is one situation where the changes take effect when the VTY node is exited. At least this is generic enough to justify a CMD_ATTR_NODEEXIT.
ACK, I'll add this one as a global attribute. I am pretty sure we can benefit from having this attribute globally some day.
Best regards, Vadim.