add Autosave continuous backups by Andras Reuss and Andrew-R
[goodguy/cinelerra.git] / cinelerra-5.1 / cinelerra / filexml.h
index 70950384a5bda391a42dc20f0ad1c25c64d3c4b3..a8bcc736fc385daf572e2178390ef56e0f9f4835 100644 (file)
@@ -27,6 +27,8 @@
 #include <limits.h>
 
 #include "arraylist.h"
+#include "bcwindowbase.inc"
+#include "mutex.h"
 #include "keyframe.inc"
 #include "filexml.inc"
 #include "sizes.h"
@@ -38,9 +40,11 @@ class XMLBuffer
        long bsz, isz;
        unsigned char *inp, *outp, *bfr, *lmt;
        int destroy;
+       Mutex *share_lock;
 
        int demand(long len);
        friend class KeyFrame;
+       friend class FileXML;
 public:
        XMLBuffer(long buf_size=0x1000, long max_size=LONG_MAX, int del=1);
        XMLBuffer(long buf_size, char *buf, int del=0); // writing
@@ -132,7 +136,7 @@ public:
        int append_data(const char *text);
        int append_data(const char *text, long len);
 
-       char *read_text();
+       char *read_text(const char *tag_title=0);
        int read_data_until(const char *tag_end, XMLBuffer *xbfr, int skip=0);
        int read_text_until(const char *tag_end, XMLBuffer *xbfr, int skip=0);
        int read_tag();
@@ -162,7 +166,7 @@ public:
        long output_length;
        char *output;
        char left_delimiter, right_delimiter;
-       char filename[MAX_TITLE];
+       char filename[BCTEXTLEN];
        static const char *xml_header;
        static const int xml_header_size;
 };