On 2021-02-03 20:02, Wojciech Jowsa wrote: > Hi, > > I would like to write a libubus wrapper in C++. When looking into > ubus_method and ubus_handler_t structures I don't see a place where I > could pass a this pointer. It makes the handling of ubus calls in C++ > a bit complicated. > The solution to that case would be adding a void pointer to the > ubus_method structure (like in the ubus_request struct). This way it > would be possible to pass e.g function pointer. > Would it be possible to add a void pointer to ubus_method structure? > If yes then I will provide the patch asap. I don't think a 'this' pointer should be in the ubus_method. Methods can typically be shared between multiple ubus_objects, and the 'this' pointer would typically go into the ubus_object. However, even there it is not necessary to have a void pointer directly in the struct. You can simply embed the ubus_object in another data structure which contains the 'this' pointer (or maybe is even embedded in the C++ object directly)
I don't write code in C++ myself, so if there's something I'm missing here, please let me know and show me some details. - Felix _______________________________________________ openwrt-devel mailing list [email protected] https://lists.openwrt.org/mailman/listinfo/openwrt-devel
