--- loncom/homework/CAPA-converter/capaCommon.h 2001/12/04 15:17:57 1.7 +++ loncom/homework/CAPA-converter/capaCommon.h 2001/12/05 18:58:21 1.8 @@ -1,6 +1,6 @@ /* The LearningOnline Network with CAPA * Definitons of the convertor API - * $Id: capaCommon.h,v 1.7 2001/12/04 15:17:57 albertel Exp $ + * $Id: capaCommon.h,v 1.8 2001/12/05 18:58:21 albertel Exp $ * * Copyright Michigan State University Board of Trustees * @@ -182,11 +182,19 @@ extern int current_cache; extern int do_cache[MAX_CACHE]; #define MAX_STREAMS 100 + +#define MAX_DEST 6 +#define DEFAULT_DEST 0 +#define HINT_DEST 1 +#define EXP_DEST 2 +#define ANS_DEST 3 + #define ALL_STREAMS -1 -extern struct dyn_string streams[MAX_STREAMS]; -extern int num_streams; +extern struct dyn_string streams[MAX_DEST][MAX_STREAMS]; +extern int num_streams[MAX_DEST]; +extern int current_dest; -int mode[MAX_STREAMS]; +extern int mode[MAX_DEST][MAX_STREAMS]; #define MODE_NONE 0 #define MODE_COMMENT 1 #define MODE_BLOCK 2 @@ -199,7 +207,8 @@ int mode[MAX_STREAMS]; mode has been entered. Set this to 1 and check again if it has been set back to zero. */ -extern int watch_mode[MAX_STREAMS]; +extern int watch_mode[MAX_DEST][MAX_STREAMS]; +extern int beg_mode[MAX_DEST][MAX_STREAMS]; /*=============================================================================*/ /* CAPA PROTOTYPES FOR FUNCTIONS IN COMMON.C */ /*=============================================================================*/ @@ -207,9 +216,9 @@ extern int watch_mode[MAX_STREAMS]; int capa_parse(int set,Problem_t **problem,char *filename,int *num_questions,void (*func_ptr)()); void send(char* text,...); void end_mode(void); -void end_mode_stream(int which); +void end_mode_stream(int which_dest, int which); void start_mode(int newmode,char* args); -void start_mode_stream(int which,int newmode,char* args); +void start_mode_stream(int which_dest, int which,int newmode,char* args); void dyn_init(struct dyn_string *dyn); void dyn_free(struct dyn_string *dyn); int append_message(struct dyn_string *dyn_msg,char *format,va_list ap); @@ -218,8 +227,11 @@ void flush_delayed(); void start_delayed(); void end_delayed(); void send_stream(int which,char* text,...); -void start_streams(int num); -void end_streams(int which); +void start_streams(int which_dest, int num); +void end_streams(int which_dest, int which); +int is_dest_empty(int which_dest); +void change_destination(int which_dest); +void send_destination_to_default(int which_dest); void new_cache(); void delete_cache(); void start_cache();