Module: EasySwig

Included in:
DoxygenTask
Defined in:
lib/config.rb,
lib/features.rb,
lib/easy-swig.rb,
lib/util/print.rb,
lib/util/query.rb,
lib/util/logger.rb,
lib/util/utilities.rb,
lib/tasks/swig_task.rb,
lib/apinodes/api_enum.rb,
lib/apinodes/api_node.rb,
lib/apinodes/inc_file.rb,
lib/apinodes/api_class.rb,
lib/apinodes/api_group.rb,
lib/readers/csv_parser.rb,
lib/tasks/doxygen_task.rb,
lib/apinodes/api_method.rb,
lib/tasks/generate_task.rb,
lib/generators/generator.rb,
lib/tasks/hfiles_manager.rb,
lib/apinodes/api_function.rb,
lib/apinodes/api_variable.rb,
lib/generators/properties.rb,
lib/apinodes/api_attribute.rb,
lib/apinodes/api_namespace.rb,
lib/csharp/csharp_features.rb,
lib/generators/generator_util.rb,
lib/generators/class_generator.rb,
lib/generators/hfile_generator.rb,
lib/generators/namespace_generator.rb,
lib/csharp/generators/csharp_generator.rb,
lib/csharp/generators/csharp_class_generator.rb,
lib/csharp/generators/csharp_namespace_generator.rb

Defined Under Namespace

Modules: Csharp, GeneratorUtil, HFilesManager, Print, Query, Readers, Util Classes: ApiAttribute, ApiClass, ApiEnum, ApiFunction, ApiGroup, ApiMethod, ApiNamespace, ApiNode, ApiVariable, CSharpClassGenerator, CSharpNamespaceGenerator, ClassGenerator, Config, DoxygenTask, Features, GenerateTask, Generator, HFileGenerator, IncFile, Logger, NamespaceGenerator, Properties, SwigTask

Class Method Summary collapse

Class Method Details

.doxygen(config = EasySwig::Config.new) ⇒ Object

Parses header files (.h) and generates intermediate XML representation using Doxygen (Doxyparser) For more information consult Doxyparser documentation Doxyparser::gen_xml_docs

Parameters:

  • config (Config) (defaults to: EasySwig::Config.new)

    optional configuration for personalized settings. If nothing given, Config defaults used



47
48
49
50
51
# File 'lib/easy-swig.rb', line 47

def doxygen(config = EasySwig::Config.new)
  task = DoxygenTask.new(config)
  task.generate
  task.dispose
end

.generate(config = EasySwig::Config.new) ⇒ Object

Generates SWIG Interface Files (.i) from Doxygen intermediate XML representation. This process is configured using a specially crafted CSV file (see documentation),

A subdirectory for every found namespace is created and here are saved the generated .i swig files

Parameters:

  • config (Config) (defaults to: EasySwig::Config.new)

    optional configuration for personalized settings. If nothing given, Config defaults used



57
58
59
60
61
# File 'lib/easy-swig.rb', line 57

def generate(config = EasySwig::Config.new)
  task = GenerateTask.new(config)
  task.generate
  task.dispose      
end

.swig(config = EasySwig::Config.new) ⇒ Object

Runs SWIG against the specified target interface files (.i) And generated wrappers in the output directory (see Config)

Parameters:

  • config (Config) (defaults to: EasySwig::Config.new)

    optional configuration for personalized settings. If nothing given, Config defaults used



65
66
67
68
69
# File 'lib/easy-swig.rb', line 65

def swig(config = EasySwig::Config.new)
  task = SwigTask.new(config)
  task.run_swig
  task.dispose
end