Evolution API Reference: libedataserver, utility library | ||||
---|---|---|---|---|
#define E_TYPE_SEXP #define E_SEXP (obj) #define E_SEXP_CLASS (klass) #define IS_E_SEXP (obj) #define IS_E_SEXP_CLASS (klass) #define E_SEXP_GET_CLASS (obj) ESExpSymbol; ESExpResult; ESExpTerm; GType e_sexp_get_type (void); ESExp* e_sexp_new (void); void e_sexp_ref (ESExp *f); void e_sexp_unref (ESExp *f); void e_sexp_add_function (ESExp *f, int scope, char *name, ESExpFunc *func, void *data); void e_sexp_add_ifunction (ESExp *f, int scope, char *name, ESExpIFunc *func, void *data); void e_sexp_add_variable (ESExp *f, int scope, char *name, ESExpTerm *value); void e_sexp_remove_symbol (ESExp *f, int scope, char *name); int e_sexp_set_scope (ESExp *f, int scope); void e_sexp_input_text (ESExp *f, const char *text, int len); void e_sexp_input_file (ESExp *f, int fd); int e_sexp_parse (ESExp *f); ESExpResult* e_sexp_eval (ESExp *f); ESExpResult* e_sexp_term_eval (struct _ESExp *f, struct _ESExpTerm *t); ESExpResult* e_sexp_result_new (struct _ESExp *f, int type); void e_sexp_result_free (struct _ESExp *f, struct _ESExpResult *t); void e_sexp_resultv_free (struct _ESExp *f, int argc, struct _ESExpResult **argv); void e_sexp_encode_bool (GString *s, gboolean state); void e_sexp_encode_string (GString *s, const char *string); void e_sexp_fatal_error (struct _ESExp *f, char *why, ...); const char* e_sexp_error (struct _ESExp *f);
typedef struct { int type; /* ESEXP_TERM_FUNC or ESEXP_TERM_VAR */ char *name; void *data; union { ESExpFunc *func; ESExpIFunc *ifunc; } f; } ESExpSymbol;
typedef struct { enum _ESExpResultType type; union { GPtrArray *ptrarray; int number; char *string; int bool; time_t time; } value; } ESExpResult;
typedef struct { enum _ESExpTermType type; union { char *string; int number; int bool; time_t time; struct { struct _ESExpSymbol *sym; struct _ESExpTerm **terms; int termcount; } func; struct _ESExpSymbol *var; } value; } ESExpTerm;
void e_sexp_add_function (ESExp *f, int scope, char *name, ESExpFunc *func, void *data);
f : |
|
scope : |
|
name : |
|
func : |
|
data : |
void e_sexp_add_ifunction (ESExp *f, int scope, char *name, ESExpIFunc *func, void *data);
f : |
|
scope : |
|
name : |
|
func : |
|
data : |
void e_sexp_add_variable (ESExp *f, int scope, char *name, ESExpTerm *value);
f : |
|
scope : |
|
name : |
|
value : |
void e_sexp_remove_symbol (ESExp *f, int scope, char *name);
f : |
|
scope : |
|
name : |
ESExpResult* e_sexp_term_eval (struct _ESExp *f, struct _ESExpTerm *t);
f : |
|
t : |
|
Returns : |
ESExpResult* e_sexp_result_new (struct _ESExp *f, int type);
f : |
|
type : |
|
Returns : |
void e_sexp_resultv_free (struct _ESExp *f, int argc, struct _ESExpResult **argv);
f : |
|
argc : |
|
argv : |
void e_sexp_encode_bool (GString *s, gboolean state);
Encode a bool into an s-expression s
. Bools are
encoded using t f syntax.
s : |
|
state : |
void e_sexp_encode_string (GString *s, const char *string);
Add a c string string
to the s-expression stored in
the gstring s
. Quotes are added, and special characters
are escaped appropriately.
s : |
Destination string. |
string : |
String expression. |