source: golgotha/src/i4/dll/dll_man.hh @ 80

Last change on this file since 80 was 80, checked in by Sam Hocevar, 12 years ago
  • Adding the Golgotha source code. Not sure what's going to be interesting in there, but since it's all public domain, there's certainly stuff to pick up.
File size: 1.3 KB
Line 
1/********************************************************************** <BR>
2  This file is part of Crack dot Com's free source code release of
3  Golgotha. <a href="http://www.crack.com/golgotha_release"> <BR> for
4  information about compiling & licensing issues visit this URL</a>
5  <PRE> If that doesn't help, contact Jonathan Clark at
6  golgotha_source@usa.net (Subject should have "GOLG" in it)
7***********************************************************************/
8
9#ifndef I4_DLL_MAN_HH
10#define I4_DLL_MAN_HH
11
12#include "init/init.hh"
13#include "dll/dll.hh"
14#include "string/string.hh"
15#include "isllist.hh"
16
17class i4_dll_manager_class : public i4_init_class
18{
19protected:
20  struct dll_node
21  {
22    dll_node      *next;
23    i4_str        *name;
24    i4_dll_file   *dll;
25    i4_init_class *init_list;  // list of all i4_init_class'es in the dll
26    ~dll_node();
27  };
28
29  virtual int init_type() { return I4_INIT_TYPE_DLLS; }
30  i4_isl_list<dll_node> dll_list;
31
32  virtual void init();     // called by i4_init
33  virtual void uninit();
34
35public:
36  i4_bool load(const i4_const_str &dll_name, i4_bool prepend_dll_dir=0);
37  i4_bool is_loaded(const i4_const_str &dll_name);
38  i4_bool unload(const i4_const_str &dll_name); 
39};
40
41extern i4_dll_manager_class i4_dll_man;
42
43extern char *i4_dll_dir;
44
45#endif
Note: See TracBrowser for help on using the repository browser.