Re: Extending the pblock

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, 2016-11-21 at 12:53 -0500, Mark Reynolds wrote:
> 
> On 11/20/2016 08:17 PM, William Brown wrote:
> > Hi,
> >
> > I have to add some new getters to pblock.c, but I think we should talk
> > about how to add these.
> >
> > Right now, we have a nearly ~2000 line case switch statement in
> > slapi_pblock_get(pb, TYPE, *void). No matter how we cut it, this is
> > pretty insane.
> :-)  Yeah its a bit much at the moment.
> >  We have huge amounts of defines in slapi-plugin.h for
> > this, and we can't expose those to other langs (python, rust), because
> > they are in a C header file.
> >
> > As well, case switch statements that large, at some point, it's going to
> > be inefficient to access. 
> >
> > I think that we should try to break this up, it's just a bit much at
> > this point.
> >
> > So for new additions I would like to use:
> >
> > slapi_pblock_get_<item>(pblock, out) {
> >     *out = pb->item
> > }
> 
> This works for me, but if I may, I propose that we tweak the naming
> style to:
> 
> slapi_pb_get_<item>(Slapi_PBlock *pb)
> slapi_pb_set_<item>(Slapi_PBlock *pb, ...)
> 
> This way we differentiate the new functions, and two, it helps keep the
> function name from getting too long.

Okay, that could be the way to go.

I need to get something from the connection, so maybe I'll wire up a
patch as a demo of what I want to achieve. I certainly don't want to
extend the pblock, if anything I want to get us to break it down and
compact it. 

-- 
Sincerely,

William Brown
Software Engineer
Red Hat, Brisbane

Attachment: signature.asc
Description: This is a digitally signed message part

_______________________________________________
389-devel mailing list -- 389-devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to 389-devel-leave@xxxxxxxxxxxxxxxxxxxxxxx

[Index of Archives]     [Fedora Directory Announce]     [Fedora Users]     [Older Fedora Users Mail]     [Fedora Advisory Board]     [Fedora Security]     [Fedora Devel Java]     [Fedora Desktop]     [ATA RAID]     [Fedora Marketing]     [Fedora Mentors]     [Fedora Package Review]     [Fedora Art]     [Fedora Music]     [Fedora Packaging]     [CentOS]     [Fedora SELinux]     [Big List of Linux Books]     [KDE Users]     [Fedora Art]     [Fedora Docs]

  Powered by Linux