On Jun 9, 2016 03:14, "Tom Hacohen" <t...@osg.samsung.com> wrote: > As part of reworking the text API for the next version I'm tackling the > text filter API. It needs to be easy to bind, easy to use and efficient. > I have an idea in mind, and I want to hear some feedback from people > who've used text filtering to know if there's something I may be > missing/can do better. > > What I have in mind: > > Add a text filter event with Text_Filter_Info (keeping the name short > for this example) as the event info. > > Text_Filter_Info looks as follows (names will change, just for the example): > orig: const char * > new: Eina_Strbuf * > rejected: bool > > The event is called with orig=original text, new=null, rejected=false. > The event callbacks can then decide to reject the text chunk (by setting > rejected = true), or modify the original text by creating a new strbuf > and setting new to it. > If rejected is set, the chunk is rejected no matter what the strbuf > value is. > I chose a strbuf because it's more efficient and easier to augment the > text with a strbuf (most likely) than with a normal allocated string. > However, a case could be made for a normal allocated string because in > almost (all?) cases, the string will not grow.
My main concern is actually what happen if there is more than one event handler registered. I think it become pretty complex to chain them with all this parameter. What if you just pass the text embedded in the strbuf already and you just look at it for all behavior at the end ? Cedric > This is what I'm going to go with unless I hear any strong objections by > Monday. > > -- > Tom. > > ------------------------------------------------------------------------------ > What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic > patterns at an interface-level. Reveals which users, apps, and protocols are > consuming the most bandwidth. Provides multi-vendor support for NetFlow, > J-Flow, sFlow and other flows. Make informed decisions using capacity > planning reports. https://ad.doubleclick.net/ddm/clk/305295220;132659582;e > _______________________________________________ > enlightenment-devel mailing list > enlightenment-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > ------------------------------------------------------------------------------ What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic patterns at an interface-level. Reveals which users, apps, and protocols are consuming the most bandwidth. Provides multi-vendor support for NetFlow, J-Flow, sFlow and other flows. Make informed decisions using capacity planning reports. https://ad.doubleclick.net/ddm/clk/305295220;132659582;e _______________________________________________ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel