Add initial version of the Cloud workbench

This commit is contained in:
Jean-Marie Verdun
2019-08-26 00:16:58 +02:00
committed by wmayer
parent 90b5f63bc2
commit a2e21f79f2
24 changed files with 1538 additions and 28 deletions

View File

@@ -335,6 +335,8 @@ void Base::XMLReader::readFiles(zipios::ZipInputStream &zipstream) const
try {
Base::Reader reader(zipstream, jt->FileName, FileVersion);
jt->Object->RestoreDocFile(reader);
if ( reader.getLocalReader() != nullptr )
reader.getLocalReader()->readFiles(zipstream);
}
catch(...) {
// For any exception we just continue with the next file.
@@ -576,3 +578,13 @@ std::istream& Base::Reader::getStream()
return this->_str;
}
void Base::Reader::initLocalReader(Base::XMLReader *ptr)
{
this->localreader=ptr;
}
Base::XMLReader *Base::Reader::getLocalReader()
{
return(this->localreader);
}

View File

@@ -207,6 +207,11 @@ public:
bool testStatus(ReaderStatus pos) const;
/// set the status bits
void setStatus(ReaderStatus pos, bool on);
struct FileEntry {
std::string FileName;
Base::Persistence *Object;
};
std::vector<FileEntry> FileList;
protected:
/// read the next element
@@ -281,11 +286,6 @@ protected:
bool _valid;
bool _verbose;
struct FileEntry {
std::string FileName;
Base::Persistence *Object;
};
std::vector<FileEntry> FileList;
std::vector<std::string> FileNames;
std::bitset<32> StatusBits;
@@ -298,11 +298,14 @@ public:
std::istream& getStream();
std::string getFileName() const;
int getFileVersion() const;
void initLocalReader(Base::XMLReader *ptr);
Base::XMLReader *getLocalReader();
private:
std::istream& _str;
std::string _name;
int fileVersion;
Base::XMLReader *localreader=nullptr;
};
}