From ec4c22f6d3475897c4bc22212c25fb8a3d33e3b5 Mon Sep 17 00:00:00 2001 From: Ralf Ertzinger Date: Wed, 24 Apr 2013 13:31:15 +0200 Subject: [PATCH] Add a register_api() call to Base.pm --- videosite/Base.pm | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/videosite/Base.pm b/videosite/Base.pm index 606d6f4..a1cacea 100644 --- a/videosite/Base.pm +++ b/videosite/Base.pm @@ -15,6 +15,11 @@ sub new { '_CONNECTORS' => sub { return ({ 'name' => 'direct', 'schemas' => {} }) }, '_CONNECTOR' => undef, + API => { + io => sub { printf(@_) }, + connectors => sub { return ({ 'name' => 'direct', + 'schemas' => {} }) }, + }, @_, }; @@ -271,10 +276,19 @@ sub selectconn { $self->{'_CONNECTOR'} = shift; } -sub setconn { +# +# Register a callbacks into the core API to the plugin. +# Example of those are config getter/setters and IO functions +# The API is a hash reference containing subroutine references. +# +# After the API is registered an attempt is made to load the config +# (or set defaults if config values are not found) +# +sub register_api { my $self = shift; + my $api = shift; - $self->{'_CONNECTORS'} = shift; + $self->{_API} = $api; } 1; -- 1.8.3.1