NAME
Lim::Component - Base class for plugins
VERSION
See Lim for version.
SYNOPSIS
package Lim::Plugin::MyPlugin;
use base qw(Lim::Component);
sub Name { 'MyPlugin'; }
sub Calls { { ReadVersion => { out => { version => 'string' } } }; }
sub Commands { { version => 1 }; }
DESCRIPTION
This is the base class of all plugins in Lim. It defines the name, RPC calls and CLI commands. It must be present for any plugin to work but the different plugin parts does not have to exist everywhere. For example the CLI part does not have to have the Server and Client but it will most likly have the Client part if you want to communicate with the Server.
METHODS
- $plugin_name = Lim::Plugin::MyPlugin->Name
-
Returns the plugin's name.
This function must be overloaded or it will confess.
- $plugin_description = Lim::Plugin::MyPlugin->Description
-
Returns the plugin's description.
- $call_hash_ref = Lim::Plugin::MyPlugin->Calls
-
Returns a hash reference to the calls that can be made to this plugin, used both in Server and Client to verify input and output arguments.
Read more about this in Lim::Component::Server.
This function must be overloaded or it will confess.
- $command_hash_ref = Lim::Plugin::MyPlugin->Commands
-
Returns a hash reference to the CLI commands that can be made by this plugin.
This function must be overloaded or it will confess.
- $cli = Lim::Plugin::MyPlugin->CLI
-
Create a CLI object of the plugin, read more about this in Lim::Component::CLI.
- $client = Lim::Plugin::MyPlugin->Client
-
Create a Client object of the plugin, read more about this in Lim::Component::Client.
- $client = Lim::Plugin::MyPlugin->Server
-
Create a Server object of the plugin, read more about this in Lim::Component::Server.
AUTHOR
Jerry Lundström, <lundstrom.jerry at gmail.com>
BUGS
Please report any bugs or feature requests to https://github.com/jelu/lim/issues.
SUPPORT
You can find documentation for this module with the perldoc command.
perldoc Lim::Component
You can also look for information at:
Lim issue tracker (report bugs here)
ACKNOWLEDGEMENTS
LICENSE AND COPYRIGHT
Copyright 2012-2013 Jerry Lundström.
This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation; or the Artistic License.
See http://dev.perl.org/licenses/ for more information.