summaryrefslogtreecommitdiff
path: root/ACE/MPC/modules/Depgen/ObjectGeneratorFactory.pm
diff options
context:
space:
mode:
authorAbdullah Sowayan <sowayan@users.noreply.github.com>2010-02-24 20:20:21 +0000
committerAbdullah Sowayan <sowayan@users.noreply.github.com>2010-02-24 20:20:21 +0000
commit035b47c1a6985e2b884182ab0f3bb1afa714a48f (patch)
tree48d75721f242b7a0eb4398a65b672a152bdaa37f /ACE/MPC/modules/Depgen/ObjectGeneratorFactory.pm
parenta3894e5127aa8cf1892e717ab30f02e053cdb482 (diff)
downloadATCD-ACE+TAO+CIAO-5_7_6_NGC_Patches.tar.gz
Diffstat (limited to 'ACE/MPC/modules/Depgen/ObjectGeneratorFactory.pm')
-rw-r--r--ACE/MPC/modules/Depgen/ObjectGeneratorFactory.pm40
1 files changed, 40 insertions, 0 deletions
diff --git a/ACE/MPC/modules/Depgen/ObjectGeneratorFactory.pm b/ACE/MPC/modules/Depgen/ObjectGeneratorFactory.pm
new file mode 100644
index 00000000000..6f2834a8525
--- /dev/null
+++ b/ACE/MPC/modules/Depgen/ObjectGeneratorFactory.pm
@@ -0,0 +1,40 @@
+package ObjectGeneratorFactory;
+
+# ************************************************************
+# Description : Create ObjectGenerator objects.
+# Author : Chad Elliott
+# Create Date : 5/23/2003
+# ************************************************************
+
+# ************************************************************
+# Pragmas
+# ************************************************************
+
+use strict;
+
+use ObjectGenerator;
+
+# ************************************************************
+# Data Section
+# ************************************************************
+
+my $generators = {};
+
+# ************************************************************
+# Subroutine Section
+# ************************************************************
+
+sub register {
+ $generators = shift;
+}
+
+
+sub create {
+ return $$generators{$_[0]}->new() if (defined $$generators{$_[0]});
+
+ print STDERR "WARNING: Invalid object generator type: $_[0]\n";
+ return new ObjectGenerator();
+}
+
+
+1;