wiki:Langbinding/MOB

Version 3 (modified by René Rivera, 15 years ago) ( diff )

--

Meta-Object Binding

The meta-object binding is the abstract representation of the bound interfaces. The interface allows for both creating and querying the bound interfaces and the associated types. Each language would have an instance of a meta-object binding for an interface allowing any other language to query and call every other language.

Description

The first aspect of the meta-object binding is to describe the available interfaces in the system. This amounts to a meta-description of the C++ classes, function, types, constants, etc. all of which live within namespaces.

Namespaces
Contains functions, variables, type, and other namespaces.
  • Name
  • Members
Types
Includes classes, and enumerations. Each has their own set of sub-items to describe them further.
  • Name
  • Members
Functions
This includes both method function and regular functions (global and class static).
  • Name
  • Return value(s)
    • Type
    • Policies
  • Arguments
    • Type
    • Policies
Variables
  • Type
  • Getter and setter functions
  • Variables covers both variables, as in the read-write sense, and other constant values such as enumeration values.

List of classes, and members (variables and methods)

Creation of interface descriptions for a particular language

Calling interface functions

  • call_function
  • make_object
  • get_variable
  • set_variable
Note: See TracWiki for help on using the wiki.