Add a register_api() call to Base.pm
authorRalf Ertzinger <ralf@skytale.net>
Wed, 24 Apr 2013 11:31:15 +0000 (13:31 +0200)
committerRalf Ertzinger <ralf@skytale.net>
Wed, 24 Apr 2013 11:31:15 +0000 (13:31 +0200)
videosite/Base.pm

index 606d6f4..a1cacea 100644 (file)
@@ -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;