https://bugs.freedesktop.org/show_bug.cgi?id=63398

--- Comment #12 from Lionel Elie Mamane <[email protected]> ---
(In reply to comment #11)

> As a workaround, can we not retain the original semantics by hard-coding and
> categorising events that used to be 'oneway'

Yes, if "someone" writes a function "wasOneWay", then sure, I'll adapt the code
to call this new "wasOneWay" instead of the typedescriptor's "isOneway()" and
at least we don't regress. As you write, we have to "hardcode" it.

The question is how to make that "wasOneWay". I imagine we'd have to write a
big function like:

 bool wasOneWay()
 {
   if (event == "com.sun.star.foo" ||
       event == "com.sun.star.bar" ||
       event == "com.sun.star.qux" ||
       ... )
       return true;
   else
       return false;
 }

What is your suggestion? manually look at the diff of commit
90eac3e69749a9227c4b6902b1f3cef1e338c6d1? Hmm... maybe with some postprocessing
of the diffstat... we get the list of changed files, strip .idl at end and
"offapi" at the beginning, change "/" to "."... Now, we just have to extract
which of these files are event listeners. Any idea for that? Or just put them
all?

Yeah, this could work.


> so ... surely we just need to come up with a pseudo-oneway annotation in 
> raw-code for those
> few methods in that module ?

If we could annotate the *event* with a boolean that says:
 - false -> caller needs to treat this event immediately and wait for its
result
 - true  -> caller can fire the event and forget about it, or save the event
for future batching with other events
rather than maintaining a separate list, then that "smells" better. But I don't
have an idea for annotating the event without re-introducing a new flag in IDL
(which we would initially give the same value as oneway had).

-- 
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Libreoffice-bugs mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs

Reply via email to