diff options
author | ribet | 2007-03-21 10:19:39 +0000 |
---|---|---|
committer | ribet | 2007-03-21 10:19:39 +0000 |
commit | c5866f304210618979d03c561b1e3f6f83200bce (patch) | |
tree | 7c81ae161f78cdf952f3d3a33184f8bf322c9bd8 /src/MTools/MIvy.pm | |
parent | a023d10b564d8c29566304f7777b4ec87c5b7b4d (diff) | |
download | mtc-c5866f304210618979d03c561b1e3f6f83200bce.zip mtc-c5866f304210618979d03c561b1e3f6f83200bce.tar.gz mtc-c5866f304210618979d03c561b1e3f6f83200bce.tar.bz2 mtc-c5866f304210618979d03c561b1e3f6f83200bce.tar.xz |
Import initial
Diffstat (limited to 'src/MTools/MIvy.pm')
-rw-r--r-- | src/MTools/MIvy.pm | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/src/MTools/MIvy.pm b/src/MTools/MIvy.pm new file mode 100644 index 0000000..9ade88f --- /dev/null +++ b/src/MTools/MIvy.pm @@ -0,0 +1,75 @@ +package MTools::MIvy; +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU LGPL Libray General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# 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 Library General Public License for more details. +# +# You should have received a copy of the GNU Library 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, +# or refer to http://www.gnu.org/copyleft/lgpl.html +# +################################################################## + + +# Le composant MIvy encapsule la declaration et l'utilisation d'un bus ivy. + +use strict; +use MTools; +use MTools::MObjet; + +use vars qw /@ISA/; + +our $ivy_instance = undef; + +BEGIN +{ + @ISA = qw /MTools::MObjet/; +} + +use Tk; + +sub new { + my ($class, $adresse, $ivy_name) = @_; + my $self = new MTools::MObjet (); + bless $self, $class; + if (!defined $ivy_instance) + { + Ivy -> init( + -ivyBus => $adresse, + -appName => $ivy_name, + -loopMode => 'TK', + -messWhenReady => 'READY', + ); + $self -> {__ivy} = Ivy -> new (); + $self -> {__ivy} -> start (); + $ivy_instance = $self -> {__ivy}; + } + else + { + $self -> {__ivy} = $ivy_instance; + } + return $self; +} + + +sub binding { + my ($self, $reg, $cb) = @_; + if (ref ($cb) ne 'ARRAY') + { + $cb = [$cb]; + } + $self -> {__ivy} -> bindRegexp ($reg, $cb); +} + +sub sendMsgs { + my ($self, $msgs) = @_; + $self -> {__ivy} -> sendMsgs ($msgs); +} + +1; |