Are you volunteering?
Tim.
On Thu, Nov 03, 2005 at 01:24:21PM -0600, David Nicol wrote:
> > "'connect.cached.new' => [\&pre, \&post]" syntax so that I could do
>
> If I understand correctly, the QPSMTPD people have just implemented
> self-registering
> callbacks in modules by standardizing the names of the callbacks and
> letting package
> introspection find them all. The names are hook_* where * is one of
> the times that
> there is a hook for.
>
> Using that naming convention, a module would register it callback with the DBI
> framework by merely having a function called something like
>
> sub hook_connect_cached_new_pre{ ... }
>
> Perhaps the import function invoked by
>
> use DBI::callback_hooks;
>
> could inspect the functions defined in its caller()'s package and
> register what it
> finds there with the calling-back mechanism.
>
> Just an idea -- I do not know if this approach would be better or
> worse than what
> is currently being done, or even if it is the same as what is
> currently being done --
> but in my opinion having multiple levels of naming
>
> > "'connect.cached.new' => [\&pre, \&post]"
>
> is going to be a hassle compared with a single level of naming that
> gets as detailed as it needs.
>
> connect_cached_new_pre => \&pre,
> connect_cached_new_post => \&post;
>
> In the proposal at the top of this e-mail, presuming you have the pre and post
> subs already written and don't want to touch them, the registration of them
> could be implied with something like
>
> INIT{
> *DBIhook_connect_cached_new_pre = \⪯
> *DBIhook_connect_cached_new_post = \&post;
> }
>
> if you don't want to just change their names.