Class Hierarchy   Compound List   File List   Header Files   Compound Members   File Members  

suifkernel/module.h

This is the verbatim text of the module.h include file.
#ifndef SUIFKERNEL__MODULE_H
#define SUIFKERNEL__MODULE_H

#include "suifkernel_forwarders.h"





class Module {
public:
  Module (SuifEnv* suif_env, const LString& moduleName = emptyLString );
  virtual ~Module();

  
  virtual LString get_module_name() const;

  
  virtual Module* clone() const = 0;

  
  virtual bool delete_me() const;

  
  virtual bool is_initialized() const;

  
  virtual void initialize();

  
  virtual bool parse_command_line( TokenStream* command_line_stream );

  
  virtual void execute();

  virtual SuifEnv *get_suif_env() const;

  
  virtual bool supports_interface( const LString &interface_name ) const;
  virtual Address get_interface( const LString &interface_name ) const;

  
  virtual void interface_registered(const LString &producer_module_name,
				    const LString &interface_name);
  virtual void interface_object_created(Module *producer_module,
					const LString &interface_name);
  virtual void interface_object_destructed(Module *producer_module,
					   const LString &interface_name);

  void import_module(const char* module_name);

protected:
  SuifEnv* _suif_env;
  LString _module_name;

  OptionLiteral* _command_name; // argv[0]
  OptionList* _command_line;
  OptionSelection* _flags;
  
  suif_hash_map<LString, Address> *_interfaces;
  virtual void set_interface( const LString &interface_name,
			      Address interface);
private:
  Module(const Module &);
  Module& operator=(const Module &);
};

#endif





Generated at Mon Nov 22 19:43:33 1999 for NCI SUIF by doxygen  written by Dimitri van Heesch, © 1997-1999