OilPrototype

OilPrototype — Functions to manipulate prototype information.

Synopsis




                    OilPrototype;
OilPrototype*       oil_prototype_from_string           (const char *s);
char*               oil_prototype_to_string             (OilPrototype *proto);
char*               oil_prototype_to_arg_string         (OilPrototype *proto);
void                oil_prototype_free                  (OilPrototype *proto);
void                oil_prototype_append_param          (OilPrototype *proto,
                                                         OilParameter *param);

Description

Details

OilPrototype

typedef struct {
  int n_params;
  OilParameter *params;
  OilFunctionClass *klass;
} OilPrototype;

An opaque structure describing the C function prototype of an OilFunctionClass.


oil_prototype_from_string ()

OilPrototype*       oil_prototype_from_string           (const char *s);

Converts the string s containing C prototype that follows Liboil parameter naming rules into a OilPrototype. If the string cannot be converted, NULL is returned.

s : a string
Returns : the OilPrototype. When it is no longer needed, free the prototype using oil_prototype_free().

oil_prototype_to_string ()

char*               oil_prototype_to_string             (OilPrototype *proto);

Converts a prototype into the corresponding C style declaration.

proto : the OilPrototype
Returns : a string that should be freed using free() when it is no longer needed.

oil_prototype_to_arg_string ()

char*               oil_prototype_to_arg_string         (OilPrototype *proto);

Converts a prototype into the corresponding C argument list.

proto : the OilPrototype
Returns : a string that should be freed using free() when it is no longer needed.

oil_prototype_free ()

void                oil_prototype_free                  (OilPrototype *proto);

Frees memory associated with proto.

proto : the OilPrototype

oil_prototype_append_param ()

void                oil_prototype_append_param          (OilPrototype *proto,
                                                         OilParameter *param);

Appends param to the list of parameters contained in proto. The contents of param are copied.

proto : the OilPrototype
param : an OilParameter