|  |  |  | Rasqal RDF Query Library Manual |  | 
|---|---|---|---|---|
            rasqal_variable;
rasqal_variable* rasqal_new_variable        (rasqal_query *rq,
                                             unsigned char *name,
                                             rasqal_literal *value);
rasqal_variable* rasqal_new_variable_typed  (rasqal_query *rq,
                                             rasqal_variable_type type,
                                             unsigned char *name,
                                             rasqal_literal *value);
void        rasqal_free_variable            (rasqal_variable *v);
void        rasqal_variable_print           (rasqal_variable *v,
                                             FILE *fh);
void        rasqal_variable_set_value       (rasqal_variable *v,
                                             rasqal_literal *l);
enum        rasqal_variable_type;
A class to hold a variable with optional name and a
rasqal_literal value.  The name is not required for SPARQL
anonymous variables, when constructed with
rasqal_new_variable_typed() and type RASQAL_VARIABLE_TYPE_ANONYMOUS.
typedef struct {
  const unsigned char *name;
  rasqal_literal* value;
  int offset;
  rasqal_variable_type type;
} rasqal_variable;
Binding between a variable name and a value.
Includes internal field offset for recording the offset into the
(internal) rasqal_query variables array.
| const unsigned char * name; | Variable name. | 
| rasqal_literal * value; | Variable value or NULL if unbound. | 
| int offset; | Internal. | 
| rasqal_variable_type type; | Variable type. | 
rasqal_variable* rasqal_new_variable (rasqal_query *rq, unsigned char *name, rasqal_literal *value);
Constructor - Create a new Rasqal normal variable.
The variable must be associated with a query, since variable names are only significant with a single query.
This creates a regular variable that can be returned of type RASQAL_VARIABLE_TYPE_NORMAL. Use rasqal_new_variable_typed to create other variables.
The name and value become owned by the rasqal_variable structure
| rq: | rasqal_query to associate the variable with | 
| name: | variable name | 
| value: | variable rasqal_literal value (or NULL) | 
| Returns : | a new rasqal_variable or NULL on failure. | 
rasqal_variable* rasqal_new_variable_typed (rasqal_query *rq, rasqal_variable_type type, unsigned char *name, rasqal_literal *value);
Constructor - Create a new typed Rasqal variable.
The variable must be associated with a query, since variable names are only significant with a single query.
The name and value become owned by the rasqal_variable structure
| rq: | rasqal_query to associate the variable with | 
| type: | variable type defined by enumeration rasqal_variable_type | 
| name: | variable name | 
| value: | variable rasqal_literal value (or NULL) | 
| Returns : | a new rasqal_variable or NULL on failure. | 
void rasqal_free_variable (rasqal_variable *v);
Destructor - Destroy a Rasqal variable object.
| v: | rasqal_variable object | 
void rasqal_variable_print (rasqal_variable *v, FILE *fh);
Print a Rasqal variable in a debug format.
The print debug format may change in any release.
| v: | the rasqal_variable object | 
| fh: | the FILE* handle to print to | 
void rasqal_variable_set_value (rasqal_variable *v, rasqal_literal *l);
Set the value of a Rasqal variable.
The variable value is an input parameter and is copied in, not shared. If the variable value is NULL, any existing value is deleted.
| v: | the rasqal_variable object | 
| l: | the rasqal_literal value to set (or NULL) |