]> mj.ucw.cz Git - eval.git/blobdiff - submit/submitd.h
Submitting works, implemented STATUS command.
[eval.git] / submit / submitd.h
index 4030bc31e67f7c731490aa365a9f1df148775633..13524229603b5c5fcb902c78ac79dc6b9277f6be 100644 (file)
@@ -60,16 +60,27 @@ int process_command(struct conn *c);
 struct task {
   cnode n;
   byte *name;
+  uns open_data;       // Number of parts for open-data tasks
+  clist parts;         // List of parts of this task (simp_nodes)
+  clist *extensions;   // List of allowed extensions for this task (simp_nodes)
 };
 
 extern clist task_list;
 extern struct cf_section tasks_conf;
 
 struct task *task_find(byte *name);
+int part_exists_p(struct task *t, byte *name);
 int user_exists_p(byte *user);
+int ext_exists_p(struct task *t, byte *ext);
+
 void task_lock_status(struct conn *c);
 void task_unlock_status(struct conn *c, uns write_back);
-void task_submit(struct conn *c, struct task *t, struct fastbuf *fb, byte *filename);
-struct odes *task_status_find_task(struct conn *c, struct task *t);
+void task_load_status(struct conn *c);
+
+struct odes *task_status_find_task(struct conn *c, struct task *t, uns create);
+struct odes *task_status_find_part(struct odes *t, byte *part, uns create);
+
+void task_submit_part(byte *user, byte *task, byte *part, byte *ext, uns version, struct fastbuf *fb);
+void task_delete_part(byte *user, byte *task, byte *part, byte *ext, uns version);
 
 #endif