diff options
-rw-r--r-- | Changes | 1 | ||||
-rw-r--r-- | MODULE_HACKING | 17 | ||||
-rw-r--r-- | README.md | 4 | ||||
-rw-r--r-- | extras/ModuleTemplate.pm | 101 | ||||
-rwxr-xr-x | extras/mana_mt | 35 |
5 files changed, 17 insertions, 141 deletions
@@ -1,3 +1,4 @@ + - Added a module template to extras/module_template - Shared::urpmi_backend::DB first attempt to write a urpmi backend once and for all (porting of open_db - Shared::Locales fixed iconv undef value warning diff --git a/MODULE_HACKING b/MODULE_HACKING index 4ed3af14..55c8d254 100644 --- a/MODULE_HACKING +++ b/MODULE_HACKING @@ -65,6 +65,12 @@ Said that you have to: Some share code is into ManaTools::Shared modules, such as Locales to manage localization or Module back-ends for instance. +A module template example is into extras/module_templete/ directory, where +extras/module_templete/mana_mt is the example script that use and run +the module, while the module itself is +extras/module_templete/ManaTools/Module/ModuleTemplate.pm +The module just show a MessageBox and exit. + - ManaTools configuration (how to run a module) mpan can be run using a "name" parameter and eventually by forcing a configuration @@ -93,12 +99,12 @@ _______________ --------------- Layout can change in future though. -Let's see an example +Let's see an example of a category configuration <category> <title>Hardware</title> <icon>/usr/share/icons/configuration_section.png</icon> <module> - <class>ManaTools::Module::AdminMouse</class> + <class>ManaTools::Module::Services</class> </module> <module> <title>Module name</title> @@ -107,7 +113,8 @@ Let's see an example </module> </category> -First module is a perl ManaTools::Module extension (AdminMouse), -latter is an external one, as you can see could be a script -as well as an executable command. +First module is a perl ManaTools::Module extension (Services), +latter is an external one, called "module" and with a full pathname. + +As you can see it could be a script, as well as an executable command. Look at settings.conf and categories.conf for details. @@ -93,6 +93,10 @@ perldoc command. perldoc ManaTools +# CONTRIBUTING # + +Read MODULE_HACKING to understand how to write a Module. +Contact authors or Mageia team (http://www.mageia.org/en/contribute/) # EMBEDDED MODULES # diff --git a/extras/ModuleTemplate.pm b/extras/ModuleTemplate.pm deleted file mode 100644 index 19a25146..00000000 --- a/extras/ModuleTemplate.pm +++ /dev/null @@ -1,101 +0,0 @@ -# vim: set et ts=4 sw=4: -#***************************************************************************** -# -# Copyright (c) 2015 Angelo Naselli <anaselli@linux.it> -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2, as -# published by the Free Software Foundation. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# -#***************************************************************************** - -# Use the right name space simplified for testing -#package ManaTools::Module::ModuleTemplate; -package ModuleTemplate; - -use Moose; - -use yui; -use File::ShareDir ':ALL'; - -use ManaTools::Shared; -use ManaTools::Shared::Locales; -use ManaTools::Shared::GUI; - -extends qw( ManaTools::Module ); - - -#uncomment this and set the right icon -#has '+icon' => ( -# default => File::ShareDir::dist_file(ManaTools::Shared::distName(), 'images/ModuleTemplate.png'), -#); - -has '+name' => ( - lazy => 1, - builder => '_nameInitializer', -); - -sub _nameInitializer { - my $self = shift; - - return ($self->loc->N("Module template tools")); -} - - -=head1 VERSION - -Version 0.0.1 - -=cut - -our $VERSION = '0.0.1'; - -# sh_gui to use Shared/GUI object -has 'sh_gui' => ( - is => 'rw', - init_arg => undef, - builder => '_SharedUGUIInitialize' -); - -sub _SharedUGUIInitialize { - my $self = shift(); - - $self->sh_gui(ManaTools::Shared::GUI->new() ); -} - -#============================================================= - -=head2 start - -=head3 INPUT - - $self: this object - -=head3 DESCRIPTION - - This method extends Module::start and is invoked to - start host manager - -=cut - -#============================================================= -sub start { - my $self = shift; - - $self->sh_gui->msgBox({ - text => $self->loc->N("Hello world, I am the beautiful module template") - }); - -}; - - -1; diff --git a/extras/mana_mt b/extras/mana_mt deleted file mode 100755 index baeac122..00000000 --- a/extras/mana_mt +++ /dev/null @@ -1,35 +0,0 @@ -#!/usr/bin/perl -# vim: set et ts=4 sw=4: -# Copyright 2015 Angelo Naselli -# -# This file is part of manatools -# and it is a script to test the module template -# -# mana_mt is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 2 of the License, or -# (at your option) any later version. -# -# mana_mt is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with ManaTools. If not, see <http://www.gnu.org/licenses/>. - -#Run as "perl -I$PWD mana_mt" to find the module here - -# Use the right name space simplified for testing -#use ManaTools::Module::ModuleTemplate; -use ModuleTemplate; - -use yui; - - -my $mt = ModuleTemplate->new({ -}); - -$mt->start(); - -1; |