|  |  |  | 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. |