diff src/dynamic-ld.h @ 2894:f1c5f8151397

[project @ 1997-04-28 05:39:26 by jwe]
author jwe
date Mon, 28 Apr 1997 05:39:27 +0000
parents 9fd1df4b464a
children 66ef74ee5d9f
line wrap: on
line diff
--- a/src/dynamic-ld.h	Mon Apr 28 02:10:02 1997 +0000
+++ b/src/dynamic-ld.h	Mon Apr 28 05:39:27 1997 +0000
@@ -25,9 +25,38 @@
 
 #include <string>
 
-class octave_value_list;
+class octave_builtin;
+
+class
+octave_dynamic_loader
+{
+protected:
+
+  octave_dynamic_loader (void);
+
+public:
+
+  typedef octave_builtin * (*builtin_fcn) (void);
+
+  virtual ~octave_dynamic_loader (void);
 
-extern int load_octave_oct_file (const string& name);
+  static int load_fcn_from_dot_oct_file (const string& fcn_name);
+
+private:
+
+  static octave_dynamic_loader *instance;
+
+  virtual builtin_fcn
+  resolve_reference (const string& mangled_name, const string& oct_file);
+
+  string mangle_name (const string& name);
+
+  // No copying!
+
+  octave_dynamic_loader (const octave_dynamic_loader&);
+
+  octave_dynamic_loader& operator = (const octave_dynamic_loader&);
+};
 
 #endif