On 03.10.2017 14:58, Tanu Kaskinen wrote: > On Mon, 2017-10-02 at 14:32 +0200, Georg Chini wrote: >> On 02.10.2017 11:31, Tanu Kaskinen wrote: >>> On Sun, 2017-10-01 at 20:31 +0200, Georg Chini wrote: >>>> On 01.10.2017 18:16, Tanu Kaskinen wrote: >>>>> On Sat, 2017-08-19 at 17:48 +0200, Georg Chini wrote: >>>>>> +/* List handlers */ >>>>>> +char *pa_core_message_handler_list(pa_core *c); >>>>> Putting this function to core-messages.h doesn't seem right to me. The >>>>> function will never be used outside core.c, so the it should be a >>>>> private function in core.c. >>>>> >>>> If I put it in core.c, I would need to expose the pa_core_message_handler >>>> structure, which you wanted to keep private. >>> I think it actually makes sense to make the struct public. It could be >>> private if it didn't have the description field, but since the handler >>> objects contain information that clients can query, they're similar to >>> all other core objects. I think it even makes sense to move the struct >>> to a separate message-handler.h header (but if you don't like that >>> idea, I'm fine with keeping it in core-messaging.h or moving it to >>> core.h). >> You want a header file just for this struct? I would keep it in >> core-messages.h but if you prefer, I don't mind using a >> separate file. > Indeed, creating a separate header just for the struct definition > doesn't make much sense. After thinking this a bit more, I still like > the idea of having message-handler.[ch] for the message handler object, > though. The message-handler.h header could include not only the struct > definition, but also the following functions: > > pa_message_handler_new() > (renamed from pa_core_message_handler_register()) > pa_message_handler_free() > (renamed from pa_core_message_handler_unregister) > pa_message_handler_set_description() > (renamed from pa_core_message_handler_set_description()) > > The only thing left in core-messaging.h would be > pa_core_send_message(), and I'd move that to core.h. > > But do as you like, I don't care about this that much. > I don't like using pa_message_handler_new() because the function does not create a new message handler, but only registers it. I don't mind dropping the _core_ part from the names. I would then also rename pa_core_send_message() to pa_message_handler_send_message() and put it in the same header file.