# IBM Visualization Data Explorer Programmer's Reference

[ Bottom of Page | Previous Page | Next Page | Table of Contents | Partial Table of Contents | Index ]

### DXCallModule, DXModSet..., DXSetModule...

Function

Enable a routine to call a Data Explorer module.

Syntax
`
#include <dx/dx.h>
Error DXCallModule(char *modname, int num_inputs, ModuleInput *listin,
int num_outputs, ModuleOutput *listout);
`

Object DXModSetFloatInput(ModuleInput *in, char *name, int n);
Object DXModSetIntegerInput(ModuleInput *in, char *name, int n);
Object DXModSetStringInput(ModuleInput *in, char *name, char *s);
void DXModSetObjectInput(ModuleInput *in, char *name, Object obj);
void DXModSetObjectOutput(ModuleOutput *out, char *name, Object *obj);

DXSetModuleInput(ModuleInput in, char *name, Object *obj);
DXSetModuleOutput(ModuleOutput out, char *name, Object *obj);

Functional Details

The five `DXModSet...` routines are auxiliary to `DXCallModule`, which makes the actual call to a specified module.

Notes:

1. If you use `DXCallModule` in a stand-alone program or outboard module, you must call `DXInitModule` before making any calls to `DXCallModule`

2. The two `DXSetModule...` routines are provided solely for backward compatibility. Their use is not recommended.

3. The Get and Set modules cannot be called by DXCallModule.

4. Objects passed as inputs to DXCallModule will be deleted when that module is finished. To use the Object after DXCallModule requires a call to DXReference first, and the responsibility for deleting the Object when you are finished with it is yours.

`modname` | specifies the name of the module being called.
`num_inputs` | specifies the number of inputs in `listin`.
`listin` | is an Array of ModuleInput structures specifying the module inputs.
`num_outputs` | specifies the number of outputs in `listout`.
`listout` | is an Array of ModuleOutput structures specifying the module outputs.

The four `DXModSet...Input` routines set the contents of `ModuleInput` structures. `DXModSetObjectOutput` sets the destination for module outputs.

- If `name` is specified as `NULL`, the inputs and outputs set by these routines are considered positional. For example, the first values passed using one of the `DXModSet...Input` routines will be assigned to the first parameter of the module, the second value to the second parameter of that module, and so on.
- If `name` is a valid string, then it specifies a parameter of the module specified by `modname`, and the passed value is assigned to that parameter.
- Positional parameters cannot follow named ones.

A `ModuleInput` is defined as follows:
`
typedef struct {
char *name;
Object value;
} ModuleInput;
`

A `ModuleOutput` is defined as follows:
`
typedef struct {
char *name;
Object *value;
} ModuleOutput;
`

Return Value

Returns `NULL` or returns `ERROR` and sets an error code.

See Also

    DXInitModules,
    DXGetErrorExit,
    DXSetErrorExit,

    DXCheckRIH

13.10 , "Module Access".

`Readme` file in `/usr/local/dx/samples/callmodule/Readme`.

[ Top of Page | Previous Page | Next Page | Table of Contents | Partial Table of Contents | Index ]
[Data Explorer Documentation | QuickStart Guide | User's Guide | User's Reference | Programmer's Reference | Installation and Configuration Guide ]

[Data Explorer Home Page]

[IBM Home Page | Order | Search | Contact IBM | Legal ]