mindc User Guide

version 2.0-alpha10


Table of Contents

1. Introduction
2. ADL
2.1. ADL Files
2.2. Interface declarations
2.3. Implementation declarations
2.3.1. Private data definition
2.3.2. Component implementation declaration
2.4. Attribute declarations
2.5. Sub-component declarations
2.6. Binding declarations
2.7. Import statements
2.7.1. Resolution of simple names
2.8. Definition inheritance
2.9. Definition parameters
2.10. Generic definitions
2.11. Anonymous definitions
2.12. ADL Annotations
2.12.1. Predefined ADL Annotations
2.13. Complete ADL grammar
3. IDL
3.1. Type definition
3.2. Constant definition
3.3. Interface definition
3.3.1. Variadic methods
3.3.2. Interface inheritance
3.4. IDL Annotations
3.4.1. @VarArgsDual
4. CPL
4.1. Component's private-data declaration
4.2. Implementation of component's provided methods
4.3. Implementation of component's private methods
4.4. Invocation of component's methods
4.5. Access to component's private-data
4.6. Access to component's attributes
4.7. Implementation of constructor and destructor
4.8. Method and interface pointer
4.8.1. Interface pointer
4.8.2. Method pointer
5. The mindc command.
5.1. Source-path
5.2. The Mind Pre-Processor
5.3. Customizing Compilation
5.4. Target-descriptor
5.4.1. Target descriptor syntax
5.4.2. Target-description extension
5.5. Generated files
5.5.1. Generated source files
5.5.2. Generated compilation files
5.5.3. Generated files for generic ADLs
5.6. Environment variables
5.6.1. Setting the verbosity level
6. Advanced Features
6.1. Component Factory
6.2. Fractal Controllers
6.2.1. The component controller
6.2.2. The binding-controller
6.2.3. The content-controller
6.2.4. The life-cycle-controller
6.2.5. The attribute-controller
6.2.6. The standard Fractal controllers
7. Fractal runtime reference
7.1. The default package
7.1.1. The mindcommon.h file
7.2. The fractal.api package
7.2.1. The fractal.api.Component interface
7.2.2. The fractal.api.BindingController interface
7.2.3. The fractal.api.ContentController interface
7.2.4. The fractal.api.AttributeController interface
7.2.5. The fractal.api.LifeCycleController interface
7.2.6. The fractal.api.Factory interface
7.2.7. fractal/api/ErrorConst.idt
7.3. The memory.api package
7.3.1. The memory.api.Allocator interface
7.4. The memory package
7.4.1. The memory.AllocatorType component type
7.4.2. The memory.Malloc component
7.5. The boot package
7.5.1. The boot.Main interface
7.5.2. The boot.ApplicationType component type
7.5.3. The boot.Bootstrap component
7.5.4. The boot.GenericApplication template component
7.5.5. The boot.LCCApplicationType component type
7.5.6. The boot.GenericLCCApplication template component
A. Glossary
Glossary

List of Examples

2.1. Primitive component definition
2.2. Composite component definition
2.3. Simple Interface declaration
2.4. Optional interface declaration
2.5. Collection interface declaration
2.6. Private data definition in a separate header file
2.7. Private data definition inlined in the ADL
2.8. Component implementation in a separate C file
2.9. Component implementation inlined in the ADL
2.10. Attribute declarations
2.11. Sub-component declaration
2.12. Binding declarations
2.13. Import statements
2.14. Definition extension
2.15. Definition parameters
2.16. Template variable declaration
2.17. Generic composite component definition
2.18. Extension of generic definitions
2.19. Anonymous definition
2.20. Anonymous definition that extends another definition
2.21. Anonymous definition using definition parameters
2.22. Annotation
3.1. Interface definition
3.2. Variadic methods
3.3. Interface inheritance
4.1. Private-data declaration
4.2. Implementation of provided interfaces
4.3. Private Method
4.4. Method invocation
4.5. Private-data access
4.6. Attribute access
4.7. Implementation of constructor and destructor
4.8. Interface pointer
4.9. Method pointer
5.1. mindc command examples
5.2. Simple target-descriptor
5.3. Target-descriptor extension
6.1. Declaration of Component Factory in ADL
6.2. Use of Component Factory
6.3. Declaration of the component controller in ADL
6.4. Use the component interface of a component created by a factory component
6.5. Declaration of the binding-controller in ADL
6.6. Declaration of the content-controller in ADL
6.7. Declaration of the life-cycle-controller in ADL
6.8. Implementation of the life-cycle-controller in primitive component.
6.9. Declaration of the attribute-controller in ADL
6.10. @controller.StdControllers and definition inheritence