#ifndef UP_EXTRNL_SYNTAX_H
#define UP_EXTRNL_SYNTAX_H

#include <glib.h>

#define UP_EXTSYN_OK         0
#define UP_EXTSYN_ERR        1
#define UP_EXTSYN_WARN       2
#define UP_EXTSYN_ERR_WARN   3


typedef struct _external_syntax_struct {
  int result;
  char * error_str;
  char * warning_str;
  char * new_obj;
} external_syntax_struct;

typedef struct _attribute_struct {
  char * type;
  char * content;
} attribute_struct;

typedef struct _date_syntax_struct {
  int result;
  char * error_str;
} date_syntax_struct;


external_syntax_struct * UP_check_external_syntax(Object * arg, char * text);

char * UP_generate_kc_attrs(Object * arg, char * obj_text);

GSList * up_get_attribute_list(Object * o, char * text);

void up_reconstruct_object(GSList * attr_list, external_syntax_struct *result);

#endif
