#ifndef SHARED_ROSTER_XML_PARSER_H
#define SHARED_ROSTER_XML_PARSER_H

typedef enum {STANDALONE, CENTRAL, TEMPLATE} COURSE_TYPE;

typedef struct xml_course_info
{
    char course_code[MAX_COURSE_NO +1];
    char title[MAX_COURSE_TITLE +1];
    char semester[MAX_SEMESTER +1];
    char subdir[MAX_COURSE_SUBDIR + 1];
    char dir_id[MAX_COURSE_ID +1];
    char instructor_title[MAX_INSTRUCTOR +1];
    char real_dir_id[MAX_COURSE_ID +1];
    COURSE_TYPE course_type;
   
    P_NODE *user_head;
    P_NODE *user_current;
    struct xml_course_info *next;
}XML_COURSE_INFO;


typedef struct xml_course_info_list
{
    XML_COURSE_INFO *head;
    XML_COURSE_INFO *current;
}XML_COURSE_INFO_LIST;



void free_xml_data_list( XML_COURSE_INFO_LIST *list);
void *xml_course_data_parser(char *buf, const char *path);
void write_roster_xml_data(FILE *fp, XML_COURSE_INFO_LIST *list);
#endif
