/* This code was generated by msoscheme (http://gitorious.org/msoscheme) */ /* version aca4fd06f1ad330ecadf05b9e862d7c91338f051 */ #include "simpleParser.h" using namespace MSO; #include "leinputstream.h" void MSO::parseRecordHeader(LEInputStream& in, RecordHeader& _s) { _s.streamOffset = in.getPosition(); _s.recVer = in.readuint4(); _s.recInstance = in.readuint12(); _s.recType = in.readuint16(); _s.recLen = in.readuint32(); } void MSO::parseCurrentUserAtom(LEInputStream& in, CurrentUserAtom& _s) { _s.streamOffset = in.getPosition(); int _c; LEInputStream::Mark _m; parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0"); } if (!(_s.rh.recInstance == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0"); } if (!(_s.rh.recType == 0x0FF6)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x0FF6"); } _s.size = in.readuint32(); if (!(((quint32)_s.size) == 0x14)) { throw IncorrectValueException(in.getPosition(), "((quint32)_s.size) == 0x14"); } _s.headerToken = in.readuint32(); if (!(((quint32)_s.headerToken) == 0xE391C05F || ((quint32)_s.headerToken) == 0xF3D1C4DF)) { throw IncorrectValueException(in.getPosition(), "((quint32)_s.headerToken) == 0xE391C05F || ((quint32)_s.headerToken) == 0xF3D1C4DF"); } _s.offsetToCurrentEdit = in.readuint32(); _s.lenUserName = in.readuint16(); if (!(((quint16)_s.lenUserName)<=255)) { throw IncorrectValueException(in.getPosition(), "((quint16)_s.lenUserName)<=255"); } _s.docFileVersion = in.readuint16(); if (!(((quint16)_s.docFileVersion) == 0x03F4)) { throw IncorrectValueException(in.getPosition(), "((quint16)_s.docFileVersion) == 0x03F4"); } _s.majorVersion = in.readuint8(); if (!(((quint8)_s.majorVersion) == 0x03)) { throw IncorrectValueException(in.getPosition(), "((quint8)_s.majorVersion) == 0x03"); } _s.minorVersion = in.readuint8(); if (!(((quint8)_s.minorVersion) == 0x00)) { throw IncorrectValueException(in.getPosition(), "((quint8)_s.minorVersion) == 0x00"); } _s.unused = in.readuint16(); _c = _s.lenUserName; _s.ansiUserName.resize(_c); in.readBytes(_s.ansiUserName); _s.relVersion = in.readuint32(); if (!(((quint32)_s.relVersion) == 0x8 || ((quint32)_s.relVersion) == 0x9)) { throw IncorrectValueException(in.getPosition(), "((quint32)_s.relVersion) == 0x8 || ((quint32)_s.relVersion) == 0x9"); } _s._has_unicodeUserName = _s.rh.recLen>3*_s.lenUserName+0x18; if (_s._has_unicodeUserName) { _c = _s.lenUserName; _s.unicodeUserName.resize(_c); for (int _i=0; _i<_c; ++_i) { _s.unicodeUserName[_i] = in.readuint16(); } } _s._has_unknown = _s.rh.recLen-0x18-3*_s.lenUserName>0; if (_s._has_unknown) { _c = _s.rh.recLen-0x18-3*_s.lenUserName; _s.unknown.resize(_c); in.readBytes(_s.unknown); } } void MSO::parseTODOS(LEInputStream& in, TODOS& _s) { _s.streamOffset = in.getPosition(); LEInputStream::Mark _m; bool _atend; _atend = false; while (!_atend) { _m = in.setMark(); try { _s.anon.append(Byte(&_s)); parseByte(in, _s.anon.last()); } catch(IncorrectValueException _e) { _s.anon.removeLast(); _atend = true; in.rewind(_m); } catch(EOFException _e) { _s.anon.removeLast(); _atend = true; in.rewind(_m); } } } void MSO::parseByte(LEInputStream& in, Byte& _s) { _s.streamOffset = in.getPosition(); _s.b = in.readuint8(); } void MSO::parseZeroByte(LEInputStream& in, ZeroByte& _s) { _s.streamOffset = in.getPosition(); _s.b = in.readuint8(); if (!(((quint8)_s.b) == 0)) { throw IncorrectValueException(in.getPosition(), "((quint8)_s.b) == 0"); } } void MSO::parseCurrentUserStream(LEInputStream& in, CurrentUserStream& _s) { _s.streamOffset = in.getPosition(); LEInputStream::Mark _m; bool _atend; parseCurrentUserAtom(in, _s.anon1); _atend = false; while (!_atend) { _m = in.setMark(); try { _s.trailing.append(Byte(&_s)); parseByte(in, _s.trailing.last()); } catch(IncorrectValueException _e) { _s.trailing.removeLast(); _atend = true; in.rewind(_m); } catch(EOFException _e) { _s.trailing.removeLast(); _atend = true; in.rewind(_m); } } } void MSO::parseOfficeArtBStoreDelay(LEInputStream& in, OfficeArtBStoreDelay& _s) { _s.streamOffset = in.getPosition(); LEInputStream::Mark _m; bool _atend; _atend = false; while (!_atend) { _m = in.setMark(); try { _s.rgfb.append(OfficeArtBStoreContainerFileBlock(&_s)); parseOfficeArtBStoreContainerFileBlock(in, _s.rgfb.last()); } catch(IncorrectValueException _e) { _s.rgfb.removeLast(); _atend = true; in.rewind(_m); } catch(EOFException _e) { _s.rgfb.removeLast(); _atend = true; in.rewind(_m); } } } void MSO::parseOfficeArtRecordHeader(LEInputStream& in, OfficeArtRecordHeader& _s) { _s.streamOffset = in.getPosition(); _s.recVer = in.readuint4(); _s.recInstance = in.readuint12(); _s.recType = in.readuint16(); _s.recLen = in.readuint32(); } void MSO::parseOfficeArtBlipJPEG(LEInputStream& in, OfficeArtBlipJPEG& _s) { _s.streamOffset = in.getPosition(); int _c; LEInputStream::Mark _m; parseOfficeArtRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0"); } if (!(_s.rh.recInstance == 0x46A || _s.rh.recInstance == 0x46B || _s.rh.recInstance == 0x6E2 || _s.rh.recInstance == 0x6E3)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0x46A || _s.rh.recInstance == 0x46B || _s.rh.recInstance == 0x6E2 || _s.rh.recInstance == 0x6E3"); } if (!(_s.rh.recType == 0xF01D)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0xF01D"); } _c = 16; _s.rgbUid1.resize(_c); in.readBytes(_s.rgbUid1); _s._has_rgbUid2 = _s.rh.recInstance == 0x46B || _s.rh.recInstance == 0x6E3; if (_s._has_rgbUid2) { _c = 16; _s.rgbUid2.resize(_c); in.readBytes(_s.rgbUid2); } _s.tag = in.readuint8(); _c = _s.rh.recLen-((_s.rh.recInstance == 0x46A || _s.rh.recInstance == 0x6E2)?17:33); _s.BLIPFileData.resize(_c); in.readBytes(_s.BLIPFileData); } void MSO::parseOfficeArtBlipPNG(LEInputStream& in, OfficeArtBlipPNG& _s) { _s.streamOffset = in.getPosition(); int _c; LEInputStream::Mark _m; parseOfficeArtRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0"); } if (!(_s.rh.recInstance == 0x6E0 || _s.rh.recInstance == 0x6E1)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0x6E0 || _s.rh.recInstance == 0x6E1"); } if (!(_s.rh.recType == 0xF01E)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0xF01E"); } _c = 16; _s.rgbUid1.resize(_c); in.readBytes(_s.rgbUid1); _s._has_rgbUid2 = _s.rh.recInstance == 0x6E1; if (_s._has_rgbUid2) { _c = 16; _s.rgbUid2.resize(_c); in.readBytes(_s.rgbUid2); } _s.tag = in.readuint8(); _c = _s.rh.recLen-((_s.rh.recInstance==0x6E0)?17:33); _s.BLIPFileData.resize(_c); in.readBytes(_s.BLIPFileData); } void MSO::parseOfficeArtBlipDIB(LEInputStream& in, OfficeArtBlipDIB& _s) { _s.streamOffset = in.getPosition(); int _c; LEInputStream::Mark _m; parseOfficeArtRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0"); } if (!(_s.rh.recInstance == 0x7A8 || _s.rh.recInstance == 0x7A9)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0x7A8 || _s.rh.recInstance == 0x7A9"); } if (!(_s.rh.recType == 0xF01F)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0xF01F"); } _c = 16; _s.rgbUid1.resize(_c); in.readBytes(_s.rgbUid1); _s._has_rgbUid2 = _s.rh.recInstance == 0x7A9; if (_s._has_rgbUid2) { _c = 16; _s.rgbUid2.resize(_c); in.readBytes(_s.rgbUid2); } _s.tag = in.readuint8(); _c = _s.rh.recLen-((_s.rh.recInstance==0x7A8)?17:33); _s.BLIPFileData.resize(_c); in.readBytes(_s.BLIPFileData); } void MSO::parseOfficeArtBlipTIFF(LEInputStream& in, OfficeArtBlipTIFF& _s) { _s.streamOffset = in.getPosition(); int _c; LEInputStream::Mark _m; parseOfficeArtRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0"); } if (!(_s.rh.recInstance == 0x6E4 || _s.rh.recInstance == 0x6E5)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0x6E4 || _s.rh.recInstance == 0x6E5"); } if (!(_s.rh.recType == 0xF020)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0xF020"); } _c = 16; _s.rgbUid1.resize(_c); in.readBytes(_s.rgbUid1); _s._has_rgbUid2 = _s.rh.recInstance == 0x6E5; if (_s._has_rgbUid2) { _c = 16; _s.rgbUid2.resize(_c); in.readBytes(_s.rgbUid2); } _s.tag = in.readuint8(); _c = _s.rh.recLen-((_s.rh.recInstance==0x6E4)?17:33); _s.BLIPFileData.resize(_c); in.readBytes(_s.BLIPFileData); } void MSO::parseRECT(LEInputStream& in, RECT& _s) { _s.streamOffset = in.getPosition(); _s.left = in.readint32(); _s.top = in.readint32(); _s.right = in.readint32(); _s.bottom = in.readint32(); } void MSO::parsePOINT(LEInputStream& in, POINT& _s) { _s.streamOffset = in.getPosition(); _s.x = in.readint32(); _s.y = in.readint32(); } void MSO::parsePowerPointStructs(LEInputStream& in, PowerPointStructs& _s) { _s.streamOffset = in.getPosition(); LEInputStream::Mark _m; bool _atend; _atend = false; while (!_atend) { _m = in.setMark(); try { _s.anon.append(PowerPointStruct(&_s)); parsePowerPointStruct(in, _s.anon.last()); } catch(IncorrectValueException _e) { _s.anon.removeLast(); _atend = true; in.rewind(_m); } catch(EOFException _e) { _s.anon.removeLast(); _atend = true; in.rewind(_m); } } } void MSO::parseSoundCollectionAtom(LEInputStream& in, SoundCollectionAtom& _s) { _s.streamOffset = in.getPosition(); parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0"); } if (!(_s.rh.recInstance == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0"); } if (!(_s.rh.recType == 0x7e5)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x7e5"); } if (!(_s.rh.recLen == 4)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recLen == 4"); } _s.soundIdSeed = in.readuint32(); } void MSO::parseHeadersFootersAtom(LEInputStream& in, HeadersFootersAtom& _s) { _s.streamOffset = in.getPosition(); parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0"); } if (!(_s.rh.recInstance == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0"); } if (!(_s.rh.recType == 0xFDA)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0xFDA"); } if (!(_s.rh.recLen == 4)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recLen == 4"); } _s.formatId = in.readint16(); if (!(((qint16)_s.formatId)>=0)) { throw IncorrectValueException(in.getPosition(), "((qint16)_s.formatId)>=0"); } if (!(((qint16)_s.formatId)<=13)) { throw IncorrectValueException(in.getPosition(), "((qint16)_s.formatId)<=13"); } _s.fHasDate = in.readbit(); _s.fHasTodayDate = in.readbit(); _s.fHasUserDate = in.readbit(); _s.fHasSlideNumber = in.readbit(); _s.fHasHeader = in.readbit(); _s.fHasFooter = in.readbit(); _s.reserved1 = in.readuint2(); _s.reserved2 = in.readuint8(); } void MSO::parseUserDateAtom(LEInputStream& in, UserDateAtom& _s) { _s.streamOffset = in.getPosition(); int _c; LEInputStream::Mark _m; parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0"); } if (!(_s.rh.recInstance == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0"); } if (!(_s.rh.recType == 0xFBA)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0xFBA"); } if (!(_s.rh.recLen%2==0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recLen%2==0"); } if (!(_s.rh.recLen<=510)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recLen<=510"); } _c = _s.rh.recLen/2; _s.userDate.resize(_c); for (int _i=0; _i<_c; ++_i) { _s.userDate[_i] = in.readuint16(); } } void MSO::parseHeaderAtom(LEInputStream& in, HeaderAtom& _s) { _s.streamOffset = in.getPosition(); int _c; LEInputStream::Mark _m; parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0"); } if (!(_s.rh.recInstance == 1)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 1"); } if (!(_s.rh.recType == 0xFBA)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0xFBA"); } if (!(_s.rh.recLen%2==0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recLen%2==0"); } _c = _s.rh.recLen/2; _s.header.resize(_c); for (int _i=0; _i<_c; ++_i) { _s.header[_i] = in.readuint16(); } } void MSO::parseFooterAtom(LEInputStream& in, FooterAtom& _s) { _s.streamOffset = in.getPosition(); int _c; LEInputStream::Mark _m; parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0"); } if (!(_s.rh.recInstance == 2)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 2"); } if (!(_s.rh.recType == 0xFBA)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0xFBA"); } if (!(_s.rh.recLen%2==0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recLen%2==0"); } _c = _s.rh.recLen/2; _s.footer.resize(_c); for (int _i=0; _i<_c; ++_i) { _s.footer[_i] = in.readuint16(); } } void MSO::parsePerSlideHeadersFootersContainer(LEInputStream& in, PerSlideHeadersFootersContainer& _s) { _s.streamOffset = in.getPosition(); LEInputStream::Mark _m; bool _possiblyPresent; parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0xF)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0xF"); } if (!(_s.rh.recInstance == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0"); } if (!(_s.rh.recType == 0xFD9)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0xFD9"); } parseHeadersFootersAtom(in, _s.hfAtom); _m = in.setMark(); try { RecordHeader _optionCheck(&_s); parseRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 0)&&(_optionCheck.recInstance == 0)&&(_optionCheck.recType == 0xFBA)&&(_optionCheck.recLen%2==0)&&(_optionCheck.recLen<=510); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.userDateAtom = QSharedPointer(new UserDateAtom(&_s)); parseUserDateAtom(in, *_s.userDateAtom.data()); } catch(IncorrectValueException _e) { _s.userDateAtom.clear(); in.rewind(_m); } catch(EOFException _e) { _s.userDateAtom.clear(); in.rewind(_m); } } _m = in.setMark(); try { RecordHeader _optionCheck(&_s); parseRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 0)&&(_optionCheck.recInstance == 1)&&(_optionCheck.recType == 0xFBA)&&(_optionCheck.recLen%2==0); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.headerAtom = QSharedPointer(new HeaderAtom(&_s)); parseHeaderAtom(in, *_s.headerAtom.data()); } catch(IncorrectValueException _e) { _s.headerAtom.clear(); in.rewind(_m); } catch(EOFException _e) { _s.headerAtom.clear(); in.rewind(_m); } } _m = in.setMark(); try { RecordHeader _optionCheck(&_s); parseRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 0)&&(_optionCheck.recInstance == 2)&&(_optionCheck.recType == 0xFBA)&&(_optionCheck.recLen%2==0); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.footerAtom = QSharedPointer(new FooterAtom(&_s)); parseFooterAtom(in, *_s.footerAtom.data()); } catch(IncorrectValueException _e) { _s.footerAtom.clear(); in.rewind(_m); } catch(EOFException _e) { _s.footerAtom.clear(); in.rewind(_m); } } _m = in.setMark(); try { RecordHeader _optionCheck(&_s); parseRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 0)&&(_optionCheck.recInstance == 0)&&(_optionCheck.recType == 0xFBA)&&(_optionCheck.recLen%2==0)&&(_optionCheck.recLen<=510); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.userDateAtom2 = QSharedPointer(new UserDateAtom(&_s)); parseUserDateAtom(in, *_s.userDateAtom2.data()); } catch(IncorrectValueException _e) { _s.userDateAtom2.clear(); in.rewind(_m); } catch(EOFException _e) { _s.userDateAtom2.clear(); in.rewind(_m); } } } void MSO::parseEndDocumentAtom(LEInputStream& in, EndDocumentAtom& _s) { _s.streamOffset = in.getPosition(); parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0"); } if (!(_s.rh.recInstance == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0"); } if (!(_s.rh.recType == 0x3EA)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x3EA"); } if (!(_s.rh.recLen == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recLen == 0"); } } void MSO::parseDocInfoListContainer(LEInputStream& in, DocInfoListContainer& _s) { _s.streamOffset = in.getPosition(); LEInputStream::Mark _m; bool _atend; parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0xF)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0xF"); } if (!(_s.rh.recInstance == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0"); } if (!(_s.rh.recType == 0x7D0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x7D0"); } _atend = false; while (!_atend) { _m = in.setMark(); try { _s.rgChildRec.append(DocInfoListSubContainerOrAtom(&_s)); parseDocInfoListSubContainerOrAtom(in, _s.rgChildRec.last()); } catch(IncorrectValueException _e) { _s.rgChildRec.removeLast(); _atend = true; in.rewind(_m); } catch(EOFException _e) { _s.rgChildRec.removeLast(); _atend = true; in.rewind(_m); } } } void MSO::parseSlideViewInfoAtom(LEInputStream& in, SlideViewInfoAtom& _s) { _s.streamOffset = in.getPosition(); parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0"); } if (!(_s.rh.recInstance == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0"); } if (!(_s.rh.recType == 0x3FE)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x3FE"); } if (!(_s.rh.recLen == 3)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recLen == 3"); } _s.unused1 = in.readuint8(); _s.fSnapToGrid = in.readuint8(); _s.fSnapToShape = in.readuint8(); } void MSO::parseGuideAtom(LEInputStream& in, GuideAtom& _s) { _s.streamOffset = in.getPosition(); parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0"); } if (!(_s.rh.recInstance == 7)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 7"); } if (!(_s.rh.recType == 0x3FB)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x3FB"); } if (!(_s.rh.recLen == 8)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recLen == 8"); } _s.type = in.readuint32(); if (!(((quint32)_s.type) == 0 || ((quint32)_s.type) == 1)) { throw IncorrectValueException(in.getPosition(), "((quint32)_s.type) == 0 || ((quint32)_s.type) == 1"); } _s.pos = in.readint32(); if (!(((qint32)_s.pos)>=-15840)) { throw IncorrectValueException(in.getPosition(), "((qint32)_s.pos)>=-15840"); } if (!(((qint32)_s.pos)<=32255)) { throw IncorrectValueException(in.getPosition(), "((qint32)_s.pos)<=32255"); } } void MSO::parseDocProgTagsContainer(LEInputStream& in, DocProgTagsContainer& _s) { _s.streamOffset = in.getPosition(); LEInputStream::Mark _m; bool _atend; parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0xF)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0xF"); } if (!(_s.rh.recInstance == 0 || _s.rh.recInstance == 1)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0 || _s.rh.recInstance == 1"); } if (!(_s.rh.recType == 0x1388)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x1388"); } qint64 _startPos = in.getPosition(); int _totalSize = qMin(_s.rh.recLen, quint32(in.getSize() - _startPos)); _atend = in.getPosition() - _startPos >= _totalSize; while (!_atend) { _s.rgChildRec.append(DocProgTagsSubContainerOrAtom(&_s)); parseDocProgTagsSubContainerOrAtom(in, _s.rgChildRec.last()); _atend = in.getPosition() - _startPos >= _totalSize; } } void MSO::parseTextAutoNumberScheme(LEInputStream& in, TextAutoNumberScheme& _s) { _s.streamOffset = in.getPosition(); _s.scheme = in.readuint16(); if (!(((quint16)_s.scheme)<=40)) { throw IncorrectValueException(in.getPosition(), "((quint16)_s.scheme)<=40"); } _s.startNum = in.readuint16(); if (!(((quint16)_s.startNum)>=1)) { throw IncorrectValueException(in.getPosition(), "((quint16)_s.startNum)>=1"); } } void MSO::parseBlipCollection9Container(LEInputStream& in, BlipCollection9Container& _s) { _s.streamOffset = in.getPosition(); LEInputStream::Mark _m; bool _atend; parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0xF)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0xF"); } if (!(_s.rh.recInstance == 0x0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0x0"); } if (!(_s.rh.recType == 0x07F8)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x07F8"); } qint64 _startPos = in.getPosition(); int _totalSize = qMin(_s.rh.recLen, quint32(in.getSize() - _startPos)); _atend = in.getPosition() - _startPos >= _totalSize; while (!_atend) { _s.rgBlipEntityAtom.append(BlipEntityAtom(&_s)); parseBlipEntityAtom(in, _s.rgBlipEntityAtom.last()); _atend = in.getPosition() - _startPos >= _totalSize; } } void MSO::parseKinsoku9Atom(LEInputStream& in, Kinsoku9Atom& _s) { _s.streamOffset = in.getPosition(); parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0x0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0x0"); } if (!(_s.rh.recInstance == 0x3)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0x3"); } if (!(_s.rh.recType == 0x0FD2)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x0FD2"); } if (!(_s.rh.recLen == 0x0004)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recLen == 0x0004"); } _s.korLevel = in.readuint2(); if (!(((quint8)_s.korLevel) == 0x0 || ((quint8)_s.korLevel) == 0x2)) { throw IncorrectValueException(in.getPosition(), "((quint8)_s.korLevel) == 0x0 || ((quint8)_s.korLevel) == 0x2"); } _s.scLevel = in.readuint2(); if (!(((quint8)_s.scLevel) == 0x0 || ((quint8)_s.scLevel) == 0x2)) { throw IncorrectValueException(in.getPosition(), "((quint8)_s.scLevel) == 0x0 || ((quint8)_s.scLevel) == 0x2"); } _s.tcLevel = in.readuint2(); if (!(((quint8)_s.tcLevel) == 0x0 || ((quint8)_s.tcLevel) == 0x2)) { throw IncorrectValueException(in.getPosition(), "((quint8)_s.tcLevel) == 0x0 || ((quint8)_s.tcLevel) == 0x2"); } _s.jpnLevel = in.readuint2(); if (!(((quint8)_s.jpnLevel) == 0x0 || ((quint8)_s.jpnLevel) == 0x1 || ((quint8)_s.jpnLevel) == 0x2)) { throw IncorrectValueException(in.getPosition(), "((quint8)_s.jpnLevel) == 0x0 || ((quint8)_s.jpnLevel) == 0x1 || ((quint8)_s.jpnLevel) == 0x2"); } _s.reserveda = in.readuint4(); if (!(((quint8)_s.reserveda) == 0)) { throw IncorrectValueException(in.getPosition(), "((quint8)_s.reserveda) == 0"); } _s.reservedb = in.readuint20(); if (!(((quint32)_s.reservedb) == 0)) { throw IncorrectValueException(in.getPosition(), "((quint32)_s.reservedb) == 0"); } } void MSO::parseExHyperlink9Container(LEInputStream& in, ExHyperlink9Container& _s) { _s.streamOffset = in.getPosition(); int _c; LEInputStream::Mark _m; parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0xF)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0xF"); } if (!(_s.rh.recInstance == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0"); } if (!(_s.rh.recType == 0xFE4)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0xFE4"); } _c = _s.rh.recLen; _s.todo.resize(_c); in.readBytes(_s.todo); } void MSO::parsePresAdvisorFlags9Atom(LEInputStream& in, PresAdvisorFlags9Atom& _s) { _s.streamOffset = in.getPosition(); parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0x0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0x0"); } if (!(_s.rh.recInstance == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0"); } if (!(_s.rh.recType == 0x177A)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x177A"); } if (!(_s.rh.recLen == 0x4)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recLen == 0x4"); } _s.fDisableCaseStyleTitleRule = in.readbit(); _s.fDisableCaseStyleBodyRule = in.readbit(); _s.fDisableEndPunctuationTitleRule = in.readbit(); _s.fDisableEndPunctuationBodyRule = in.readbit(); _s.fDisableTooManyBulletsRule = in.readbit(); _s.fDisableFontSizeTitleRule = in.readbit(); _s.fDisableFontSizeBodyRule = in.readbit(); _s.fDisableNumberOfLinesTitleRule = in.readbit(); _s.fDisableNumberOfLinesBodyRule = in.readbit(); _s.fDisableTooManyFontsRule = in.readbit(); _s.fDisablePrintTip = in.readbit(); _s.reserveda = in.readuint5(); if (!(((quint8)_s.reserveda) == 0)) { throw IncorrectValueException(in.getPosition(), "((quint8)_s.reserveda) == 0"); } _s.reservedb = in.readuint16(); if (!(((quint16)_s.reservedb) == 0)) { throw IncorrectValueException(in.getPosition(), "((quint16)_s.reservedb) == 0"); } } void MSO::parseEnvelopeData9Atom(LEInputStream& in, EnvelopeData9Atom& _s) { _s.streamOffset = in.getPosition(); int _c; LEInputStream::Mark _m; parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0x0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0x0"); } if (!(_s.rh.recInstance == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0"); } if (!(_s.rh.recType == 0x1785)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x1785"); } _c = _s.rh.recLen; _s.todo.resize(_c); in.readBytes(_s.todo); } void MSO::parseEnvelopeFlags9Atom(LEInputStream& in, EnvelopeFlags9Atom& _s) { _s.streamOffset = in.getPosition(); parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0x0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0x0"); } if (!(_s.rh.recInstance == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0"); } if (!(_s.rh.recType == 0x1784)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x1784"); } if (!(_s.rh.recLen == 4)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recLen == 4"); } _s.fHasEnvelope = in.readbit(); _s.fEnvelopeVisible = in.readbit(); _s.reserved1 = in.readuint2(); if (!(((quint8)_s.reserved1) == 0)) { throw IncorrectValueException(in.getPosition(), "((quint8)_s.reserved1) == 0"); } _s.fEnvelopeDirty = in.readbit(); _s.reserved2a = in.readuint3(); if (!(((quint8)_s.reserved2a) == 0)) { throw IncorrectValueException(in.getPosition(), "((quint8)_s.reserved2a) == 0"); } _s.reserved2b = in.readuint8(); if (!(((quint8)_s.reserved2b) == 0)) { throw IncorrectValueException(in.getPosition(), "((quint8)_s.reserved2b) == 0"); } _s.reserved2c = in.readuint16(); if (!(((quint16)_s.reserved2c) == 0)) { throw IncorrectValueException(in.getPosition(), "((quint16)_s.reserved2c) == 0"); } } void MSO::parseHTMLDocInfo9Atom(LEInputStream& in, HTMLDocInfo9Atom& _s) { _s.streamOffset = in.getPosition(); parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0x0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0x0"); } if (!(_s.rh.recInstance == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0"); } if (!(_s.rh.recType == 0x177B)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x177B"); } if (!(_s.rh.recLen == 0x10)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recLen == 0x10"); } _s.unused1 = in.readuint32(); _s.encoding = in.readuint32(); _s.frameColorType = in.readuint16(); if (!(((quint16)_s.frameColorType) == 0 || ((quint16)_s.frameColorType) == 1 || ((quint16)_s.frameColorType) == 2 || ((quint16)_s.frameColorType) == 3 || ((quint16)_s.frameColorType) == 4 || ((quint16)_s.frameColorType) == 5)) { throw IncorrectValueException(in.getPosition(), "((quint16)_s.frameColorType) == 0 || ((quint16)_s.frameColorType) == 1 || ((quint16)_s.frameColorType) == 2 || ((quint16)_s.frameColorType) == 3 || ((quint16)_s.frameColorType) == 4 || ((quint16)_s.frameColorType) == 5"); } _s.screenSize = in.readuint8(); _s.unused2 = in.readuint8(); _s.outputType = in.readuint8(); _s.fShowFrame = in.readbit(); _s.fResizeGraphics = in.readbit(); _s.fOrganizeInFolder = in.readbit(); _s.fUseLongFileNames = in.readbit(); _s.fRelyOnVML = in.readbit(); _s.fAllowPNG = in.readbit(); _s.fShowSlideAnimation = in.readbit(); _s.reserved1 = in.readbit(); if (!(((bool)_s.reserved1) == false)) { throw IncorrectValueException(in.getPosition(), "((bool)_s.reserved1) == false"); } _s.unused3 = in.readuint16(); } void MSO::parseHTMLPublishInfo9Container(LEInputStream& in, HTMLPublishInfo9Container& _s) { _s.streamOffset = in.getPosition(); int _c; LEInputStream::Mark _m; parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0xF)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0xF"); } if (!(_s.rh.recInstance == 0x0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0x0"); } if (!(_s.rh.recType == 0x177D)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x177D"); } _c = _s.rh.recLen; _s.todo.resize(_c); in.readBytes(_s.todo); } void MSO::parseBroadcastDocInfo9Container(LEInputStream& in, BroadcastDocInfo9Container& _s) { _s.streamOffset = in.getPosition(); int _c; LEInputStream::Mark _m; parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0xF)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0xF"); } if (!(_s.rh.recInstance == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0"); } if (!(_s.rh.recType == 0x177E)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x177E"); } _c = _s.rh.recLen; _s.todo.resize(_c); in.readBytes(_s.todo); } void MSO::parseOutlineTextProps9Container(LEInputStream& in, OutlineTextProps9Container& _s) { _s.streamOffset = in.getPosition(); LEInputStream::Mark _m; bool _atend; parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0xF)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0xF"); } if (!(_s.rh.recInstance == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0"); } if (!(_s.rh.recType == 0x0FAE)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x0FAE"); } _atend = false; while (!_atend) { _m = in.setMark(); try { _s.rgOutlineTextProps9Entry.append(OutlineTextProps9Entry(&_s)); parseOutlineTextProps9Entry(in, _s.rgOutlineTextProps9Entry.last()); } catch(IncorrectValueException _e) { _s.rgOutlineTextProps9Entry.removeLast(); _atend = true; in.rewind(_m); } catch(EOFException _e) { _s.rgOutlineTextProps9Entry.removeLast(); _atend = true; in.rewind(_m); } } } void MSO::parseOutlineTextPropsHeaderExAtom(LEInputStream& in, OutlineTextPropsHeaderExAtom& _s) { _s.streamOffset = in.getPosition(); parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0"); } if (!(_s.rh.recInstance<=5)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance<=5"); } if (!(_s.rh.recType == 0xFAF)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0xFAF"); } _s.slideIdRef = in.readuint32(); _s.txType = in.readuint32(); } void MSO::parseStyleTextProp9Atom(LEInputStream& in, StyleTextProp9Atom& _s) { _s.streamOffset = in.getPosition(); LEInputStream::Mark _m; bool _atend; parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0"); } if (!(_s.rh.recInstance == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0"); } if (!(_s.rh.recType == 0xFAC)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0xFAC"); } qint64 _startPos = in.getPosition(); int _totalSize = qMin(_s.rh.recLen, quint32(in.getSize() - _startPos)); _atend = in.getPosition() - _startPos >= _totalSize; while (!_atend) { _s.rgStyleTextProp9.append(StyleTextProp9(&_s)); parseStyleTextProp9(in, _s.rgStyleTextProp9.last()); _atend = in.getPosition() - _startPos >= _totalSize; } } void MSO::parseFontCollection10Container(LEInputStream& in, FontCollection10Container& _s) { _s.streamOffset = in.getPosition(); LEInputStream::Mark _m; bool _atend; parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0xF)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0xF"); } if (!(_s.rh.recInstance == 0x0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0x0"); } if (!(_s.rh.recType == 0x07D6)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x07D6"); } qint64 _startPos = in.getPosition(); int _totalSize = qMin(_s.rh.recLen, quint32(in.getSize() - _startPos)); _atend = in.getPosition() - _startPos >= _totalSize; while (!_atend) { _s.rgFontCollectionEntry.append(FontCollectionEntry(&_s)); parseFontCollectionEntry(in, _s.rgFontCollectionEntry.last()); _atend = in.getPosition() - _startPos >= _totalSize; } } void MSO::parseGridSpacing10Atom(LEInputStream& in, GridSpacing10Atom& _s) { _s.streamOffset = in.getPosition(); parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0x0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0x0"); } if (!(_s.rh.recInstance == 0x0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0x0"); } if (!(_s.rh.recType == 0x040D)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x040D"); } if (!(_s.rh.recLen == 0x08)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recLen == 0x08"); } _s.x = in.readuint32(); if (!(((quint32)_s.x)>=23224)) { throw IncorrectValueException(in.getPosition(), "((quint32)_s.x)>=23224"); } if (!(((quint32)_s.x)<=1179648)) { throw IncorrectValueException(in.getPosition(), "((quint32)_s.x)<=1179648"); } _s.y = in.readuint32(); if (!(((quint32)_s.y)>=23224)) { throw IncorrectValueException(in.getPosition(), "((quint32)_s.y)>=23224"); } if (!(((quint32)_s.y)<=1179648)) { throw IncorrectValueException(in.getPosition(), "((quint32)_s.y)<=1179648"); } } void MSO::parseAuthorNameAtom(LEInputStream& in, AuthorNameAtom& _s) { _s.streamOffset = in.getPosition(); int _c; LEInputStream::Mark _m; parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0x0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0x0"); } if (!(_s.rh.recInstance == 0x0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0x0"); } if (!(_s.rh.recType == 0x0FBA)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x0FBA"); } if (!(_s.rh.recLen<=104)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recLen<=104"); } if (!(_s.rh.recLen%2==0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recLen%2==0"); } _c = _s.rh.recLen; _s.authorName.resize(_c); in.readBytes(_s.authorName); } void MSO::parseCommentIndex10Atom(LEInputStream& in, CommentIndex10Atom& _s) { _s.streamOffset = in.getPosition(); parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0x0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0x0"); } if (!(_s.rh.recInstance == 0x0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0x0"); } if (!(_s.rh.recType == 0x2EE5)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x2EE5"); } if (!(_s.rh.recLen == 0x08)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recLen == 0x08"); } _s.colorIndex = in.readint32(); if (!(((qint32)_s.colorIndex)>=0)) { throw IncorrectValueException(in.getPosition(), "((qint32)_s.colorIndex)>=0"); } _s.commentIndexSeed = in.readint32(); if (!(((qint32)_s.commentIndexSeed)>=0)) { throw IncorrectValueException(in.getPosition(), "((qint32)_s.commentIndexSeed)>=0"); } } void MSO::parseFontEmbedFlags10Atom(LEInputStream& in, FontEmbedFlags10Atom& _s) { _s.streamOffset = in.getPosition(); parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0x0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0x0"); } if (!(_s.rh.recInstance == 0x0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0x0"); } if (!(_s.rh.recType == 0x32C8)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x32C8"); } if (!(_s.rh.recLen == 0x04)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recLen == 0x04"); } _s.fSubset = in.readbit(); _s.fSubsetOptionConfirmed = in.readbit(); _s.unuseda = in.readuint14(); _s.unusedb = in.readuint16(); } void MSO::parseCopyrightAtom(LEInputStream& in, CopyrightAtom& _s) { _s.streamOffset = in.getPosition(); int _c; LEInputStream::Mark _m; parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0x0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0x0"); } if (!(_s.rh.recInstance == 0x1)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0x1"); } if (!(_s.rh.recType == 0x0FBA)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x0FBA"); } if (!(_s.rh.recLen<=510)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recLen<=510"); } if (!(_s.rh.recLen%2==0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recLen%2==0"); } _c = _s.rh.recLen; _s.copyright.resize(_c); in.readBytes(_s.copyright); } void MSO::parseKeywordsAtom(LEInputStream& in, KeywordsAtom& _s) { _s.streamOffset = in.getPosition(); int _c; LEInputStream::Mark _m; parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0x0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0x0"); } if (!(_s.rh.recInstance == 0x2)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0x2"); } if (!(_s.rh.recType == 0x0FBA)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x0FBA"); } if (!(_s.rh.recLen<=510)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recLen<=510"); } if (!(_s.rh.recLen%2==0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recLen%2==0"); } _c = _s.rh.recLen; _s.keywords.resize(_c); in.readBytes(_s.keywords); } void MSO::parseFilterPrivacyFlags10Atom(LEInputStream& in, FilterPrivacyFlags10Atom& _s) { _s.streamOffset = in.getPosition(); parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0x0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0x0"); } if (!(_s.rh.recInstance == 0x0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0x0"); } if (!(_s.rh.recType == 0x36B0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x36B0"); } if (!(_s.rh.recLen == 0x04)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recLen == 0x04"); } _s.fRemovePII = in.readbit(); _s.reserved2a = in.readuint7(); if (!(((quint8)_s.reserved2a) == 0x0)) { throw IncorrectValueException(in.getPosition(), "((quint8)_s.reserved2a) == 0x0"); } _s.reserved2b = in.readuint8(); if (!(((quint8)_s.reserved2b) == 0x0)) { throw IncorrectValueException(in.getPosition(), "((quint8)_s.reserved2b) == 0x0"); } _s.reserved2c = in.readuint16(); if (!(((quint16)_s.reserved2c) == 0x0)) { throw IncorrectValueException(in.getPosition(), "((quint16)_s.reserved2c) == 0x0"); } } void MSO::parseOutlineTextProps10Container(LEInputStream& in, OutlineTextProps10Container& _s) { _s.streamOffset = in.getPosition(); LEInputStream::Mark _m; bool _atend; parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0xF)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0xF"); } if (!(_s.rh.recInstance == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0"); } if (!(_s.rh.recType == 0x0FB3)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x0FB3"); } _atend = false; while (!_atend) { _m = in.setMark(); try { _s.rgOutlineTextProps10Entry.append(OutlineTextProps10Entry(&_s)); parseOutlineTextProps10Entry(in, _s.rgOutlineTextProps10Entry.last()); } catch(IncorrectValueException _e) { _s.rgOutlineTextProps10Entry.removeLast(); _atend = true; in.rewind(_m); } catch(EOFException _e) { _s.rgOutlineTextProps10Entry.removeLast(); _atend = true; in.rewind(_m); } } } void MSO::parseStyleTextProp10Atom(LEInputStream& in, StyleTextProp10Atom& _s) { _s.streamOffset = in.getPosition(); LEInputStream::Mark _m; bool _atend; parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0"); } if (!(_s.rh.recInstance == 0x0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0x0"); } if (!(_s.rh.recType == 0xFB1)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0xFB1"); } _atend = false; while (!_atend) { _m = in.setMark(); try { _s.rgStyleTextProp10.append(TextCFException10(&_s)); parseTextCFException10(in, _s.rgStyleTextProp10.last()); } catch(IncorrectValueException _e) { _s.rgStyleTextProp10.removeLast(); _atend = true; in.rewind(_m); } catch(EOFException _e) { _s.rgStyleTextProp10.removeLast(); _atend = true; in.rewind(_m); } } } void MSO::parseDocToolbarStates10Atom(LEInputStream& in, DocToolbarStates10Atom& _s) { _s.streamOffset = in.getPosition(); parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0x0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0x0"); } if (!(_s.rh.recInstance == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0"); } if (!(_s.rh.recType == 0x36B1)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x36B1"); } if (!(_s.rh.recLen == 0x01)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recLen == 0x01"); } _s.fShowReviewingToolbar = in.readbit(); _s.fShowReviewingGallery = in.readbit(); _s.reserved = in.readuint6(); if (!(((quint8)_s.reserved) == 0x0)) { throw IncorrectValueException(in.getPosition(), "((quint8)_s.reserved) == 0x0"); } } void MSO::parseSlideListTable10Container(LEInputStream& in, SlideListTable10Container& _s) { _s.streamOffset = in.getPosition(); int _c; LEInputStream::Mark _m; parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0xF)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0xF"); } if (!(_s.rh.recInstance == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0"); } if (!(_s.rh.recType == 0x2EF1)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x2EF1"); } _c = _s.rh.recLen; _s.todo.resize(_c); in.readBytes(_s.todo); } void MSO::parseDiffTree10Container(LEInputStream& in, DiffTree10Container& _s) { _s.streamOffset = in.getPosition(); int _c; LEInputStream::Mark _m; parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0xF)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0xF"); } if (!(_s.rh.recInstance == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0"); } if (!(_s.rh.recType == 0x2EEC)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x2EEC"); } _c = _s.rh.recLen; _s.todo.resize(_c); in.readBytes(_s.todo); } void MSO::parseModifyPasswordAtom(LEInputStream& in, ModifyPasswordAtom& _s) { _s.streamOffset = in.getPosition(); int _c; LEInputStream::Mark _m; parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0x0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0x0"); } if (!(_s.rh.recInstance == 0x03)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0x03"); } if (!(_s.rh.recType == 0x0FBA)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x0FBA"); } if (!(_s.rh.recLen<=510)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recLen<=510"); } if (!(_s.rh.recLen%2==0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recLen%2==0"); } _c = _s.rh.recLen; _s.modifyPassword.resize(_c); in.readBytes(_s.modifyPassword); } void MSO::parsePhotoAlbumInfo10Atom(LEInputStream& in, PhotoAlbumInfo10Atom& _s) { _s.streamOffset = in.getPosition(); parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0x0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0x0"); } if (!(_s.rh.recInstance == 0x0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0x0"); } if (!(_s.rh.recType == 0x036B2)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x036B2"); } if (!(_s.rh.recLen == 0x06)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recLen == 0x06"); } _s.fUseBlackWhite = in.readuint8(); _s.fHasCaption = in.readuint8(); _s.layout = in.readuint8(); if (!(((quint8)_s.layout) == 0 || ((quint8)_s.layout) == 1 || ((quint8)_s.layout) == 2 || ((quint8)_s.layout) == 3 || ((quint8)_s.layout) == 4 || ((quint8)_s.layout) == 5 || ((quint8)_s.layout) == 6)) { throw IncorrectValueException(in.getPosition(), "((quint8)_s.layout) == 0 || ((quint8)_s.layout) == 1 || ((quint8)_s.layout) == 2 || ((quint8)_s.layout) == 3 || ((quint8)_s.layout) == 4 || ((quint8)_s.layout) == 5 || ((quint8)_s.layout) == 6"); } _s.unused = in.readuint8(); _s.frameShape = in.readuint16(); if (!(((quint16)_s.frameShape) == 0x0000 || ((quint16)_s.frameShape) == 0x0001 || ((quint16)_s.frameShape) == 0x0002 || ((quint16)_s.frameShape) == 0x0003 || ((quint16)_s.frameShape) == 0x0004 || ((quint16)_s.frameShape) == 0x0005 || ((quint16)_s.frameShape) == 0x0006)) { throw IncorrectValueException(in.getPosition(), "((quint16)_s.frameShape) == 0x0000 || ((quint16)_s.frameShape) == 0x0001 || ((quint16)_s.frameShape) == 0x0002 || ((quint16)_s.frameShape) == 0x0003 || ((quint16)_s.frameShape) == 0x0004 || ((quint16)_s.frameShape) == 0x0005 || ((quint16)_s.frameShape) == 0x0006"); } } void MSO::parseSmartTagStore11Container(LEInputStream& in, SmartTagStore11Container& _s) { _s.streamOffset = in.getPosition(); int _c; LEInputStream::Mark _m; parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0xF)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0xF"); } if (!(_s.rh.recInstance == 0x0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0x0"); } if (!(_s.rh.recType == 0x36B3)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x36B3"); } _c = _s.rh.recLen; _s.todo.resize(_c); in.readBytes(_s.todo); } void MSO::parseOutlineTextProps11Container(LEInputStream& in, OutlineTextProps11Container& _s) { _s.streamOffset = in.getPosition(); int _c; LEInputStream::Mark _m; parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0xF)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0xF"); } if (!(_s.rh.recInstance == 0x0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0x0"); } if (!(_s.rh.recType == 0x0FB5)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x0FB5"); } _c = _s.rh.recLen; _s.todo.resize(_c); in.readBytes(_s.todo); } void MSO::parseBinaryTagDataBlob(LEInputStream& in, BinaryTagDataBlob& _s) { _s.streamOffset = in.getPosition(); int _c; LEInputStream::Mark _m; parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0x0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0x0"); } if (!(_s.rh.recInstance == 0x0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0x0"); } if (!(_s.rh.recType == 0x138B)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x138B"); } _c = _s.rh.recLen; _s.data.resize(_c); in.readBytes(_s.data); } void MSO::parsePP12DocBinaryTagExtension(LEInputStream& in, PP12DocBinaryTagExtension& _s) { _s.streamOffset = in.getPosition(); int _c; LEInputStream::Mark _m; parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0x0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0x0"); } if (!(_s.rh.recInstance == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0"); } if (!(_s.rh.recType == 0x0FBA)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x0FBA"); } if (!(_s.rh.recLen == 0x10)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recLen == 0x10"); } _c = 16; _s.tagName.resize(_c); in.readBytes(_s.tagName); parseRecordHeader(in, _s.rhData); if (!(_s.rhData.recVer == 0x0)) { throw IncorrectValueException(in.getPosition(), "_s.rhData.recVer == 0x0"); } if (!(_s.rhData.recInstance == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rhData.recInstance == 0"); } if (!(_s.rhData.recType == 0x138B)) { throw IncorrectValueException(in.getPosition(), "_s.rhData.recType == 0x138B"); } _c = _s.rhData.recLen; _s.todo.resize(_c); in.readBytes(_s.todo); } void MSO::parseSorterViewInfoContainer(LEInputStream& in, SorterViewInfoContainer& _s) { _s.streamOffset = in.getPosition(); int _c; LEInputStream::Mark _m; parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0xF)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0xF"); } if (!(_s.rh.recInstance == 1)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 1"); } if (!(_s.rh.recType == 0x408)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x408"); } _c = _s.rh.recLen; _s.todo.resize(_c); in.readBytes(_s.todo); } void MSO::parseVBAInfoAtom(LEInputStream& in, VBAInfoAtom& _s) { _s.streamOffset = in.getPosition(); parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 2)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 2"); } if (!(_s.rh.recInstance == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0"); } if (!(_s.rh.recType == 0x400)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x400"); } if (!(_s.rh.recLen == 0xC)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recLen == 0xC"); } _s.persistIdRef = in.readuint32(); _s.fHasMacros = in.readuint32(); if (!(((quint32)_s.fHasMacros) == 0 || ((quint32)_s.fHasMacros) == 1)) { throw IncorrectValueException(in.getPosition(), "((quint32)_s.fHasMacros) == 0 || ((quint32)_s.fHasMacros) == 1"); } _s.version = in.readuint32(); if (!(((quint32)_s.version) == 0 || ((quint32)_s.version) == 1 || ((quint32)_s.version) == 2)) { throw IncorrectValueException(in.getPosition(), "((quint32)_s.version) == 0 || ((quint32)_s.version) == 1 || ((quint32)_s.version) == 2"); } } void MSO::parseMasterListWithTextContainer(LEInputStream& in, MasterListWithTextContainer& _s) { _s.streamOffset = in.getPosition(); int _c; LEInputStream::Mark _m; parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0xF)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0xF"); } if (!(_s.rh.recInstance == 0x1)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0x1"); } if (!(_s.rh.recType == 0x0FF0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x0FF0"); } if (!(_s.rh.recLen%28==0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recLen%28==0"); } _c = _s.rh.recLen/28; for (int _i=0; _i<_c; ++_i) { _s.rgMasterPersistAtom.append(MasterPersistAtom(&_s)); parseMasterPersistAtom(in, _s.rgMasterPersistAtom[_i]); } } void MSO::parseMasterPersistAtom(LEInputStream& in, MasterPersistAtom& _s) { _s.streamOffset = in.getPosition(); parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0"); } if (!(_s.rh.recInstance == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0"); } if (!(_s.rh.recType == 0x3F3)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x3F3"); } if (!(_s.rh.recLen == 0x14)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recLen == 0x14"); } _s.persistIdRef = in.readuint32(); _s.reserved1 = in.readuint2(); if (!(((quint8)_s.reserved1) == 0)) { throw IncorrectValueException(in.getPosition(), "((quint8)_s.reserved1) == 0"); } _s.fNonOutLineData = in.readbit(); _s.reserved2 = in.readuint5(); if (!(((quint8)_s.reserved2) == 0)) { throw IncorrectValueException(in.getPosition(), "((quint8)_s.reserved2) == 0"); } _s.reserved3 = in.readuint8(); if (!(((quint8)_s.reserved3) == 0)) { throw IncorrectValueException(in.getPosition(), "((quint8)_s.reserved3) == 0"); } _s.reserved4 = in.readuint16(); if (!(((quint16)_s.reserved4) == 0)) { throw IncorrectValueException(in.getPosition(), "((quint16)_s.reserved4) == 0"); } _s.reserved5 = in.readuint32(); if (!(((quint32)_s.reserved5) == 0)) { throw IncorrectValueException(in.getPosition(), "((quint32)_s.reserved5) == 0"); } _s.masterId = in.readuint32(); _s.reserved6 = in.readuint32(); if (!(((quint32)_s.reserved6) == 0)) { throw IncorrectValueException(in.getPosition(), "((quint32)_s.reserved6) == 0"); } } void MSO::parseSlideListWithTextContainer(LEInputStream& in, SlideListWithTextContainer& _s) { _s.streamOffset = in.getPosition(); LEInputStream::Mark _m; bool _atend; parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0xF)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0xF"); } if (!(_s.rh.recInstance == 0x0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0x0"); } if (!(_s.rh.recType == 0x0FF0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x0FF0"); } _atend = false; while (!_atend) { _m = in.setMark(); try { _s.rgChildRec.append(SlideListWithTextSubContainerOrAtom(&_s)); parseSlideListWithTextSubContainerOrAtom(in, _s.rgChildRec.last()); } catch(IncorrectValueException _e) { _s.rgChildRec.removeLast(); _atend = true; in.rewind(_m); } catch(EOFException _e) { _s.rgChildRec.removeLast(); _atend = true; in.rewind(_m); } } } void MSO::parseNotesListWithTextContainer(LEInputStream& in, NotesListWithTextContainer& _s) { _s.streamOffset = in.getPosition(); LEInputStream::Mark _m; bool _atend; parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0xF)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0xF"); } if (!(_s.rh.recInstance == 2)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 2"); } if (!(_s.rh.recType == 0x0FF0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x0FF0"); } _atend = false; while (!_atend) { _m = in.setMark(); try { _s.rgNotesPersistAtom.append(NotesPersistAtom(&_s)); parseNotesPersistAtom(in, _s.rgNotesPersistAtom.last()); } catch(IncorrectValueException _e) { _s.rgNotesPersistAtom.removeLast(); _atend = true; in.rewind(_m); } catch(EOFException _e) { _s.rgNotesPersistAtom.removeLast(); _atend = true; in.rewind(_m); } } } void MSO::parseNotesPersistAtom(LEInputStream& in, NotesPersistAtom& _s) { _s.streamOffset = in.getPosition(); parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0x0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0x0"); } if (!(_s.rh.recInstance == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0"); } if (!(_s.rh.recType == 0x03F3)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x03F3"); } if (!(_s.rh.recLen == 0x14)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recLen == 0x14"); } _s.persistIdRef = in.readuint32(); _s.reserved1 = in.readuint2(); if (!(((quint8)_s.reserved1) == 0)) { throw IncorrectValueException(in.getPosition(), "((quint8)_s.reserved1) == 0"); } _s.fNonOutlineData = in.readbit(); _s.reserved2a = in.readuint5(); if (!(((quint8)_s.reserved2a) == 0)) { throw IncorrectValueException(in.getPosition(), "((quint8)_s.reserved2a) == 0"); } _s.reserved2b = in.readuint8(); if (!(((quint8)_s.reserved2b) == 0)) { throw IncorrectValueException(in.getPosition(), "((quint8)_s.reserved2b) == 0"); } _s.reserved2c = in.readuint16(); if (!(((quint16)_s.reserved2c) == 0)) { throw IncorrectValueException(in.getPosition(), "((quint16)_s.reserved2c) == 0"); } _s.reserved3 = in.readuint32(); if (!(((quint32)_s.reserved3) == 0)) { throw IncorrectValueException(in.getPosition(), "((quint32)_s.reserved3) == 0"); } _s.notesId = in.readuint32(); _s.reserved4 = in.readuint32(); if (!(((quint32)_s.reserved4) == 0)) { throw IncorrectValueException(in.getPosition(), "((quint32)_s.reserved4) == 0"); } } void MSO::parseTextHeaderAtom(LEInputStream& in, TextHeaderAtom& _s) { _s.streamOffset = in.getPosition(); parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0"); } if (!(_s.rh.recInstance == 0 || _s.rh.recInstance == 1 || _s.rh.recInstance == 2 || _s.rh.recInstance == 3 || _s.rh.recInstance == 4 || _s.rh.recInstance == 5)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0 || _s.rh.recInstance == 1 || _s.rh.recInstance == 2 || _s.rh.recInstance == 3 || _s.rh.recInstance == 4 || _s.rh.recInstance == 5"); } if (!(_s.rh.recType == 0xF9F)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0xF9F"); } if (!(_s.rh.recLen == 4)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recLen == 4"); } _s.textType = in.readuint32(); } void MSO::parseTextCharsAtom(LEInputStream& in, TextCharsAtom& _s) { _s.streamOffset = in.getPosition(); int _c; LEInputStream::Mark _m; parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0"); } if (!(_s.rh.recInstance == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0"); } if (!(_s.rh.recType == 0xFA0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0xFA0"); } if (!(_s.rh.recLen%2==0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recLen%2==0"); } _c = _s.rh.recLen/2; _s.textChars.resize(_c); for (int _i=0; _i<_c; ++_i) { _s.textChars[_i] = in.readuint16(); } } void MSO::parseTextBytesAtom(LEInputStream& in, TextBytesAtom& _s) { _s.streamOffset = in.getPosition(); int _c; LEInputStream::Mark _m; parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0"); } if (!(_s.rh.recInstance == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0"); } if (!(_s.rh.recType == 0xFA8)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0xFA8"); } _c = _s.rh.recLen; _s.textChars.resize(_c); in.readBytes(_s.textChars); } void MSO::parseMasterTextPropAtom(LEInputStream& in, MasterTextPropAtom& _s) { _s.streamOffset = in.getPosition(); LEInputStream::Mark _m; bool _atend; parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0"); } if (!(_s.rh.recInstance == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0"); } if (!(_s.rh.recType == 0xFA2)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0xFA2"); } qint64 _startPos = in.getPosition(); int _totalSize = qMin(_s.rh.recLen, quint32(in.getSize() - _startPos)); _atend = in.getPosition() - _startPos >= _totalSize; while (!_atend) { _s.rgMasterTextPropRun.append(MasterTextPropRun(&_s)); parseMasterTextPropRun(in, _s.rgMasterTextPropRun.last()); _atend = in.getPosition() - _startPos >= _totalSize; } } void MSO::parseMasterTextPropRun(LEInputStream& in, MasterTextPropRun& _s) { _s.streamOffset = in.getPosition(); _s.count = in.readuint32(); _s.indentLevel = in.readuint16(); if (!(((quint16)_s.indentLevel)<=4)) { throw IncorrectValueException(in.getPosition(), "((quint16)_s.indentLevel)<=4"); } } void MSO::parseStyleTextPropAtom(LEInputStream& in, StyleTextPropAtom& _s) { _s.streamOffset = in.getPosition(); int _c; LEInputStream::Mark _m; parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0"); } if (!(_s.rh.recInstance == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0"); } if (!(_s.rh.recType == 0xFA1)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0xFA1"); } } void MSO::parseSlideNumberMCAtom(LEInputStream& in, SlideNumberMCAtom& _s) { _s.streamOffset = in.getPosition(); parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0"); } if (!(_s.rh.recInstance == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0"); } if (!(_s.rh.recType == 0xFD8)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0xFD8"); } if (!(_s.rh.recLen == 4)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recLen == 4"); } _s.position = in.readint32(); } void MSO::parseDateTimeMCAtom(LEInputStream& in, DateTimeMCAtom& _s) { _s.streamOffset = in.getPosition(); int _c; LEInputStream::Mark _m; parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0"); } if (!(_s.rh.recInstance == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0"); } if (!(_s.rh.recType == 0xFF7)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0xFF7"); } if (!(_s.rh.recLen == 8)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recLen == 8"); } _s.position = in.readint32(); _s.index = in.readuint8(); _c = 3; _s.unused.resize(_c); in.readBytes(_s.unused); } void MSO::parseGenericDateMCAtom(LEInputStream& in, GenericDateMCAtom& _s) { _s.streamOffset = in.getPosition(); parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0"); } if (!(_s.rh.recInstance == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0"); } if (!(_s.rh.recType == 0xFF8)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0xFF8"); } if (!(_s.rh.recLen == 4)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recLen == 4"); } _s.position = in.readint32(); } void MSO::parseHeaderMCAtom(LEInputStream& in, HeaderMCAtom& _s) { _s.streamOffset = in.getPosition(); parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0"); } if (!(_s.rh.recInstance == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0"); } if (!(_s.rh.recType == 0xFF9)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0xFF9"); } if (!(_s.rh.recLen == 4)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recLen == 4"); } _s.position = in.readint32(); } void MSO::parseFooterMCAtom(LEInputStream& in, FooterMCAtom& _s) { _s.streamOffset = in.getPosition(); parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0"); } if (!(_s.rh.recInstance == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0"); } if (!(_s.rh.recType == 0xFFA)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0xFFA"); } if (!(_s.rh.recLen == 4)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recLen == 4"); } _s.position = in.readint32(); } void MSO::parseRTFDateTimeMCAtom(LEInputStream& in, RTFDateTimeMCAtom& _s) { _s.streamOffset = in.getPosition(); int _c; LEInputStream::Mark _m; parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0"); } if (!(_s.rh.recInstance == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0"); } if (!(_s.rh.recType == 0x1015)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x1015"); } if (!(_s.rh.recLen == 0x84)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recLen == 0x84"); } _s.position = in.readint32(); _c = 128; _s.format.resize(_c); in.readBytes(_s.format); } void MSO::parseTextBookmarkAtom(LEInputStream& in, TextBookmarkAtom& _s) { _s.streamOffset = in.getPosition(); parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0"); } if (!(_s.rh.recInstance == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0"); } if (!(_s.rh.recType == 0xFA7)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0xFA7"); } if (!(_s.rh.recLen == 0xC)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recLen == 0xC"); } _s.begin = in.readint32(); _s.end = in.readint32(); _s.bookmarkID = in.readint32(); } void MSO::parseTextRange(LEInputStream& in, TextRange& _s) { _s.streamOffset = in.getPosition(); _s.begin = in.readint32(); _s.end = in.readint32(); } void MSO::parseMouseClickTextInteractiveInfoAtom(LEInputStream& in, MouseClickTextInteractiveInfoAtom& _s) { _s.streamOffset = in.getPosition(); parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0"); } if (!(_s.rh.recInstance == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0"); } if (!(_s.rh.recType == 0xFDF)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0xFDF"); } if (!(_s.rh.recLen == 8)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recLen == 8"); } parseTextRange(in, _s.range); } void MSO::parseMouseOverTextInteractiveInfoAtom(LEInputStream& in, MouseOverTextInteractiveInfoAtom& _s) { _s.streamOffset = in.getPosition(); parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0"); } if (!(_s.rh.recInstance == 1)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 1"); } if (!(_s.rh.recType == 0xFDF)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0xFDF"); } if (!(_s.rh.recLen == 8)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recLen == 8"); } parseTextRange(in, _s.range); } void MSO::parseSlideId(LEInputStream& in, SlideId& _s) { _s.streamOffset = in.getPosition(); _s.slideId = in.readuint32(); if (!(((quint32)_s.slideId)>=100)) { throw IncorrectValueException(in.getPosition(), "((quint32)_s.slideId)>=100"); } if (!(((quint32)_s.slideId)<2147483647)) { throw IncorrectValueException(in.getPosition(), "((quint32)_s.slideId)<2147483647"); } } void MSO::parseTabStops(LEInputStream& in, TabStops& _s) { _s.streamOffset = in.getPosition(); int _c; LEInputStream::Mark _m; _s.count = in.readuint16(); _c = _s.count; for (int _i=0; _i<_c; ++_i) { _s.rgTabStop.append(TabStop(&_s)); parseTabStop(in, _s.rgTabStop[_i]); } } void MSO::parseTabStop(LEInputStream& in, TabStop& _s) { _s.streamOffset = in.getPosition(); _s.position = in.readint16(); _s.type = in.readuint16(); } void MSO::parsePFWrapFlags(LEInputStream& in, PFWrapFlags& _s) { _s.streamOffset = in.getPosition(); _s.charWrap = in.readbit(); _s.wordWrap = in.readbit(); _s.overflow = in.readbit(); _s.reserved1 = in.readuint5(); _s.reserved2 = in.readuint8(); } void MSO::parseColorIndexStruct(LEInputStream& in, ColorIndexStruct& _s) { _s.streamOffset = in.getPosition(); _s.red = in.readuint8(); _s.green = in.readuint8(); _s.blue = in.readuint8(); _s.index = in.readuint8(); } void MSO::parseBulletFlags(LEInputStream& in, BulletFlags& _s) { _s.streamOffset = in.getPosition(); _s.fHasBullet = in.readbit(); _s.fBulletHasFont = in.readbit(); _s.fBulletHasColor = in.readbit(); _s.fBulletHasSize = in.readbit(); _s.reserved = in.readuint12(); } void MSO::parsePFMasks(LEInputStream& in, PFMasks& _s) { _s.streamOffset = in.getPosition(); _s.hasBullet = in.readbit(); _s.bulletHasFont = in.readbit(); _s.bulletHasColor = in.readbit(); _s.bulletHasSize = in.readbit(); _s.bulletFont = in.readbit(); _s.bulletColor = in.readbit(); _s.bulletSize = in.readbit(); _s.bulletChar = in.readbit(); _s.leftMargin = in.readbit(); _s.unused = in.readbit(); _s.indent = in.readbit(); _s.align = in.readbit(); _s.lineSpacing = in.readbit(); _s.spaceBefore = in.readbit(); _s.spaceAfter = in.readbit(); _s.defaultTabSize = in.readbit(); _s.fontAlign = in.readbit(); _s.charWrap = in.readbit(); _s.wordWrap = in.readbit(); _s.overflow = in.readbit(); _s.tabStops = in.readbit(); _s.textDirection = in.readbit(); _s.reserved = in.readbit(); _s.bulletBlip = in.readbit(); _s.bulletScheme = in.readbit(); _s.bulletHasScheme = in.readbit(); _s.reserved2 = in.readuint6(); } void MSO::parseCFMasks(LEInputStream& in, CFMasks& _s) { _s.streamOffset = in.getPosition(); _s.bold = in.readbit(); _s.italic = in.readbit(); _s.underline = in.readbit(); _s.unused1 = in.readbit(); _s.shadow = in.readbit(); _s.fehint = in.readbit(); _s.unused2 = in.readbit(); _s.kumi = in.readbit(); _s.unused3 = in.readbit(); _s.emboss = in.readbit(); _s.fHasStyle = in.readuint4(); _s.unused4 = in.readuint2(); _s.typeface = in.readbit(); _s.size = in.readbit(); _s.color = in.readbit(); _s.position = in.readbit(); _s.pp10ext = in.readbit(); _s.oldEATypeface = in.readbit(); _s.ansiTypeface = in.readbit(); _s.symbolTypeface = in.readbit(); _s.newEATypeface = in.readbit(); _s.csTypeface = in.readbit(); _s.pp11ext = in.readbit(); _s.reserved = in.readuint5(); } void MSO::parseCFStyle(LEInputStream& in, CFStyle& _s) { _s.streamOffset = in.getPosition(); _s.bold = in.readbit(); _s.italic = in.readbit(); _s.underline = in.readbit(); _s.unused1 = in.readbit(); _s.shadow = in.readbit(); _s.fehint = in.readbit(); _s.unused2 = in.readbit(); _s.kumi = in.readbit(); _s.unused3 = in.readbit(); _s.emboss = in.readbit(); _s.pp9rt = in.readuint4(); _s.unused4 = in.readuint2(); } void MSO::parseFontCollectionContainer(LEInputStream& in, FontCollectionContainer& _s) { _s.streamOffset = in.getPosition(); LEInputStream::Mark _m; bool _atend; parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0xF)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0xF"); } if (!(_s.rh.recInstance == 0x0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0x0"); } if (!(_s.rh.recType == 0x07D5)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x07D5"); } qint64 _startPos = in.getPosition(); int _totalSize = qMin(_s.rh.recLen, quint32(in.getSize() - _startPos)); _atend = in.getPosition() - _startPos >= _totalSize; while (!_atend) { _s.rgFontCollectionEntry.append(FontCollectionEntry(&_s)); parseFontCollectionEntry(in, _s.rgFontCollectionEntry.last()); _atend = in.getPosition() - _startPos >= _totalSize; } } void MSO::parseFontEntityAtom(LEInputStream& in, FontEntityAtom& _s) { _s.streamOffset = in.getPosition(); int _c; LEInputStream::Mark _m; parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0"); } if (!(_s.rh.recInstance<=128)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance<=128"); } if (!(_s.rh.recType == 0xFB7)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0xFB7"); } if (!(_s.rh.recLen == 0x44)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recLen == 0x44"); } _c = 32; _s.lfFaceName.resize(_c); for (int _i=0; _i<_c; ++_i) { _s.lfFaceName[_i] = in.readuint16(); } _s.lfCharSet = in.readuint8(); _s.fEmbedSubsetted = in.readbit(); _s.unused = in.readuint7(); _s.rasterFontType = in.readbit(); _s.deviceFontType = in.readbit(); _s.truetypeFontType = in.readbit(); _s.fNoFontSubstitution = in.readbit(); _s.reserved = in.readuint4(); if (!(((quint8)_s.reserved) == 0)) { throw IncorrectValueException(in.getPosition(), "((quint8)_s.reserved) == 0"); } _s.lfPitchAndFamily = in.readuint8(); } void MSO::parseFontEmbedDataBlob(LEInputStream& in, FontEmbedDataBlob& _s) { _s.streamOffset = in.getPosition(); int _c; LEInputStream::Mark _m; parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0"); } if (!(_s.rh.recInstance<=3)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance<=3"); } if (!(_s.rh.recType == 0xFB8)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0xFB8"); } _c = _s.rh.recLen; _s.data.resize(_c); in.readBytes(_s.data); } void MSO::parseKinsokuAtom(LEInputStream& in, KinsokuAtom& _s) { _s.streamOffset = in.getPosition(); parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0x0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0x0"); } if (!(_s.rh.recInstance == 0x3)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0x3"); } if (!(_s.rh.recType == 0x0FD2)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x0FD2"); } if (!(_s.rh.recLen == 4)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recLen == 4"); } _s.level = in.readuint32(); if (!(((quint32)_s.level) == 0 || ((quint32)_s.level) == 1 || ((quint32)_s.level) == 2 || ((quint32)_s.level) == 128)) { throw IncorrectValueException(in.getPosition(), "((quint32)_s.level) == 0 || ((quint32)_s.level) == 1 || ((quint32)_s.level) == 2 || ((quint32)_s.level) == 128"); } } void MSO::parseKinsokuLeadingAtom(LEInputStream& in, KinsokuLeadingAtom& _s) { _s.streamOffset = in.getPosition(); int _c; LEInputStream::Mark _m; parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0"); } if (!(_s.rh.recInstance == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0"); } if (!(_s.rh.recType == 0xFBA)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0xFBA"); } if (!(_s.rh.recLen%2==0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recLen%2==0"); } _c = _s.rh.recLen/2; _s.kinsokuLeading.resize(_c); for (int _i=0; _i<_c; ++_i) { _s.kinsokuLeading[_i] = in.readuint16(); } } void MSO::parseKinsokuFollowingAtom(LEInputStream& in, KinsokuFollowingAtom& _s) { _s.streamOffset = in.getPosition(); int _c; LEInputStream::Mark _m; parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0"); } if (!(_s.rh.recInstance == 1 )) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 1 "); } if (!(_s.rh.recType == 0xFBA)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0xFBA"); } if (!(_s.rh.recLen%2==0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recLen%2==0"); } _c = _s.rh.recLen/2; _s.kinsokuFollowing.resize(_c); for (int _i=0; _i<_c; ++_i) { _s.kinsokuFollowing[_i] = in.readuint16(); } } void MSO::parseTextSpecialInfoAtom(LEInputStream& in, TextSpecialInfoAtom& _s) { _s.streamOffset = in.getPosition(); LEInputStream::Mark _m; bool _atend; parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0x0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0x0"); } if (!(_s.rh.recInstance == 0x0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0x0"); } if (!(_s.rh.recType == 0xFAA)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0xFAA"); } qint64 _startPos = in.getPosition(); int _totalSize = qMin(_s.rh.recLen, quint32(in.getSize() - _startPos)); _atend = in.getPosition() - _startPos >= _totalSize; while (!_atend) { _s.rgSIRun.append(TextSIRun(&_s)); parseTextSIRun(in, _s.rgSIRun.last()); _atend = in.getPosition() - _startPos >= _totalSize; } } void MSO::parseSmartTags(LEInputStream& in, SmartTags& _s) { _s.streamOffset = in.getPosition(); int _c; LEInputStream::Mark _m; _s.count = in.readuint32(); _c = _s.count; _s.rgSmartTagIndex.resize(_c); for (int _i=0; _i<_c; ++_i) { _s.rgSmartTagIndex[_i] = in.readuint32(); } } void MSO::parseExOleEmbedAtom(LEInputStream& in, ExOleEmbedAtom& _s) { _s.streamOffset = in.getPosition(); parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0x0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0x0"); } if (!(_s.rh.recInstance == 0x0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0x0"); } if (!(_s.rh.recType == 0x0FCD)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x0FCD"); } if (!(_s.rh.recLen == 0x8)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recLen == 0x8"); } _s.exColorFollow = in.readuint32(); if (!(((quint32)_s.exColorFollow) == 0 || ((quint32)_s.exColorFollow) == 1 || ((quint32)_s.exColorFollow) == 2)) { throw IncorrectValueException(in.getPosition(), "((quint32)_s.exColorFollow) == 0 || ((quint32)_s.exColorFollow) == 1 || ((quint32)_s.exColorFollow) == 2"); } _s.fCantLockServer = in.readuint8(); _s.fNoSizeToServer = in.readuint8(); _s.fIsTable = in.readuint8(); _s.unused = in.readuint8(); } void MSO::parsePointStruct(LEInputStream& in, PointStruct& _s) { _s.streamOffset = in.getPosition(); _s.x = in.readint32(); _s.y = in.readint32(); } void MSO::parseRatioStruct(LEInputStream& in, RatioStruct& _s) { _s.streamOffset = in.getPosition(); _s.numer = in.readint32(); _s.denom = in.readint32(); if (!(((qint32)_s.denom)!= 0)) { throw IncorrectValueException(in.getPosition(), "((qint32)_s.denom)!= 0"); } } void MSO::parsePersistDirectoryAtom(LEInputStream& in, PersistDirectoryAtom& _s) { _s.streamOffset = in.getPosition(); LEInputStream::Mark _m; bool _atend; parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0"); } if (!(_s.rh.recInstance == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0"); } if (!(_s.rh.recType == 0x1772)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x1772"); } qint64 _startPos = in.getPosition(); int _totalSize = qMin(_s.rh.recLen, quint32(in.getSize() - _startPos)); _atend = in.getPosition() - _startPos >= _totalSize; while (!_atend) { _s.rgPersistDirEntry.append(PersistDirectoryEntry(&_s)); parsePersistDirectoryEntry(in, _s.rgPersistDirEntry.last()); _atend = in.getPosition() - _startPos >= _totalSize; } } void MSO::parseUnknownDocumentContainerChild(LEInputStream& in, UnknownDocumentContainerChild& _s) { _s.streamOffset = in.getPosition(); int _c; LEInputStream::Mark _m; parseRecordHeader(in, _s.rh); if (!(_s.rh.recType == 0x416 || _s.rh.recType == 0x41A || _s.rh.recType == 0x101A || _s.rh.recType == 0x1773 || _s.rh.recType == 0x1788 || _s.rh.recType == 0x178c || _s.rh.recType == 0x178d)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x416 || _s.rh.recType == 0x41A || _s.rh.recType == 0x101A || _s.rh.recType == 0x1773 || _s.rh.recType == 0x1788 || _s.rh.recType == 0x178c || _s.rh.recType == 0x178d"); } _c = _s.rh.recLen; _s.unknown.resize(_c); in.readBytes(_s.unknown); } void MSO::parseUnknownOfficeArtClientDataChild(LEInputStream& in, UnknownOfficeArtClientDataChild& _s) { _s.streamOffset = in.getPosition(); int _c; LEInputStream::Mark _m; parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0"); } if (!(_s.rh.recInstance == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0"); } if (!(_s.rh.recType == 0xFE8 || _s.rh.recType == 0x1019)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0xFE8 || _s.rh.recType == 0x1019"); } _c = _s.rh.recLen; _s.unknown.resize(_c); in.readBytes(_s.unknown); } void MSO::parseUnknownSlideContainerChild(LEInputStream& in, UnknownSlideContainerChild& _s) { _s.streamOffset = in.getPosition(); int _c; LEInputStream::Mark _m; parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0"); } if (!(_s.rh.recInstance == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0"); } if (!(_s.rh.recType == 0x101D)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x101D"); } _c = _s.rh.recLen; _s.unknown.resize(_c); in.readBytes(_s.unknown); } void MSO::parseUnknownTextContainerChild(LEInputStream& in, UnknownTextContainerChild& _s) { _s.streamOffset = in.getPosition(); int _c; LEInputStream::Mark _m; parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 3)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 3"); } if (!(_s.rh.recInstance == 9)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 9"); } if (!(_s.rh.recType == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0"); } _c = _s.rh.recLen; _s.unknown.resize(_c); in.readBytes(_s.unknown); } void MSO::parsePersistDirectoryEntry(LEInputStream& in, PersistDirectoryEntry& _s) { _s.streamOffset = in.getPosition(); int _c; LEInputStream::Mark _m; _s.persistId = in.readuint20(); _s.cPersist = in.readuint12(); _c = _s.cPersist; _s.rgPersistOffset.resize(_c); for (int _i=0; _i<_c; ++_i) { _s.rgPersistOffset[_i] = in.readuint32(); } } void MSO::parsePersistIdRef(LEInputStream& in, PersistIdRef& _s) { _s.streamOffset = in.getPosition(); _s.anon = in.readuint32(); } void MSO::parseSchemeListElementColorSchemeAtom(LEInputStream& in, SchemeListElementColorSchemeAtom& _s) { _s.streamOffset = in.getPosition(); int _c; LEInputStream::Mark _m; parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0"); } if (!(_s.rh.recInstance == 6)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 6"); } if (!(_s.rh.recType == 0x7F0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x7F0"); } if (!(_s.rh.recLen == 0x20)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recLen == 0x20"); } _c = 8; for (int _i=0; _i<_c; ++_i) { _s.rgSchemeColor.append(ColorStruct(&_s)); parseColorStruct(in, _s.rgSchemeColor[_i]); } } void MSO::parseRoundTripOArtTextStyles12Atom(LEInputStream& in, RoundTripOArtTextStyles12Atom& _s) { _s.streamOffset = in.getPosition(); int _c; LEInputStream::Mark _m; parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0"); } if (!(_s.rh.recInstance == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0"); } if (!(_s.rh.recType == 0x423)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x423"); } _c = _s.rh.recLen; _s.todo.resize(_c); in.readBytes(_s.todo); } void MSO::parseSlideNameAtom(LEInputStream& in, SlideNameAtom& _s) { _s.streamOffset = in.getPosition(); int _c; LEInputStream::Mark _m; parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0"); } if (!(_s.rh.recInstance == 3)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 3"); } if (!(_s.rh.recType == 0x0FBA)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x0FBA"); } if (!(_s.rh.recLen%2==0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recLen%2==0"); } _c = _s.rh.recLen/2; _s.slideName.resize(_c); for (int _i=0; _i<_c; ++_i) { _s.slideName[_i] = in.readuint16(); } } void MSO::parseSlideProgTagsContainer(LEInputStream& in, SlideProgTagsContainer& _s) { _s.streamOffset = in.getPosition(); LEInputStream::Mark _m; bool _atend; parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0xF)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0xF"); } if (!(_s.rh.recInstance == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0"); } if (!(_s.rh.recType == 0x1388)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x1388"); } qint64 _startPos = in.getPosition(); int _totalSize = qMin(_s.rh.recLen, quint32(in.getSize() - _startPos)); _atend = in.getPosition() - _startPos >= _totalSize; while (!_atend) { _s.rgTypeRec.append(SlideProgTagsSubContainerOrAtom(&_s)); parseSlideProgTagsSubContainerOrAtom(in, _s.rgTypeRec.last()); _atend = in.getPosition() - _startPos >= _totalSize; } } void MSO::parsePP9SlideBinaryTagExtension(LEInputStream& in, PP9SlideBinaryTagExtension& _s) { _s.streamOffset = in.getPosition(); int _c; LEInputStream::Mark _m; bool _atend; parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0"); } if (!(_s.rh.recInstance == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0"); } if (!(_s.rh.recType == 0xFBA)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0xFBA"); } if (!(_s.rh.recLen == 0xE)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recLen == 0xE"); } _c = 7; _s.tagName.resize(_c); for (int _i=0; _i<_c; ++_i) { _s.tagName[_i] = in.readuint16(); } parseRecordHeader(in, _s.rhData); if (!(_s.rhData.recVer == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rhData.recVer == 0"); } if (!(_s.rhData.recInstance == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rhData.recInstance == 0"); } if (!(_s.rhData.recType == 0x138B)) { throw IncorrectValueException(in.getPosition(), "_s.rhData.recType == 0x138B"); } _atend = false; while (!_atend) { _m = in.setMark(); try { _s.rgTextMasterStyleAtom.append(TextMasterStyle9Atom(&_s)); parseTextMasterStyle9Atom(in, _s.rgTextMasterStyleAtom.last()); } catch(IncorrectValueException _e) { _s.rgTextMasterStyleAtom.removeLast(); _atend = true; in.rewind(_m); } catch(EOFException _e) { _s.rgTextMasterStyleAtom.removeLast(); _atend = true; in.rewind(_m); } } } void MSO::parseComment10Container(LEInputStream& in, Comment10Container& _s) { _s.streamOffset = in.getPosition(); int _c; LEInputStream::Mark _m; parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0xF)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0xF"); } if (!(_s.rh.recInstance == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0"); } if (!(_s.rh.recType == 0x2EE0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x2EE0"); } _c = _s.rh.recLen; _s.todo.resize(_c); in.readBytes(_s.todo); } void MSO::parseComment10Atom(LEInputStream& in, Comment10Atom& _s) { _s.streamOffset = in.getPosition(); int _c; LEInputStream::Mark _m; parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0"); } if (!(_s.rh.recInstance == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0"); } if (!(_s.rh.recType == 0x2EE1)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x2EE1"); } if (!(_s.rh.recLen == 0x1C)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recLen == 0x1C"); } _c = _s.rh.recLen; _s.todo.resize(_c); in.readBytes(_s.todo); } void MSO::parseLinkedSlide10Atom(LEInputStream& in, LinkedSlide10Atom& _s) { _s.streamOffset = in.getPosition(); parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0"); } if (!(_s.rh.recInstance == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0"); } if (!(_s.rh.recType == 0x2EE7)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x2EE7"); } if (!(_s.rh.recLen == 8)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recLen == 8"); } _s.linkedSlideIdRef = in.readuint32(); _s.clinkedShapes = in.readint32(); } void MSO::parseLinkedShape10Atom(LEInputStream& in, LinkedShape10Atom& _s) { _s.streamOffset = in.getPosition(); parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0"); } if (!(_s.rh.recInstance == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0"); } if (!(_s.rh.recType == 0x2EE6)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x2EE6"); } if (!(_s.rh.recLen == 8)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recLen == 8"); } _s.shapeIdRef = in.readuint32(); _s.linkedShapeIdRef = in.readuint32(); } void MSO::parseSlideFlags10Atom(LEInputStream& in, SlideFlags10Atom& _s) { _s.streamOffset = in.getPosition(); parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0"); } if (!(_s.rh.recInstance == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0"); } if (!(_s.rh.recType == 0x2EEA)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x2EEA"); } if (!(_s.rh.recLen == 4)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recLen == 4"); } _s.fPreserveMaster = in.readbit(); _s.fOverrideMasterAnimatino = in.readbit(); _s.unuseda = in.readuint14(); _s.unusedb = in.readuint16(); } void MSO::parseHashCode10Atom(LEInputStream& in, HashCode10Atom& _s) { _s.streamOffset = in.getPosition(); parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0"); } if (!(_s.rh.recInstance == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0"); } if (!(_s.rh.recType == 0x2B00)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x2B00"); } if (!(_s.rh.recLen == 4)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recLen == 4"); } _s.hash = in.readuint32(); } void MSO::parseExtTimeNodeContainer(LEInputStream& in, ExtTimeNodeContainer& _s) { _s.streamOffset = in.getPosition(); int _c; LEInputStream::Mark _m; parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0xF)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0xF"); } if (!(_s.rh.recInstance == 1)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 1"); } if (!(_s.rh.recType == 0xF144)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0xF144"); } _c = _s.rh.recLen; _s.todo.resize(_c); in.readBytes(_s.todo); } void MSO::parseBuildListContainer(LEInputStream& in, BuildListContainer& _s) { _s.streamOffset = in.getPosition(); int _c; LEInputStream::Mark _m; parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0xF)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0xF"); } if (!(_s.rh.recInstance == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0"); } if (!(_s.rh.recType == 0x2B02)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x2B02"); } _c = _s.rh.recLen; _s.todo.resize(_c); in.readBytes(_s.todo); } void MSO::parseRoundTripHeaderFooterDefaults12Atom(LEInputStream& in, RoundTripHeaderFooterDefaults12Atom& _s) { _s.streamOffset = in.getPosition(); parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0"); } if (!(_s.rh.recInstance == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0"); } if (!(_s.rh.recType == 0x0424)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x0424"); } if (!(_s.rh.recLen == 1)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recLen == 1"); } _s.fIncludeDate = in.readbit(); _s.fIncludeFooter = in.readbit(); _s.fIncludeHeader = in.readbit(); _s.fIncludeSlideNumber = in.readbit(); _s.reserved = in.readuint4(); } void MSO::parseTagNameAtom(LEInputStream& in, TagNameAtom& _s) { _s.streamOffset = in.getPosition(); int _c; LEInputStream::Mark _m; parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0"); } if (!(_s.rh.recInstance == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0"); } if (!(_s.rh.recType == 0xFBA)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0xFBA"); } if (!(_s.rh.recLen%2 == 0 )) { throw IncorrectValueException(in.getPosition(), "_s.rh.recLen%2 == 0 "); } _c = _s.rh.recLen/2; _s.tagName.resize(_c); for (int _i=0; _i<_c; ++_i) { _s.tagName[_i] = in.readuint16(); } } void MSO::parseTagValueAtom(LEInputStream& in, TagValueAtom& _s) { _s.streamOffset = in.getPosition(); int _c; LEInputStream::Mark _m; parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0"); } if (!(_s.rh.recInstance == 1)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 1"); } if (!(_s.rh.recType == 0xFBA)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0xFBA"); } _c = _s.rh.recLen/2; _s.tagValue.resize(_c); for (int _i=0; _i<_c; ++_i) { _s.tagValue[_i] = in.readuint16(); } } void MSO::parseRoundTripMainMasterRecord(LEInputStream& in, RoundTripMainMasterRecord& _s) { _s.streamOffset = in.getPosition(); int _c; LEInputStream::Mark _m; parseRecordHeader(in, _s.rh); if (!(_s.rh.recType == 0x41C || _s.rh.recType == 0x40E || _s.rh.recType == 0x040F || _s.rh.recType == 0x41E || _s.rh.recType == 0x0423 || _s.rh.recType == 0x2B0D || _s.rh.recType == 0x2B0B || _s.rh.recType == 0x041D || _s.rh.recType == 0x2B0C || _s.rh.recType == 0x101D)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x41C || _s.rh.recType == 0x40E || _s.rh.recType == 0x040F || _s.rh.recType == 0x41E || _s.rh.recType == 0x0423 || _s.rh.recType == 0x2B0D || _s.rh.recType == 0x2B0B || _s.rh.recType == 0x041D || _s.rh.recType == 0x2B0C || _s.rh.recType == 0x101D"); } _c = _s.rh.recLen; _s.todo.resize(_c); in.readBytes(_s.todo); } void MSO::parseTemplateNameAtom(LEInputStream& in, TemplateNameAtom& _s) { _s.streamOffset = in.getPosition(); int _c; LEInputStream::Mark _m; parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0"); } if (!(_s.rh.recInstance == 2)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 2"); } if (!(_s.rh.recType == 0x0FBA)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x0FBA"); } if (!(_s.rh.recLen%2==0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recLen%2==0"); } _c = _s.rh.recLen/2; _s.templateName.resize(_c); for (int _i=0; _i<_c; ++_i) { _s.templateName[_i] = in.readuint16(); } } void MSO::parseRoundTripSlideSyncInfo12Container(LEInputStream& in, RoundTripSlideSyncInfo12Container& _s) { _s.streamOffset = in.getPosition(); int _c; LEInputStream::Mark _m; parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0xF)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0xF"); } if (!(_s.rh.recInstance == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0"); } if (!(_s.rh.recType == 0x3714)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x3714"); } _c = _s.rh.recLen; _s.todo.resize(_c); in.readBytes(_s.todo); } void MSO::parseSlideFlags(LEInputStream& in, SlideFlags& _s) { _s.streamOffset = in.getPosition(); _s.fMasterObjects = in.readbit(); _s.fMasterScheme = in.readbit(); _s.fMasterBackground = in.readbit(); _s.unused1 = in.readuint5(); _s.unused2 = in.readuint8(); } void MSO::parseNotesRoundTripAtom(LEInputStream& in, NotesRoundTripAtom& _s) { _s.streamOffset = in.getPosition(); int _c; LEInputStream::Mark _m; parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0"); } if (!(_s.rh.recInstance == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0"); } if (!(_s.rh.recType == 0x40E || _s.rh.recType == 0x40F || _s.rh.recType == 0x427)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x40E || _s.rh.recType == 0x40F || _s.rh.recType == 0x427"); } _c = _s.rh.recLen; _s.todo.resize(_c); in.readBytes(_s.todo); } void MSO::parseHandoutContainer(LEInputStream& in, HandoutContainer& _s) { _s.streamOffset = in.getPosition(); int _c; LEInputStream::Mark _m; parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0xF)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0xF"); } if (!(_s.rh.recInstance == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0"); } if (!(_s.rh.recType == 0x0FC9)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x0FC9"); } _c = _s.rh.recLen; _s.todo.resize(_c); in.readBytes(_s.todo); } void MSO::parseExControlStg(LEInputStream& in, ExControlStg& _s) { _s.streamOffset = in.getPosition(); int _c; LEInputStream::Mark _m; parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0"); } if (!(_s.rh.recInstance == 0 || _s.rh.recInstance == 1)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0 || _s.rh.recInstance == 1"); } if (!(_s.rh.recType == 0x1011)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x1011"); } _c = _s.rh.recLen; _s.todo.resize(_c); in.readBytes(_s.todo); } void MSO::parseExOleObjStg(LEInputStream& in, ExOleObjStg& _s) { _s.streamOffset = in.getPosition(); int _c; LEInputStream::Mark _m; parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0"); } if (!(_s.rh.recInstance == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0"); } if (!(_s.rh.recType == 0x1011)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x1011"); } _c = _s.rh.recLen; _s.todo.resize(_c); in.readBytes(_s.todo); } void MSO::parseUserEditAtom(LEInputStream& in, UserEditAtom& _s) { _s.streamOffset = in.getPosition(); LEInputStream::Mark _m; bool _atend; parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0"); } if (!(_s.rh.recInstance == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0"); } if (!(_s.rh.recType == 0x0FF5)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x0FF5"); } if (!(_s.rh.recLen == 0x1C || _s.rh.recLen == 0x20)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recLen == 0x1C || _s.rh.recLen == 0x20"); } _s.lastSlideIdRef = in.readuint32(); _s.version = in.readuint16(); _s.minorVersion = in.readuint8(); if (!(((quint8)_s.minorVersion) == 0)) { throw IncorrectValueException(in.getPosition(), "((quint8)_s.minorVersion) == 0"); } _s.majorVersion = in.readuint8(); if (!(((quint8)_s.majorVersion) == 3)) { throw IncorrectValueException(in.getPosition(), "((quint8)_s.majorVersion) == 3"); } _s.offsetLastEdit = in.readuint32(); _s.offsetPersistDirectory = in.readuint32(); _s.docPersistIdRef = in.readuint32(); if (!(((quint32)_s.docPersistIdRef) == 1)) { throw IncorrectValueException(in.getPosition(), "((quint32)_s.docPersistIdRef) == 1"); } _s.persistIdSeed = in.readuint32(); _s.lastView = in.readuint16(); if (!(((quint16)_s.lastView)<=18)) { throw IncorrectValueException(in.getPosition(), "((quint16)_s.lastView)<=18"); } _s.unused = in.readuint16(); _s._has_encryptSessionPersistIdRef = _s.rh.recLen==32; if (_s._has_encryptSessionPersistIdRef) { _s.encryptSessionPersistIdRef = in.readuint32(); } _atend = false; while (!_atend) { _m = in.setMark(); try { _s.zeroPadding.append(ZeroByte(&_s)); parseZeroByte(in, _s.zeroPadding.last()); } catch(IncorrectValueException _e) { _s.zeroPadding.removeLast(); _atend = true; in.rewind(_m); } catch(EOFException _e) { _s.zeroPadding.removeLast(); _atend = true; in.rewind(_m); } } } void MSO::parseVbaProjectStg(LEInputStream& in, VbaProjectStg& _s) { _s.streamOffset = in.getPosition(); int _c; LEInputStream::Mark _m; parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0"); } if (!(_s.rh.recInstance == 0 || _s.rh.recInstance == 1)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0 || _s.rh.recInstance == 1"); } if (!(_s.rh.recType == 0x1011)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x1011"); } _c = _s.rh.recLen; _s.todo.resize(_c); in.readBytes(_s.todo); } void MSO::parseSlideAtom(LEInputStream& in, SlideAtom& _s) { _s.streamOffset = in.getPosition(); int _c; LEInputStream::Mark _m; parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0x2)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0x2"); } if (!(_s.rh.recInstance == 0x0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0x0"); } if (!(_s.rh.recType == 0x03EF)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x03EF"); } if (!(_s.rh.recLen == 0x18)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recLen == 0x18"); } _s.geom = in.readuint32(); _c = 8; _s.rgPlaceholderTypes.resize(_c); in.readBytes(_s.rgPlaceholderTypes); _s.masterIdRef = in.readuint32(); _s.notesIdRef = in.readuint32(); parseSlideFlags(in, _s.slideFlags); _s.unused = in.readuint16(); } void MSO::parseSlideShowSlideInfoAtom(LEInputStream& in, SlideShowSlideInfoAtom& _s) { _s.streamOffset = in.getPosition(); int _c; LEInputStream::Mark _m; parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0"); } if (!(_s.rh.recInstance == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0"); } if (!(_s.rh.recType == 0x03F9)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x03F9"); } if (!(_s.rh.recLen == 0x10)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recLen == 0x10"); } _s.slidetime = in.readuint32(); _s.slideIdRef = in.readuint32(); _s.effectDirection = in.readuint8(); _s.effectType = in.readuint8(); _s.fManualAdvance = in.readbit(); _s.reserved = in.readbit(); _s.fHidden = in.readbit(); _s.reserved2 = in.readbit(); _s.fSound = in.readbit(); _s.reserved3 = in.readbit(); _s.fLoopSound = in.readbit(); _s.reserved4 = in.readbit(); _s.fStopSound = in.readbit(); _s.freserved5 = in.readbit(); _s.fAutoAdvance = in.readbit(); _s.reserved6 = in.readbit(); _s.fCursorVisible = in.readbit(); _s.reserved7 = in.readuint3(); _s.speed = in.readuint8(); _c = 3; _s.unused.resize(_c); in.readBytes(_s.unused); } void MSO::parseSlideShowDocInfoAtom(LEInputStream& in, SlideShowDocInfoAtom& _s) { _s.streamOffset = in.getPosition(); int _c; LEInputStream::Mark _m; parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 1)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 1"); } if (!(_s.rh.recInstance == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0"); } if (!(_s.rh.recType == 0x0401)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x0401"); } if (!(_s.rh.recLen == 0x50)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recLen == 0x50"); } parseColorIndexStruct(in, _s.penColor); _s.restartTime = in.readint32(); _s.startSlide = in.readint16(); if (!(((qint16)_s.startSlide)>=0)) { throw IncorrectValueException(in.getPosition(), "((qint16)_s.startSlide)>=0"); } _s.endSlide = in.readint16(); if (!(((qint16)_s.endSlide)>=0)) { throw IncorrectValueException(in.getPosition(), "((qint16)_s.endSlide)>=0"); } _c = 64; _s.namedShow.resize(_c); in.readBytes(_s.namedShow); _s.fAutoAdvance = in.readbit(); _s.fWillSkipBuilds = in.readbit(); _s.fUseSlideRange = in.readbit(); _s.fDocUseNamedShow = in.readbit(); _s.fShowBrowseMode = in.readbit(); _s.fKioskMode = in.readbit(); _s.fWillSkipNarration = in.readbit(); _s.fLoopContinuously = in.readbit(); _s.fHideScrollBar = in.readbit(); _s.reserved = in.readuint7(); _s.unused = in.readuint16(); } void MSO::parseSlideSchemeColorSchemeAtom(LEInputStream& in, SlideSchemeColorSchemeAtom& _s) { _s.streamOffset = in.getPosition(); int _c; LEInputStream::Mark _m; parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0"); } if (!(_s.rh.recInstance == 1)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 1"); } if (!(_s.rh.recType == 0x07F0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x07F0"); } if (!(_s.rh.recLen == 0x20)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recLen == 0x20"); } _c = 8; for (int _i=0; _i<_c; ++_i) { _s.rgSchemeColor.append(ColorStruct(&_s)); parseColorStruct(in, _s.rgSchemeColor[_i]); } } void MSO::parseRoundTripSlideRecord(LEInputStream& in, RoundTripSlideRecord& _s) { _s.streamOffset = in.getPosition(); int _c; LEInputStream::Mark _m; parseRecordHeader(in, _s.rh); if (!(_s.rh.recType == 0x40E || _s.rh.recType == 0x40F || _s.rh.recType == 0x41D || _s.rh.recType == 0x3714 || _s.rh.recType == 0x2B0D || _s.rh.recType == 0x2B0B || _s.rh.recType == 0x2B0C || _s.rh.recType == 0x422)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x40E || _s.rh.recType == 0x40F || _s.rh.recType == 0x41D || _s.rh.recType == 0x3714 || _s.rh.recType == 0x2B0D || _s.rh.recType == 0x2B0B || _s.rh.recType == 0x2B0C || _s.rh.recType == 0x422"); } _c = _s.rh.recLen; _s.todo.resize(_c); in.readBytes(_s.todo); } void MSO::parseNamedShowsContainer(LEInputStream& in, NamedShowsContainer& _s) { _s.streamOffset = in.getPosition(); int _c; LEInputStream::Mark _m; parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0xF)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0xF"); } if (!(_s.rh.recInstance == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0"); } if (!(_s.rh.recType == 0x410)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x410"); } _c = _s.rh.recLen; _s.todo.resize(_c); in.readBytes(_s.todo); } void MSO::parseSummaryContainer(LEInputStream& in, SummaryContainer& _s) { _s.streamOffset = in.getPosition(); int _c; LEInputStream::Mark _m; parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0xF)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0xF"); } if (!(_s.rh.recInstance == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0"); } if (!(_s.rh.recType == 0x402)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x402"); } _c = _s.rh.recLen; _s.todo.resize(_c); in.readBytes(_s.todo); } void MSO::parseDocRoutingSlipAtom(LEInputStream& in, DocRoutingSlipAtom& _s) { _s.streamOffset = in.getPosition(); int _c; LEInputStream::Mark _m; parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0"); } if (!(_s.rh.recInstance == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0"); } if (!(_s.rh.recType == 0x406)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x406"); } _c = _s.rh.recLen; _s.todo.resize(_c); in.readBytes(_s.todo); } void MSO::parsePrintOptionsAtom(LEInputStream& in, PrintOptionsAtom& _s) { _s.streamOffset = in.getPosition(); int _c; LEInputStream::Mark _m; parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0"); } if (!(_s.rh.recInstance == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0"); } if (!(_s.rh.recType == 0x1770)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x1770"); } if (!(_s.rh.recLen == 5)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recLen == 5"); } _c = _s.rh.recLen; _s.todo.resize(_c); in.readBytes(_s.todo); } void MSO::parseRoundTripCustomTableStyles12Atom(LEInputStream& in, RoundTripCustomTableStyles12Atom& _s) { _s.streamOffset = in.getPosition(); int _c; LEInputStream::Mark _m; parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0 || _s.rh.recVer == 0xF)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0 || _s.rh.recVer == 0xF"); } if (!(_s.rh.recInstance == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0"); } if (!(_s.rh.recType == 0x428)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x428"); } _c = _s.rh.recLen; _s.todo.resize(_c); in.readBytes(_s.todo); } void MSO::parseRoundTripCompositeMasterId12Atom(LEInputStream& in, RoundTripCompositeMasterId12Atom& _s) { _s.streamOffset = in.getPosition(); parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0"); } if (!(_s.rh.recInstance == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0"); } if (!(_s.rh.recType == 0x41D)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x41D"); } if (!(_s.rh.recLen == 4)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recLen == 4"); } _s.compositeMasterId = in.readuint32(); } void MSO::parseColorStruct(LEInputStream& in, ColorStruct& _s) { _s.streamOffset = in.getPosition(); _s.red = in.readuint8(); _s.green = in.readuint8(); _s.blue = in.readuint8(); _s.unused = in.readuint8(); } void MSO::parseExObjListAtom(LEInputStream& in, ExObjListAtom& _s) { _s.streamOffset = in.getPosition(); parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0x0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0x0"); } if (!(_s.rh.recInstance == 0x0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0x0"); } if (!(_s.rh.recType == 0x040A)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x040A"); } if (!(_s.rh.recLen == 4)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recLen == 4"); } _s.exObjIdSeed = in.readint32(); if (!(((qint32)_s.exObjIdSeed)>=1)) { throw IncorrectValueException(in.getPosition(), "((qint32)_s.exObjIdSeed)>=1"); } } void MSO::parseExAviMovieContainer(LEInputStream& in, ExAviMovieContainer& _s) { _s.streamOffset = in.getPosition(); int _c; LEInputStream::Mark _m; parseOfficeArtRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0xF)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0xF"); } if (!(_s.rh.recInstance == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0"); } if (!(_s.rh.recType == 0x1006)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x1006"); } _c = _s.rh.recLen; _s.todo.resize(_c); in.readBytes(_s.todo); } void MSO::parseExCDAudioContainer(LEInputStream& in, ExCDAudioContainer& _s) { _s.streamOffset = in.getPosition(); int _c; LEInputStream::Mark _m; parseOfficeArtRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0xF)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0xF"); } if (!(_s.rh.recInstance == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0"); } if (!(_s.rh.recType == 0x100E)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x100E"); } _c = _s.rh.recLen; _s.todo.resize(_c); in.readBytes(_s.todo); } void MSO::parseExControlAtom(LEInputStream& in, ExControlAtom& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0"); } if (!(_s.rh.recInstance == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0"); } if (!(_s.rh.recType == 0xFFB)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0xFFB"); } if (!(_s.rh.recLen == 4)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recLen == 4"); } _s.slideIdRef = in.readuint32(); } void MSO::parseExHyperlinkAtom(LEInputStream& in, ExHyperlinkAtom& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0"); } if (!(_s.rh.recInstance == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0"); } if (!(_s.rh.recType == 0xFD3)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0xFD3"); } if (!(_s.rh.recLen == 4)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recLen == 4"); } _s.exHyperLinkId = in.readuint32(); } void MSO::parseFriendlyNameAtom(LEInputStream& in, FriendlyNameAtom& _s) { _s.streamOffset = in.getPosition(); int _c; LEInputStream::Mark _m; parseOfficeArtRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0"); } if (!(_s.rh.recInstance == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0"); } if (!(_s.rh.recType == 0xFBA)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0xFBA"); } if (!(_s.rh.recLen%2==0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recLen%2==0"); } _c = _s.rh.recLen/2; _s.friendlyName.resize(_c); for (int _i=0; _i<_c; ++_i) { _s.friendlyName[_i] = in.readuint16(); } } void MSO::parseTargetAtom(LEInputStream& in, TargetAtom& _s) { _s.streamOffset = in.getPosition(); int _c; LEInputStream::Mark _m; parseOfficeArtRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0"); } if (!(_s.rh.recInstance == 1)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 1"); } if (!(_s.rh.recType == 0xFBA)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0xFBA"); } if (!(_s.rh.recLen%2==0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recLen%2==0"); } _c = _s.rh.recLen/2; _s.target.resize(_c); for (int _i=0; _i<_c; ++_i) { _s.target[_i] = in.readuint16(); } } void MSO::parseLocationAtom(LEInputStream& in, LocationAtom& _s) { _s.streamOffset = in.getPosition(); int _c; LEInputStream::Mark _m; parseOfficeArtRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0"); } if (!(_s.rh.recInstance == 3)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 3"); } if (!(_s.rh.recType == 0xFBA)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0xFBA"); } if (!(_s.rh.recLen%2==0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recLen%2==0"); } _c = _s.rh.recLen/2; _s.location.resize(_c); for (int _i=0; _i<_c; ++_i) { _s.location[_i] = in.readuint16(); } } void MSO::parseExMCIMovieContainer(LEInputStream& in, ExMCIMovieContainer& _s) { _s.streamOffset = in.getPosition(); int _c; LEInputStream::Mark _m; parseOfficeArtRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0xF)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0xF"); } if (!(_s.rh.recInstance == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0"); } if (!(_s.rh.recType == 0x1007)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x1007"); } _c = _s.rh.recLen; _s.todo.resize(_c); in.readBytes(_s.todo); } void MSO::parseExMIDIAudioContainer(LEInputStream& in, ExMIDIAudioContainer& _s) { _s.streamOffset = in.getPosition(); int _c; LEInputStream::Mark _m; parseOfficeArtRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0xF)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0xF"); } if (!(_s.rh.recInstance == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0"); } if (!(_s.rh.recType == 0x100D)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x100D"); } _c = _s.rh.recLen; _s.todo.resize(_c); in.readBytes(_s.todo); } void MSO::parseExWAVAudioEmbeddedContainer(LEInputStream& in, ExWAVAudioEmbeddedContainer& _s) { _s.streamOffset = in.getPosition(); int _c; LEInputStream::Mark _m; parseOfficeArtRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0xF)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0xF"); } if (!(_s.rh.recInstance == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0"); } if (!(_s.rh.recType == 0x100F)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x100F"); } _c = _s.rh.recLen; _s.todo.resize(_c); in.readBytes(_s.todo); } void MSO::parseExWAVAudioLinkContainer(LEInputStream& in, ExWAVAudioLinkContainer& _s) { _s.streamOffset = in.getPosition(); int _c; LEInputStream::Mark _m; parseOfficeArtRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0xF)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0xF"); } if (!(_s.rh.recInstance == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0"); } if (!(_s.rh.recType == 0x1010)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x1010"); } _c = _s.rh.recLen; _s.todo.resize(_c); in.readBytes(_s.todo); } void MSO::parseUnknownExObjListSubContainerChild(LEInputStream& in, UnknownExObjListSubContainerChild& _s) { _s.streamOffset = in.getPosition(); int _c; LEInputStream::Mark _m; parseOfficeArtRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0xF)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0xF"); } if (!(_s.rh.recInstance == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0"); } if (!(_s.rh.recType == 0xFEA)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0xFEA"); } _c = _s.rh.recLen; _s.todo.resize(_c); in.readBytes(_s.todo); } void MSO::parseExOleLinkAtom(LEInputStream& in, ExOleLinkAtom& _s) { _s.streamOffset = in.getPosition(); parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0x0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0x0"); } if (!(_s.rh.recInstance == 0x0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0x0"); } if (!(_s.rh.recType == 0x0FD1)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x0FD1"); } if (!(_s.rh.recLen == 0xC)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recLen == 0xC"); } _s.slideIdRef = in.readuint32(); _s.oleUpdateMode = in.readuint32(); _s.unused = in.readuint32(); } void MSO::parseExOleObjAtom(LEInputStream& in, ExOleObjAtom& _s) { _s.streamOffset = in.getPosition(); parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0x1)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0x1"); } if (!(_s.rh.recInstance == 0x0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0x0"); } if (!(_s.rh.recType == 0x0FC3)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x0FC3"); } if (!(_s.rh.recLen == 0x18)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recLen == 0x18"); } _s.drawAspect = in.readuint32(); _s.type = in.readuint32(); _s.exObjId = in.readuint32(); _s.subType = in.readuint32(); _s.persistIdRef = in.readuint32(); _s.unused = in.readuint32(); } void MSO::parseMenuNameAtom(LEInputStream& in, MenuNameAtom& _s) { _s.streamOffset = in.getPosition(); int _c; LEInputStream::Mark _m; parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0x0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0x0"); } if (!(_s.rh.recInstance == 0x1)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0x1"); } if (!(_s.rh.recType == 0x0FBA)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x0FBA"); } if (!(_s.rh.recLen%2 == 0 )) { throw IncorrectValueException(in.getPosition(), "_s.rh.recLen%2 == 0 "); } _c = _s.rh.recLen; _s.menuName.resize(_c); in.readBytes(_s.menuName); } void MSO::parseProgIDAtom(LEInputStream& in, ProgIDAtom& _s) { _s.streamOffset = in.getPosition(); int _c; LEInputStream::Mark _m; parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0x0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0x0"); } if (!(_s.rh.recInstance == 0x2)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0x2"); } if (!(_s.rh.recType == 0x0FBA)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x0FBA"); } if (!(_s.rh.recLen%2 == 0 )) { throw IncorrectValueException(in.getPosition(), "_s.rh.recLen%2 == 0 "); } _c = _s.rh.recLen; _s.progId.resize(_c); in.readBytes(_s.progId); } void MSO::parseClipboardNameAtom(LEInputStream& in, ClipboardNameAtom& _s) { _s.streamOffset = in.getPosition(); int _c; LEInputStream::Mark _m; parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0x0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0x0"); } if (!(_s.rh.recInstance == 0x3)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0x3"); } if (!(_s.rh.recType == 0x0FBA)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x0FBA"); } if (!(_s.rh.recLen%2 == 0 )) { throw IncorrectValueException(in.getPosition(), "_s.rh.recLen%2 == 0 "); } _c = _s.rh.recLen; _s.clipboardName.resize(_c); in.readBytes(_s.clipboardName); } void MSO::parseMetafileBlob(LEInputStream& in, MetafileBlob& _s) { _s.streamOffset = in.getPosition(); int _c; LEInputStream::Mark _m; parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0x0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0x0"); } if (!(_s.rh.recInstance == 0x0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0x0"); } if (!(_s.rh.recType == 0x0FC1)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x0FC1"); } if (!(_s.rh.recLen>16)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recLen>16"); } _s.mm = in.readint16(); _s.xExt = in.readint16(); _s.yExt = in.readint16(); _c = _s.rh.recLen-6; _s.data.resize(_c); in.readBytes(_s.data); } void MSO::parseOfficeArtFDGG(LEInputStream& in, OfficeArtFDGG& _s) { _s.streamOffset = in.getPosition(); _s.spidMax = in.readuint32(); if (!(((quint32)_s.spidMax)<67098623)) { throw IncorrectValueException(in.getPosition(), "((quint32)_s.spidMax)<67098623"); } _s.cidcl = in.readuint32(); if (!(((quint32)_s.cidcl)<268435455)) { throw IncorrectValueException(in.getPosition(), "((quint32)_s.cidcl)<268435455"); } _s.cspSaved = in.readuint32(); _s.cdgSaved = in.readuint32(); } void MSO::parseOfficeArtFDG(LEInputStream& in, OfficeArtFDG& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0x0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0x0"); } if (!(_s.rh.recInstance<=4094)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance<=4094"); } if (!(_s.rh.recType == 0x0F008)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x0F008"); } if (!(_s.rh.recLen == 8)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recLen == 8"); } _s.csp = in.readuint32(); _s.spidCur = in.readuint32(); } void MSO::parseOfficeArtFRITContainer(LEInputStream& in, OfficeArtFRITContainer& _s) { _s.streamOffset = in.getPosition(); int _c; LEInputStream::Mark _m; parseOfficeArtRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0"); } if (!(_s.rh.recType == 0xF118)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0xF118"); } if (!(_s.rh.recLen==4*_s.rh.recInstance)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recLen==4*_s.rh.recInstance"); } _c = _s.rh.recInstance; for (int _i=0; _i<_c; ++_i) { _s.rgfrit.append(OfficeArtFRIT(&_s)); parseOfficeArtFRIT(in, _s.rgfrit[_i]); } } void MSO::parseOfficeArtFRIT(LEInputStream& in, OfficeArtFRIT& _s) { _s.streamOffset = in.getPosition(); _s.fridNew = in.readuint16(); _s.fridOld = in.readuint16(); } void MSO::parseOfficeArtBStoreContainer(LEInputStream& in, OfficeArtBStoreContainer& _s) { _s.streamOffset = in.getPosition(); LEInputStream::Mark _m; bool _atend; parseOfficeArtRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0xF)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0xF"); } if (!(_s.rh.recType == 0x0F001)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x0F001"); } qint64 _startPos = in.getPosition(); int _totalSize = qMin(_s.rh.recLen, quint32(in.getSize() - _startPos)); _atend = in.getPosition() - _startPos >= _totalSize; while (!_atend) { _s.rgfb.append(OfficeArtBStoreContainerFileBlock(&_s)); parseOfficeArtBStoreContainerFileBlock(in, _s.rgfb.last()); _atend = in.getPosition() - _startPos >= _totalSize; } } void MSO::parseOfficeArtSpgrContainer(LEInputStream& in, OfficeArtSpgrContainer& _s) { _s.streamOffset = in.getPosition(); LEInputStream::Mark _m; bool _atend; parseOfficeArtRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0xF)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0xF"); } if (!(_s.rh.recInstance == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0"); } if (!(_s.rh.recType == 0x0F003)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x0F003"); } qint64 _startPos = in.getPosition(); int _totalSize = qMin(_s.rh.recLen, quint32(in.getSize() - _startPos)); _atend = in.getPosition() - _startPos >= _totalSize; while (!_atend) { _s.rgfb.append(OfficeArtSpgrContainerFileBlock(&_s)); parseOfficeArtSpgrContainerFileBlock(in, _s.rgfb.last()); _atend = in.getPosition() - _startPos >= _totalSize; } } void MSO::parseOfficeArtSolverContainer(LEInputStream& in, OfficeArtSolverContainer& _s) { _s.streamOffset = in.getPosition(); LEInputStream::Mark _m; bool _atend; parseOfficeArtRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0xF)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0xF"); } if (!(_s.rh.recType == 0xF005)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0xF005"); } _atend = false; while (!_atend) { _m = in.setMark(); try { _s.rgfb.append(OfficeArtSolverContainerFileBlock(&_s)); parseOfficeArtSolverContainerFileBlock(in, _s.rgfb.last()); } catch(IncorrectValueException _e) { _s.rgfb.removeLast(); _atend = true; in.rewind(_m); } catch(EOFException _e) { _s.rgfb.removeLast(); _atend = true; in.rewind(_m); } } } void MSO::parseOfficeArtFConnectorRule(LEInputStream& in, OfficeArtFConnectorRule& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 1)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 1"); } if (!(_s.rh.recInstance == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0"); } if (!(_s.rh.recType == 0xF012)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0xF012"); } if (!(_s.rh.recLen == 0x18)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recLen == 0x18"); } _s.ruid = in.readuint32(); _s.spidA = in.readuint32(); _s.spidB = in.readuint32(); _s.spidC = in.readuint32(); _s.cptiA = in.readuint32(); _s.cptiB = in.readuint32(); } void MSO::parseOfficeArtFArcRule(LEInputStream& in, OfficeArtFArcRule& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0"); } if (!(_s.rh.recInstance == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0"); } if (!(_s.rh.recType == 0xF014)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0xF014"); } if (!(_s.rh.recLen == 8)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recLen == 8"); } _s.ruid = in.readuint32(); _s.spid = in.readuint32(); } void MSO::parseOfficeArtFCalloutRule(LEInputStream& in, OfficeArtFCalloutRule& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0"); } if (!(_s.rh.recInstance == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0"); } if (!(_s.rh.recType == 0xF017)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0xF017"); } if (!(_s.rh.recLen == 8)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recLen == 8"); } _s.ruid = in.readuint32(); _s.spid = in.readuint32(); } void MSO::parseOfficeArtFSPGR(LEInputStream& in, OfficeArtFSPGR& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0x1)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0x1"); } if (!(_s.rh.recInstance == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0"); } if (!(_s.rh.recType == 0x0F009)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x0F009"); } if (!(_s.rh.recLen == 0x10)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recLen == 0x10"); } _s.xLeft = in.readint32(); _s.yTop = in.readint32(); _s.xRight = in.readint32(); _s.yBottom = in.readint32(); } void MSO::parseOfficeArtFSP(LEInputStream& in, OfficeArtFSP& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0x2)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0x2"); } if (!(_s.rh.recInstance<= 202)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance<= 202"); } if (!(_s.rh.recType == 0x0F00A)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x0F00A"); } if (!(_s.rh.recLen == 8)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recLen == 8"); } _s.spid = in.readuint32(); _s.fGroup = in.readbit(); _s.fChild = in.readbit(); _s.fPatriarch = in.readbit(); _s.fDeleted = in.readbit(); _s.fOleShape = in.readbit(); _s.fHaveMaster = in.readbit(); _s.fFlipH = in.readbit(); _s.fFlipV = in.readbit(); _s.fConnector = in.readbit(); _s.fHaveAnchor = in.readbit(); _s.fBackground = in.readbit(); _s.fHaveSpt = in.readbit(); _s.unused1 = in.readuint20(); } void MSO::parseOfficeArtFOPT(LEInputStream& in, OfficeArtFOPT& _s) { _s.streamOffset = in.getPosition(); int _c; LEInputStream::Mark _m; parseOfficeArtRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0x3)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0x3"); } if (!(_s.rh.recType == 0x0F00B)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x0F00B"); } _c = _s.rh.recInstance; for (int _i=0; _i<_c; ++_i) { _s.fopt.append(OfficeArtFOPTEChoice(&_s)); parseOfficeArtFOPTEChoice(in, _s.fopt[_i]); } _c = _s.rh.recLen-6*_s.rh.recInstance; _s.complexData.resize(_c); in.readBytes(_s.complexData); } void MSO::parseOfficeArtSecondaryFOPT(LEInputStream& in, OfficeArtSecondaryFOPT& _s) { _s.streamOffset = in.getPosition(); int _c; LEInputStream::Mark _m; parseOfficeArtRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 3)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 3"); } if (!(_s.rh.recType == 0xF121)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0xF121"); } _c = _s.rh.recInstance; for (int _i=0; _i<_c; ++_i) { _s.fopt.append(OfficeArtFOPTEChoice(&_s)); parseOfficeArtFOPTEChoice(in, _s.fopt[_i]); } _c = _s.rh.recLen-6*_s.rh.recInstance; _s.complexData.resize(_c); in.readBytes(_s.complexData); } void MSO::parseOfficeArtTertiaryFOPT(LEInputStream& in, OfficeArtTertiaryFOPT& _s) { _s.streamOffset = in.getPosition(); int _c; LEInputStream::Mark _m; parseOfficeArtRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 3)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 3"); } if (!(_s.rh.recType == 0xF122)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0xF122"); } _c = _s.rh.recInstance; for (int _i=0; _i<_c; ++_i) { _s.fopt.append(OfficeArtFOPTEChoice(&_s)); parseOfficeArtFOPTEChoice(in, _s.fopt[_i]); } _c = _s.rh.recLen-6*_s.rh.recInstance; _s.complexData.resize(_c); in.readBytes(_s.complexData); } void MSO::parseMSOPATHINFO(LEInputStream& in, MSOPATHINFO& _s) { _s.streamOffset = in.getPosition(); _s.type = in.readuint3(); _s.segments = in.readuint13(); } void MSO::parseFixedPoint(LEInputStream& in, FixedPoint& _s) { _s.streamOffset = in.getPosition(); _s.fractional = in.readuint16(); _s.integral = in.readint16(); } void MSO::parsePVertices_complex(LEInputStream& in, PVertices_complex& _s) { _s.streamOffset = in.getPosition(); int _c; LEInputStream::Mark _m; _s.nElems = in.readuint16(); _s.nElemsAlloc = in.readuint16(); _s.cbElem = in.readuint16(); _c = (_s.cbElem==0xFFF0)?(4 * _s.nElems):(_s.cbElem * _s.nElems); _s.data.resize(_c); in.readBytes(_s.data); } void MSO::parsePSegmentInfo_complex(LEInputStream& in, PSegmentInfo_complex& _s) { _s.streamOffset = in.getPosition(); int _c; LEInputStream::Mark _m; _s.nElems = in.readuint16(); _s.nElemsAlloc = in.readuint16(); _s.cbElem = in.readuint16(); _c = (_s.cbElem==0xFFF0)?(4 * _s.nElems):(_s.cbElem * _s.nElems); _s.data.resize(_c); in.readBytes(_s.data); } void MSO::parseFillShadeColors_complex(LEInputStream& in, FillShadeColors_complex& _s) { _s.streamOffset = in.getPosition(); int _c; LEInputStream::Mark _m; _s.nElems = in.readuint16(); _s.nElemsAlloc = in.readuint16(); _s.cbElem = in.readuint16(); _c = (_s.cbElem==0xFFF0)?(4 * _s.nElems):(_s.cbElem * _s.nElems); _s.data.resize(_c); in.readBytes(_s.data); } void MSO::parsePWrapPolygonVertices_complex(LEInputStream& in, PWrapPolygonVertices_complex& _s) { _s.streamOffset = in.getPosition(); int _c; LEInputStream::Mark _m; _s.nElems = in.readuint16(); _s.nElemsAlloc = in.readuint16(); _s.cbElem = in.readuint16(); _c = (_s.cbElem==0xFFF0)?(4 * _s.nElems):(_s.cbElem * _s.nElems); _s.data.resize(_c); in.readBytes(_s.data); } void MSO::parseOfficeArtCOLORREF(LEInputStream& in, OfficeArtCOLORREF& _s) { _s.streamOffset = in.getPosition(); _s.red = in.readuint8(); _s.green = in.readuint8(); _s.blue = in.readuint8(); _s.fPaletteIndex = in.readbit(); _s.fPaletteRGB = in.readbit(); _s.fSystemRGB = in.readbit(); _s.fSchemeIndex = in.readbit(); _s.fSysIndex = in.readbit(); _s.unused1 = in.readbit(); _s.unused2 = in.readbit(); _s.unused3 = in.readbit(); } void MSO::parseOfficeArtChildAnchor(LEInputStream& in, OfficeArtChildAnchor& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0"); } if (!(_s.rh.recInstance == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0"); } if (!(_s.rh.recType == 0xF00F)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0xF00F"); } if (!(_s.rh.recLen == 0x10)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recLen == 0x10"); } _s.xLeft = in.readint32(); _s.yTop = in.readint32(); _s.xRight = in.readint32(); _s.yBottom = in.readint32(); } void MSO::parseDocOfficeArtClientAnchor(LEInputStream& in, DocOfficeArtClientAnchor& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0"); } if (!(_s.rh.recInstance == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0"); } if (!(_s.rh.recType == 0xF010)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0xF010"); } if (!(_s.rh.recLen == 0x4)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recLen == 0x4"); } _s.clientAnchor = in.readint32(); } void MSO::parseXlsOfficeArtClientAnchor(LEInputStream& in, XlsOfficeArtClientAnchor& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0"); } if (!(_s.rh.recInstance == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0"); } if (!(_s.rh.recType == 0xF010)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0xF010"); } if (!(_s.rh.recLen == 0x8 || _s.rh.recLen == 0x12)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recLen == 0x8 || _s.rh.recLen == 0x12"); } _s.fMove = in.readbit(); _s.fSize = in.readbit(); _s.unused = in.readuint14(); _s._has_width = _s.rh.recLen==0x8; if (_s._has_width) { _s.width = in.readint32(); } _s._has_height = _s.rh.recLen==0x8; if (_s._has_height) { _s.height = in.readint32(); } _s._has_colL = _s.rh.recLen==0x12; if (_s._has_colL) { _s.colL = in.readuint16(); } _s._has_dxL = _s.rh.recLen==0x12; if (_s._has_dxL) { _s.dxL = in.readint16(); } _s._has_rwT = _s.rh.recLen==0x12; if (_s._has_rwT) { _s.rwT = in.readuint16(); } _s._has_dyT = _s.rh.recLen==0x12; if (_s._has_dyT) { _s.dyT = in.readint16(); } _s._has_colR = _s.rh.recLen==0x12; if (_s._has_colR) { _s.colR = in.readuint16(); } _s._has_dxR = _s.rh.recLen==0x12; if (_s._has_dxR) { _s.dxR = in.readint16(); } _s._has_rwB = _s.rh.recLen==0x12; if (_s._has_rwB) { _s.rwB = in.readuint16(); } _s._has_dyB = _s.rh.recLen==0x12; if (_s._has_dyB) { _s.dyB = in.readint16(); } } void MSO::parseOfficeArtFPSPL(LEInputStream& in, OfficeArtFPSPL& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0"); } if (!(_s.rh.recInstance == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0"); } if (!(_s.rh.recType == 0xF11D)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0xF11D"); } if (!(_s.rh.recLen == 4)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recLen == 4"); } _s.spid = in.readuint30(); _s.reserved1 = in.readbit(); _s.fLast = in.readbit(); } void MSO::parseRectStruct(LEInputStream& in, RectStruct& _s) { _s.streamOffset = in.getPosition(); _s.top = in.readint32(); _s.left = in.readint32(); _s.right = in.readint32(); _s.bottom = in.readint32(); } void MSO::parseSmallRectStruct(LEInputStream& in, SmallRectStruct& _s) { _s.streamOffset = in.getPosition(); _s.top = in.readint16(); _s.left = in.readint16(); _s.right = in.readint16(); _s.bottom = in.readint16(); } void MSO::parseDocOfficeArtClientData(LEInputStream& in, DocOfficeArtClientData& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0"); } if (!(_s.rh.recInstance == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0"); } if (!(_s.rh.recType == 0xF011)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0xF011"); } if (!(_s.rh.recLen == 4)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recLen == 4"); } _s.clientData = in.readuint32(); } void MSO::parseXlsOfficeArtClientData(LEInputStream& in, XlsOfficeArtClientData& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0"); } if (!(_s.rh.recInstance == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0"); } if (!(_s.rh.recType == 0xF011)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0xF011"); } if (!(_s.rh.recLen == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recLen == 0"); } } void MSO::parseShapeFlagsAtom(LEInputStream& in, ShapeFlagsAtom& _s) { _s.streamOffset = in.getPosition(); int _c; LEInputStream::Mark _m; parseOfficeArtRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0"); } if (!(_s.rh.recInstance == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0"); } if (!(_s.rh.recType == 0xBDB)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0xBDB"); } if (!(_s.rh.recLen == 1)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recLen == 1"); } _c = _s.rh.recLen; _s.todo.resize(_c); in.readBytes(_s.todo); } void MSO::parseShapeFlags10Atom(LEInputStream& in, ShapeFlags10Atom& _s) { _s.streamOffset = in.getPosition(); int _c; LEInputStream::Mark _m; parseOfficeArtRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0"); } if (!(_s.rh.recInstance == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0"); } if (!(_s.rh.recType == 0xBDC)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0xBDC"); } if (!(_s.rh.recLen == 1)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recLen == 1"); } _c = _s.rh.recLen; _s.todo.resize(_c); in.readBytes(_s.todo); } void MSO::parseExObjRefAtom(LEInputStream& in, ExObjRefAtom& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0"); } if (!(_s.rh.recInstance == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0"); } if (!(_s.rh.recType == 0xBC1)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0xBC1"); } if (!(_s.rh.recLen == 4)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recLen == 4"); } _s.exObjIdRef = in.readuint32(); } void MSO::parseAnimationInfoAtom(LEInputStream& in, AnimationInfoAtom& _s) { _s.streamOffset = in.getPosition(); int _c; LEInputStream::Mark _m; parseOfficeArtRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0x1)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0x1"); } if (!(_s.rh.recInstance == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0"); } if (!(_s.rh.recType == 0xFF1)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0xFF1"); } if (!(_s.rh.recLen == 0x1C)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recLen == 0x1C"); } _c = 0x1C; _s.todo.resize(_c); in.readBytes(_s.todo); } void MSO::parseSoundContainer(LEInputStream& in, SoundContainer& _s) { _s.streamOffset = in.getPosition(); int _c; LEInputStream::Mark _m; parseOfficeArtRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0xF)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0xF"); } if (!(_s.rh.recInstance == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0"); } if (!(_s.rh.recType == 0x7E6)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x7E6"); } _c = _s.rh.recLen; _s.todo.resize(_c); in.readBytes(_s.todo); } void MSO::parseInteractiveInfoAtom(LEInputStream& in, InteractiveInfoAtom& _s) { _s.streamOffset = in.getPosition(); int _c; LEInputStream::Mark _m; parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0"); } if (!(_s.rh.recInstance == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0"); } if (!(_s.rh.recType == 0xFF2 || _s.rh.recType == 0xFF3)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0xFF2 || _s.rh.recType == 0xFF3"); } if (!(_s.rh.recLen == 0x10)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recLen == 0x10"); } _s.soundIdRef = in.readuint32(); _s.exHyperlinkIdRef = in.readuint32(); _s.action = in.readuint8(); if (!(((quint8)_s.action)<8)) { throw IncorrectValueException(in.getPosition(), "((quint8)_s.action)<8"); } _s.oleVerb = in.readuint8(); if (!(((quint8)_s.oleVerb)<3)) { throw IncorrectValueException(in.getPosition(), "((quint8)_s.oleVerb)<3"); } _s.jump = in.readuint8(); if (!(((quint8)_s.jump)<7)) { throw IncorrectValueException(in.getPosition(), "((quint8)_s.jump)<7"); } _s.fAnimated = in.readbit(); _s.fStopSound = in.readbit(); _s.fCustomSoundReturn = in.readbit(); _s.fVisited = in.readbit(); _s.reserved = in.readuint4(); _s.hyperlinkType = in.readuint8(); _c = 3; _s.unused.resize(_c); in.readBytes(_s.unused); } void MSO::parseMacroNameAtom(LEInputStream& in, MacroNameAtom& _s) { _s.streamOffset = in.getPosition(); int _c; LEInputStream::Mark _m; parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0"); } if (!(_s.rh.recInstance == 2)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 2"); } if (!(_s.rh.recType == 0xFBA)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0xFBA"); } if (!(_s.rh.recLen%2==0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recLen%2==0"); } _c = _s.rh.recLen; _s.macroName.resize(_c); in.readBytes(_s.macroName); } void MSO::parsePlaceholderAtom(LEInputStream& in, PlaceholderAtom& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0"); } if (!(_s.rh.recInstance == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0"); } if (!(_s.rh.recType == 0xBC3)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0xBC3"); } if (!(_s.rh.recLen == 8)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recLen == 8"); } _s.position = in.readint32(); _s.placementId = in.readuint8(); _s.size = in.readuint8(); _s.unused = in.readuint16(); } void MSO::parseRecolorInfoAtom(LEInputStream& in, RecolorInfoAtom& _s) { _s.streamOffset = in.getPosition(); int _c; LEInputStream::Mark _m; parseOfficeArtRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0"); } if (!(_s.rh.recInstance == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0"); } if (!(_s.rh.recType == 0xFE7)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0xFE7"); } _c = _s.rh.recLen; _s.todo.resize(_c); in.readBytes(_s.todo); } void MSO::parseOutlineTextRefAtom(LEInputStream& in, OutlineTextRefAtom& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0"); } if (!(_s.rh.recInstance == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0"); } if (!(_s.rh.recType == 0xF9E)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0xF9E"); } if (!(_s.rh.recLen == 4)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recLen == 4"); } _s.index = in.readint32(); if (!(((qint32)_s.index)>=0)) { throw IncorrectValueException(in.getPosition(), "((qint32)_s.index)>=0"); } } void MSO::parseShapeProgsTagContainer(LEInputStream& in, ShapeProgsTagContainer& _s) { _s.streamOffset = in.getPosition(); LEInputStream::Mark _m; bool _atend; parseOfficeArtRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0xF)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0xF"); } if (!(_s.rh.recInstance == 0 || _s.rh.recInstance == 1 || _s.rh.recInstance == 2)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0 || _s.rh.recInstance == 1 || _s.rh.recInstance == 2"); } if (!(_s.rh.recType == 0x1388)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x1388"); } _atend = false; while (!_atend) { _m = in.setMark(); try { _s.rgChildRec.append(ShapeProgTagsSubContainerOrAtom(&_s)); parseShapeProgTagsSubContainerOrAtom(in, _s.rgChildRec.last()); } catch(IncorrectValueException _e) { _s.rgChildRec.removeLast(); _atend = true; in.rewind(_m); } catch(EOFException _e) { _s.rgChildRec.removeLast(); _atend = true; in.rewind(_m); } } } void MSO::parsePP9ShapeBinaryTagExtension(LEInputStream& in, PP9ShapeBinaryTagExtension& _s) { _s.streamOffset = in.getPosition(); int _c; LEInputStream::Mark _m; parseOfficeArtRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0"); } if (!(_s.rh.recInstance == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0"); } if (!(_s.rh.recType == 0xFBA)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0xFBA"); } if (!(_s.rh.recLen == 0xE)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recLen == 0xE"); } _c = 7; _s.tagName.resize(_c); for (int _i=0; _i<_c; ++_i) { _s.tagName[_i] = in.readuint16(); } parseRecordHeader(in, _s.rhData); if (!(_s.rhData.recVer == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rhData.recVer == 0"); } if (!(_s.rhData.recInstance == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rhData.recInstance == 0"); } if (!(_s.rhData.recType == 0x138B)) { throw IncorrectValueException(in.getPosition(), "_s.rhData.recType == 0x138B"); } parseStyleTextProp9Atom(in, _s.styleTextProp9Atom); } void MSO::parsePP10ShapeBinaryTagExtension(LEInputStream& in, PP10ShapeBinaryTagExtension& _s) { _s.streamOffset = in.getPosition(); int _c; LEInputStream::Mark _m; parseOfficeArtRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0"); } if (!(_s.rh.recInstance == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0"); } if (!(_s.rh.recType == 0xFBA)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0xFBA"); } if (!(_s.rh.recLen == 0x10)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recLen == 0x10"); } _c = 8; _s.tagName.resize(_c); for (int _i=0; _i<_c; ++_i) { _s.tagName[_i] = in.readuint16(); } parseRecordHeader(in, _s.rhData); if (!(_s.rhData.recVer == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rhData.recVer == 0"); } if (!(_s.rhData.recInstance == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rhData.recInstance == 0"); } if (!(_s.rhData.recType == 0x138B)) { throw IncorrectValueException(in.getPosition(), "_s.rhData.recType == 0x138B"); } _c = _s.rhData.recLen; _s.todo.resize(_c); in.readBytes(_s.todo); } void MSO::parsePP11ShapeBinaryTagExtension(LEInputStream& in, PP11ShapeBinaryTagExtension& _s) { _s.streamOffset = in.getPosition(); int _c; LEInputStream::Mark _m; parseOfficeArtRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0"); } if (!(_s.rh.recInstance == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0"); } if (!(_s.rh.recType == 0xFBA)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0xFBA"); } if (!(_s.rh.recLen == 0x10)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recLen == 0x10"); } _c = 8; _s.tagName.resize(_c); for (int _i=0; _i<_c; ++_i) { _s.tagName[_i] = in.readuint16(); } parseRecordHeader(in, _s.rhData); if (!(_s.rhData.recVer == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rhData.recVer == 0"); } if (!(_s.rhData.recInstance == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rhData.recInstance == 0"); } if (!(_s.rhData.recType == 0x138B)) { throw IncorrectValueException(in.getPosition(), "_s.rhData.recType == 0x138B"); } _c = _s.rhData.recLen; _s.todo.resize(_c); in.readBytes(_s.todo); } void MSO::parseRoundTripNewPlaceHolderId12Atom(LEInputStream& in, RoundTripNewPlaceHolderId12Atom& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0"); } if (!(_s.rh.recInstance == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0"); } if (!(_s.rh.recType == 0xBDD)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0xBDD"); } if (!(_s.rh.recLen == 1)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recLen == 1"); } _s.newPlaceHolderId = in.readuint8(); } void MSO::parseRoundTripShapeId12Atom(LEInputStream& in, RoundTripShapeId12Atom& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0"); } if (!(_s.rh.recInstance == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0"); } if (!(_s.rh.recType == 0x41F)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x41F"); } if (!(_s.rh.recLen == 4)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recLen == 4"); } _s.shapeId = in.readuint32(); } void MSO::parseRoundTripHFPlaceholder12Atom(LEInputStream& in, RoundTripHFPlaceholder12Atom& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0"); } if (!(_s.rh.recInstance == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0"); } if (!(_s.rh.recType == 0x420)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x420"); } if (!(_s.rh.recLen == 1)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recLen == 1"); } _s.placeHolderId = in.readuint8(); } void MSO::parseRoundTripShapeCheckSumForCustomLayouts12Atom(LEInputStream& in, RoundTripShapeCheckSumForCustomLayouts12Atom& _s) { _s.streamOffset = in.getPosition(); int _c; LEInputStream::Mark _m; parseOfficeArtRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0"); } if (!(_s.rh.recInstance == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0"); } if (!(_s.rh.recType == 0x426)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x426"); } if (!(_s.rh.recLen == 8 || _s.rh.recLen == 40)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recLen == 8 || _s.rh.recLen == 40"); } _s.shapeCheckSum = in.readuint32(); _s.textCheckSum = in.readuint32(); _c = _s.rh.recLen-8; _s.unknown.resize(_c); in.readBytes(_s.unknown); } void MSO::parseXlsOfficeArtClientTextBox(LEInputStream& in, XlsOfficeArtClientTextBox& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0"); } if (!(_s.rh.recInstance == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0"); } if (!(_s.rh.recType == 0xF00D)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0xF00D"); } if (!(_s.rh.recLen == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recLen == 0"); } } void MSO::parseDocOfficeArtClientTextBox(LEInputStream& in, DocOfficeArtClientTextBox& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0 || _s.rh.recVer == 0xF)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0 || _s.rh.recVer == 0xF"); } if (!(_s.rh.recInstance == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0"); } if (!(_s.rh.recType == 0xF00D)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0xF00D"); } if (!(_s.rh.recLen == 0x4)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recLen == 0x4"); } _s.clientTextBox = in.readuint32(); } void MSO::parsePptOfficeArtClientTextBox(LEInputStream& in, PptOfficeArtClientTextBox& _s) { _s.streamOffset = in.getPosition(); LEInputStream::Mark _m; bool _atend; parseOfficeArtRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0 || _s.rh.recVer == 0xF)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0 || _s.rh.recVer == 0xF"); } if (!(_s.rh.recInstance == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0"); } if (!(_s.rh.recType == 0xF00D)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0xF00D"); } if (!(_s.rh.recLen!=4)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recLen!=4"); } qint64 _startPos = in.getPosition(); int _totalSize = qMin(_s.rh.recLen, quint32(in.getSize() - _startPos)); _atend = in.getPosition() - _startPos >= _totalSize; while (!_atend) { _s.rgChildRec.append(TextClientDataSubContainerOrAtom(&_s)); parseTextClientDataSubContainerOrAtom(in, _s.rgChildRec.last()); _atend = in.getPosition() - _startPos >= _totalSize; } } void MSO::parseOfficeArtIDCL(LEInputStream& in, OfficeArtIDCL& _s) { _s.streamOffset = in.getPosition(); _s.dgid = in.readuint32(); _s.cspidCur = in.readuint32(); } void MSO::parseOfficeArtFOPTEOPID(LEInputStream& in, OfficeArtFOPTEOPID& _s) { _s.streamOffset = in.getPosition(); _s.opid = in.readuint14(); _s.fBid = in.readbit(); _s.fComplex = in.readbit(); } void MSO::parseOfficeArtColorMRUContainer(LEInputStream& in, OfficeArtColorMRUContainer& _s) { _s.streamOffset = in.getPosition(); int _c; LEInputStream::Mark _m; parseOfficeArtRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0x0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0x0"); } if (!(_s.rh.recType == 0xF11A)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0xF11A"); } if (!(_s.rh.recLen==4*_s.rh.recInstance)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recLen==4*_s.rh.recInstance"); } _c = _s.rh.recInstance; for (int _i=0; _i<_c; ++_i) { _s.rgmsocr.append(MSOCR(&_s)); parseMSOCR(in, _s.rgmsocr[_i]); } } void MSO::parseMSOCR(LEInputStream& in, MSOCR& _s) { _s.streamOffset = in.getPosition(); _s.red = in.readuint8(); _s.green = in.readuint8(); _s.blue = in.readuint8(); _s.unused1 = in.readuint3(); _s.fSchemeIndex = in.readbit(); _s.unused2 = in.readuint4(); } void MSO::parseOfficeArtSplitMenuColorContainer(LEInputStream& in, OfficeArtSplitMenuColorContainer& _s) { _s.streamOffset = in.getPosition(); int _c; LEInputStream::Mark _m; parseOfficeArtRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0x0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0x0"); } if (!(_s.rh.recInstance == 0x4)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0x4"); } if (!(_s.rh.recType == 0xF11E)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0xF11E"); } if (!(_s.rh.recLen == 0x10)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recLen == 0x10"); } _c = 4; for (int _i=0; _i<_c; ++_i) { _s.smca.append(MSOCR(&_s)); parseMSOCR(in, _s.smca[_i]); } } void MSO::parsetodo(LEInputStream& in, todo& _s) { _s.streamOffset = in.getPosition(); int _c; LEInputStream::Mark _m; parseRecordHeader(in, _s.rh); _c = _s.rh.recLen; _s.anon.resize(_c); in.readBytes(_s.anon); } void MSO::parseFibBase(LEInputStream& in, FibBase& _s) { _s.streamOffset = in.getPosition(); _s.wIdent = in.readuint16(); _s.nFib = in.readuint16(); if (!(((quint16)_s.nFib) == 0x65 || ((quint16)_s.nFib) == 0x67 || ((quint16)_s.nFib) == 0x68 || ((quint16)_s.nFib) == 0xC0 || ((quint16)_s.nFib) == 0xC1 || ((quint16)_s.nFib) == 0xC2 || ((quint16)_s.nFib) == 0x101 || ((quint16)_s.nFib) == 0x10B || ((quint16)_s.nFib) == 0x10C || ((quint16)_s.nFib) == 0x112)) { throw IncorrectValueException(in.getPosition(), "((quint16)_s.nFib) == 0x65 || ((quint16)_s.nFib) == 0x67 || ((quint16)_s.nFib) == 0x68 || ((quint16)_s.nFib) == 0xC0 || ((quint16)_s.nFib) == 0xC1 || ((quint16)_s.nFib) == 0xC2 || ((quint16)_s.nFib) == 0x101 || ((quint16)_s.nFib) == 0x10B || ((quint16)_s.nFib) == 0x10C || ((quint16)_s.nFib) == 0x112"); } _s.unused = in.readuint16(); _s.lid = in.readuint16(); _s.pnNext = in.readuint16(); _s.fDot = in.readbit(); _s.fGlsy = in.readbit(); _s.fComplex = in.readbit(); _s.fHasPic = in.readbit(); _s.cQuickSaves = in.readuint4(); _s.fEncrypted = in.readbit(); _s.fWhichTblStm = in.readbit(); _s.fReadOnlyRecommended = in.readbit(); _s.fWriteReservation = in.readbit(); _s.fExtChar = in.readbit(); _s.fLoadOverride = in.readbit(); _s.fFarEast = in.readbit(); _s.fObfuscated = in.readbit(); _s.nFibBack = in.readuint16(); _s.IKey = in.readuint32(); _s.envr = in.readuint8(); _s.fMac = in.readbit(); _s.fEmptySpecial = in.readbit(); _s.fLoadOverridePage = in.readbit(); _s.reserved1 = in.readbit(); _s.reserved2 = in.readbit(); _s.fSpare0 = in.readuint3(); _s.reserved3 = in.readuint16(); _s.reserved4 = in.readuint16(); _s.reserved5 = in.readuint32(); _s.reserved6 = in.readuint32(); } void MSO::parseFibRgW97(LEInputStream& in, FibRgW97& _s) { _s.streamOffset = in.getPosition(); _s.reserved1 = in.readuint16(); _s.reserved2 = in.readuint16(); _s.reserved3 = in.readuint16(); _s.reserved4 = in.readuint16(); _s.reserved5 = in.readuint16(); _s.reserved6 = in.readuint16(); _s.reserved7 = in.readuint16(); _s.reserved8 = in.readuint16(); _s.reserved9 = in.readuint16(); _s.reserved10 = in.readuint16(); _s.reserved11 = in.readuint16(); _s.reserved12 = in.readuint16(); _s.reserved13 = in.readuint16(); _s.lidFE = in.readuint16(); } void MSO::parseFibRgLw97(LEInputStream& in, FibRgLw97& _s) { _s.streamOffset = in.getPosition(); _s.cbMac = in.readuint32(); _s.reserved1 = in.readuint32(); _s.reserved2 = in.readuint32(); _s.ccpText = in.readint32(); if (!(((qint32)_s.ccpText)>=0)) { throw IncorrectValueException(in.getPosition(), "((qint32)_s.ccpText)>=0"); } _s.ccpFtn = in.readint32(); if (!(((qint32)_s.ccpFtn)>=0)) { throw IncorrectValueException(in.getPosition(), "((qint32)_s.ccpFtn)>=0"); } _s.ccpHdd = in.readint32(); if (!(((qint32)_s.ccpHdd)>=0)) { throw IncorrectValueException(in.getPosition(), "((qint32)_s.ccpHdd)>=0"); } _s.reserved3 = in.readuint32(); if (!(((quint32)_s.reserved3) == 0)) { throw IncorrectValueException(in.getPosition(), "((quint32)_s.reserved3) == 0"); } _s.ccpAtn = in.readint32(); if (!(((qint32)_s.ccpAtn)>=0)) { throw IncorrectValueException(in.getPosition(), "((qint32)_s.ccpAtn)>=0"); } _s.ccpEdn = in.readint32(); if (!(((qint32)_s.ccpEdn)>=0)) { throw IncorrectValueException(in.getPosition(), "((qint32)_s.ccpEdn)>=0"); } _s.ccpTxbx = in.readint32(); if (!(((qint32)_s.ccpTxbx)>=0)) { throw IncorrectValueException(in.getPosition(), "((qint32)_s.ccpTxbx)>=0"); } _s.ccpHdrTxbx = in.readint32(); if (!(((qint32)_s.ccpHdrTxbx)>=0)) { throw IncorrectValueException(in.getPosition(), "((qint32)_s.ccpHdrTxbx)>=0"); } _s.reserved4 = in.readuint32(); _s.reserved5 = in.readuint32(); _s.reserved6 = in.readuint32(); _s.reserved7 = in.readuint32(); _s.reserved8 = in.readuint32(); _s.reserved9 = in.readuint32(); _s.reserved10 = in.readuint32(); _s.reserved11 = in.readuint32(); _s.reserved12 = in.readuint32(); _s.reserved13 = in.readuint32(); if (!(((quint32)_s.reserved13) == 0)) { throw IncorrectValueException(in.getPosition(), "((quint32)_s.reserved13) == 0"); } _s.reserved14 = in.readuint32(); if (!(((quint32)_s.reserved14) == 0)) { throw IncorrectValueException(in.getPosition(), "((quint32)_s.reserved14) == 0"); } } void MSO::parseFibRgFcLcb97(LEInputStream& in, FibRgFcLcb97& _s) { _s.streamOffset = in.getPosition(); _s.fcStshfOrig = in.readuint32(); _s.lcbStshfOrig = in.readuint32(); _s.fcStshf = in.readuint32(); _s.lcbStshf = in.readuint32(); _s.fcPlcffndRef = in.readuint32(); _s.lcbPlcffndRef = in.readuint32(); _s.fcPlcffndTxt = in.readuint32(); _s.lcbPlcffndTxt = in.readuint32(); _s.fcPlcfandRef = in.readuint32(); _s.lcbPlcfandRef = in.readuint32(); _s.fcPlcfandTxt = in.readuint32(); _s.lcbPlcfandTxt = in.readuint32(); _s.fcPlcfSed = in.readuint32(); _s.lcbPlcfSed = in.readuint32(); _s.fcPlcPad = in.readuint32(); _s.lcbPlcPad = in.readuint32(); _s.fcPlcfPhe = in.readuint32(); _s.lcbPlcfPhe = in.readuint32(); _s.fcSttbfGlsy = in.readuint32(); _s.lcbSttbfGlsy = in.readuint32(); _s.fcPlcfGlsy = in.readuint32(); _s.lcbPlcfGlsy = in.readuint32(); _s.fcPlcfHdd = in.readuint32(); _s.lcbPlcfHdd = in.readuint32(); _s.fcPlcfBteChpx = in.readuint32(); _s.lcbPlcfBteChpx = in.readuint32(); _s.fcPlcfBtePapx = in.readuint32(); _s.lcbPlcfBtePapx = in.readuint32(); _s.fcPlcfSea = in.readuint32(); _s.lcbPlcfSea = in.readuint32(); _s.fcSttbfFfn = in.readuint32(); _s.lcbSttbfFfn = in.readuint32(); _s.fcPlcfFldMom = in.readuint32(); _s.lcbPlcfFldMom = in.readuint32(); _s.fcPlcfFldHdr = in.readuint32(); _s.lcbPlcfFldHdr = in.readuint32(); _s.fcPlcfFldFtn = in.readuint32(); _s.lcbPlcfFldFtn = in.readuint32(); _s.fcPlcfFldAtn = in.readuint32(); _s.lcbPlcfFldAtn = in.readuint32(); _s.fcPlcfFldMcr = in.readuint32(); _s.lcbPlcfFldMcr = in.readuint32(); _s.fcSttbfBkmk = in.readuint32(); _s.lcbSttbfBkmk = in.readuint32(); _s.fcPlcfBkf = in.readuint32(); _s.lcbPlcfBkf = in.readuint32(); _s.fcPlcfBkl = in.readuint32(); _s.lcbPlcfBkl = in.readuint32(); _s.fcCmds = in.readuint32(); _s.lcbCmds = in.readuint32(); _s.fcUnused1 = in.readuint32(); _s.lcbUnused1 = in.readuint32(); _s.fcSttbfMcr = in.readuint32(); _s.lcbSttbfMcr = in.readuint32(); _s.fcPrDrvr = in.readuint32(); _s.lcbPrDrvr = in.readuint32(); _s.fcPrEnvPort = in.readuint32(); _s.lcbPrEnvPort = in.readuint32(); _s.fcPrEnvLand = in.readuint32(); _s.lcbPrEnvLand = in.readuint32(); _s.fcWss = in.readuint32(); _s.lcbWss = in.readuint32(); _s.fcDop = in.readuint32(); _s.lcbDop = in.readuint32(); _s.fcSttbfAssoc = in.readuint32(); _s.lcbSttbfAssoc = in.readuint32(); _s.fcClx = in.readuint32(); _s.lcbClx = in.readuint32(); _s.fcPlcfPgdFtn = in.readuint32(); _s.lcbPlcfPgdFtn = in.readuint32(); _s.fcAutosaveSource = in.readuint32(); _s.lcbAutosaveSource = in.readuint32(); _s.fcGrpXstAtnOwners = in.readuint32(); _s.lcbGrpXstAtnOwners = in.readuint32(); _s.fcSttbfAtnBkmk = in.readuint32(); _s.lcbSttbfAtnBkmk = in.readuint32(); _s.fcUnused2 = in.readuint32(); _s.lcbUnused2 = in.readuint32(); _s.fcUnused3 = in.readuint32(); _s.lcbUnused3 = in.readuint32(); _s.fcPlcSpaMom = in.readuint32(); _s.lcbPlcSpaMom = in.readuint32(); _s.fcPlcSpaHdr = in.readuint32(); _s.lcbPlcSpaHdr = in.readuint32(); _s.fcPlcfAtnBkf = in.readuint32(); _s.lcbPlcfAtnBkf = in.readuint32(); _s.fcPlcfAtnBkl = in.readuint32(); _s.lcbPlcfAtnBkl = in.readuint32(); _s.fcPms = in.readuint32(); _s.lcbPms = in.readuint32(); _s.fcFormFldSttbs = in.readuint32(); _s.lcbFormFldSttbs = in.readuint32(); _s.fcPlcfendRef = in.readuint32(); _s.lcbPlcfendRef = in.readuint32(); _s.fcPlcfendTxt = in.readuint32(); _s.lcbPlcfendTxt = in.readuint32(); _s.fcPlcfFldEdn = in.readuint32(); _s.lcbPlcfFldEdn = in.readuint32(); _s.fcUnused4 = in.readuint32(); _s.lcbUnused4 = in.readuint32(); _s.fcDggInfo = in.readuint32(); _s.lcbDggInfo = in.readuint32(); _s.fcSttbfRMark = in.readuint32(); _s.lcbSttbfRMark = in.readuint32(); _s.fcSttbfCaption = in.readuint32(); _s.lcbSttbfCaption = in.readuint32(); _s.fcSttbfAutoCaption = in.readuint32(); _s.lcbSttbfAutoCaption = in.readuint32(); _s.fcPlcfWkb = in.readuint32(); _s.lcbPlcfWkb = in.readuint32(); _s.fcPlcfSpl = in.readuint32(); _s.lcbPlcfSpl = in.readuint32(); _s.fcPlcftxbxTxt = in.readuint32(); _s.lcbPlcftxbxTxt = in.readuint32(); _s.fcPlcfFldTxbx = in.readuint32(); _s.lcbPlcfFldTxbx = in.readuint32(); _s.fcPlcfHdrtxbxTxt = in.readuint32(); _s.lcbPlcfHdrtxbxTxt = in.readuint32(); _s.fcPlcffldHdrTxbx = in.readuint32(); _s.lcbPlcffldHdrTxbx = in.readuint32(); _s.fcStwUser = in.readuint32(); _s.lcbStwUser = in.readuint32(); _s.fcSttbTtmbd = in.readuint32(); _s.lcbSttbTtmbd = in.readuint32(); _s.fcCookieData = in.readuint32(); _s.lcbCookieData = in.readuint32(); _s.fcPgdMotherOldOld = in.readuint32(); _s.lcbPgdMotherOldOld = in.readuint32(); _s.fcBkdMotherOldOld = in.readuint32(); _s.lcbBkdMotherOldOld = in.readuint32(); _s.fcPgdFtnOldOld = in.readuint32(); _s.lcbPgdFtnOldOld = in.readuint32(); _s.fcBkdFtnOldOld = in.readuint32(); _s.lcbBkdFtnOldOld = in.readuint32(); _s.fcPgdEdnOldOld = in.readuint32(); _s.lcbPgdEdnOldOld = in.readuint32(); _s.fcBkdEdnOldOld = in.readuint32(); _s.lcbBkdEdnOldOld = in.readuint32(); _s.fcSttbfIntlFld = in.readuint32(); _s.lcbSttbfIntlFld = in.readuint32(); _s.fcRouteSlip = in.readuint32(); _s.lcbRouteSlip = in.readuint32(); _s.fcSttbSavedBy = in.readuint32(); _s.lcbSttbSavedBy = in.readuint32(); _s.fcSttbFnm = in.readuint32(); _s.lcbSttbFnm = in.readuint32(); _s.fcPlfLst = in.readuint32(); _s.lcbPlfLst = in.readuint32(); _s.fcPlfLfo = in.readuint32(); _s.lcbPlfLfo = in.readuint32(); _s.fcPlcfTxbxBkd = in.readuint32(); _s.lcbPlcfTxbxBkd = in.readuint32(); _s.fcPlcfTxbxHdrBkd = in.readuint32(); _s.lcbPlcfTxbxHdrBkd = in.readuint32(); _s.fcDocUndoWord9 = in.readuint32(); _s.lcbDocUndoWord9 = in.readuint32(); _s.fcRgbUse = in.readuint32(); _s.lcbRgbUse = in.readuint32(); _s.fcUsp = in.readuint32(); _s.lcbUsp = in.readuint32(); _s.fcUskf = in.readuint32(); _s.lcbUskf = in.readuint32(); _s.fcPlcupcRgbUse = in.readuint32(); _s.lcbPlcupcRgbUse = in.readuint32(); _s.fcPlcupcUsp = in.readuint32(); _s.lcbPlcupcUsp = in.readuint32(); _s.fcSttbGlsyStyle = in.readuint32(); _s.lcbSttbGlsyStyle = in.readuint32(); _s.fcPlgosl = in.readuint32(); _s.lcbPlgosl = in.readuint32(); _s.fcPlcocx = in.readuint32(); _s.lcbPlcocx = in.readuint32(); _s.fcPlcfBteLvc = in.readuint32(); _s.lcbPlcfBteLvc = in.readuint32(); _s.dwLowDateTime = in.readuint32(); _s.dwHighDateTime = in.readuint32(); _s.fcPlcfLvcPre10 = in.readuint32(); _s.lcbPlcfLvcPre10 = in.readuint32(); _s.fcPlcfAsumy = in.readuint32(); _s.lcbPlcfAsumy = in.readuint32(); _s.fcPlcfGram = in.readuint32(); _s.lcbPlcfGram = in.readuint32(); _s.fcSttbListNames = in.readuint32(); _s.lcbSttbListNames = in.readuint32(); _s.fcSttbfUssr = in.readuint32(); _s.lcbSttbfUssr = in.readuint32(); } void MSO::parseFibRgFcLcb2000(LEInputStream& in, FibRgFcLcb2000& _s) { _s.streamOffset = in.getPosition(); _s.fcPlcfTch = in.readuint32(); _s.lcbPlcfTch = in.readuint32(); _s.fcRmdThreading = in.readuint32(); _s.lcbRmdThreading = in.readuint32(); _s.fcMid = in.readuint32(); _s.lcbMid = in.readuint32(); _s.fcSttbRgtplc = in.readuint32(); _s.lcbSttbRgtplc = in.readuint32(); _s.fcMsoEnvelope = in.readuint32(); _s.lcbMsoEnvelope = in.readuint32(); _s.fcPlcfLad = in.readuint32(); _s.lcbPlcfLad = in.readuint32(); _s.fcRgDofr = in.readuint32(); _s.lcbRgDofr = in.readuint32(); _s.fcPlcosl = in.readuint32(); _s.lcbPlcosl = in.readuint32(); _s.fcPlcfCookieOld = in.readuint32(); _s.lcbPlcfCookieOld = in.readuint32(); _s.fcPgdMotherOld = in.readuint32(); _s.lcbPgdMotherOld = in.readuint32(); _s.fcBkdMotherOld = in.readuint32(); _s.lcbBkdMotherOld = in.readuint32(); _s.fcPgdFtnOld = in.readuint32(); _s.lcbPgdFtnOld = in.readuint32(); _s.fcBkdFtnOld = in.readuint32(); _s.lcbBkdFtnOld = in.readuint32(); _s.fcPgdEdnOld = in.readuint32(); _s.lcbPgdEdnOld = in.readuint32(); _s.fcBkdEdnOld = in.readuint32(); _s.lcbBkdEdnOld = in.readuint32(); } void MSO::parseFibRgFcLcb2002(LEInputStream& in, FibRgFcLcb2002& _s) { _s.streamOffset = in.getPosition(); _s.fcUnused1 = in.readuint32(); _s.lcbUnused1 = in.readuint32(); _s.fcPlcfPgp = in.readuint32(); _s.lcbPlcfPgp = in.readuint32(); _s.fcPlcfuim = in.readuint32(); _s.lcbPlcfuim = in.readuint32(); _s.fcPlfguidUim = in.readuint32(); _s.lcbPlfguidUim = in.readuint32(); _s.fcAtrdExtra = in.readuint32(); _s.lcbAtrdExtra = in.readuint32(); _s.fcPlrsid = in.readuint32(); _s.lcbPlrsid = in.readuint32(); _s.fcSttbfBkmkFactoid = in.readuint32(); _s.lcbSttbfBkmkFactoid = in.readuint32(); _s.fcPlcfBkfFactoid = in.readuint32(); _s.lcbPlcfBkfFactoid = in.readuint32(); _s.fcPlcfcookie = in.readuint32(); _s.lcbPlcfcookie = in.readuint32(); _s.fcPlcfBklFactoid = in.readuint32(); _s.lcbPlcfBklFactoid = in.readuint32(); _s.fcFactoidData = in.readuint32(); _s.lcbFactoidData = in.readuint32(); _s.fcDocUndo = in.readuint32(); _s.lcbDocUndo = in.readuint32(); _s.fcSttbfBkmkFcc = in.readuint32(); _s.lcbSttbfBkmkFcc = in.readuint32(); _s.fcPlcfBkfFcc = in.readuint32(); _s.lcbPlcfBkfFcc = in.readuint32(); _s.fcPlcfBklFcc = in.readuint32(); _s.lcbPlcfBklFcc = in.readuint32(); _s.fcSttbfbkmkBPRepairs = in.readuint32(); _s.lcbSttbfbkmkBPRepairs = in.readuint32(); _s.fcPlcfbkfBPRepairs = in.readuint32(); _s.lcbPlcfbkfBPRepairs = in.readuint32(); _s.fcPlcfbklBPRepairs = in.readuint32(); _s.lcbPlcfbklBPRepairs = in.readuint32(); _s.fcPmsNew = in.readuint32(); _s.lcbPmsNew = in.readuint32(); _s.fcODSO = in.readuint32(); _s.lcbODSO = in.readuint32(); _s.fcPlcfpmiOldXP = in.readuint32(); _s.lcbPlcfpmiOldXP = in.readuint32(); _s.fcPlcfpmiNewXP = in.readuint32(); _s.lcbPlcfpmiNewXP = in.readuint32(); _s.fcPlcfpmiMixedXP = in.readuint32(); _s.lcbPlcfpmiMixedXP = in.readuint32(); _s.fcUnused2 = in.readuint32(); _s.lcbUnused2 = in.readuint32(); _s.fcPlcffactoid = in.readuint32(); _s.lcbPlcffactoid = in.readuint32(); } void MSO::parseLPStshi(LEInputStream& in, LPStshi& _s) { _s.streamOffset = in.getPosition(); int _c; LEInputStream::Mark _m; _s.cbSthi = in.readuint16(); _c = _s.cbSthi; _s.stshi.resize(_c); in.readBytes(_s.stshi); } void MSO::parseLPStd(LEInputStream& in, LPStd& _s) { _s.streamOffset = in.getPosition(); int _c; LEInputStream::Mark _m; _s.cbStd = in.readuint16(); _c = _s.cbStd; _s.std.resize(_c); in.readBytes(_s.std); _s._has_padding = _s.cbStd%2==1; if (_s._has_padding) { _s.padding = in.readuint8(); } } void MSO::parsePlcfSed(LEInputStream& in, PlcfSed& _s) { _s.streamOffset = in.getPosition(); int _c; LEInputStream::Mark _m; _c = 2; _s.aCP.resize(_c); for (int _i=0; _i<_c; ++_i) { _s.aCP[_i] = in.readuint32(); } _c = 1; for (int _i=0; _i<_c; ++_i) { _s.aSed.append(Sed(&_s)); parseSed(in, _s.aSed[_i]); } } void MSO::parseSed(LEInputStream& in, Sed& _s) { _s.streamOffset = in.getPosition(); _s.fn = in.readuint16(); _s.fcSepx = in.readint32(); _s.fnMpr = in.readuint16(); _s.fcMpr = in.readuint32(); } void MSO::parsePlcfhdd(LEInputStream& in, Plcfhdd& _s) { _s.streamOffset = in.getPosition(); int _c; LEInputStream::Mark _m; _c = 13; _s.aCP.resize(_c); for (int _i=0; _i<_c; ++_i) { _s.aCP[_i] = in.readuint32(); } } void MSO::parsePlcBteChpx(LEInputStream& in, PlcBteChpx& _s) { _s.streamOffset = in.getPosition(); int _c; LEInputStream::Mark _m; _c = 2; _s.aCP.resize(_c); for (int _i=0; _i<_c; ++_i) { _s.aCP[_i] = in.readuint32(); } _c = 1; _s.aPnBteChpx.resize(_c); for (int _i=0; _i<_c; ++_i) { _s.aPnBteChpx[_i] = in.readuint32(); } } void MSO::parsePlcfBtePapx(LEInputStream& in, PlcfBtePapx& _s) { _s.streamOffset = in.getPosition(); int _c; LEInputStream::Mark _m; _c = 2; _s.aCP.resize(_c); for (int _i=0; _i<_c; ++_i) { _s.aCP[_i] = in.readuint32(); } _c = 1; _s.aPnBteChpx.resize(_c); for (int _i=0; _i<_c; ++_i) { _s.aPnBteChpx[_i] = in.readuint32(); } } void MSO::parseTcg(LEInputStream& in, Tcg& _s) { _s.streamOffset = in.getPosition(); int _c; LEInputStream::Mark _m; _s.nTcgVer = in.readuint8(); if (!(((quint8)_s.nTcgVer) == 0)) { throw IncorrectValueException(in.getPosition(), "((quint8)_s.nTcgVer) == 0"); } _c = 11; _s.todo.resize(_c); in.readBytes(_s.todo); } void MSO::parsePrcData(LEInputStream& in, PrcData& _s) { _s.streamOffset = in.getPosition(); int _c; LEInputStream::Mark _m; _s.cbGrpprl = in.readint16(); if (!(((qint16)_s.cbGrpprl)>=0)) { throw IncorrectValueException(in.getPosition(), "((qint16)_s.cbGrpprl)>=0"); } if (!(((qint16)_s.cbGrpprl)<=16290)) { throw IncorrectValueException(in.getPosition(), "((qint16)_s.cbGrpprl)<=16290"); } if (!(((qint16)_s.cbGrpprl)%2==0)) { throw IncorrectValueException(in.getPosition(), "((qint16)_s.cbGrpprl)%2==0"); } _c = _s.cbGrpprl/2; for (int _i=0; _i<_c; ++_i) { _s.GrpPrl.append(Sprm(&_s)); parseSprm(in, _s.GrpPrl[_i]); } } void MSO::parseSprm(LEInputStream& in, Sprm& _s) { _s.streamOffset = in.getPosition(); _s.ispmd = in.readuint9(); _s.fSpec = in.readbit(); _s.sgc = in.readuint3(); _s.spra = in.readuint3(); } void MSO::parsePcdt(LEInputStream& in, Pcdt& _s) { _s.streamOffset = in.getPosition(); int _c; LEInputStream::Mark _m; _s.clxt = in.readuint8(); if (!(((quint8)_s.clxt) == 2)) { throw IncorrectValueException(in.getPosition(), "((quint8)_s.clxt) == 2"); } _s.lcb = in.readuint32(); _c = _s.lcb/8; for (int _i=0; _i<_c; ++_i) { _s.PlcPcd.append(Pcd(&_s)); parsePcd(in, _s.PlcPcd[_i]); } } void MSO::parseFCompressed(LEInputStream& in, FCompressed& _s) { _s.streamOffset = in.getPosition(); _s.fc = in.readuint30(); _s.fCompressed = in.readbit(); _s.r1 = in.readbit(); } void MSO::parsePrm0(LEInputStream& in, Prm0& _s) { _s.streamOffset = in.getPosition(); _s.fComplex = in.readbit(); if (!(((bool)_s.fComplex) == false)) { throw IncorrectValueException(in.getPosition(), "((bool)_s.fComplex) == false"); } _s.isprm = in.readuint7(); _s.val = in.readuint8(); } void MSO::parsePrm1(LEInputStream& in, Prm1& _s) { _s.streamOffset = in.getPosition(); _s.fComplex = in.readbit(); if (!(((bool)_s.fComplex) == true)) { throw IncorrectValueException(in.getPosition(), "((bool)_s.fComplex) == true"); } _s.igrpprl = in.readuint15(); } void MSO::parseSttbfFfn(LEInputStream& in, SttbfFfn& _s) { _s.streamOffset = in.getPosition(); int _c; LEInputStream::Mark _m; _s.cData = in.readuint16(); _s.cbExtra = in.readuint16(); if (!(((quint16)_s.cbExtra) == 0)) { throw IncorrectValueException(in.getPosition(), "((quint16)_s.cbExtra) == 0"); } _c = _s.cData; for (int _i=0; _i<_c; ++_i) { _s.data.append(SttbfFfnEntry(&_s)); parseSttbfFfnEntry(in, _s.data[_i]); } } void MSO::parseSttbfFfnEntry(LEInputStream& in, SttbfFfnEntry& _s) { _s.streamOffset = in.getPosition(); int _c; LEInputStream::Mark _m; _s.cchData = in.readuint8(); _c = _s.cchData; _s.Data.resize(_c); in.readBytes(_s.Data); } void MSO::parseCodePageString(LEInputStream& in, CodePageString& _s) { _s.streamOffset = in.getPosition(); int _c; LEInputStream::Mark _m; _s.size = in.readuint32(); _c = 4*(_s.size/4)+((_s.size%4!=0)?4:0); _s.characters.resize(_c); in.readBytes(_s.characters); } void MSO::parseFILETIME(LEInputStream& in, FILETIME& _s) { _s.streamOffset = in.getPosition(); _s.dwLowDateTime = in.readuint32(); _s.dwHighDateTime = in.readuint32(); } void MSO::parseClipboardData(LEInputStream& in, ClipboardData& _s) { _s.streamOffset = in.getPosition(); int _c; LEInputStream::Mark _m; _s.size = in.readuint32(); _s.format = in.readuint32(); _c = 4*(_s.size/4)+((_s.size%4!=0)?4:0)-4; _s.data.resize(_c); in.readBytes(_s.data); } void MSO::parsePropertyIdentifierAndOffset(LEInputStream& in, PropertyIdentifierAndOffset& _s) { _s.streamOffset = in.getPosition(); _s.propertyIdentifier = in.readuint32(); _s.offset = in.readuint32(); } void MSO::parseTypedPropertyValue(LEInputStream& in, TypedPropertyValue& _s) { _s.streamOffset = in.getPosition(); _s.type = in.readuint16(); _s.padding = in.readuint16(); _s._has_vt_I2 = _s.type==2; if (_s._has_vt_I2) { _s.vt_I2 = in.readuint16(); } _s._has_paddingI2 = _s.type==2; if (_s._has_paddingI2) { _s.paddingI2 = in.readuint16(); } _s._has_vg_ERROR = _s.type==10; if (_s._has_vg_ERROR) { _s.vg_ERROR = in.readuint32(); } if (_s.type==30) { _s.vt_lpstr = QSharedPointer(new CodePageString(&_s)); parseCodePageString(in, *_s.vt_lpstr.data()); } if (_s.type==64) { _s.vg_FILETIME = QSharedPointer(new FILETIME(&_s)); parseFILETIME(in, *_s.vg_FILETIME.data()); } if (_s.type==71) { _s.vg_CF = QSharedPointer(new ClipboardData(&_s)); parseClipboardData(in, *_s.vg_CF.data()); } } void MSO::parsePropertySet(LEInputStream& in, PropertySet& _s) { _s.streamOffset = in.getPosition(); int _c; LEInputStream::Mark _m; _s.size = in.readuint32(); _s.numProperties = in.readuint32(); _c = _s.numProperties; for (int _i=0; _i<_c; ++_i) { _s.propertyIdentifierAndOffset.append(PropertyIdentifierAndOffset(&_s)); parsePropertyIdentifierAndOffset(in, _s.propertyIdentifierAndOffset[_i]); } _c = _s.numProperties; for (int _i=0; _i<_c; ++_i) { _s.property.append(TypedPropertyValue(&_s)); parseTypedPropertyValue(in, _s.property[_i]); } } void MSO::parsePropertySetStream(LEInputStream& in, PropertySetStream& _s) { _s.streamOffset = in.getPosition(); int _c; LEInputStream::Mark _m; bool _atend; _s.byteOrder = in.readuint16(); if (!(((quint16)_s.byteOrder) == 0xFFFE)) { throw IncorrectValueException(in.getPosition(), "((quint16)_s.byteOrder) == 0xFFFE"); } _s.version = in.readuint16(); _s.systemIdentifier = in.readuint32(); _c = 16; _s.clsID.resize(_c); in.readBytes(_s.clsID); _s.numPropertySets = in.readuint32(); if (!(((quint32)_s.numPropertySets) == 1 || ((quint32)_s.numPropertySets) == 2)) { throw IncorrectValueException(in.getPosition(), "((quint32)_s.numPropertySets) == 1 || ((quint32)_s.numPropertySets) == 2"); } _c = 16; _s.fmtID0.resize(_c); in.readBytes(_s.fmtID0); _s.offset0 = in.readuint32(); _s._has_fmtID1 = _s.numPropertySets==2; if (_s._has_fmtID1) { _c = 16; _s.fmtID1.resize(_c); in.readBytes(_s.fmtID1); } _s._has_offset1 = _s.numPropertySets==2; if (_s._has_offset1) { _s.offset1 = in.readuint32(); } parsePropertySet(in, _s.propertySet1); if (_s.numPropertySets==2) { _s.propertySet2 = QSharedPointer(new PropertySet(&_s)); parsePropertySet(in, *_s.propertySet2.data()); } _atend = false; while (!_atend) { _m = in.setMark(); try { _s.padding.append(Byte(&_s)); parseByte(in, _s.padding.last()); } catch(IncorrectValueException _e) { _s.padding.removeLast(); _atend = true; in.rewind(_m); } catch(EOFException _e) { _s.padding.removeLast(); _atend = true; in.rewind(_m); } } } void MSO::parseSummaryInformationPropertySetStream(LEInputStream& in, SummaryInformationPropertySetStream& _s) { _s.streamOffset = in.getPosition(); parsePropertySetStream(in, _s.propertySet); if (!(_s.propertySet.version == 0)) { throw IncorrectValueException(in.getPosition(), "_s.propertySet.version == 0"); } } void MSO::parseDocumentSummaryInformationPropertySetStream(LEInputStream& in, DocumentSummaryInformationPropertySetStream& _s) { _s.streamOffset = in.getPosition(); parsePropertySetStream(in, _s.propertySet); if (!(_s.propertySet.version == 0)) { throw IncorrectValueException(in.getPosition(), "_s.propertySet.version == 0"); } } void MSO::parsePicturesStream(LEInputStream& in, PicturesStream& _s) { _s.streamOffset = in.getPosition(); LEInputStream::Mark _m; bool _atend; parseOfficeArtBStoreDelay(in, _s.anon1); _atend = false; while (!_atend) { _m = in.setMark(); try { _s.trailing.append(Byte(&_s)); parseByte(in, _s.trailing.last()); } catch(IncorrectValueException _e) { _s.trailing.removeLast(); _atend = true; in.rewind(_m); } catch(EOFException _e) { _s.trailing.removeLast(); _atend = true; in.rewind(_m); } } } void MSO::parseOfficeArtMetafileHeader(LEInputStream& in, OfficeArtMetafileHeader& _s) { _s.streamOffset = in.getPosition(); _s.cbSize = in.readuint32(); parseRECT(in, _s.rcBounds); parsePOINT(in, _s.ptSize); _s.cbsave = in.readuint32(); _s.compression = in.readuint8(); _s.filter = in.readuint8(); } void MSO::parseSoundCollectionContainer(LEInputStream& in, SoundCollectionContainer& _s) { _s.streamOffset = in.getPosition(); LEInputStream::Mark _m; bool _atend; parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0xF)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0xF"); } if (!(_s.rh.recInstance == 0 || _s.rh.recInstance == 5)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0 || _s.rh.recInstance == 5"); } if (!(_s.rh.recType == 0x7E4)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x7E4"); } parseSoundCollectionAtom(in, _s.soundCollectionAtom); qint64 _startPos = in.getPosition(); int _totalSize = qMin(_s.rh.recLen-12, quint32(in.getSize() - _startPos)); _atend = in.getPosition() - _startPos >= _totalSize; while (!_atend) { _s.rgSoundContainer.append(SoundContainer(&_s)); parseSoundContainer(in, _s.rgSoundContainer.last()); _atend = in.getPosition() - _startPos >= _totalSize; } } void MSO::parseSlideHeadersFootersContainer(LEInputStream& in, SlideHeadersFootersContainer& _s) { _s.streamOffset = in.getPosition(); LEInputStream::Mark _m; bool _possiblyPresent; parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0xF)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0xF"); } if (!(_s.rh.recInstance == 3)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 3"); } if (!(_s.rh.recType == 0xFD9)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0xFD9"); } parseHeadersFootersAtom(in, _s.hfAtom); _m = in.setMark(); try { RecordHeader _optionCheck(&_s); parseRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 0)&&(_optionCheck.recInstance == 0)&&(_optionCheck.recType == 0xFBA)&&(_optionCheck.recLen%2==0)&&(_optionCheck.recLen<=510); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.userDateAtom = QSharedPointer(new UserDateAtom(&_s)); parseUserDateAtom(in, *_s.userDateAtom.data()); } catch(IncorrectValueException _e) { _s.userDateAtom.clear(); in.rewind(_m); } catch(EOFException _e) { _s.userDateAtom.clear(); in.rewind(_m); } } _m = in.setMark(); try { RecordHeader _optionCheck(&_s); parseRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 0)&&(_optionCheck.recInstance == 2)&&(_optionCheck.recType == 0xFBA)&&(_optionCheck.recLen%2==0); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.footerAtom = QSharedPointer(new FooterAtom(&_s)); parseFooterAtom(in, *_s.footerAtom.data()); } catch(IncorrectValueException _e) { _s.footerAtom.clear(); in.rewind(_m); } catch(EOFException _e) { _s.footerAtom.clear(); in.rewind(_m); } } } void MSO::parseNotesHeadersFootersContainer(LEInputStream& in, NotesHeadersFootersContainer& _s) { _s.streamOffset = in.getPosition(); LEInputStream::Mark _m; bool _possiblyPresent; parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0xF)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0xF"); } if (!(_s.rh.recInstance == 4)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 4"); } if (!(_s.rh.recType == 0xFD9)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0xFD9"); } parseHeadersFootersAtom(in, _s.hfAtom); _m = in.setMark(); try { RecordHeader _optionCheck(&_s); parseRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 0)&&(_optionCheck.recInstance == 0)&&(_optionCheck.recType == 0xFBA)&&(_optionCheck.recLen%2==0)&&(_optionCheck.recLen<=510); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.userDateAtom = QSharedPointer(new UserDateAtom(&_s)); parseUserDateAtom(in, *_s.userDateAtom.data()); } catch(IncorrectValueException _e) { _s.userDateAtom.clear(); in.rewind(_m); } catch(EOFException _e) { _s.userDateAtom.clear(); in.rewind(_m); } } _m = in.setMark(); try { RecordHeader _optionCheck(&_s); parseRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 0)&&(_optionCheck.recInstance == 1)&&(_optionCheck.recType == 0xFBA)&&(_optionCheck.recLen%2==0); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.headerAtom = QSharedPointer(new HeaderAtom(&_s)); parseHeaderAtom(in, *_s.headerAtom.data()); } catch(IncorrectValueException _e) { _s.headerAtom.clear(); in.rewind(_m); } catch(EOFException _e) { _s.headerAtom.clear(); in.rewind(_m); } } _m = in.setMark(); try { RecordHeader _optionCheck(&_s); parseRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 0)&&(_optionCheck.recInstance == 2)&&(_optionCheck.recType == 0xFBA)&&(_optionCheck.recLen%2==0); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.footerAtom = QSharedPointer(new FooterAtom(&_s)); parseFooterAtom(in, *_s.footerAtom.data()); } catch(IncorrectValueException _e) { _s.footerAtom.clear(); in.rewind(_m); } catch(EOFException _e) { _s.footerAtom.clear(); in.rewind(_m); } } } void MSO::parseScalingStruct(LEInputStream& in, ScalingStruct& _s) { _s.streamOffset = in.getPosition(); parseRatioStruct(in, _s.x); parseRatioStruct(in, _s.y); } void MSO::parseTextPFException9(LEInputStream& in, TextPFException9& _s) { _s.streamOffset = in.getPosition(); parsePFMasks(in, _s.masks); if (!(_s.masks.hasBullet == false)) { throw IncorrectValueException(in.getPosition(), "_s.masks.hasBullet == false"); } if (!(_s.masks.bulletHasFont == false)) { throw IncorrectValueException(in.getPosition(), "_s.masks.bulletHasFont == false"); } if (!(_s.masks.bulletHasColor == false)) { throw IncorrectValueException(in.getPosition(), "_s.masks.bulletHasColor == false"); } if (!(_s.masks.bulletHasSize == false)) { throw IncorrectValueException(in.getPosition(), "_s.masks.bulletHasSize == false"); } if (!(_s.masks.bulletFont == false)) { throw IncorrectValueException(in.getPosition(), "_s.masks.bulletFont == false"); } if (!(_s.masks.bulletColor == false)) { throw IncorrectValueException(in.getPosition(), "_s.masks.bulletColor == false"); } if (!(_s.masks.bulletSize == false)) { throw IncorrectValueException(in.getPosition(), "_s.masks.bulletSize == false"); } if (!(_s.masks.bulletChar == false)) { throw IncorrectValueException(in.getPosition(), "_s.masks.bulletChar == false"); } if (!(_s.masks.leftMargin == false)) { throw IncorrectValueException(in.getPosition(), "_s.masks.leftMargin == false"); } if (!(_s.masks.indent == false)) { throw IncorrectValueException(in.getPosition(), "_s.masks.indent == false"); } if (!(_s.masks.align == false)) { throw IncorrectValueException(in.getPosition(), "_s.masks.align == false"); } if (!(_s.masks.lineSpacing == false)) { throw IncorrectValueException(in.getPosition(), "_s.masks.lineSpacing == false"); } if (!(_s.masks.spaceBefore == false)) { throw IncorrectValueException(in.getPosition(), "_s.masks.spaceBefore == false"); } if (!(_s.masks.spaceAfter == false)) { throw IncorrectValueException(in.getPosition(), "_s.masks.spaceAfter == false"); } if (!(_s.masks.defaultTabSize == false)) { throw IncorrectValueException(in.getPosition(), "_s.masks.defaultTabSize == false"); } if (!(_s.masks.fontAlign == false)) { throw IncorrectValueException(in.getPosition(), "_s.masks.fontAlign == false"); } if (!(_s.masks.charWrap == false)) { throw IncorrectValueException(in.getPosition(), "_s.masks.charWrap == false"); } if (!(_s.masks.wordWrap == false)) { throw IncorrectValueException(in.getPosition(), "_s.masks.wordWrap == false"); } if (!(_s.masks.overflow == false)) { throw IncorrectValueException(in.getPosition(), "_s.masks.overflow == false"); } if (!(_s.masks.tabStops == false)) { throw IncorrectValueException(in.getPosition(), "_s.masks.tabStops == false"); } if (!(_s.masks.textDirection == false)) { throw IncorrectValueException(in.getPosition(), "_s.masks.textDirection == false"); } _s._has_bulletBlipRef = _s.masks.bulletBlip; if (_s._has_bulletBlipRef) { _s.bulletBlipRef = in.readuint16(); } _s._has_fBulletHasAutoNumber = _s.masks.bulletHasScheme; if (_s._has_fBulletHasAutoNumber) { _s.fBulletHasAutoNumber = in.readuint16(); if (!(((quint16)_s.fBulletHasAutoNumber) == 0 || ((quint16)_s.fBulletHasAutoNumber) == 1)) { throw IncorrectValueException(in.getPosition(), "((quint16)_s.fBulletHasAutoNumber) == 0 || ((quint16)_s.fBulletHasAutoNumber) == 1"); } } if (_s.masks.bulletScheme) { _s.bulletAutoNumberScheme = QSharedPointer(new TextAutoNumberScheme(&_s)); parseTextAutoNumberScheme(in, *_s.bulletAutoNumberScheme.data()); } } void MSO::parseTextCFException9(LEInputStream& in, TextCFException9& _s) { _s.streamOffset = in.getPosition(); parseCFMasks(in, _s.masks); if (!(_s.masks.bold == false)) { throw IncorrectValueException(in.getPosition(), "_s.masks.bold == false"); } if (!(_s.masks.italic == false)) { throw IncorrectValueException(in.getPosition(), "_s.masks.italic == false"); } if (!(_s.masks.underline == false)) { throw IncorrectValueException(in.getPosition(), "_s.masks.underline == false"); } if (!(_s.masks.shadow == false)) { throw IncorrectValueException(in.getPosition(), "_s.masks.shadow == false"); } if (!(_s.masks.fehint == false)) { throw IncorrectValueException(in.getPosition(), "_s.masks.fehint == false"); } if (!(_s.masks.kumi == false)) { throw IncorrectValueException(in.getPosition(), "_s.masks.kumi == false"); } if (!(_s.masks.emboss == false)) { throw IncorrectValueException(in.getPosition(), "_s.masks.emboss == false"); } if (!(_s.masks.reserved == 0)) { throw IncorrectValueException(in.getPosition(), "_s.masks.reserved == 0"); } if (!(_s.masks.typeface == false)) { throw IncorrectValueException(in.getPosition(), "_s.masks.typeface == false"); } if (!(_s.masks.size == false)) { throw IncorrectValueException(in.getPosition(), "_s.masks.size == false"); } if (!(_s.masks.color == false)) { throw IncorrectValueException(in.getPosition(), "_s.masks.color == false"); } if (!(_s.masks.position == false)) { throw IncorrectValueException(in.getPosition(), "_s.masks.position == false"); } if (!(_s.masks.oldEATypeface == false)) { throw IncorrectValueException(in.getPosition(), "_s.masks.oldEATypeface == false"); } if (!(_s.masks.ansiTypeface == false)) { throw IncorrectValueException(in.getPosition(), "_s.masks.ansiTypeface == false"); } if (!(_s.masks.symbolTypeface == false)) { throw IncorrectValueException(in.getPosition(), "_s.masks.symbolTypeface == false"); } if (!(_s.masks.newEATypeface == false)) { throw IncorrectValueException(in.getPosition(), "_s.masks.newEATypeface == false"); } if (!(_s.masks.csTypeface == false)) { throw IncorrectValueException(in.getPosition(), "_s.masks.csTypeface == false"); } if (!(_s.masks.pp11ext == false)) { throw IncorrectValueException(in.getPosition(), "_s.masks.pp11ext == false"); } _s._has_pp10runid = _s.masks.pp10ext; if (_s._has_pp10runid) { _s.pp10runid = in.readuint4(); } _s._has_unuseda = _s.masks.pp10ext; if (_s._has_unuseda) { _s.unuseda = in.readuint20(); } _s._has_unusedb = _s.masks.pp10ext; if (_s._has_unusedb) { _s.unusedb = in.readuint8(); } } void MSO::parseTextDefaults9Atom(LEInputStream& in, TextDefaults9Atom& _s) { _s.streamOffset = in.getPosition(); parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0x0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0x0"); } if (!(_s.rh.recInstance == 0x00)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0x00"); } if (!(_s.rh.recType == 0x0FB0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x0FB0"); } parseTextCFException9(in, _s.cf9); parseTextPFException9(in, _s.pf9); } void MSO::parseKinsoku9Container(LEInputStream& in, Kinsoku9Container& _s) { _s.streamOffset = in.getPosition(); LEInputStream::Mark _m; bool _possiblyPresent; parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0xF)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0xF"); } if (!(_s.rh.recInstance == 0x2)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0x2"); } if (!(_s.rh.recType == 0x0FC8)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x0FC8"); } parseKinsoku9Atom(in, _s.kinsoku9Atom); _m = in.setMark(); try { RecordHeader _optionCheck(&_s); parseRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 0)&&(_optionCheck.recInstance == 0)&&(_optionCheck.recType == 0xFBA)&&(_optionCheck.recLen%2==0); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.kinsokuLeadingAtom = QSharedPointer(new KinsokuLeadingAtom(&_s)); parseKinsokuLeadingAtom(in, *_s.kinsokuLeadingAtom.data()); } catch(IncorrectValueException _e) { _s.kinsokuLeadingAtom.clear(); in.rewind(_m); } catch(EOFException _e) { _s.kinsokuLeadingAtom.clear(); in.rewind(_m); } } _m = in.setMark(); try { RecordHeader _optionCheck(&_s); parseRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 0)&&(_optionCheck.recInstance == 1 )&&(_optionCheck.recType == 0xFBA)&&(_optionCheck.recLen%2==0); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.kinsokuFollowingAtom = QSharedPointer(new KinsokuFollowingAtom(&_s)); parseKinsokuFollowingAtom(in, *_s.kinsokuFollowingAtom.data()); } catch(IncorrectValueException _e) { _s.kinsokuFollowingAtom.clear(); in.rewind(_m); } catch(EOFException _e) { _s.kinsokuFollowingAtom.clear(); in.rewind(_m); } } } void MSO::parseOutlineTextProps9Entry(LEInputStream& in, OutlineTextProps9Entry& _s) { _s.streamOffset = in.getPosition(); parseOutlineTextPropsHeaderExAtom(in, _s.outlineTextHeaderAtom); parseStyleTextProp9Atom(in, _s.styleTextProp9Atom); } void MSO::parseTextCFException10(LEInputStream& in, TextCFException10& _s) { _s.streamOffset = in.getPosition(); parseCFMasks(in, _s.masks); if (!(_s.masks.bold == false)) { throw IncorrectValueException(in.getPosition(), "_s.masks.bold == false"); } if (!(_s.masks.italic == false)) { throw IncorrectValueException(in.getPosition(), "_s.masks.italic == false"); } if (!(_s.masks.underline == false)) { throw IncorrectValueException(in.getPosition(), "_s.masks.underline == false"); } if (!(_s.masks.shadow == false)) { throw IncorrectValueException(in.getPosition(), "_s.masks.shadow == false"); } if (!(_s.masks.fehint == false)) { throw IncorrectValueException(in.getPosition(), "_s.masks.fehint == false"); } if (!(_s.masks.kumi == false)) { throw IncorrectValueException(in.getPosition(), "_s.masks.kumi == false"); } if (!(_s.masks.emboss == false)) { throw IncorrectValueException(in.getPosition(), "_s.masks.emboss == false"); } if (!(_s.masks.reserved == 0)) { throw IncorrectValueException(in.getPosition(), "_s.masks.reserved == 0"); } if (!(_s.masks.typeface == false)) { throw IncorrectValueException(in.getPosition(), "_s.masks.typeface == false"); } if (!(_s.masks.size == false)) { throw IncorrectValueException(in.getPosition(), "_s.masks.size == false"); } if (!(_s.masks.color == false)) { throw IncorrectValueException(in.getPosition(), "_s.masks.color == false"); } if (!(_s.masks.position == false)) { throw IncorrectValueException(in.getPosition(), "_s.masks.position == false"); } if (!(_s.masks.pp10ext == false)) { throw IncorrectValueException(in.getPosition(), "_s.masks.pp10ext == false"); } if (!(_s.masks.oldEATypeface == false)) { throw IncorrectValueException(in.getPosition(), "_s.masks.oldEATypeface == false"); } if (!(_s.masks.ansiTypeface == false)) { throw IncorrectValueException(in.getPosition(), "_s.masks.ansiTypeface == false"); } if (!(_s.masks.symbolTypeface == false)) { throw IncorrectValueException(in.getPosition(), "_s.masks.symbolTypeface == false"); } _s._has_newEAFontRef = _s.masks.newEATypeface; if (_s._has_newEAFontRef) { _s.newEAFontRef = in.readuint16(); } _s._has_csFontRef = _s.masks.csTypeface; if (_s._has_csFontRef) { _s.csFontRef = in.readuint16(); } _s._has_pp11ext = _s.masks.pp11ext; if (_s._has_pp11ext) { _s.pp11ext = in.readuint32(); } } void MSO::parseTextDefaults10Atom(LEInputStream& in, TextDefaults10Atom& _s) { _s.streamOffset = in.getPosition(); parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0x0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0x0"); } if (!(_s.rh.recInstance == 0x0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0x0"); } if (!(_s.rh.recType == 0x0FB4)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x0FB4"); } parseTextCFException10(in, _s.cf10); } void MSO::parseCommentIndex10Container(LEInputStream& in, CommentIndex10Container& _s) { _s.streamOffset = in.getPosition(); LEInputStream::Mark _m; bool _possiblyPresent; parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0xF)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0xF"); } if (!(_s.rh.recInstance == 0x0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0x0"); } if (!(_s.rh.recType == 0x2EE4)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x2EE4"); } _m = in.setMark(); try { RecordHeader _optionCheck(&_s); parseRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 0x0)&&(_optionCheck.recInstance == 0x0)&&(_optionCheck.recType == 0x0FBA)&&(_optionCheck.recLen<=104)&&(_optionCheck.recLen%2==0); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.authorNameAtom = QSharedPointer(new AuthorNameAtom(&_s)); parseAuthorNameAtom(in, *_s.authorNameAtom.data()); } catch(IncorrectValueException _e) { _s.authorNameAtom.clear(); in.rewind(_m); } catch(EOFException _e) { _s.authorNameAtom.clear(); in.rewind(_m); } } _m = in.setMark(); try { RecordHeader _optionCheck(&_s); parseRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 0x0)&&(_optionCheck.recInstance == 0x0)&&(_optionCheck.recType == 0x2EE5)&&(_optionCheck.recLen == 0x08); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.authorIndexAtom = QSharedPointer(new CommentIndex10Atom(&_s)); parseCommentIndex10Atom(in, *_s.authorIndexAtom.data()); } catch(IncorrectValueException _e) { _s.authorIndexAtom.clear(); in.rewind(_m); } catch(EOFException _e) { _s.authorIndexAtom.clear(); in.rewind(_m); } } } void MSO::parseOutlineTextProps10Entry(LEInputStream& in, OutlineTextProps10Entry& _s) { _s.streamOffset = in.getPosition(); parseOutlineTextPropsHeaderExAtom(in, _s.outlineTextHeaderAtom); parseStyleTextProp10Atom(in, _s.styleTextProp10Atom); } void MSO::parsePP11DocBinaryTagExtension(LEInputStream& in, PP11DocBinaryTagExtension& _s) { _s.streamOffset = in.getPosition(); int _c; LEInputStream::Mark _m; parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0x0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0x0"); } if (!(_s.rh.recInstance == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0"); } if (!(_s.rh.recType == 0x0FBA)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x0FBA"); } if (!(_s.rh.recLen == 0x10)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recLen == 0x10"); } _c = 16; _s.tagName.resize(_c); in.readBytes(_s.tagName); parseRecordHeader(in, _s.rhData); if (!(_s.rhData.recVer == 0x0)) { throw IncorrectValueException(in.getPosition(), "_s.rhData.recVer == 0x0"); } if (!(_s.rhData.recInstance == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rhData.recInstance == 0"); } if (!(_s.rhData.recType == 0x138B)) { throw IncorrectValueException(in.getPosition(), "_s.rhData.recType == 0x138B"); } parseSmartTagStore11Container(in, _s.smartTagStore11); parseOutlineTextProps11Container(in, _s.outlineTextProps); } void MSO::parseUnknownBinaryTag(LEInputStream& in, UnknownBinaryTag& _s) { _s.streamOffset = in.getPosition(); parseTagNameAtom(in, _s.tagNameAtom); parseBinaryTagDataBlob(in, _s.tagData); } void MSO::parseNoZoomViewInfoAtom(LEInputStream& in, NoZoomViewInfoAtom& _s) { _s.streamOffset = in.getPosition(); int _c; LEInputStream::Mark _m; parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0"); } if (!(_s.rh.recInstance == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0"); } if (!(_s.rh.recType == 0x3FD)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x3FD"); } if (!(_s.rh.recLen == 0x34)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recLen == 0x34"); } parseScalingStruct(in, _s.curScale); _c = 24; _s.unused1.resize(_c); in.readBytes(_s.unused1); parsePointStruct(in, _s.origin); _s.unused2 = in.readuint8(); _s.fDraftMode = in.readuint8(); _s.unused3 = in.readuint16(); } void MSO::parseVBAInfoContainer(LEInputStream& in, VBAInfoContainer& _s) { _s.streamOffset = in.getPosition(); parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0xF)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0xF"); } if (!(_s.rh.recInstance == 1)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 1"); } if (!(_s.rh.recType == 0x3FF)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x3FF"); } if (!(_s.rh.recLen == 0x14)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recLen == 0x14"); } parseVBAInfoAtom(in, _s.vbaInfoAtom); } void MSO::parseNormalViewSetInfoAtom(LEInputStream& in, NormalViewSetInfoAtom& _s) { _s.streamOffset = in.getPosition(); parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0"); } if (!(_s.rh.recInstance == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0"); } if (!(_s.rh.recType == 0x415)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x415"); } if (!(_s.rh.recLen == 0x14)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recLen == 0x14"); } parseRatioStruct(in, _s.leftPortion); parseRatioStruct(in, _s.topPortion); _s.vertBarState = in.readuint8(); _s.horizBarState = in.readuint8(); _s.fPreferSingleSet = in.readuint8(); if (!(((quint8)_s.fPreferSingleSet) == 0 || ((quint8)_s.fPreferSingleSet) == 1)) { throw IncorrectValueException(in.getPosition(), "((quint8)_s.fPreferSingleSet) == 0 || ((quint8)_s.fPreferSingleSet) == 1"); } _s.fHideThumbnails = in.readbit(); _s.fBarSnapped = in.readbit(); _s.reserved = in.readuint6(); if (!(((quint8)_s.reserved) == 0)) { throw IncorrectValueException(in.getPosition(), "((quint8)_s.reserved) == 0"); } } void MSO::parseTextContainerMeta(LEInputStream& in, TextContainerMeta& _s) { _s.streamOffset = in.getPosition(); LEInputStream::Mark _m; _m = in.setMark(); RecordHeader _choice(&_s); parseRecordHeader(in, _choice); in.rewind(_m); qint64 startPos = in.getPosition(); if (startPos == in.getPosition() && ((_choice.recType == 0xFD8)&&(_choice.recLen == 4))) { _s.meta = TextContainerMeta::choice242357012(new SlideNumberMCAtom(&_s)); parseSlideNumberMCAtom(in, *(SlideNumberMCAtom*)_s.meta.data()); } if (startPos == in.getPosition() && ((_choice.recType == 0xFF7)&&(_choice.recLen == 8))) { _s.meta = TextContainerMeta::choice242357012(new DateTimeMCAtom(&_s)); parseDateTimeMCAtom(in, *(DateTimeMCAtom*)_s.meta.data()); } if (startPos == in.getPosition() && ((_choice.recType == 0xFF8)&&(_choice.recLen == 4))) { _s.meta = TextContainerMeta::choice242357012(new GenericDateMCAtom(&_s)); parseGenericDateMCAtom(in, *(GenericDateMCAtom*)_s.meta.data()); } if (startPos == in.getPosition() && ((_choice.recType == 0xFF9)&&(_choice.recLen == 4))) { _s.meta = TextContainerMeta::choice242357012(new HeaderMCAtom(&_s)); parseHeaderMCAtom(in, *(HeaderMCAtom*)_s.meta.data()); } if (startPos == in.getPosition() && ((_choice.recType == 0xFFA)&&(_choice.recLen == 4))) { _s.meta = TextContainerMeta::choice242357012(new FooterMCAtom(&_s)); parseFooterMCAtom(in, *(FooterMCAtom*)_s.meta.data()); } if (startPos == in.getPosition()) { _s.meta = TextContainerMeta::choice242357012(new RTFDateTimeMCAtom(&_s)); parseRTFDateTimeMCAtom(in, *(RTFDateTimeMCAtom*)_s.meta.data()); } } void MSO::parseSlidePersistAtom(LEInputStream& in, SlidePersistAtom& _s) { _s.streamOffset = in.getPosition(); parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0"); } if (!(_s.rh.recInstance == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0"); } if (!(_s.rh.recType == 0x3F3)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x3F3"); } if (!(_s.rh.recLen == 0x14)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recLen == 0x14"); } _s.persistIdRef = in.readuint32(); _s.reserved1 = in.readbit(); if (!(((bool)_s.reserved1) == false)) { throw IncorrectValueException(in.getPosition(), "((bool)_s.reserved1) == false"); } _s.fShouldCollapse = in.readbit(); _s.fNonOutlineData = in.readbit(); _s.reserved2 = in.readuint5(); if (!(((quint8)_s.reserved2) == 0)) { throw IncorrectValueException(in.getPosition(), "((quint8)_s.reserved2) == 0"); } _s.reserved3 = in.readuint8(); if (!(((quint8)_s.reserved3) == 0)) { throw IncorrectValueException(in.getPosition(), "((quint8)_s.reserved3) == 0"); } _s.reserved4 = in.readuint16(); if (!(((quint16)_s.reserved4) == 0)) { throw IncorrectValueException(in.getPosition(), "((quint16)_s.reserved4) == 0"); } _s.cTexts = in.readint32(); if (!(((qint32)_s.cTexts)>=0)) { throw IncorrectValueException(in.getPosition(), "((qint32)_s.cTexts)>=0"); } if (!(((qint32)_s.cTexts)<=8)) { throw IncorrectValueException(in.getPosition(), "((qint32)_s.cTexts)<=8"); } parseSlideId(in, _s.slideId); _s.reserved5 = in.readuint32(); if (!(((quint32)_s.reserved5) == 0)) { throw IncorrectValueException(in.getPosition(), "((quint32)_s.reserved5) == 0"); } } void MSO::parseTextRuler(LEInputStream& in, TextRuler& _s) { _s.streamOffset = in.getPosition(); _s.fDefaultTabSize = in.readbit(); _s.fCLevels = in.readbit(); _s.fTabStops = in.readbit(); _s.fLeftMargin1 = in.readbit(); _s.fLeftMargin2 = in.readbit(); _s.fLeftMargin3 = in.readbit(); _s.fLeftMargin4 = in.readbit(); _s.fLeftMargin5 = in.readbit(); _s.fIndent1 = in.readbit(); _s.fIndent2 = in.readbit(); _s.fIndent3 = in.readbit(); _s.fIndent4 = in.readbit(); _s.fIndent5 = in.readbit(); _s.reserved1 = in.readuint3(); _s.reserved2 = in.readuint16(); _s._has_cLevels = _s.fCLevels; if (_s._has_cLevels) { _s.cLevels = in.readint16(); } _s._has_defaultTabSize = _s.fDefaultTabSize; if (_s._has_defaultTabSize) { _s.defaultTabSize = in.readuint16(); } if (_s.fTabStops) { _s.tabs = QSharedPointer(new TabStops(&_s)); parseTabStops(in, *_s.tabs.data()); } _s._has_leftMargin1 = _s.fLeftMargin1; if (_s._has_leftMargin1) { _s.leftMargin1 = in.readuint16(); } _s._has_indent1 = _s.fIndent1; if (_s._has_indent1) { _s.indent1 = in.readuint16(); } _s._has_leftMargin2 = _s.fLeftMargin2; if (_s._has_leftMargin2) { _s.leftMargin2 = in.readuint16(); } _s._has_indent2 = _s.fIndent2; if (_s._has_indent2) { _s.indent2 = in.readuint16(); } _s._has_leftMargin3 = _s.fLeftMargin3; if (_s._has_leftMargin3) { _s.leftMargin3 = in.readuint16(); } _s._has_indent3 = _s.fIndent3; if (_s._has_indent3) { _s.indent3 = in.readuint16(); } _s._has_leftMargin4 = _s.fLeftMargin4; if (_s._has_leftMargin4) { _s.leftMargin4 = in.readuint16(); } _s._has_indent4 = _s.fIndent4; if (_s._has_indent4) { _s.indent4 = in.readuint16(); } _s._has_leftMargin5 = _s.fLeftMargin5; if (_s._has_leftMargin5) { _s.leftMargin5 = in.readuint16(); } _s._has_indent5 = _s.fIndent5; if (_s._has_indent5) { _s.indent5 = in.readuint16(); } } void MSO::parseTextPFException(LEInputStream& in, TextPFException& _s) { _s.streamOffset = in.getPosition(); parsePFMasks(in, _s.masks); if (!(_s.masks.bulletBlip == false)) { throw IncorrectValueException(in.getPosition(), "_s.masks.bulletBlip == false"); } if (!(_s.masks.bulletHasScheme == false)) { throw IncorrectValueException(in.getPosition(), "_s.masks.bulletHasScheme == false"); } if (!(_s.masks.bulletScheme == false)) { throw IncorrectValueException(in.getPosition(), "_s.masks.bulletScheme == false"); } if (_s.masks.hasBullet||_s.masks.bulletHasFont||_s.masks.bulletHasColor||_s.masks.bulletHasSize) { _s.bulletFlags = QSharedPointer(new BulletFlags(&_s)); parseBulletFlags(in, *_s.bulletFlags.data()); } _s._has_bulletChar = _s.masks.bulletChar; if (_s._has_bulletChar) { _s.bulletChar = in.readint16(); } _s._has_bulletFontRef = _s.masks.bulletFont; if (_s._has_bulletFontRef) { _s.bulletFontRef = in.readuint16(); } _s._has_bulletSize = _s.masks.bulletSize; if (_s._has_bulletSize) { _s.bulletSize = in.readint16(); } if (_s.masks.bulletColor) { _s.bulletColor = QSharedPointer(new ColorIndexStruct(&_s)); parseColorIndexStruct(in, *_s.bulletColor.data()); } _s._has_textAlignment = _s.masks.align; if (_s._has_textAlignment) { _s.textAlignment = in.readuint16(); } _s._has_lineSpacing = _s.masks.lineSpacing; if (_s._has_lineSpacing) { _s.lineSpacing = in.readint16(); } _s._has_spaceBefore = _s.masks.spaceBefore; if (_s._has_spaceBefore) { _s.spaceBefore = in.readint16(); } _s._has_spaceAfter = _s.masks.spaceAfter; if (_s._has_spaceAfter) { _s.spaceAfter = in.readint16(); } _s._has_leftMargin = _s.masks.leftMargin; if (_s._has_leftMargin) { _s.leftMargin = in.readuint16(); } _s._has_indent = _s.masks.indent; if (_s._has_indent) { _s.indent = in.readuint16(); } _s._has_defaultTabSize = _s.masks.defaultTabSize; if (_s._has_defaultTabSize) { _s.defaultTabSize = in.readuint16(); } if (_s.masks.tabStops) { _s.tabStops = QSharedPointer(new TabStops(&_s)); parseTabStops(in, *_s.tabStops.data()); } _s._has_fontAlign = _s.masks.fontAlign; if (_s._has_fontAlign) { _s.fontAlign = in.readuint16(); } if (_s.masks.charWrap||_s.masks.wordWrap||_s.masks.overflow) { _s.wrapFlags = QSharedPointer(new PFWrapFlags(&_s)); parsePFWrapFlags(in, *_s.wrapFlags.data()); } _s._has_textDirection = _s.masks.textDirection; if (_s._has_textDirection) { _s.textDirection = in.readuint16(); } } void MSO::parseTextCFException(LEInputStream& in, TextCFException& _s) { _s.streamOffset = in.getPosition(); parseCFMasks(in, _s.masks); if (!(_s.masks.pp10ext == false)) { throw IncorrectValueException(in.getPosition(), "_s.masks.pp10ext == false"); } if (!(_s.masks.newEATypeface == false)) { throw IncorrectValueException(in.getPosition(), "_s.masks.newEATypeface == false"); } if (!(_s.masks.csTypeface == false)) { throw IncorrectValueException(in.getPosition(), "_s.masks.csTypeface == false"); } if (!(_s.masks.pp11ext == false)) { throw IncorrectValueException(in.getPosition(), "_s.masks.pp11ext == false"); } if (_s.masks.bold || _s.masks.italic || _s.masks.underline || _s.masks.shadow || _s.masks.fehint || _s.masks.kumi || _s.masks.emboss || _s.masks.fHasStyle != 0) { _s.fontStyle = QSharedPointer(new CFStyle(&_s)); parseCFStyle(in, *_s.fontStyle.data()); } _s._has_fontRef = _s.masks.typeface; if (_s._has_fontRef) { _s.fontRef = in.readuint16(); } _s._has_oldEAFontRef = _s.masks.oldEATypeface; if (_s._has_oldEAFontRef) { _s.oldEAFontRef = in.readuint16(); } _s._has_ansiFontRef = _s.masks.ansiTypeface; if (_s._has_ansiFontRef) { _s.ansiFontRef = in.readuint16(); } _s._has_symbolFontRef = _s.masks.symbolTypeface; if (_s._has_symbolFontRef) { _s.symbolFontRef = in.readuint16(); } _s._has_fontSize = _s.masks.size; if (_s._has_fontSize) { _s.fontSize = in.readuint16(); if (!(((quint16)_s.fontSize)>=1)) { throw IncorrectValueException(in.getPosition(), "((quint16)_s.fontSize)>=1"); } if (!(((quint16)_s.fontSize)<=4000)) { throw IncorrectValueException(in.getPosition(), "((quint16)_s.fontSize)<=4000"); } } if (_s.masks.color) { _s.color = QSharedPointer(new ColorIndexStruct(&_s)); parseColorIndexStruct(in, *_s.color.data()); } _s._has_position = _s.masks.position; if (_s._has_position) { _s.position = in.readint16(); if (!(((qint16)_s.position)>=-100)) { throw IncorrectValueException(in.getPosition(), "((qint16)_s.position)>=-100"); } if (!(((qint16)_s.position)<=100)) { throw IncorrectValueException(in.getPosition(), "((qint16)_s.position)<=100"); } } } void MSO::parseFontCollectionEntry(LEInputStream& in, FontCollectionEntry& _s) { _s.streamOffset = in.getPosition(); LEInputStream::Mark _m; bool _possiblyPresent; parseFontEntityAtom(in, _s.fontEntityAtom); _m = in.setMark(); try { RecordHeader _optionCheck(&_s); parseRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 0)&&(_optionCheck.recInstance<=3)&&(_optionCheck.recType == 0xFB8); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.fontEmbedData1 = QSharedPointer(new FontEmbedDataBlob(&_s)); parseFontEmbedDataBlob(in, *_s.fontEmbedData1.data()); } catch(IncorrectValueException _e) { _s.fontEmbedData1.clear(); in.rewind(_m); } catch(EOFException _e) { _s.fontEmbedData1.clear(); in.rewind(_m); } } _m = in.setMark(); try { RecordHeader _optionCheck(&_s); parseRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 0)&&(_optionCheck.recInstance<=3)&&(_optionCheck.recType == 0xFB8); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.fontEmbedData2 = QSharedPointer(new FontEmbedDataBlob(&_s)); parseFontEmbedDataBlob(in, *_s.fontEmbedData2.data()); } catch(IncorrectValueException _e) { _s.fontEmbedData2.clear(); in.rewind(_m); } catch(EOFException _e) { _s.fontEmbedData2.clear(); in.rewind(_m); } } _m = in.setMark(); try { RecordHeader _optionCheck(&_s); parseRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 0)&&(_optionCheck.recInstance<=3)&&(_optionCheck.recType == 0xFB8); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.fontEmbedData3 = QSharedPointer(new FontEmbedDataBlob(&_s)); parseFontEmbedDataBlob(in, *_s.fontEmbedData3.data()); } catch(IncorrectValueException _e) { _s.fontEmbedData3.clear(); in.rewind(_m); } catch(EOFException _e) { _s.fontEmbedData3.clear(); in.rewind(_m); } } _m = in.setMark(); try { RecordHeader _optionCheck(&_s); parseRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 0)&&(_optionCheck.recInstance<=3)&&(_optionCheck.recType == 0xFB8); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.fontEmbedData4 = QSharedPointer(new FontEmbedDataBlob(&_s)); parseFontEmbedDataBlob(in, *_s.fontEmbedData4.data()); } catch(IncorrectValueException _e) { _s.fontEmbedData4.clear(); in.rewind(_m); } catch(EOFException _e) { _s.fontEmbedData4.clear(); in.rewind(_m); } } } void MSO::parseKinsokuContainer(LEInputStream& in, KinsokuContainer& _s) { _s.streamOffset = in.getPosition(); parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0xF)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0xF"); } if (!(_s.rh.recInstance == 0x2)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0x2"); } if (!(_s.rh.recType == 0x0FC8)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x0FC8"); } parseKinsokuAtom(in, _s.kinsokuAtom); if (_s.kinsokuAtom.level==2) { _s.kinsokuLeadingAtom = QSharedPointer(new KinsokuLeadingAtom(&_s)); parseKinsokuLeadingAtom(in, *_s.kinsokuLeadingAtom.data()); } if (_s.kinsokuAtom.level==2) { _s.kinsokuFollowingAtom = QSharedPointer(new KinsokuFollowingAtom(&_s)); parseKinsokuFollowingAtom(in, *_s.kinsokuFollowingAtom.data()); } } void MSO::parseTextSIException(LEInputStream& in, TextSIException& _s) { _s.streamOffset = in.getPosition(); _s.spell = in.readbit(); _s.lang = in.readbit(); _s.altLang = in.readbit(); _s.unused1 = in.readbit(); _s.unused2 = in.readbit(); _s.fPp10ext = in.readbit(); _s.fBidi = in.readbit(); _s.unused3 = in.readbit(); _s.reserved1 = in.readbit(); _s.smartTag = in.readbit(); _s.reserved2a = in.readuint2(); _s.reserved2b = in.readuint20(); _s._has_spellInfo = _s.spell; if (_s._has_spellInfo) { _s.spellInfo = in.readuint16(); } _s._has_lid = _s.lang; if (_s._has_lid) { _s.lid = in.readuint16(); } _s._has_altLid = _s.altLang; if (_s._has_altLid) { _s.altLid = in.readuint16(); } _s._has_bidi = _s.fBidi; if (_s._has_bidi) { _s.bidi = in.readint16(); if (!(((qint16)_s.bidi) == 0 || ((qint16)_s.bidi) == 1)) { throw IncorrectValueException(in.getPosition(), "((qint16)_s.bidi) == 0 || ((qint16)_s.bidi) == 1"); } } _s._has_pp10runid = _s.fPp10ext; if (_s._has_pp10runid) { _s.pp10runid = in.readuint4(); } _s._has_reserved3a = _s.fPp10ext; if (_s._has_reserved3a) { _s.reserved3a = in.readuint4(); } _s._has_reserved3b = _s.fPp10ext; if (_s._has_reserved3b) { _s.reserved3b = in.readuint16(); } _s._has_reserved3bc = _s.fPp10ext; if (_s._has_reserved3bc) { _s.reserved3bc = in.readuint7(); } _s._has_grammarError = _s.fPp10ext; if (_s._has_grammarError) { _s.grammarError = in.readbit(); } if (_s.smartTag) { _s.smartTags = QSharedPointer(new SmartTags(&_s)); parseSmartTags(in, *_s.smartTags.data()); } } void MSO::parseTextMasterStyleLevel(LEInputStream& in, TextMasterStyleLevel& _s) { _s.streamOffset = in.getPosition(); parseTextPFException(in, _s.pf); parseTextCFException(in, _s.cf); } void MSO::parseDocumentAtom(LEInputStream& in, DocumentAtom& _s) { _s.streamOffset = in.getPosition(); parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 1)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 1"); } if (!(_s.rh.recInstance == 0x0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0x0"); } if (!(_s.rh.recType == 0x03E9)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x03E9"); } if (!(_s.rh.recLen == 0x28)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recLen == 0x28"); } parsePointStruct(in, _s.slideSize); parsePointStruct(in, _s.notesSize); parseRatioStruct(in, _s.serverZoom); if (!(_s.serverZoom.numer*_s.serverZoom.denom > 0)) { throw IncorrectValueException(in.getPosition(), "_s.serverZoom.numer*_s.serverZoom.denom > 0"); } _s.notesMasterPersistIdRef = in.readuint32(); _s.handoutMasterPersistIdRef = in.readuint32(); _s.firstSlideNumber = in.readuint16(); if (!(((quint16)_s.firstSlideNumber)<10000)) { throw IncorrectValueException(in.getPosition(), "((quint16)_s.firstSlideNumber)<10000"); } _s.slideSizeType = in.readuint16(); if (!(((quint16)_s.slideSizeType) == 0 || ((quint16)_s.slideSizeType) == 1 || ((quint16)_s.slideSizeType) == 2 || ((quint16)_s.slideSizeType) == 3 || ((quint16)_s.slideSizeType) == 4 || ((quint16)_s.slideSizeType) == 5 || ((quint16)_s.slideSizeType) == 6)) { throw IncorrectValueException(in.getPosition(), "((quint16)_s.slideSizeType) == 0 || ((quint16)_s.slideSizeType) == 1 || ((quint16)_s.slideSizeType) == 2 || ((quint16)_s.slideSizeType) == 3 || ((quint16)_s.slideSizeType) == 4 || ((quint16)_s.slideSizeType) == 5 || ((quint16)_s.slideSizeType) == 6"); } _s.fSaveWithFonts = in.readuint8(); _s.fOmitTitlePlace = in.readuint8(); _s.fRightToLeft = in.readuint8(); _s.fShowComments = in.readuint8(); } void MSO::parseSlideTime10Atom(LEInputStream& in, SlideTime10Atom& _s) { _s.streamOffset = in.getPosition(); parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0"); } if (!(_s.rh.recInstance == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0"); } if (!(_s.rh.recType == 0x2EEB)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x2EEB"); } if (!(_s.rh.recLen == 8)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recLen == 8"); } parseFILETIME(in, _s.fileTime); } void MSO::parsePP12SlideBinaryTagExtension(LEInputStream& in, PP12SlideBinaryTagExtension& _s) { _s.streamOffset = in.getPosition(); int _c; LEInputStream::Mark _m; parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0"); } if (!(_s.rh.recInstance == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0"); } if (!(_s.rh.recType == 0xFBA)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0xFBA"); } if (!(_s.rh.recLen == 0x10)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recLen == 0x10"); } _c = 8; _s.tagName.resize(_c); for (int _i=0; _i<_c; ++_i) { _s.tagName[_i] = in.readuint16(); } parseRecordHeader(in, _s.rhData); if (!(_s.rhData.recVer == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rhData.recVer == 0"); } if (!(_s.rhData.recInstance == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rhData.recInstance == 0"); } if (!(_s.rhData.recType == 0x138B)) { throw IncorrectValueException(in.getPosition(), "_s.rhData.recType == 0x138B"); } if (_s.rhData.recLen > 8) { _s.roundTripHeaderFooterDefaultsAtom = QSharedPointer(new RoundTripHeaderFooterDefaults12Atom(&_s)); parseRoundTripHeaderFooterDefaults12Atom(in, *_s.roundTripHeaderFooterDefaultsAtom.data()); } } void MSO::parseProgStringTagContainer(LEInputStream& in, ProgStringTagContainer& _s) { _s.streamOffset = in.getPosition(); LEInputStream::Mark _m; bool _possiblyPresent; parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0xF)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0xF"); } if (!(_s.rh.recInstance == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0"); } if (!(_s.rh.recType == 0x1389)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x1389"); } parseTagNameAtom(in, _s.tagNameAtom); _m = in.setMark(); try { RecordHeader _optionCheck(&_s); parseRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 0)&&(_optionCheck.recInstance == 1)&&(_optionCheck.recType == 0xFBA); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.tagValueAtom = QSharedPointer(new TagValueAtom(&_s)); parseTagValueAtom(in, *_s.tagValueAtom.data()); } catch(IncorrectValueException _e) { _s.tagValueAtom.clear(); in.rewind(_m); } catch(EOFException _e) { _s.tagValueAtom.clear(); in.rewind(_m); } } } void MSO::parseNotesAtom(LEInputStream& in, NotesAtom& _s) { _s.streamOffset = in.getPosition(); parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 1)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 1"); } if (!(_s.rh.recInstance == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0"); } if (!(_s.rh.recType == 0x3F1)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x3F1"); } if (!(_s.rh.recLen == 0x8)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recLen == 0x8"); } _s.slideIdRef = in.readuint32(); parseSlideFlags(in, _s.slideFlags); _s.unused = in.readuint16(); } void MSO::parseExObjListContainer(LEInputStream& in, ExObjListContainer& _s) { _s.streamOffset = in.getPosition(); LEInputStream::Mark _m; bool _atend; parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0xF)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0xF"); } if (!(_s.rh.recInstance == 0x0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0x0"); } if (!(_s.rh.recType == 0x0409)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x0409"); } if (!(_s.rh.recLen>=12)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recLen>=12"); } parseExObjListAtom(in, _s.exObjListAtom); qint64 _startPos = in.getPosition(); int _totalSize = qMin(_s.rh.recLen-12, quint32(in.getSize() - _startPos)); _atend = in.getPosition() - _startPos >= _totalSize; while (!_atend) { _s.rgChildRec.append(ExObjListSubContainer(&_s)); parseExObjListSubContainer(in, _s.rgChildRec.last()); _atend = in.getPosition() - _startPos >= _totalSize; } } void MSO::parseExControlContainer(LEInputStream& in, ExControlContainer& _s) { _s.streamOffset = in.getPosition(); LEInputStream::Mark _m; bool _possiblyPresent; parseOfficeArtRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0xF)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0xF"); } if (!(_s.rh.recInstance == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0"); } if (!(_s.rh.recType == 0xFEE)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0xFEE"); } parseExControlAtom(in, _s.exControlAtom); parseExOleObjAtom(in, _s.exOleObjAtom); _m = in.setMark(); try { RecordHeader _optionCheck(&_s); parseRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 0x0)&&(_optionCheck.recInstance == 0x1)&&(_optionCheck.recType == 0x0FBA)&&(_optionCheck.recLen%2 == 0 ); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.menuNameAtom = QSharedPointer(new MenuNameAtom(&_s)); parseMenuNameAtom(in, *_s.menuNameAtom.data()); } catch(IncorrectValueException _e) { _s.menuNameAtom.clear(); in.rewind(_m); } catch(EOFException _e) { _s.menuNameAtom.clear(); in.rewind(_m); } } _m = in.setMark(); try { RecordHeader _optionCheck(&_s); parseRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 0x0)&&(_optionCheck.recInstance == 0x2)&&(_optionCheck.recType == 0x0FBA)&&(_optionCheck.recLen%2 == 0 ); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.progIdAtom = QSharedPointer(new ProgIDAtom(&_s)); parseProgIDAtom(in, *_s.progIdAtom.data()); } catch(IncorrectValueException _e) { _s.progIdAtom.clear(); in.rewind(_m); } catch(EOFException _e) { _s.progIdAtom.clear(); in.rewind(_m); } } _m = in.setMark(); try { RecordHeader _optionCheck(&_s); parseRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 0x0)&&(_optionCheck.recInstance == 0x3)&&(_optionCheck.recType == 0x0FBA)&&(_optionCheck.recLen%2 == 0 ); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.clipboardNameAtom = QSharedPointer(new ClipboardNameAtom(&_s)); parseClipboardNameAtom(in, *_s.clipboardNameAtom.data()); } catch(IncorrectValueException _e) { _s.clipboardNameAtom.clear(); in.rewind(_m); } catch(EOFException _e) { _s.clipboardNameAtom.clear(); in.rewind(_m); } } _m = in.setMark(); try { RecordHeader _optionCheck(&_s); parseRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 0x0)&&(_optionCheck.recInstance == 0x0)&&(_optionCheck.recType == 0x0FC1)&&(_optionCheck.recLen>16); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.metafile = QSharedPointer(new MetafileBlob(&_s)); parseMetafileBlob(in, *_s.metafile.data()); } catch(IncorrectValueException _e) { _s.metafile.clear(); in.rewind(_m); } catch(EOFException _e) { _s.metafile.clear(); in.rewind(_m); } } } void MSO::parseExHyperlinkContainer(LEInputStream& in, ExHyperlinkContainer& _s) { _s.streamOffset = in.getPosition(); LEInputStream::Mark _m; bool _possiblyPresent; parseOfficeArtRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0xF)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0xF"); } if (!(_s.rh.recInstance == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0"); } if (!(_s.rh.recType == 0xFD7)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0xFD7"); } parseExHyperlinkAtom(in, _s.exHyperlinkAtom); _m = in.setMark(); try { OfficeArtRecordHeader _optionCheck(&_s); parseOfficeArtRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 0)&&(_optionCheck.recInstance == 0)&&(_optionCheck.recType == 0xFBA)&&(_optionCheck.recLen%2==0); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.friendlyNameAtom = QSharedPointer(new FriendlyNameAtom(&_s)); parseFriendlyNameAtom(in, *_s.friendlyNameAtom.data()); } catch(IncorrectValueException _e) { _s.friendlyNameAtom.clear(); in.rewind(_m); } catch(EOFException _e) { _s.friendlyNameAtom.clear(); in.rewind(_m); } } _m = in.setMark(); try { OfficeArtRecordHeader _optionCheck(&_s); parseOfficeArtRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 0)&&(_optionCheck.recInstance == 1)&&(_optionCheck.recType == 0xFBA)&&(_optionCheck.recLen%2==0); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.targetAtom = QSharedPointer(new TargetAtom(&_s)); parseTargetAtom(in, *_s.targetAtom.data()); } catch(IncorrectValueException _e) { _s.targetAtom.clear(); in.rewind(_m); } catch(EOFException _e) { _s.targetAtom.clear(); in.rewind(_m); } } _m = in.setMark(); try { OfficeArtRecordHeader _optionCheck(&_s); parseOfficeArtRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 0)&&(_optionCheck.recInstance == 3)&&(_optionCheck.recType == 0xFBA)&&(_optionCheck.recLen%2==0); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.locationAtom = QSharedPointer(new LocationAtom(&_s)); parseLocationAtom(in, *_s.locationAtom.data()); } catch(IncorrectValueException _e) { _s.locationAtom.clear(); in.rewind(_m); } catch(EOFException _e) { _s.locationAtom.clear(); in.rewind(_m); } } } void MSO::parseExOleLinkContainer(LEInputStream& in, ExOleLinkContainer& _s) { _s.streamOffset = in.getPosition(); LEInputStream::Mark _m; bool _possiblyPresent; parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0xF)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0xF"); } if (!(_s.rh.recInstance == 0x0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0x0"); } if (!(_s.rh.recType == 0x0FCE)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x0FCE"); } parseExOleLinkAtom(in, _s.exOleLinkAtom); parseExOleObjAtom(in, _s.exOleObjAtom); _m = in.setMark(); try { RecordHeader _optionCheck(&_s); parseRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 0x0)&&(_optionCheck.recInstance == 0x1)&&(_optionCheck.recType == 0x0FBA)&&(_optionCheck.recLen%2 == 0 ); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.menuNameAtom = QSharedPointer(new MenuNameAtom(&_s)); parseMenuNameAtom(in, *_s.menuNameAtom.data()); } catch(IncorrectValueException _e) { _s.menuNameAtom.clear(); in.rewind(_m); } catch(EOFException _e) { _s.menuNameAtom.clear(); in.rewind(_m); } } _m = in.setMark(); try { RecordHeader _optionCheck(&_s); parseRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 0x0)&&(_optionCheck.recInstance == 0x2)&&(_optionCheck.recType == 0x0FBA)&&(_optionCheck.recLen%2 == 0 ); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.progIdAtom = QSharedPointer(new ProgIDAtom(&_s)); parseProgIDAtom(in, *_s.progIdAtom.data()); } catch(IncorrectValueException _e) { _s.progIdAtom.clear(); in.rewind(_m); } catch(EOFException _e) { _s.progIdAtom.clear(); in.rewind(_m); } } _m = in.setMark(); try { RecordHeader _optionCheck(&_s); parseRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 0x0)&&(_optionCheck.recInstance == 0x3)&&(_optionCheck.recType == 0x0FBA)&&(_optionCheck.recLen%2 == 0 ); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.clipboardNameAtom = QSharedPointer(new ClipboardNameAtom(&_s)); parseClipboardNameAtom(in, *_s.clipboardNameAtom.data()); } catch(IncorrectValueException _e) { _s.clipboardNameAtom.clear(); in.rewind(_m); } catch(EOFException _e) { _s.clipboardNameAtom.clear(); in.rewind(_m); } } _m = in.setMark(); try { RecordHeader _optionCheck(&_s); parseRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 0x0)&&(_optionCheck.recInstance == 0x0)&&(_optionCheck.recType == 0x0FC1)&&(_optionCheck.recLen>16); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.metafile = QSharedPointer(new MetafileBlob(&_s)); parseMetafileBlob(in, *_s.metafile.data()); } catch(IncorrectValueException _e) { _s.metafile.clear(); in.rewind(_m); } catch(EOFException _e) { _s.metafile.clear(); in.rewind(_m); } } } void MSO::parseExOleEmbedContainer(LEInputStream& in, ExOleEmbedContainer& _s) { _s.streamOffset = in.getPosition(); LEInputStream::Mark _m; bool _possiblyPresent; parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0xF)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0xF"); } if (!(_s.rh.recInstance == 0x0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0x0"); } if (!(_s.rh.recType == 0x0FCC)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x0FCC"); } parseExOleEmbedAtom(in, _s.exOleEmbedAtom); parseExOleObjAtom(in, _s.exOleObjAtom); _m = in.setMark(); try { RecordHeader _optionCheck(&_s); parseRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 0x0)&&(_optionCheck.recInstance == 0x1)&&(_optionCheck.recType == 0x0FBA)&&(_optionCheck.recLen%2 == 0 ); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.menuNameAtom = QSharedPointer(new MenuNameAtom(&_s)); parseMenuNameAtom(in, *_s.menuNameAtom.data()); } catch(IncorrectValueException _e) { _s.menuNameAtom.clear(); in.rewind(_m); } catch(EOFException _e) { _s.menuNameAtom.clear(); in.rewind(_m); } } _m = in.setMark(); try { RecordHeader _optionCheck(&_s); parseRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 0x0)&&(_optionCheck.recInstance == 0x2)&&(_optionCheck.recType == 0x0FBA)&&(_optionCheck.recLen%2 == 0 ); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.progIdAtom = QSharedPointer(new ProgIDAtom(&_s)); parseProgIDAtom(in, *_s.progIdAtom.data()); } catch(IncorrectValueException _e) { _s.progIdAtom.clear(); in.rewind(_m); } catch(EOFException _e) { _s.progIdAtom.clear(); in.rewind(_m); } } _m = in.setMark(); try { RecordHeader _optionCheck(&_s); parseRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 0x0)&&(_optionCheck.recInstance == 0x3)&&(_optionCheck.recType == 0x0FBA)&&(_optionCheck.recLen%2 == 0 ); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.clipboardNameAtom = QSharedPointer(new ClipboardNameAtom(&_s)); parseClipboardNameAtom(in, *_s.clipboardNameAtom.data()); } catch(IncorrectValueException _e) { _s.clipboardNameAtom.clear(); in.rewind(_m); } catch(EOFException _e) { _s.clipboardNameAtom.clear(); in.rewind(_m); } } _m = in.setMark(); try { RecordHeader _optionCheck(&_s); parseRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 0x0)&&(_optionCheck.recInstance == 0x0)&&(_optionCheck.recType == 0x0FC1)&&(_optionCheck.recLen>16); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.metafile = QSharedPointer(new MetafileBlob(&_s)); parseMetafileBlob(in, *_s.metafile.data()); } catch(IncorrectValueException _e) { _s.metafile.clear(); in.rewind(_m); } catch(EOFException _e) { _s.metafile.clear(); in.rewind(_m); } } } void MSO::parseOfficeArtFDGGBlock(LEInputStream& in, OfficeArtFDGGBlock& _s) { _s.streamOffset = in.getPosition(); int _c; LEInputStream::Mark _m; parseOfficeArtRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0x0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0x0"); } if (!(_s.rh.recInstance == 0x0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0x0"); } if (!(_s.rh.recType == 0x0F006)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x0F006"); } parseOfficeArtFDGG(in, _s.head); _c = _s.head.cidcl-1; for (int _i=0; _i<_c; ++_i) { _s.Rgidcl.append(OfficeArtIDCL(&_s)); parseOfficeArtIDCL(in, _s.Rgidcl[_i]); } } void MSO::parseOfficeArtSolverContainerFileBlock(LEInputStream& in, OfficeArtSolverContainerFileBlock& _s) { _s.streamOffset = in.getPosition(); LEInputStream::Mark _m; _m = in.setMark(); OfficeArtRecordHeader _choice(&_s); parseOfficeArtRecordHeader(in, _choice); in.rewind(_m); qint64 startPos = in.getPosition(); if (startPos == in.getPosition() && ((_choice.recVer == 1)&&(_choice.recType == 0xF012)&&(_choice.recLen == 0x18))) { _s.anon = OfficeArtSolverContainerFileBlock::choice3062460075(new OfficeArtFConnectorRule(&_s)); parseOfficeArtFConnectorRule(in, *(OfficeArtFConnectorRule*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.recVer == 0)&&(_choice.recType == 0xF014)&&(_choice.recLen == 8))) { _s.anon = OfficeArtSolverContainerFileBlock::choice3062460075(new OfficeArtFArcRule(&_s)); parseOfficeArtFArcRule(in, *(OfficeArtFArcRule*)_s.anon.data()); } if (startPos == in.getPosition()) { _s.anon = OfficeArtSolverContainerFileBlock::choice3062460075(new OfficeArtFCalloutRule(&_s)); parseOfficeArtFCalloutRule(in, *(OfficeArtFCalloutRule*)_s.anon.data()); } } void MSO::parseRotation(LEInputStream& in, Rotation& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtFOPTEOPID(in, _s.opid); if (!(_s.opid.opid == 0x0004)) { throw IncorrectValueException(in.getPosition(), "_s.opid.opid == 0x0004"); } if (!(_s.opid.fBid == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fBid == false"); } if (!(_s.opid.fComplex == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fComplex == false"); } parseFixedPoint(in, _s.rotation); } void MSO::parseProtectionBooleanProperties(LEInputStream& in, ProtectionBooleanProperties& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtFOPTEOPID(in, _s.opid); if (!(_s.opid.opid == 0x007F)) { throw IncorrectValueException(in.getPosition(), "_s.opid.opid == 0x007F"); } if (!(_s.opid.fBid == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fBid == false"); } if (!(_s.opid.fComplex == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fComplex == false"); } _s.fLockAgainstGrouping = in.readbit(); _s.fLockAdjustHandles = in.readbit(); _s.fLockText = in.readbit(); _s.fLockVertices = in.readbit(); _s.fLockCropping = in.readbit(); _s.fLockAgainstSelect = in.readbit(); _s.fLockPosition = in.readbit(); _s.fLockAspectRatio = in.readbit(); _s.fLockRotation = in.readbit(); _s.fLockAgainstUngrouping = in.readbit(); _s.unused6 = in.readuint6(); _s.fUsefLockAgainstGrouping = in.readbit(); _s.fUseLockAdjustHandles = in.readbit(); _s.fUseLockText = in.readbit(); _s.fUsefLockVertices = in.readbit(); _s.fUsefLockCropping = in.readbit(); _s.fUsefLockAgainstSelect = in.readbit(); _s.fUsefLockPosition = in.readbit(); _s.fUsefLockAspectRatio = in.readbit(); _s.fUsefLockRotation = in.readbit(); _s.fUsefLockAgainstUngrouping = in.readbit(); _s.unused2 = in.readuint6(); } void MSO::parseITxid(LEInputStream& in, ITxid& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtFOPTEOPID(in, _s.opid); if (!(_s.opid.opid == 0x0080)) { throw IncorrectValueException(in.getPosition(), "_s.opid.opid == 0x0080"); } if (!(_s.opid.fBid == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fBid == false"); } if (!(_s.opid.fComplex == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fComplex == false"); } _s.iTxid = in.readint32(); } void MSO::parseDxTextLeft(LEInputStream& in, DxTextLeft& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtFOPTEOPID(in, _s.opid); if (!(_s.opid.opid == 0x0081)) { throw IncorrectValueException(in.getPosition(), "_s.opid.opid == 0x0081"); } if (!(_s.opid.fBid == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fBid == false"); } if (!(_s.opid.fComplex == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fComplex == false"); } _s.dxTextLeft = in.readint32(); } void MSO::parseDyTextTop(LEInputStream& in, DyTextTop& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtFOPTEOPID(in, _s.opid); if (!(_s.opid.opid == 0x0082)) { throw IncorrectValueException(in.getPosition(), "_s.opid.opid == 0x0082"); } if (!(_s.opid.fBid == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fBid == false"); } if (!(_s.opid.fComplex == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fComplex == false"); } _s.dyTextTop = in.readint32(); } void MSO::parseDxTextRight(LEInputStream& in, DxTextRight& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtFOPTEOPID(in, _s.opid); if (!(_s.opid.opid == 0x0083)) { throw IncorrectValueException(in.getPosition(), "_s.opid.opid == 0x0083"); } if (!(_s.opid.fBid == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fBid == false"); } if (!(_s.opid.fComplex == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fComplex == false"); } _s.dxTextRight = in.readint32(); } void MSO::parseDyTextBottom(LEInputStream& in, DyTextBottom& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtFOPTEOPID(in, _s.opid); if (!(_s.opid.opid == 0x0084)) { throw IncorrectValueException(in.getPosition(), "_s.opid.opid == 0x0084"); } if (!(_s.opid.fBid == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fBid == false"); } if (!(_s.opid.fComplex == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fComplex == false"); } _s.dyTextBottom = in.readint32(); } void MSO::parseWrapText(LEInputStream& in, WrapText& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtFOPTEOPID(in, _s.opid); if (!(_s.opid.opid == 0x0085)) { throw IncorrectValueException(in.getPosition(), "_s.opid.opid == 0x0085"); } if (!(_s.opid.fBid == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fBid == false"); } if (!(_s.opid.fComplex == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fComplex == false"); } _s.wrapText = in.readuint32(); if (!(((quint32)_s.wrapText)<5)) { throw IncorrectValueException(in.getPosition(), "((quint32)_s.wrapText)<5"); } } void MSO::parseAnchorText(LEInputStream& in, AnchorText& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtFOPTEOPID(in, _s.opid); if (!(_s.opid.opid == 0x0087)) { throw IncorrectValueException(in.getPosition(), "_s.opid.opid == 0x0087"); } if (!(_s.opid.fBid == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fBid == false"); } if (!(_s.opid.fComplex == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fComplex == false"); } _s.anchorText = in.readuint32(); if (!(((quint32)_s.anchorText)<=9)) { throw IncorrectValueException(in.getPosition(), "((quint32)_s.anchorText)<=9"); } } void MSO::parseTxflTextFlow(LEInputStream& in, TxflTextFlow& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtFOPTEOPID(in, _s.opid); if (!(_s.opid.opid == 0x0088)) { throw IncorrectValueException(in.getPosition(), "_s.opid.opid == 0x0088"); } if (!(_s.opid.fBid == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fBid == false"); } if (!(_s.opid.fComplex == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fComplex == false"); } _s.txflTextFlow = in.readuint32(); if (!(((quint32)_s.txflTextFlow)<=5)) { throw IncorrectValueException(in.getPosition(), "((quint32)_s.txflTextFlow)<=5"); } } void MSO::parseCdirFont(LEInputStream& in, CdirFont& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtFOPTEOPID(in, _s.opid); if (!(_s.opid.opid == 0x0089)) { throw IncorrectValueException(in.getPosition(), "_s.opid.opid == 0x0089"); } if (!(_s.opid.fBid == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fBid == false"); } if (!(_s.opid.fComplex == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fComplex == false"); } _s.cdirFont = in.readuint32(); if (!(((quint32)_s.cdirFont)<=3)) { throw IncorrectValueException(in.getPosition(), "((quint32)_s.cdirFont)<=3"); } } void MSO::parseHspNext(LEInputStream& in, HspNext& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtFOPTEOPID(in, _s.opid); if (!(_s.opid.opid == 0x008A)) { throw IncorrectValueException(in.getPosition(), "_s.opid.opid == 0x008A"); } if (!(_s.opid.fBid == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fBid == false"); } if (!(_s.opid.fComplex == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fComplex == false"); } _s.hspNext = in.readuint32(); } void MSO::parseTxdir(LEInputStream& in, Txdir& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtFOPTEOPID(in, _s.opid); if (!(_s.opid.opid == 0x008B)) { throw IncorrectValueException(in.getPosition(), "_s.opid.opid == 0x008B"); } if (!(_s.opid.fBid == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fBid == false"); } if (!(_s.opid.fComplex == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fComplex == false"); } _s.txdir = in.readuint32(); if (!(((quint32)_s.txdir)<=2)) { throw IncorrectValueException(in.getPosition(), "((quint32)_s.txdir)<=2"); } } void MSO::parseTextBooleanProperties(LEInputStream& in, TextBooleanProperties& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtFOPTEOPID(in, _s.opid); if (!(_s.opid.opid == 0x00BF)) { throw IncorrectValueException(in.getPosition(), "_s.opid.opid == 0x00BF"); } if (!(_s.opid.fBid == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fBid == false"); } if (!(_s.opid.fComplex == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fComplex == false"); } _s.unused1 = in.readbit(); _s.fFitShapeToText = in.readbit(); _s.unused2 = in.readbit(); _s.fAutoTextMargin = in.readbit(); _s.fSelectText = in.readbit(); _s.unused3a = in.readuint3(); _s.unused3b = in.readuint8(); _s.unused4 = in.readbit(); _s.fUsefFitShapeToText = in.readbit(); _s.unused5 = in.readbit(); _s.fUsefAutoTextMargin = in.readbit(); _s.fUsefSelectText = in.readbit(); _s.unused6a = in.readuint3(); _s.unused6b = in.readuint8(); } void MSO::parseCropFromTop(LEInputStream& in, CropFromTop& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtFOPTEOPID(in, _s.opid); if (!(_s.opid.opid == 0x0100)) { throw IncorrectValueException(in.getPosition(), "_s.opid.opid == 0x0100"); } if (!(_s.opid.fBid == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fBid == false"); } if (!(_s.opid.fComplex == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fComplex == false"); } parseFixedPoint(in, _s.cropFromTop); } void MSO::parseCropFromBottom(LEInputStream& in, CropFromBottom& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtFOPTEOPID(in, _s.opid); if (!(_s.opid.opid == 0x0101)) { throw IncorrectValueException(in.getPosition(), "_s.opid.opid == 0x0101"); } if (!(_s.opid.fBid == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fBid == false"); } if (!(_s.opid.fComplex == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fComplex == false"); } parseFixedPoint(in, _s.cropFromBottom); } void MSO::parseCropFromLeft(LEInputStream& in, CropFromLeft& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtFOPTEOPID(in, _s.opid); if (!(_s.opid.opid == 0x0102)) { throw IncorrectValueException(in.getPosition(), "_s.opid.opid == 0x0102"); } if (!(_s.opid.fBid == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fBid == false"); } if (!(_s.opid.fComplex == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fComplex == false"); } parseFixedPoint(in, _s.cropFromLeft); } void MSO::parseCropFromRight(LEInputStream& in, CropFromRight& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtFOPTEOPID(in, _s.opid); if (!(_s.opid.opid == 0x0103)) { throw IncorrectValueException(in.getPosition(), "_s.opid.opid == 0x0103"); } if (!(_s.opid.fBid == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fBid == false"); } if (!(_s.opid.fComplex == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fComplex == false"); } parseFixedPoint(in, _s.cropFromRight); } void MSO::parsePib(LEInputStream& in, Pib& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtFOPTEOPID(in, _s.opid); if (!(_s.opid.opid == 0x0104)) { throw IncorrectValueException(in.getPosition(), "_s.opid.opid == 0x0104"); } _s.pib = in.readuint32(); } void MSO::parsePibName(LEInputStream& in, PibName& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtFOPTEOPID(in, _s.opid); if (!(_s.opid.opid == 0x0105)) { throw IncorrectValueException(in.getPosition(), "_s.opid.opid == 0x0105"); } _s.pibName = in.readuint32(); } void MSO::parsePibFlags(LEInputStream& in, PibFlags& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtFOPTEOPID(in, _s.opid); if (!(_s.opid.opid == 0x0106)) { throw IncorrectValueException(in.getPosition(), "_s.opid.opid == 0x0106"); } if (!(_s.opid.fBid == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fBid == false"); } if (!(_s.opid.fComplex == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fComplex == false"); } _s.pibFlags = in.readuint32(); } void MSO::parsePictureTransparent(LEInputStream& in, PictureTransparent& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtFOPTEOPID(in, _s.opid); if (!(_s.opid.opid == 0x0107)) { throw IncorrectValueException(in.getPosition(), "_s.opid.opid == 0x0107"); } if (!(_s.opid.fBid == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fBid == false"); } if (!(_s.opid.fComplex == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fComplex == false"); } parseOfficeArtCOLORREF(in, _s.pictureTransparent); } void MSO::parsePictureContrast(LEInputStream& in, PictureContrast& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtFOPTEOPID(in, _s.opid); if (!(_s.opid.opid == 0x0108)) { throw IncorrectValueException(in.getPosition(), "_s.opid.opid == 0x0108"); } if (!(_s.opid.fBid == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fBid == false"); } if (!(_s.opid.fComplex == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fComplex == false"); } _s.pictureContrast = in.readint32(); } void MSO::parsePictureBrightness(LEInputStream& in, PictureBrightness& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtFOPTEOPID(in, _s.opid); if (!(_s.opid.opid == 0x0109)) { throw IncorrectValueException(in.getPosition(), "_s.opid.opid == 0x0109"); } if (!(_s.opid.fBid == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fBid == false"); } if (!(_s.opid.fComplex == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fComplex == false"); } _s.pictureBrightness = in.readint32(); } void MSO::parseBlipBooleanProperties(LEInputStream& in, BlipBooleanProperties& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtFOPTEOPID(in, _s.opid); if (!(_s.opid.opid == 0x013F)) { throw IncorrectValueException(in.getPosition(), "_s.opid.opid == 0x013F"); } if (!(_s.opid.fBid == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fBid == false"); } if (!(_s.opid.fComplex == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fComplex == false"); } _s.fPictureActive = in.readbit(); _s.fPictureBiLevel = in.readbit(); _s.fPictureGray = in.readbit(); _s.fNoHitTestPicture = in.readbit(); _s.fLooping = in.readbit(); _s.fRewind = in.readbit(); _s.fPicturePreserveGrays = in.readbit(); _s.unused1a = in.readbit(); _s.unused1b = in.readuint8(); _s.fUsefPictureActive = in.readbit(); _s.fUsefPictureBiLevel = in.readbit(); _s.fUsefPictureGray = in.readbit(); _s.fUsefNoHitTestPicture = in.readbit(); _s.fUsefLooping = in.readbit(); _s.fUsefRewind = in.readbit(); _s.fUsefPicturePreserveGrays = in.readbit(); _s.unused2a = in.readbit(); _s.unused2b = in.readuint8(); } void MSO::parseGeoLeft(LEInputStream& in, GeoLeft& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtFOPTEOPID(in, _s.opid); if (!(_s.opid.opid == 0x0140)) { throw IncorrectValueException(in.getPosition(), "_s.opid.opid == 0x0140"); } if (!(_s.opid.fBid == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fBid == false"); } if (!(_s.opid.fComplex == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fComplex == false"); } _s.geoLeft = in.readint32(); } void MSO::parseGeoTop(LEInputStream& in, GeoTop& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtFOPTEOPID(in, _s.opid); if (!(_s.opid.opid == 0x0141)) { throw IncorrectValueException(in.getPosition(), "_s.opid.opid == 0x0141"); } if (!(_s.opid.fBid == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fBid == false"); } if (!(_s.opid.fComplex == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fComplex == false"); } _s.geoTop = in.readint32(); } void MSO::parseGeoRight(LEInputStream& in, GeoRight& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtFOPTEOPID(in, _s.opid); if (!(_s.opid.opid == 0x0142)) { throw IncorrectValueException(in.getPosition(), "_s.opid.opid == 0x0142"); } if (!(_s.opid.fBid == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fBid == false"); } if (!(_s.opid.fComplex == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fComplex == false"); } _s.geoRight = in.readint32(); } void MSO::parseGeoBottom(LEInputStream& in, GeoBottom& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtFOPTEOPID(in, _s.opid); if (!(_s.opid.opid == 0x0143)) { throw IncorrectValueException(in.getPosition(), "_s.opid.opid == 0x0143"); } if (!(_s.opid.fBid == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fBid == false"); } if (!(_s.opid.fComplex == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fComplex == false"); } _s.geoBottom = in.readint32(); } void MSO::parseShapePath(LEInputStream& in, ShapePath& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtFOPTEOPID(in, _s.opid); if (!(_s.opid.opid == 0x0144)) { throw IncorrectValueException(in.getPosition(), "_s.opid.opid == 0x0144"); } if (!(_s.opid.fBid == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fBid == false"); } if (!(_s.opid.fComplex == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fComplex == false"); } _s.shapePath = in.readuint32(); if (!(((quint32)_s.shapePath)<=4)) { throw IncorrectValueException(in.getPosition(), "((quint32)_s.shapePath)<=4"); } } void MSO::parsePVertices(LEInputStream& in, PVertices& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtFOPTEOPID(in, _s.opid); if (!(_s.opid.opid == 0x0145)) { throw IncorrectValueException(in.getPosition(), "_s.opid.opid == 0x0145"); } _s.pVertices = in.readuint32(); } void MSO::parsePSegmentInfo(LEInputStream& in, PSegmentInfo& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtFOPTEOPID(in, _s.opid); if (!(_s.opid.opid == 0x0146)) { throw IncorrectValueException(in.getPosition(), "_s.opid.opid == 0x0146"); } _s.pSegmentInfo = in.readuint32(); } void MSO::parseAdjustValue(LEInputStream& in, AdjustValue& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtFOPTEOPID(in, _s.opid); if (!(_s.opid.opid == 0x0147)) { throw IncorrectValueException(in.getPosition(), "_s.opid.opid == 0x0147"); } if (!(_s.opid.fBid == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fBid == false"); } if (!(_s.opid.fComplex == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fComplex == false"); } _s.adjustvalue = in.readint32(); } void MSO::parseAdjust2Value(LEInputStream& in, Adjust2Value& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtFOPTEOPID(in, _s.opid); if (!(_s.opid.opid == 0x0148)) { throw IncorrectValueException(in.getPosition(), "_s.opid.opid == 0x0148"); } if (!(_s.opid.fBid == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fBid == false"); } if (!(_s.opid.fComplex == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fComplex == false"); } _s.adjust2value = in.readint32(); } void MSO::parseAdjust3Value(LEInputStream& in, Adjust3Value& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtFOPTEOPID(in, _s.opid); if (!(_s.opid.opid == 0x0149)) { throw IncorrectValueException(in.getPosition(), "_s.opid.opid == 0x0149"); } if (!(_s.opid.fBid == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fBid == false"); } if (!(_s.opid.fComplex == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fComplex == false"); } _s.adjust3value = in.readint32(); } void MSO::parseAdjust4Value(LEInputStream& in, Adjust4Value& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtFOPTEOPID(in, _s.opid); if (!(_s.opid.opid == 0x014A)) { throw IncorrectValueException(in.getPosition(), "_s.opid.opid == 0x014A"); } if (!(_s.opid.fBid == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fBid == false"); } if (!(_s.opid.fComplex == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fComplex == false"); } _s.adjust4value = in.readint32(); } void MSO::parseAdjust5Value(LEInputStream& in, Adjust5Value& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtFOPTEOPID(in, _s.opid); if (!(_s.opid.opid == 0x014B)) { throw IncorrectValueException(in.getPosition(), "_s.opid.opid == 0x014B"); } if (!(_s.opid.fBid == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fBid == false"); } if (!(_s.opid.fComplex == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fComplex == false"); } _s.adjust5value = in.readint32(); } void MSO::parseAdjust6Value(LEInputStream& in, Adjust6Value& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtFOPTEOPID(in, _s.opid); if (!(_s.opid.opid == 0x014C)) { throw IncorrectValueException(in.getPosition(), "_s.opid.opid == 0x014C"); } if (!(_s.opid.fBid == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fBid == false"); } if (!(_s.opid.fComplex == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fComplex == false"); } _s.adjust6value = in.readint32(); } void MSO::parseAdjust7Value(LEInputStream& in, Adjust7Value& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtFOPTEOPID(in, _s.opid); if (!(_s.opid.opid == 0x014D)) { throw IncorrectValueException(in.getPosition(), "_s.opid.opid == 0x014D"); } if (!(_s.opid.fBid == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fBid == false"); } if (!(_s.opid.fComplex == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fComplex == false"); } _s.adjust7value = in.readint32(); } void MSO::parseAdjust8Value(LEInputStream& in, Adjust8Value& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtFOPTEOPID(in, _s.opid); if (!(_s.opid.opid == 0x014E)) { throw IncorrectValueException(in.getPosition(), "_s.opid.opid == 0x014E"); } if (!(_s.opid.fBid == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fBid == false"); } if (!(_s.opid.fComplex == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fComplex == false"); } _s.adjust8value = in.readint32(); } void MSO::parseGeometryBooleanProperties(LEInputStream& in, GeometryBooleanProperties& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtFOPTEOPID(in, _s.opid); if (!(_s.opid.opid == 0x017F)) { throw IncorrectValueException(in.getPosition(), "_s.opid.opid == 0x017F"); } if (!(_s.opid.fBid == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fBid == false"); } if (!(_s.opid.fComplex == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fComplex == false"); } _s.fFillOk = in.readbit(); _s.fFillShadeShapeOK = in.readbit(); _s.fGtextOK = in.readbit(); _s.fLineOK = in.readbit(); _s.f3DOK = in.readbit(); _s.fShadowOK = in.readbit(); _s.unuseda = in.readbit(); _s.unusedb = in.readbit(); _s.unused2 = in.readuint8(); _s.fUsefFillOK = in.readbit(); _s.fUsefFillShadeShapeOK = in.readbit(); _s.fUsefGtextOK = in.readbit(); _s.fUsefLineOK = in.readbit(); _s.fUsef3DOK = in.readbit(); _s.fUsefShadowOK = in.readbit(); _s.unused3a = in.readbit(); _s.unused3b = in.readbit(); _s.unused4 = in.readuint8(); } void MSO::parseFillType(LEInputStream& in, FillType& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtFOPTEOPID(in, _s.opid); if (!(_s.opid.opid == 0x0180)) { throw IncorrectValueException(in.getPosition(), "_s.opid.opid == 0x0180"); } if (!(_s.opid.fBid == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fBid == false"); } if (!(_s.opid.fComplex == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fComplex == false"); } _s.fillType = in.readuint32(); if (!(((quint32)_s.fillType)<=9)) { throw IncorrectValueException(in.getPosition(), "((quint32)_s.fillType)<=9"); } } void MSO::parseFillColor(LEInputStream& in, FillColor& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtFOPTEOPID(in, _s.opid); if (!(_s.opid.opid == 0x0181)) { throw IncorrectValueException(in.getPosition(), "_s.opid.opid == 0x0181"); } if (!(_s.opid.fBid == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fBid == false"); } if (!(_s.opid.fComplex == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fComplex == false"); } parseOfficeArtCOLORREF(in, _s.fillColor); } void MSO::parseFillOpacity(LEInputStream& in, FillOpacity& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtFOPTEOPID(in, _s.opid); if (!(_s.opid.opid == 0x0182)) { throw IncorrectValueException(in.getPosition(), "_s.opid.opid == 0x0182"); } if (!(_s.opid.fBid == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fBid == false"); } if (!(_s.opid.fComplex == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fComplex == false"); } parseFixedPoint(in, _s.fillOpacity); } void MSO::parseFillBackColor(LEInputStream& in, FillBackColor& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtFOPTEOPID(in, _s.opid); if (!(_s.opid.opid == 0x0183)) { throw IncorrectValueException(in.getPosition(), "_s.opid.opid == 0x0183"); } if (!(_s.opid.fBid == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fBid == false"); } if (!(_s.opid.fComplex == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fComplex == false"); } parseOfficeArtCOLORREF(in, _s.fillBackColor); } void MSO::parseFillBackOpacity(LEInputStream& in, FillBackOpacity& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtFOPTEOPID(in, _s.opid); if (!(_s.opid.opid == 0x0184)) { throw IncorrectValueException(in.getPosition(), "_s.opid.opid == 0x0184"); } if (!(_s.opid.fBid == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fBid == false"); } if (!(_s.opid.fComplex == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fComplex == false"); } parseFixedPoint(in, _s.fillBackOpacity); } void MSO::parseFillCrMod(LEInputStream& in, FillCrMod& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtFOPTEOPID(in, _s.opid); if (!(_s.opid.opid == 0x0185)) { throw IncorrectValueException(in.getPosition(), "_s.opid.opid == 0x0185"); } if (!(_s.opid.fBid == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fBid == false"); } if (!(_s.opid.fComplex == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fComplex == false"); } parseOfficeArtCOLORREF(in, _s.fillCrMod); } void MSO::parseFillBlip(LEInputStream& in, FillBlip& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtFOPTEOPID(in, _s.opid); if (!(_s.opid.opid == 0x0186)) { throw IncorrectValueException(in.getPosition(), "_s.opid.opid == 0x0186"); } _s.fillBlip = in.readuint32(); } void MSO::parseFillBlipName(LEInputStream& in, FillBlipName& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtFOPTEOPID(in, _s.opid); if (!(_s.opid.opid == 0x0187)) { throw IncorrectValueException(in.getPosition(), "_s.opid.opid == 0x0187"); } _s.fillBlipName = in.readuint32(); } void MSO::parseFillBlipFlags(LEInputStream& in, FillBlipFlags& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtFOPTEOPID(in, _s.opid); if (!(_s.opid.opid == 0x0188)) { throw IncorrectValueException(in.getPosition(), "_s.opid.opid == 0x0188"); } if (!(_s.opid.fBid == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fBid == false"); } if (!(_s.opid.fComplex == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fComplex == false"); } _s.fillBlipFlags = in.readuint32(); } void MSO::parseFillWidth(LEInputStream& in, FillWidth& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtFOPTEOPID(in, _s.opid); if (!(_s.opid.opid == 0x0189)) { throw IncorrectValueException(in.getPosition(), "_s.opid.opid == 0x0189"); } if (!(_s.opid.fBid == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fBid == false"); } if (!(_s.opid.fComplex == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fComplex == false"); } _s.fillWidth = in.readint32(); } void MSO::parseFillHeight(LEInputStream& in, FillHeight& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtFOPTEOPID(in, _s.opid); if (!(_s.opid.opid == 0x018A)) { throw IncorrectValueException(in.getPosition(), "_s.opid.opid == 0x018A"); } if (!(_s.opid.fBid == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fBid == false"); } if (!(_s.opid.fComplex == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fComplex == false"); } _s.fillHeight = in.readint32(); } void MSO::parseFillAngle(LEInputStream& in, FillAngle& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtFOPTEOPID(in, _s.opid); if (!(_s.opid.opid == 0x018B)) { throw IncorrectValueException(in.getPosition(), "_s.opid.opid == 0x018B"); } if (!(_s.opid.fBid == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fBid == false"); } if (!(_s.opid.fComplex == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fComplex == false"); } parseFixedPoint(in, _s.fillAngle); } void MSO::parseFillFocus(LEInputStream& in, FillFocus& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtFOPTEOPID(in, _s.opid); if (!(_s.opid.opid == 0x018C)) { throw IncorrectValueException(in.getPosition(), "_s.opid.opid == 0x018C"); } if (!(_s.opid.fBid == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fBid == false"); } if (!(_s.opid.fComplex == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fComplex == false"); } _s.fillFocus = in.readint32(); } void MSO::parseFillToLeft(LEInputStream& in, FillToLeft& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtFOPTEOPID(in, _s.opid); if (!(_s.opid.opid == 0x018D)) { throw IncorrectValueException(in.getPosition(), "_s.opid.opid == 0x018D"); } if (!(_s.opid.fBid == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fBid == false"); } if (!(_s.opid.fComplex == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fComplex == false"); } parseFixedPoint(in, _s.fillToLeft); } void MSO::parseFillToTop(LEInputStream& in, FillToTop& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtFOPTEOPID(in, _s.opid); if (!(_s.opid.opid == 0x018E)) { throw IncorrectValueException(in.getPosition(), "_s.opid.opid == 0x018E"); } if (!(_s.opid.fBid == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fBid == false"); } if (!(_s.opid.fComplex == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fComplex == false"); } parseFixedPoint(in, _s.fillToTop); } void MSO::parseFillToRight(LEInputStream& in, FillToRight& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtFOPTEOPID(in, _s.opid); if (!(_s.opid.opid == 0x018F)) { throw IncorrectValueException(in.getPosition(), "_s.opid.opid == 0x018F"); } if (!(_s.opid.fBid == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fBid == false"); } if (!(_s.opid.fComplex == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fComplex == false"); } parseFixedPoint(in, _s.fillToRight); } void MSO::parseFillToBottom(LEInputStream& in, FillToBottom& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtFOPTEOPID(in, _s.opid); if (!(_s.opid.opid == 0x0190)) { throw IncorrectValueException(in.getPosition(), "_s.opid.opid == 0x0190"); } if (!(_s.opid.fBid == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fBid == false"); } if (!(_s.opid.fComplex == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fComplex == false"); } parseFixedPoint(in, _s.fillToBottom); } void MSO::parseFillRectLeft(LEInputStream& in, FillRectLeft& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtFOPTEOPID(in, _s.opid); if (!(_s.opid.opid == 0x0191)) { throw IncorrectValueException(in.getPosition(), "_s.opid.opid == 0x0191"); } if (!(_s.opid.fBid == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fBid == false"); } if (!(_s.opid.fComplex == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fComplex == false"); } _s.fillRectLeft = in.readint32(); } void MSO::parseFillRectTop(LEInputStream& in, FillRectTop& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtFOPTEOPID(in, _s.opid); if (!(_s.opid.opid == 0x0192)) { throw IncorrectValueException(in.getPosition(), "_s.opid.opid == 0x0192"); } if (!(_s.opid.fBid == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fBid == false"); } if (!(_s.opid.fComplex == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fComplex == false"); } _s.fillRectTop = in.readint32(); } void MSO::parseFillRectRight(LEInputStream& in, FillRectRight& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtFOPTEOPID(in, _s.opid); if (!(_s.opid.opid == 0x0193)) { throw IncorrectValueException(in.getPosition(), "_s.opid.opid == 0x0193"); } if (!(_s.opid.fBid == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fBid == false"); } if (!(_s.opid.fComplex == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fComplex == false"); } _s.fillRectRight = in.readint32(); } void MSO::parseFillRectBottom(LEInputStream& in, FillRectBottom& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtFOPTEOPID(in, _s.opid); if (!(_s.opid.opid == 0x0194)) { throw IncorrectValueException(in.getPosition(), "_s.opid.opid == 0x0194"); } if (!(_s.opid.fBid == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fBid == false"); } if (!(_s.opid.fComplex == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fComplex == false"); } _s.fillRectBottom = in.readint32(); } void MSO::parseFillDztype(LEInputStream& in, FillDztype& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtFOPTEOPID(in, _s.opid); if (!(_s.opid.opid == 0x0195)) { throw IncorrectValueException(in.getPosition(), "_s.opid.opid == 0x0195"); } if (!(_s.opid.fBid == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fBid == false"); } if (!(_s.opid.fComplex == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fComplex == false"); } _s.fillDztype = in.readint32(); } void MSO::parseFillShadePreset(LEInputStream& in, FillShadePreset& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtFOPTEOPID(in, _s.opid); if (!(_s.opid.opid == 0x0196)) { throw IncorrectValueException(in.getPosition(), "_s.opid.opid == 0x0196"); } if (!(_s.opid.fBid == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fBid == false"); } if (!(_s.opid.fComplex == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fComplex == false"); } _s.fillShadePreset = in.readint32(); } void MSO::parseFillShadeColors(LEInputStream& in, FillShadeColors& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtFOPTEOPID(in, _s.opid); if (!(_s.opid.opid == 0x0197)) { throw IncorrectValueException(in.getPosition(), "_s.opid.opid == 0x0197"); } _s.fillShadeColors = in.readuint32(); } void MSO::parseFillOriginX(LEInputStream& in, FillOriginX& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtFOPTEOPID(in, _s.opid); if (!(_s.opid.opid == 0x0198)) { throw IncorrectValueException(in.getPosition(), "_s.opid.opid == 0x0198"); } if (!(_s.opid.fBid == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fBid == false"); } if (!(_s.opid.fComplex == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fComplex == false"); } parseFixedPoint(in, _s.fillOriginX); } void MSO::parseFillOriginY(LEInputStream& in, FillOriginY& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtFOPTEOPID(in, _s.opid); if (!(_s.opid.opid == 0x0199)) { throw IncorrectValueException(in.getPosition(), "_s.opid.opid == 0x0199"); } if (!(_s.opid.fBid == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fBid == false"); } if (!(_s.opid.fComplex == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fComplex == false"); } parseFixedPoint(in, _s.fillOriginY); } void MSO::parseFillShapeOriginX(LEInputStream& in, FillShapeOriginX& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtFOPTEOPID(in, _s.opid); if (!(_s.opid.opid == 0x019A)) { throw IncorrectValueException(in.getPosition(), "_s.opid.opid == 0x019A"); } if (!(_s.opid.fBid == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fBid == false"); } if (!(_s.opid.fComplex == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fComplex == false"); } parseFixedPoint(in, _s.fillShapeOriginX); } void MSO::parseFillShapeOriginY(LEInputStream& in, FillShapeOriginY& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtFOPTEOPID(in, _s.opid); if (!(_s.opid.opid == 0x019B)) { throw IncorrectValueException(in.getPosition(), "_s.opid.opid == 0x019B"); } if (!(_s.opid.fBid == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fBid == false"); } if (!(_s.opid.fComplex == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fComplex == false"); } parseFixedPoint(in, _s.fillShapeOriginY); } void MSO::parseFillColorExt(LEInputStream& in, FillColorExt& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtFOPTEOPID(in, _s.opid); if (!(_s.opid.opid == 0x019E)) { throw IncorrectValueException(in.getPosition(), "_s.opid.opid == 0x019E"); } if (!(_s.opid.fBid == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fBid == false"); } if (!(_s.opid.fComplex == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fComplex == false"); } parseOfficeArtCOLORREF(in, _s.fillColorExt); } void MSO::parseFillBackColorExt(LEInputStream& in, FillBackColorExt& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtFOPTEOPID(in, _s.opid); if (!(_s.opid.opid == 0x01A2)) { throw IncorrectValueException(in.getPosition(), "_s.opid.opid == 0x01A2"); } if (!(_s.opid.fBid == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fBid == false"); } if (!(_s.opid.fComplex == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fComplex == false"); } parseOfficeArtCOLORREF(in, _s.fillBackColorExt); } void MSO::parseFillStyleBooleanProperties(LEInputStream& in, FillStyleBooleanProperties& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtFOPTEOPID(in, _s.opid); if (!(_s.opid.opid == 0x01BF)) { throw IncorrectValueException(in.getPosition(), "_s.opid.opid == 0x01BF"); } if (!(_s.opid.fBid == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fBid == false"); } if (!(_s.opid.fComplex == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fComplex == false"); } _s.fNoFillHitTest = in.readbit(); _s.fillUseRect = in.readbit(); _s.fillShape = in.readbit(); _s.fHitTestFill = in.readbit(); _s.fFilled = in.readbit(); _s.fUseShapeAnchor = in.readbit(); _s.fRecolorFillAsPicture = in.readbit(); _s.unused1a = in.readbit(); _s.unused1b = in.readuint8(); _s.fUseNoFillHitTest = in.readbit(); _s.fUseFillUseRect = in.readbit(); _s.fUseFillShape = in.readbit(); _s.fUseHitTestFill = in.readbit(); _s.fUseFilled = in.readbit(); _s.fUseUseShapeAnchor = in.readbit(); _s.fUsefRecolorFillAsPicture = in.readbit(); _s.unused2a = in.readbit(); _s.unused2b = in.readuint8(); } void MSO::parseLineColor(LEInputStream& in, LineColor& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtFOPTEOPID(in, _s.opid); if (!(_s.opid.opid == 0x01C0)) { throw IncorrectValueException(in.getPosition(), "_s.opid.opid == 0x01C0"); } if (!(_s.opid.fBid == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fBid == false"); } if (!(_s.opid.fComplex == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fComplex == false"); } parseOfficeArtCOLORREF(in, _s.lineColor); } void MSO::parseLineOpacity(LEInputStream& in, LineOpacity& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtFOPTEOPID(in, _s.opid); if (!(_s.opid.opid == 0x01C1)) { throw IncorrectValueException(in.getPosition(), "_s.opid.opid == 0x01C1"); } if (!(_s.opid.fBid == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fBid == false"); } if (!(_s.opid.fComplex == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fComplex == false"); } _s.lineOpacity = in.readint32(); if (!(((qint32)_s.lineOpacity)>=0)) { throw IncorrectValueException(in.getPosition(), "((qint32)_s.lineOpacity)>=0"); } if (!(((qint32)_s.lineOpacity)<=65536)) { throw IncorrectValueException(in.getPosition(), "((qint32)_s.lineOpacity)<=65536"); } } void MSO::parseLineBackColor(LEInputStream& in, LineBackColor& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtFOPTEOPID(in, _s.opid); if (!(_s.opid.opid == 0x01C2)) { throw IncorrectValueException(in.getPosition(), "_s.opid.opid == 0x01C2"); } parseOfficeArtCOLORREF(in, _s.lineBackColor); } void MSO::parseLineFillBlip(LEInputStream& in, LineFillBlip& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtFOPTEOPID(in, _s.opid); if (!(_s.opid.opid == 0x01C5)) { throw IncorrectValueException(in.getPosition(), "_s.opid.opid == 0x01C5"); } _s.lineFillBlip = in.readuint32(); } void MSO::parseLineWidth(LEInputStream& in, LineWidth& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtFOPTEOPID(in, _s.opid); if (!(_s.opid.opid == 0x01CB)) { throw IncorrectValueException(in.getPosition(), "_s.opid.opid == 0x01CB"); } if (!(_s.opid.fBid == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fBid == false"); } if (!(_s.opid.fComplex == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fComplex == false"); } _s.lineWidth = in.readuint32(); } void MSO::parseLineStyle(LEInputStream& in, LineStyle& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtFOPTEOPID(in, _s.opid); if (!(_s.opid.opid == 0x01CD)) { throw IncorrectValueException(in.getPosition(), "_s.opid.opid == 0x01CD"); } if (!(_s.opid.fBid == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fBid == false"); } if (!(_s.opid.fComplex == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fComplex == false"); } _s.lineStyle = in.readuint32(); } void MSO::parseLineDashing(LEInputStream& in, LineDashing& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtFOPTEOPID(in, _s.opid); if (!(_s.opid.opid == 0x01CE)) { throw IncorrectValueException(in.getPosition(), "_s.opid.opid == 0x01CE"); } if (!(_s.opid.fBid == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fBid == false"); } if (!(_s.opid.fComplex == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fComplex == false"); } _s.lineDashing = in.readuint32(); } void MSO::parseLineStartArrowhead(LEInputStream& in, LineStartArrowhead& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtFOPTEOPID(in, _s.opid); if (!(_s.opid.opid == 0x01D0)) { throw IncorrectValueException(in.getPosition(), "_s.opid.opid == 0x01D0"); } if (!(_s.opid.fBid == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fBid == false"); } if (!(_s.opid.fComplex == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fComplex == false"); } _s.lineStartArrowhead = in.readuint32(); if (!(((quint32)_s.lineStartArrowhead)<=8)) { throw IncorrectValueException(in.getPosition(), "((quint32)_s.lineStartArrowhead)<=8"); } } void MSO::parseLineEndArrowhead(LEInputStream& in, LineEndArrowhead& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtFOPTEOPID(in, _s.opid); if (!(_s.opid.opid == 0x01D1)) { throw IncorrectValueException(in.getPosition(), "_s.opid.opid == 0x01D1"); } if (!(_s.opid.fBid == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fBid == false"); } if (!(_s.opid.fComplex == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fComplex == false"); } _s.lineEndArrowhead = in.readuint32(); if (!(((quint32)_s.lineEndArrowhead)<=8)) { throw IncorrectValueException(in.getPosition(), "((quint32)_s.lineEndArrowhead)<=8"); } } void MSO::parseLineStartArrowWidth(LEInputStream& in, LineStartArrowWidth& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtFOPTEOPID(in, _s.opid); if (!(_s.opid.opid == 0x01D2)) { throw IncorrectValueException(in.getPosition(), "_s.opid.opid == 0x01D2"); } if (!(_s.opid.fBid == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fBid == false"); } if (!(_s.opid.fComplex == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fComplex == false"); } _s.lineStartArrowWidth = in.readuint32(); } void MSO::parseLineStartArrowLength(LEInputStream& in, LineStartArrowLength& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtFOPTEOPID(in, _s.opid); if (!(_s.opid.opid == 0x01D3)) { throw IncorrectValueException(in.getPosition(), "_s.opid.opid == 0x01D3"); } if (!(_s.opid.fBid == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fBid == false"); } if (!(_s.opid.fComplex == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fComplex == false"); } _s.lineStartArrowLength = in.readuint32(); } void MSO::parseLineEndArrowWidth(LEInputStream& in, LineEndArrowWidth& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtFOPTEOPID(in, _s.opid); if (!(_s.opid.opid == 0x01D4)) { throw IncorrectValueException(in.getPosition(), "_s.opid.opid == 0x01D4"); } if (!(_s.opid.fBid == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fBid == false"); } if (!(_s.opid.fComplex == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fComplex == false"); } _s.lineEndArrowWidth = in.readuint32(); } void MSO::parseLineEndArrowLength(LEInputStream& in, LineEndArrowLength& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtFOPTEOPID(in, _s.opid); if (!(_s.opid.opid == 0x01D5)) { throw IncorrectValueException(in.getPosition(), "_s.opid.opid == 0x01D5"); } if (!(_s.opid.fBid == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fBid == false"); } if (!(_s.opid.fComplex == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fComplex == false"); } _s.lineEndArrowLength = in.readuint32(); } void MSO::parseLineJoinStyle(LEInputStream& in, LineJoinStyle& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtFOPTEOPID(in, _s.opid); if (!(_s.opid.opid == 0x01D6)) { throw IncorrectValueException(in.getPosition(), "_s.opid.opid == 0x01D6"); } if (!(_s.opid.fBid == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fBid == false"); } if (!(_s.opid.fComplex == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fComplex == false"); } _s.lineJoinStyle = in.readuint32(); if (!(((quint32)_s.lineJoinStyle)<=2)) { throw IncorrectValueException(in.getPosition(), "((quint32)_s.lineJoinStyle)<=2"); } } void MSO::parseLineEndCapStyle(LEInputStream& in, LineEndCapStyle& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtFOPTEOPID(in, _s.opid); if (!(_s.opid.opid == 0x01D7)) { throw IncorrectValueException(in.getPosition(), "_s.opid.opid == 0x01D7"); } if (!(_s.opid.fBid == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fBid == false"); } if (!(_s.opid.fComplex == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fComplex == false"); } _s.lineEndCapStyle = in.readuint32(); if (!(((quint32)_s.lineEndCapStyle)<=3)) { throw IncorrectValueException(in.getPosition(), "((quint32)_s.lineEndCapStyle)<=3"); } } void MSO::parseLineStyleBooleanProperties(LEInputStream& in, LineStyleBooleanProperties& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtFOPTEOPID(in, _s.opid); if (!(_s.opid.opid == 0x01FF)) { throw IncorrectValueException(in.getPosition(), "_s.opid.opid == 0x01FF"); } if (!(_s.opid.fBid == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fBid == false"); } if (!(_s.opid.fComplex == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fComplex == false"); } _s.fNoLineDrawDash = in.readbit(); _s.fLineFillShape = in.readbit(); _s.fHitTestLine = in.readbit(); _s.fLine = in.readbit(); _s.fArrowHeadsOK = in.readbit(); _s.fInsetPenOK = in.readbit(); _s.fInsetPen = in.readbit(); _s.reserved1 = in.readbit(); _s.reserved2 = in.readbit(); _s.fLineOpaqueBackColor = in.readbit(); _s.unused1 = in.readuint6(); _s.fUseNoLineDrawDash = in.readbit(); _s.fUseLineFillShape = in.readbit(); _s.fUseHitTestLine = in.readbit(); _s.fUsefLine = in.readbit(); _s.fUsefArrowHeadsOK = in.readbit(); _s.fUseInsetPenOK = in.readbit(); _s.fUseInsetPen = in.readbit(); _s.unused2 = in.readbit(); _s.unused3 = in.readbit(); _s.fUsefLineOpaqueBackColor = in.readbit(); _s.unused4 = in.readuint6(); } void MSO::parseShadowType(LEInputStream& in, ShadowType& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtFOPTEOPID(in, _s.opid); if (!(_s.opid.opid == 0x0200)) { throw IncorrectValueException(in.getPosition(), "_s.opid.opid == 0x0200"); } if (!(_s.opid.fBid == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fBid == false"); } if (!(_s.opid.fComplex == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fComplex == false"); } _s.shadowType = in.readuint32(); } void MSO::parseShadowColor(LEInputStream& in, ShadowColor& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtFOPTEOPID(in, _s.opid); if (!(_s.opid.opid == 0x0201)) { throw IncorrectValueException(in.getPosition(), "_s.opid.opid == 0x0201"); } if (!(_s.opid.fBid == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fBid == false"); } if (!(_s.opid.fComplex == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fComplex == false"); } parseOfficeArtCOLORREF(in, _s.shadowColor); } void MSO::parseShadowOpacity(LEInputStream& in, ShadowOpacity& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtFOPTEOPID(in, _s.opid); if (!(_s.opid.opid == 0x0204)) { throw IncorrectValueException(in.getPosition(), "_s.opid.opid == 0x0204"); } if (!(_s.opid.fBid == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fBid == false"); } if (!(_s.opid.fComplex == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fComplex == false"); } parseFixedPoint(in, _s.shadowOpacity); } void MSO::parseShadowOffsetX(LEInputStream& in, ShadowOffsetX& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtFOPTEOPID(in, _s.opid); if (!(_s.opid.opid == 0x0205)) { throw IncorrectValueException(in.getPosition(), "_s.opid.opid == 0x0205"); } if (!(_s.opid.fBid == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fBid == false"); } if (!(_s.opid.fComplex == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fComplex == false"); } _s.shadowOffsetX = in.readint32(); } void MSO::parseShadowOffsetY(LEInputStream& in, ShadowOffsetY& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtFOPTEOPID(in, _s.opid); if (!(_s.opid.opid == 0x0206)) { throw IncorrectValueException(in.getPosition(), "_s.opid.opid == 0x0206"); } if (!(_s.opid.fBid == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fBid == false"); } if (!(_s.opid.fComplex == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fComplex == false"); } _s.shadowOffsetY = in.readint32(); } void MSO::parseShadowStyleBooleanProperties(LEInputStream& in, ShadowStyleBooleanProperties& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtFOPTEOPID(in, _s.opid); if (!(_s.opid.opid == 0x023F)) { throw IncorrectValueException(in.getPosition(), "_s.opid.opid == 0x023F"); } if (!(_s.opid.fBid == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fBid == false"); } if (!(_s.opid.fComplex == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fComplex == false"); } _s.fShadowObscured = in.readbit(); _s.fShadow = in.readbit(); _s.unused1 = in.readuint14(); _s.fUsefShadowObscured = in.readbit(); _s.fUsefShadow = in.readbit(); _s.unused2 = in.readuint14(); } void MSO::parseHspMaster(LEInputStream& in, HspMaster& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtFOPTEOPID(in, _s.opid); if (!(_s.opid.opid == 0x0301)) { throw IncorrectValueException(in.getPosition(), "_s.opid.opid == 0x0301"); } if (!(_s.opid.fBid == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fBid == false"); } if (!(_s.opid.fComplex == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fComplex == false"); } _s.hspMaster = in.readuint32(); } void MSO::parseCxstyle(LEInputStream& in, Cxstyle& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtFOPTEOPID(in, _s.opid); if (!(_s.opid.opid == 0x0303)) { throw IncorrectValueException(in.getPosition(), "_s.opid.opid == 0x0303"); } if (!(_s.opid.fBid == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fBid == false"); } if (!(_s.opid.fComplex == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fComplex == false"); } _s.cxstyle = in.readuint32(); if (!(((quint32)_s.cxstyle)<=4)) { throw IncorrectValueException(in.getPosition(), "((quint32)_s.cxstyle)<=4"); } } void MSO::parseBWMode(LEInputStream& in, BWMode& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtFOPTEOPID(in, _s.opid); if (!(_s.opid.opid == 0x0304)) { throw IncorrectValueException(in.getPosition(), "_s.opid.opid == 0x0304"); } if (!(_s.opid.fBid == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fBid == false"); } if (!(_s.opid.fComplex == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fComplex == false"); } _s.bWMode = in.readuint32(); if (!(((quint32)_s.bWMode)<=10)) { throw IncorrectValueException(in.getPosition(), "((quint32)_s.bWMode)<=10"); } } void MSO::parseShapeBooleanProperties(LEInputStream& in, ShapeBooleanProperties& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtFOPTEOPID(in, _s.opid); if (!(_s.opid.opid == 0x033F)) { throw IncorrectValueException(in.getPosition(), "_s.opid.opid == 0x033F"); } if (!(_s.opid.fBid == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fBid == false"); } if (!(_s.opid.fComplex == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fComplex == false"); } _s.fBackground = in.readbit(); _s.reserved1 = in.readbit(); _s.fInitiator = in.readbit(); _s.fLockShapeType = in.readbit(); _s.fPreferRelativeResize = in.readbit(); _s.fOleIcon = in.readbit(); _s.fFlipVOverride = in.readbit(); _s.fFlipHOverride = in.readbit(); _s.fPolicyBarcode = in.readbit(); _s.fPolicyLabel = in.readbit(); _s.unused1 = in.readbit(); _s.unused2 = in.readbit(); _s.unused3 = in.readuint4(); _s.fUsefBackground = in.readbit(); _s.unused4 = in.readbit(); _s.fUsefInitiator = in.readbit(); _s.fUsefLockShapeType = in.readbit(); _s.fusePreferrelativeResize = in.readbit(); _s.fUsefOleIcon = in.readbit(); _s.fUsefFlipVOverride = in.readbit(); _s.fUsefFlipHOverride = in.readbit(); _s.fUsefPolicyBarcode = in.readbit(); _s.fUsefPolicyLabel = in.readbit(); _s.unused5 = in.readbit(); _s.unused6 = in.readbit(); _s.unused7 = in.readuint4(); } void MSO::parseDxyCalloutGap(LEInputStream& in, DxyCalloutGap& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtFOPTEOPID(in, _s.opid); if (!(_s.opid.opid == 0x0341)) { throw IncorrectValueException(in.getPosition(), "_s.opid.opid == 0x0341"); } if (!(_s.opid.fBid == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fBid == false"); } if (!(_s.opid.fComplex == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fComplex == false"); } _s.dxyCalloutGap = in.readuint32(); } void MSO::parseSpcoa(LEInputStream& in, Spcoa& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtFOPTEOPID(in, _s.opid); if (!(_s.opid.opid == 0x0342)) { throw IncorrectValueException(in.getPosition(), "_s.opid.opid == 0x0342"); } if (!(_s.opid.fBid == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fBid == false"); } if (!(_s.opid.fComplex == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fComplex == false"); } _s.spcoa = in.readuint32(); } void MSO::parseSpcod(LEInputStream& in, Spcod& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtFOPTEOPID(in, _s.opid); if (!(_s.opid.opid == 0x0343)) { throw IncorrectValueException(in.getPosition(), "_s.opid.opid == 0x0343"); } if (!(_s.opid.fBid == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fBid == false"); } if (!(_s.opid.fComplex == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fComplex == false"); } _s.spcod = in.readuint32(); } void MSO::parseDxyCalloutDropSpecified(LEInputStream& in, DxyCalloutDropSpecified& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtFOPTEOPID(in, _s.opid); if (!(_s.opid.opid == 0x0344)) { throw IncorrectValueException(in.getPosition(), "_s.opid.opid == 0x0344"); } if (!(_s.opid.fBid == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fBid == false"); } if (!(_s.opid.fComplex == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fComplex == false"); } _s.dxyCalloutDropSpecified = in.readuint32(); } void MSO::parseDxyCalloutLengthSpecified(LEInputStream& in, DxyCalloutLengthSpecified& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtFOPTEOPID(in, _s.opid); if (!(_s.opid.opid == 0x0345)) { throw IncorrectValueException(in.getPosition(), "_s.opid.opid == 0x0345"); } if (!(_s.opid.fBid == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fBid == false"); } if (!(_s.opid.fComplex == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fComplex == false"); } _s.dxyCalloutLengthSpecified = in.readuint32(); } void MSO::parseCalloutBooleanProperties(LEInputStream& in, CalloutBooleanProperties& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtFOPTEOPID(in, _s.opid); if (!(_s.opid.opid == 0x037F)) { throw IncorrectValueException(in.getPosition(), "_s.opid.opid == 0x037F"); } if (!(_s.opid.fBid == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fBid == false"); } if (!(_s.opid.fComplex == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fComplex == false"); } _s.fCalloutLengthSpecified = in.readbit(); _s.fCalloutDropAuto = in.readbit(); _s.fCalloutMinusY = in.readbit(); _s.fCalloutMinusX = in.readbit(); _s.fCalloutTextBorder = in.readbit(); _s.fCalloutAccentBar = in.readbit(); _s.fCallout = in.readbit(); _s.unused1a = in.readbit(); _s.unused1b = in.readuint8(); _s.fUsefCalloutLengthSpecified = in.readbit(); _s.fUsefCalloutDropAuto = in.readbit(); _s.fUsefCalloutMinusY = in.readbit(); _s.fUsefCalloutMinusX = in.readbit(); _s.fUsefCalloutTextBorder = in.readbit(); _s.fUsefCalloutAccentBar = in.readbit(); _s.fUsefCallout = in.readbit(); _s.unused2a = in.readbit(); _s.unused2b = in.readuint8(); } void MSO::parsePWrapPolygonVertices(LEInputStream& in, PWrapPolygonVertices& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtFOPTEOPID(in, _s.opid); if (!(_s.opid.opid == 0x0383)) { throw IncorrectValueException(in.getPosition(), "_s.opid.opid == 0x0383"); } _s.pWrapPolygonVertices = in.readuint32(); } void MSO::parseDxWrapDistLeft(LEInputStream& in, DxWrapDistLeft& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtFOPTEOPID(in, _s.opid); if (!(_s.opid.opid == 0x0384)) { throw IncorrectValueException(in.getPosition(), "_s.opid.opid == 0x0384"); } if (!(_s.opid.fBid == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fBid == false"); } if (!(_s.opid.fComplex == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fComplex == false"); } _s.dxWrapDistLeft = in.readint32(); } void MSO::parseDyWrapDistTop(LEInputStream& in, DyWrapDistTop& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtFOPTEOPID(in, _s.opid); if (!(_s.opid.opid == 0x0385)) { throw IncorrectValueException(in.getPosition(), "_s.opid.opid == 0x0385"); } if (!(_s.opid.fBid == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fBid == false"); } if (!(_s.opid.fComplex == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fComplex == false"); } _s.dyWrapDistTop = in.readint32(); } void MSO::parseDxWrapDistRight(LEInputStream& in, DxWrapDistRight& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtFOPTEOPID(in, _s.opid); if (!(_s.opid.opid == 0x0386)) { throw IncorrectValueException(in.getPosition(), "_s.opid.opid == 0x0386"); } if (!(_s.opid.fBid == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fBid == false"); } if (!(_s.opid.fComplex == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fComplex == false"); } _s.dxWrapDistRight = in.readint32(); } void MSO::parseDyWrapDistBottom(LEInputStream& in, DyWrapDistBottom& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtFOPTEOPID(in, _s.opid); if (!(_s.opid.opid == 0x0387)) { throw IncorrectValueException(in.getPosition(), "_s.opid.opid == 0x0387"); } if (!(_s.opid.fBid == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fBid == false"); } if (!(_s.opid.fComplex == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fComplex == false"); } _s.dyWrapDistBottom = in.readint32(); } void MSO::parseLidRegroup(LEInputStream& in, LidRegroup& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtFOPTEOPID(in, _s.opid); if (!(_s.opid.opid == 0x0388)) { throw IncorrectValueException(in.getPosition(), "_s.opid.opid == 0x0388"); } if (!(_s.opid.fBid == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fBid == false"); } if (!(_s.opid.fComplex == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fComplex == false"); } _s.lidRegroup = in.readuint32(); } void MSO::parsePosH(LEInputStream& in, PosH& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtFOPTEOPID(in, _s.opid); if (!(_s.opid.opid == 0x038F)) { throw IncorrectValueException(in.getPosition(), "_s.opid.opid == 0x038F"); } if (!(_s.opid.fBid == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fBid == false"); } if (!(_s.opid.fComplex == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fComplex == false"); } _s.posH = in.readuint32(); } void MSO::parsePosRelH(LEInputStream& in, PosRelH& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtFOPTEOPID(in, _s.opid); if (!(_s.opid.opid == 0x0390)) { throw IncorrectValueException(in.getPosition(), "_s.opid.opid == 0x0390"); } if (!(_s.opid.fBid == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fBid == false"); } if (!(_s.opid.fComplex == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fComplex == false"); } _s.posRelH = in.readuint32(); } void MSO::parsePosV(LEInputStream& in, PosV& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtFOPTEOPID(in, _s.opid); if (!(_s.opid.opid == 0x0391)) { throw IncorrectValueException(in.getPosition(), "_s.opid.opid == 0x0391"); } if (!(_s.opid.fBid == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fBid == false"); } if (!(_s.opid.fComplex == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fComplex == false"); } _s.posV = in.readuint32(); } void MSO::parsePosRelV(LEInputStream& in, PosRelV& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtFOPTEOPID(in, _s.opid); if (!(_s.opid.opid == 0x0392)) { throw IncorrectValueException(in.getPosition(), "_s.opid.opid == 0x0392"); } if (!(_s.opid.fBid == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fBid == false"); } if (!(_s.opid.fComplex == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fComplex == false"); } _s.posRelV = in.readuint32(); } void MSO::parsePctHR(LEInputStream& in, PctHR& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtFOPTEOPID(in, _s.opid); if (!(_s.opid.opid == 0x0393)) { throw IncorrectValueException(in.getPosition(), "_s.opid.opid == 0x0393"); } if (!(_s.opid.fBid == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fBid == false"); } if (!(_s.opid.fComplex == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fComplex == false"); } _s.pctHR = in.readuint32(); } void MSO::parseAlignHR(LEInputStream& in, AlignHR& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtFOPTEOPID(in, _s.opid); if (!(_s.opid.opid == 0x0394)) { throw IncorrectValueException(in.getPosition(), "_s.opid.opid == 0x0394"); } if (!(_s.opid.fBid == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fBid == false"); } if (!(_s.opid.fComplex == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fComplex == false"); } _s.alignHR = in.readuint32(); } void MSO::parseDxHeightHR(LEInputStream& in, DxHeightHR& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtFOPTEOPID(in, _s.opid); if (!(_s.opid.opid == 0x0395)) { throw IncorrectValueException(in.getPosition(), "_s.opid.opid == 0x0395"); } if (!(_s.opid.fBid == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fBid == false"); } if (!(_s.opid.fComplex == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fComplex == false"); } _s.dxHeightHR = in.readint32(); } void MSO::parseDxWidthHR(LEInputStream& in, DxWidthHR& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtFOPTEOPID(in, _s.opid); if (!(_s.opid.opid == 0x0396)) { throw IncorrectValueException(in.getPosition(), "_s.opid.opid == 0x0396"); } if (!(_s.opid.fBid == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fBid == false"); } if (!(_s.opid.fComplex == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fComplex == false"); } _s.dxWidthHR = in.readint32(); } void MSO::parseBorderTopColor(LEInputStream& in, BorderTopColor& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtFOPTEOPID(in, _s.opid); if (!(_s.opid.opid == 0x039b)) { throw IncorrectValueException(in.getPosition(), "_s.opid.opid == 0x039b"); } if (!(_s.opid.fBid == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fBid == false"); } if (!(_s.opid.fComplex == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fComplex == false"); } parseOfficeArtCOLORREF(in, _s.borderTopColor); } void MSO::parseBorderLeftColor(LEInputStream& in, BorderLeftColor& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtFOPTEOPID(in, _s.opid); if (!(_s.opid.opid == 0x039c)) { throw IncorrectValueException(in.getPosition(), "_s.opid.opid == 0x039c"); } if (!(_s.opid.fBid == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fBid == false"); } if (!(_s.opid.fComplex == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fComplex == false"); } parseOfficeArtCOLORREF(in, _s.borderLeftColor); } void MSO::parseBorderBottomColor(LEInputStream& in, BorderBottomColor& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtFOPTEOPID(in, _s.opid); if (!(_s.opid.opid == 0x039d)) { throw IncorrectValueException(in.getPosition(), "_s.opid.opid == 0x039d"); } if (!(_s.opid.fBid == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fBid == false"); } if (!(_s.opid.fComplex == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fComplex == false"); } parseOfficeArtCOLORREF(in, _s.borderBottomColor); } void MSO::parseBorderRightColor(LEInputStream& in, BorderRightColor& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtFOPTEOPID(in, _s.opid); if (!(_s.opid.opid == 0x039e)) { throw IncorrectValueException(in.getPosition(), "_s.opid.opid == 0x039e"); } if (!(_s.opid.fBid == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fBid == false"); } if (!(_s.opid.fComplex == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fComplex == false"); } parseOfficeArtCOLORREF(in, _s.borderRightColor); } void MSO::parseGroupShapeBooleanProperties(LEInputStream& in, GroupShapeBooleanProperties& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtFOPTEOPID(in, _s.opid); if (!(_s.opid.opid == 0x03bf)) { throw IncorrectValueException(in.getPosition(), "_s.opid.opid == 0x03bf"); } if (!(_s.opid.fBid == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fBid == false"); } if (!(_s.opid.fComplex == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fComplex == false"); } _s.fPrint = in.readbit(); _s.fHidden = in.readbit(); _s.fOneD = in.readbit(); _s.fIsButton = in.readbit(); _s.fOnDblClickNotify = in.readbit(); _s.fBehindDocument = in.readbit(); _s.fEditedWrap = in.readbit(); _s.fScriptAnchor = in.readbit(); _s.fReallyHidden = in.readbit(); _s.fAllowOverlap = in.readbit(); _s.fUserDrawn = in.readbit(); _s.fHorizRule = in.readbit(); _s.fNoshadeHR = in.readbit(); _s.fStandardHR = in.readbit(); _s.fIsBullet = in.readbit(); _s.fLayoutInCell = in.readbit(); _s.fUsefPrint = in.readbit(); _s.fUsefHidden = in.readbit(); _s.fUsefOneD = in.readbit(); _s.fUsefIsButton = in.readbit(); _s.fUsefOnDblClickNotify = in.readbit(); _s.fUsefBehindDocument = in.readbit(); _s.fUsefEditedWrap = in.readbit(); _s.fUsefScriptAnchor = in.readbit(); _s.fUsefReallyHidden = in.readbit(); _s.fUsefAllowOverlap = in.readbit(); _s.fUsefUserDrawn = in.readbit(); _s.fUsefHorizRule = in.readbit(); _s.fUsefNoshadeHR = in.readbit(); _s.fUsefStandardHR = in.readbit(); _s.fUsefIsBullet = in.readbit(); _s.fUsefLayoutInCell = in.readbit(); } void MSO::parseWzFillId(LEInputStream& in, WzFillId& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtFOPTEOPID(in, _s.opid); if (!(_s.opid.opid == 0x0403)) { throw IncorrectValueException(in.getPosition(), "_s.opid.opid == 0x0403"); } _s.wzFillId = in.readint32(); } void MSO::parseDiagramBooleanProperties(LEInputStream& in, DiagramBooleanProperties& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtFOPTEOPID(in, _s.opid); if (!(_s.opid.opid == 0x053F)) { throw IncorrectValueException(in.getPosition(), "_s.opid.opid == 0x053F"); } if (!(_s.opid.fBid == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fBid == false"); } if (!(_s.opid.fComplex == false)) { throw IncorrectValueException(in.getPosition(), "_s.opid.fComplex == false"); } _s.fPseudoInline = in.readbit(); _s.fDoLayout = in.readbit(); _s.fReverse = in.readbit(); _s.fDoFormat = in.readbit(); _s.unused1 = in.readbit(); _s.unused2 = in.readbit(); _s.unused3a = in.readuint2(); _s.unused3b = in.readuint8(); _s.fUsefPseudoInline = in.readbit(); _s.fUsefDoLayout = in.readbit(); _s.fUsefReverse = in.readbit(); _s.fUsefDoFormat = in.readbit(); _s.unused4 = in.readbit(); _s.unused5 = in.readbit(); _s.unused6a = in.readuint2(); _s.unused6b = in.readuint8(); } void MSO::parsePptOfficeArtClientAnchor(LEInputStream& in, PptOfficeArtClientAnchor& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0"); } if (!(_s.rh.recInstance == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0"); } if (!(_s.rh.recType == 0xF010)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0xF010"); } if (!(_s.rh.recLen == 0x8 || _s.rh.recLen == 0x10)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recLen == 0x8 || _s.rh.recLen == 0x10"); } if (_s.rh.recLen==0x8) { _s.rect1 = QSharedPointer(new SmallRectStruct(&_s)); parseSmallRectStruct(in, *_s.rect1.data()); } if (_s.rh.recLen==0x10) { _s.rect2 = QSharedPointer(new RectStruct(&_s)); parseRectStruct(in, *_s.rect2.data()); } } void MSO::parseAnimationInfoContainer(LEInputStream& in, AnimationInfoContainer& _s) { _s.streamOffset = in.getPosition(); LEInputStream::Mark _m; bool _possiblyPresent; parseOfficeArtRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0xF)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0xF"); } if (!(_s.rh.recInstance == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0"); } if (!(_s.rh.recType == 0x1014)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x1014"); } parseAnimationInfoAtom(in, _s.animationAtom); _m = in.setMark(); try { OfficeArtRecordHeader _optionCheck(&_s); parseOfficeArtRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 0xF)&&(_optionCheck.recInstance == 0)&&(_optionCheck.recType == 0x7E6); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.animationSound = QSharedPointer(new SoundContainer(&_s)); parseSoundContainer(in, *_s.animationSound.data()); } catch(IncorrectValueException _e) { _s.animationSound.clear(); in.rewind(_m); } catch(EOFException _e) { _s.animationSound.clear(); in.rewind(_m); } } } void MSO::parseMouseClickInteractiveInfoContainer(LEInputStream& in, MouseClickInteractiveInfoContainer& _s) { _s.streamOffset = in.getPosition(); parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0xF)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0xF"); } if (!(_s.rh.recInstance == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0"); } if (!(_s.rh.recType == 0xFF2)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0xFF2"); } parseInteractiveInfoAtom(in, _s.interactiveInfoAtom); if (_s.rh.recLen>24) { _s.macroNameAtom = QSharedPointer(new MacroNameAtom(&_s)); parseMacroNameAtom(in, *_s.macroNameAtom.data()); } } void MSO::parseMouseOverInteractiveInfoContainer(LEInputStream& in, MouseOverInteractiveInfoContainer& _s) { _s.streamOffset = in.getPosition(); parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0xF)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0xF"); } if (!(_s.rh.recInstance == 1)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 1"); } if (!(_s.rh.recType == 0xFF2)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0xFF2"); } parseInteractiveInfoAtom(in, _s.interactiveInfoAtom); if (_s.rh.recLen>24) { _s.macroNameAtom = QSharedPointer(new MacroNameAtom(&_s)); parseMacroNameAtom(in, *_s.macroNameAtom.data()); } } void MSO::parseShapeClientRoundtripDataSubcontainerOrAtom(LEInputStream& in, ShapeClientRoundtripDataSubcontainerOrAtom& _s) { _s.streamOffset = in.getPosition(); LEInputStream::Mark _m; _m = in.setMark(); OfficeArtRecordHeader _choice(&_s); parseOfficeArtRecordHeader(in, _choice); in.rewind(_m); qint64 startPos = in.getPosition(); if (startPos == in.getPosition() && ((_choice.recVer == 0xF)&&(_choice.recInstance == 0 || _choice.recInstance == 1 || _choice.recInstance == 2)&&(_choice.recType == 0x1388))) { _s.anon = ShapeClientRoundtripDataSubcontainerOrAtom::choice3146562028(new ShapeProgsTagContainer(&_s)); parseShapeProgsTagContainer(in, *(ShapeProgsTagContainer*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.recVer == 0)&&(_choice.recInstance == 0)&&(_choice.recType == 0xBDD)&&(_choice.recLen == 1))) { _s.anon = ShapeClientRoundtripDataSubcontainerOrAtom::choice3146562028(new RoundTripNewPlaceHolderId12Atom(&_s)); parseRoundTripNewPlaceHolderId12Atom(in, *(RoundTripNewPlaceHolderId12Atom*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.recVer == 0)&&(_choice.recInstance == 0)&&(_choice.recType == 0x41F)&&(_choice.recLen == 4))) { _s.anon = ShapeClientRoundtripDataSubcontainerOrAtom::choice3146562028(new RoundTripShapeId12Atom(&_s)); parseRoundTripShapeId12Atom(in, *(RoundTripShapeId12Atom*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.recVer == 0)&&(_choice.recInstance == 0)&&(_choice.recType == 0x420)&&(_choice.recLen == 1))) { _s.anon = ShapeClientRoundtripDataSubcontainerOrAtom::choice3146562028(new RoundTripHFPlaceholder12Atom(&_s)); parseRoundTripHFPlaceholder12Atom(in, *(RoundTripHFPlaceholder12Atom*)_s.anon.data()); } if (startPos == in.getPosition()) { _s.anon = ShapeClientRoundtripDataSubcontainerOrAtom::choice3146562028(new RoundTripShapeCheckSumForCustomLayouts12Atom(&_s)); parseRoundTripShapeCheckSumForCustomLayouts12Atom(in, *(RoundTripShapeCheckSumForCustomLayouts12Atom*)_s.anon.data()); } } void MSO::parseShapeProgBinaryTagSubContainerOrAtom(LEInputStream& in, ShapeProgBinaryTagSubContainerOrAtom& _s) { _s.streamOffset = in.getPosition(); LEInputStream::Mark _m; _m = in.setMark(); try { _s.anon = ShapeProgBinaryTagSubContainerOrAtom::choice2754406405(new PP9ShapeBinaryTagExtension(&_s)); parsePP9ShapeBinaryTagExtension(in, *(PP9ShapeBinaryTagExtension*)_s.anon.data()); } catch (IncorrectValueException _x) { _s.anon.clear(); in.rewind(_m); try { _s.anon = ShapeProgBinaryTagSubContainerOrAtom::choice2754406405(new PP10ShapeBinaryTagExtension(&_s)); parsePP10ShapeBinaryTagExtension(in, *(PP10ShapeBinaryTagExtension*)_s.anon.data()); } catch (IncorrectValueException _xx) { _s.anon.clear(); in.rewind(_m); try { _s.anon = ShapeProgBinaryTagSubContainerOrAtom::choice2754406405(new PP11ShapeBinaryTagExtension(&_s)); parsePP11ShapeBinaryTagExtension(in, *(PP11ShapeBinaryTagExtension*)_s.anon.data()); } catch (IncorrectValueException _xxx) { _s.anon.clear(); in.rewind(_m); _s.anon = ShapeProgBinaryTagSubContainerOrAtom::choice2754406405(new UnknownBinaryTag(&_s)); parseUnknownBinaryTag(in, *(UnknownBinaryTag*)_s.anon.data()); }}} } void MSO::parseOfficeArtClientTextBox(LEInputStream& in, OfficeArtClientTextBox& _s) { _s.streamOffset = in.getPosition(); LEInputStream::Mark _m; _m = in.setMark(); OfficeArtRecordHeader _choice(&_s); parseOfficeArtRecordHeader(in, _choice); in.rewind(_m); qint64 startPos = in.getPosition(); if (startPos == in.getPosition() && ((_choice.recVer == 0)&&(_choice.recLen == 0))) { _s.anon = OfficeArtClientTextBox::choice2757443956(new XlsOfficeArtClientTextBox(&_s)); parseXlsOfficeArtClientTextBox(in, *(XlsOfficeArtClientTextBox*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.recVer == 0 || _choice.recVer == 0xF)&&(_choice.recLen == 0x4))) { _s.anon = OfficeArtClientTextBox::choice2757443956(new DocOfficeArtClientTextBox(&_s)); parseDocOfficeArtClientTextBox(in, *(DocOfficeArtClientTextBox*)_s.anon.data()); } if (startPos == in.getPosition()) { _s.anon = OfficeArtClientTextBox::choice2757443956(new PptOfficeArtClientTextBox(&_s)); parsePptOfficeArtClientTextBox(in, *(PptOfficeArtClientTextBox*)_s.anon.data()); } } void MSO::parseTextRulerAtom(LEInputStream& in, TextRulerAtom& _s) { _s.streamOffset = in.getPosition(); parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0"); } if (!(_s.rh.recInstance == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0"); } if (!(_s.rh.recType == 0xFA6)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0xFA6"); } parseTextRuler(in, _s.textRuler); } void MSO::parseOfficeArtFOPTE(LEInputStream& in, OfficeArtFOPTE& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtFOPTEOPID(in, _s.opid); _s.op = in.readint32(); } void MSO::parseFib(LEInputStream& in, Fib& _s) { _s.streamOffset = in.getPosition(); int _c; LEInputStream::Mark _m; parseFibBase(in, _s.base); _s.csw = in.readuint16(); if (!(((quint16)_s.csw) == 14)) { throw IncorrectValueException(in.getPosition(), "((quint16)_s.csw) == 14"); } parseFibRgW97(in, _s.fibRgW); _s.cslw = in.readuint16(); if (!(((quint16)_s.cslw) == 22)) { throw IncorrectValueException(in.getPosition(), "((quint16)_s.cslw) == 22"); } parseFibRgLw97(in, _s.fibRgLw); _s.cbRgFcLcb = in.readuint16(); if (!(((quint16)_s.cbRgFcLcb) == 0x5D || ((quint16)_s.cbRgFcLcb) == 0x6C || ((quint16)_s.cbRgFcLcb) == 0x88 || ((quint16)_s.cbRgFcLcb) == 0xA4 || ((quint16)_s.cbRgFcLcb) == 0xB7)) { throw IncorrectValueException(in.getPosition(), "((quint16)_s.cbRgFcLcb) == 0x5D || ((quint16)_s.cbRgFcLcb) == 0x6C || ((quint16)_s.cbRgFcLcb) == 0x88 || ((quint16)_s.cbRgFcLcb) == 0xA4 || ((quint16)_s.cbRgFcLcb) == 0xB7"); } parseFibRgFcLcb97(in, _s.fibRgFcLcbBlob); if (_s.cbRgFcLcb>=0x6C) { _s.fibRgFcLcbBlob2 = QSharedPointer(new FibRgFcLcb2000(&_s)); parseFibRgFcLcb2000(in, *_s.fibRgFcLcbBlob2.data()); } if (_s.cbRgFcLcb>=0x88) { _s.fibRgFcLcbBlob3 = QSharedPointer(new FibRgFcLcb2002(&_s)); parseFibRgFcLcb2002(in, *_s.fibRgFcLcbBlob3.data()); } _s.cswNew = in.readuint16(); if (!(((quint16)_s.cswNew) == 0 || ((quint16)_s.cswNew) == 2 || ((quint16)_s.cswNew) == 5)) { throw IncorrectValueException(in.getPosition(), "((quint16)_s.cswNew) == 0 || ((quint16)_s.cswNew) == 2 || ((quint16)_s.cswNew) == 5"); } _c = 2*_s.cswNew; _s.fibRgCswNew.resize(_c); in.readBytes(_s.fibRgCswNew); _c = _s.fibRgLw.cbMac-156-8*_s.cbRgFcLcb-2*_s.cswNew; _s.trail.resize(_c); in.readBytes(_s.trail); } void MSO::parseSTSH(LEInputStream& in, STSH& _s) { _s.streamOffset = in.getPosition(); int _c; LEInputStream::Mark _m; parseLPStshi(in, _s.lpstshi); _c = 20; for (int _i=0; _i<_c; ++_i) { _s.rglpstd.append(LPStd(&_s)); parseLPStd(in, _s.rglpstd[_i]); } } void MSO::parseClx(LEInputStream& in, Clx& _s) { _s.streamOffset = in.getPosition(); LEInputStream::Mark _m; bool _atend; _atend = false; while (!_atend) { _m = in.setMark(); try { _s.RgPrc.append(Pcr(&_s)); parsePcr(in, _s.RgPrc.last()); } catch(IncorrectValueException _e) { _s.RgPrc.removeLast(); _atend = true; in.rewind(_m); } catch(EOFException _e) { _s.RgPrc.removeLast(); _atend = true; in.rewind(_m); } } parsePcdt(in, _s.pcdt); } void MSO::parsePcr(LEInputStream& in, Pcr& _s) { _s.streamOffset = in.getPosition(); _s.clxt = in.readuint8(); if (!(((quint8)_s.clxt) == 1)) { throw IncorrectValueException(in.getPosition(), "((quint8)_s.clxt) == 1"); } parsePrcData(in, _s.prcData); } void MSO::parsePrm(LEInputStream& in, Prm& _s) { _s.streamOffset = in.getPosition(); LEInputStream::Mark _m; _m = in.setMark(); bool _choice = in.readbit(); in.rewind(_m); qint64 startPos = in.getPosition(); if (startPos == in.getPosition() && ((_choice == false))) { _s.prm = Prm::choice1129181155(new Prm0(&_s)); parsePrm0(in, *(Prm0*)_s.prm.data()); } if (startPos == in.getPosition()) { _s.prm = Prm::choice1129181155(new Prm1(&_s)); parsePrm1(in, *(Prm1*)_s.prm.data()); } } void MSO::parseOfficeArtBlipEMF(LEInputStream& in, OfficeArtBlipEMF& _s) { _s.streamOffset = in.getPosition(); int _c; LEInputStream::Mark _m; parseOfficeArtRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0"); } if (!(_s.rh.recInstance == 0x3D4 || _s.rh.recInstance == 0x3D5)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0x3D4 || _s.rh.recInstance == 0x3D5"); } if (!(_s.rh.recType == 0xF01A)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0xF01A"); } _c = 16; _s.rgbUid1.resize(_c); in.readBytes(_s.rgbUid1); _s._has_rgbUid2 = _s.rh.recInstance == 0x3D5; if (_s._has_rgbUid2) { _c = 16; _s.rgbUid2.resize(_c); in.readBytes(_s.rgbUid2); } parseOfficeArtMetafileHeader(in, _s.metafileHeader); _c = _s.rh.recLen-((_s.rh.recInstance==0x3D4)?50:66); _s.BLIPFileData.resize(_c); in.readBytes(_s.BLIPFileData); } void MSO::parseOfficeArtBlipWMF(LEInputStream& in, OfficeArtBlipWMF& _s) { _s.streamOffset = in.getPosition(); int _c; LEInputStream::Mark _m; parseOfficeArtRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0"); } if (!(_s.rh.recInstance == 0x216 || _s.rh.recInstance == 0x217)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0x216 || _s.rh.recInstance == 0x217"); } if (!(_s.rh.recType == 0xF01B)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0xF01B"); } _c = 16; _s.rgbUid1.resize(_c); in.readBytes(_s.rgbUid1); _s._has_rgbUid2 = _s.rh.recInstance == 0x217; if (_s._has_rgbUid2) { _c = 16; _s.rgbUid2.resize(_c); in.readBytes(_s.rgbUid2); } parseOfficeArtMetafileHeader(in, _s.metafileHeader); _c = _s.rh.recLen-((_s.rh.recInstance==0x216)?50:66); _s.BLIPFileData.resize(_c); in.readBytes(_s.BLIPFileData); } void MSO::parseOfficeArtBlipPICT(LEInputStream& in, OfficeArtBlipPICT& _s) { _s.streamOffset = in.getPosition(); int _c; LEInputStream::Mark _m; parseOfficeArtRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0"); } if (!(_s.rh.recInstance == 0x542 || _s.rh.recInstance == 0x543)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0x542 || _s.rh.recInstance == 0x543"); } if (!(_s.rh.recType == 0xF01C)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0xF01C"); } _c = 16; _s.rgbUid1.resize(_c); in.readBytes(_s.rgbUid1); _s._has_rgbUid2 = _s.rh.recInstance == 0x543; if (_s._has_rgbUid2) { _c = 16; _s.rgbUid2.resize(_c); in.readBytes(_s.rgbUid2); } parseOfficeArtMetafileHeader(in, _s.metafileHeader); _c = _s.rh.recLen-((_s.rh.recInstance==0x542)?50:66); _s.BLIPFileData.resize(_c); in.readBytes(_s.BLIPFileData); } void MSO::parseOfficeArtBlip(LEInputStream& in, OfficeArtBlip& _s) { _s.streamOffset = in.getPosition(); LEInputStream::Mark _m; _m = in.setMark(); OfficeArtRecordHeader _choice(&_s); parseOfficeArtRecordHeader(in, _choice); in.rewind(_m); qint64 startPos = in.getPosition(); if (startPos == in.getPosition() && ((_choice.recInstance == 0x3D4 || _choice.recInstance == 0x3D5)&&(_choice.recType == 0xF01A))) { _s.anon = OfficeArtBlip::choice279968329(new OfficeArtBlipEMF(&_s)); parseOfficeArtBlipEMF(in, *(OfficeArtBlipEMF*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.recInstance == 0x216 || _choice.recInstance == 0x217)&&(_choice.recType == 0xF01B))) { _s.anon = OfficeArtBlip::choice279968329(new OfficeArtBlipWMF(&_s)); parseOfficeArtBlipWMF(in, *(OfficeArtBlipWMF*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.recInstance == 0x542 || _choice.recInstance == 0x543)&&(_choice.recType == 0xF01C))) { _s.anon = OfficeArtBlip::choice279968329(new OfficeArtBlipPICT(&_s)); parseOfficeArtBlipPICT(in, *(OfficeArtBlipPICT*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.recInstance == 0x46A || _choice.recInstance == 0x46B || _choice.recInstance == 0x6E2 || _choice.recInstance == 0x6E3)&&(_choice.recType == 0xF01D))) { _s.anon = OfficeArtBlip::choice279968329(new OfficeArtBlipJPEG(&_s)); parseOfficeArtBlipJPEG(in, *(OfficeArtBlipJPEG*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.recInstance == 0x6E0 || _choice.recInstance == 0x6E1)&&(_choice.recType == 0xF01E))) { _s.anon = OfficeArtBlip::choice279968329(new OfficeArtBlipPNG(&_s)); parseOfficeArtBlipPNG(in, *(OfficeArtBlipPNG*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.recInstance == 0x7A8 || _choice.recInstance == 0x7A9)&&(_choice.recType == 0xF01F))) { _s.anon = OfficeArtBlip::choice279968329(new OfficeArtBlipDIB(&_s)); parseOfficeArtBlipDIB(in, *(OfficeArtBlipDIB*)_s.anon.data()); } if (startPos == in.getPosition()) { _s.anon = OfficeArtBlip::choice279968329(new OfficeArtBlipTIFF(&_s)); parseOfficeArtBlipTIFF(in, *(OfficeArtBlipTIFF*)_s.anon.data()); } } void MSO::parseZoomViewInfoAtom(LEInputStream& in, ZoomViewInfoAtom& _s) { _s.streamOffset = in.getPosition(); int _c; LEInputStream::Mark _m; parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0"); } if (!(_s.rh.recInstance == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0"); } if (!(_s.rh.recType == 0x3FD)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x3FD"); } if (!(_s.rh.recLen == 0x34)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recLen == 0x34"); } parseScalingStruct(in, _s.curScale); _c = 24; _s.unused1.resize(_c); in.readBytes(_s.unused1); parsePointStruct(in, _s.origin); _s.fUseVarScale = in.readuint8(); if (!(((quint8)_s.fUseVarScale) == 0 || ((quint8)_s.fUseVarScale) == 1)) { throw IncorrectValueException(in.getPosition(), "((quint8)_s.fUseVarScale) == 0 || ((quint8)_s.fUseVarScale) == 1"); } _s.fDraftMode = in.readuint8(); _s.unused2 = in.readuint16(); } void MSO::parsePP9DocBinaryTagExtension(LEInputStream& in, PP9DocBinaryTagExtension& _s) { _s.streamOffset = in.getPosition(); int _c; LEInputStream::Mark _m; bool _possiblyPresent; bool _atend; parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0x0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0x0"); } if (!(_s.rh.recInstance == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0"); } if (!(_s.rh.recType == 0x0FBA)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x0FBA"); } if (!(_s.rh.recLen == 0x0E)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recLen == 0x0E"); } _c = 14; _s.tagName.resize(_c); in.readBytes(_s.tagName); parseRecordHeader(in, _s.rhData); if (!(_s.rhData.recVer == 0x0)) { throw IncorrectValueException(in.getPosition(), "_s.rhData.recVer == 0x0"); } if (!(_s.rhData.recInstance == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rhData.recInstance == 0"); } if (!(_s.rhData.recType == 0x138B)) { throw IncorrectValueException(in.getPosition(), "_s.rhData.recType == 0x138B"); } _atend = false; while (!_atend) { _m = in.setMark(); try { _s.rgTextMasterStyle9.append(TextMasterStyle9Atom(&_s)); parseTextMasterStyle9Atom(in, _s.rgTextMasterStyle9.last()); } catch(IncorrectValueException _e) { _s.rgTextMasterStyle9.removeLast(); _atend = true; in.rewind(_m); } catch(EOFException _e) { _s.rgTextMasterStyle9.removeLast(); _atend = true; in.rewind(_m); } } _m = in.setMark(); try { RecordHeader _optionCheck(&_s); parseRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 0xF)&&(_optionCheck.recInstance == 0x0)&&(_optionCheck.recType == 0x07F8); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.blipCollectionContainer = QSharedPointer(new BlipCollection9Container(&_s)); parseBlipCollection9Container(in, *_s.blipCollectionContainer.data()); } catch(IncorrectValueException _e) { _s.blipCollectionContainer.clear(); in.rewind(_m); } catch(EOFException _e) { _s.blipCollectionContainer.clear(); in.rewind(_m); } } _m = in.setMark(); try { RecordHeader _optionCheck(&_s); parseRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 0x0)&&(_optionCheck.recInstance == 0x00)&&(_optionCheck.recType == 0x0FB0); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.textDefaultsAtom = QSharedPointer(new TextDefaults9Atom(&_s)); parseTextDefaults9Atom(in, *_s.textDefaultsAtom.data()); } catch(IncorrectValueException _e) { _s.textDefaultsAtom.clear(); in.rewind(_m); } catch(EOFException _e) { _s.textDefaultsAtom.clear(); in.rewind(_m); } } _m = in.setMark(); try { RecordHeader _optionCheck(&_s); parseRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 0xF)&&(_optionCheck.recInstance == 0x2)&&(_optionCheck.recType == 0x0FC8); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.kinsokuContainer = QSharedPointer(new Kinsoku9Container(&_s)); parseKinsoku9Container(in, *_s.kinsokuContainer.data()); } catch(IncorrectValueException _e) { _s.kinsokuContainer.clear(); in.rewind(_m); } catch(EOFException _e) { _s.kinsokuContainer.clear(); in.rewind(_m); } } _atend = false; while (!_atend) { _m = in.setMark(); try { _s.rgExternalHyperlink9.append(ExHyperlink9Container(&_s)); parseExHyperlink9Container(in, _s.rgExternalHyperlink9.last()); } catch(IncorrectValueException _e) { _s.rgExternalHyperlink9.removeLast(); _atend = true; in.rewind(_m); } catch(EOFException _e) { _s.rgExternalHyperlink9.removeLast(); _atend = true; in.rewind(_m); } } _m = in.setMark(); try { RecordHeader _optionCheck(&_s); parseRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 0x0)&&(_optionCheck.recInstance == 0)&&(_optionCheck.recType == 0x177A)&&(_optionCheck.recLen == 0x4); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.presAdvisorFlagsAtom = QSharedPointer(new PresAdvisorFlags9Atom(&_s)); parsePresAdvisorFlags9Atom(in, *_s.presAdvisorFlagsAtom.data()); } catch(IncorrectValueException _e) { _s.presAdvisorFlagsAtom.clear(); in.rewind(_m); } catch(EOFException _e) { _s.presAdvisorFlagsAtom.clear(); in.rewind(_m); } } _m = in.setMark(); try { RecordHeader _optionCheck(&_s); parseRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 0x0)&&(_optionCheck.recInstance == 0)&&(_optionCheck.recType == 0x1785); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.envelopeDataAtom = QSharedPointer(new EnvelopeData9Atom(&_s)); parseEnvelopeData9Atom(in, *_s.envelopeDataAtom.data()); } catch(IncorrectValueException _e) { _s.envelopeDataAtom.clear(); in.rewind(_m); } catch(EOFException _e) { _s.envelopeDataAtom.clear(); in.rewind(_m); } } _m = in.setMark(); try { RecordHeader _optionCheck(&_s); parseRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 0x0)&&(_optionCheck.recInstance == 0)&&(_optionCheck.recType == 0x1784)&&(_optionCheck.recLen == 4); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.envelopeFlagsAtom = QSharedPointer(new EnvelopeFlags9Atom(&_s)); parseEnvelopeFlags9Atom(in, *_s.envelopeFlagsAtom.data()); } catch(IncorrectValueException _e) { _s.envelopeFlagsAtom.clear(); in.rewind(_m); } catch(EOFException _e) { _s.envelopeFlagsAtom.clear(); in.rewind(_m); } } _m = in.setMark(); try { RecordHeader _optionCheck(&_s); parseRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 0x0)&&(_optionCheck.recInstance == 0)&&(_optionCheck.recType == 0x177B)&&(_optionCheck.recLen == 0x10); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.htmlDocInfoAtom = QSharedPointer(new HTMLDocInfo9Atom(&_s)); parseHTMLDocInfo9Atom(in, *_s.htmlDocInfoAtom.data()); } catch(IncorrectValueException _e) { _s.htmlDocInfoAtom.clear(); in.rewind(_m); } catch(EOFException _e) { _s.htmlDocInfoAtom.clear(); in.rewind(_m); } } _m = in.setMark(); try { RecordHeader _optionCheck(&_s); parseRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 0xF)&&(_optionCheck.recInstance == 0x0)&&(_optionCheck.recType == 0x177D); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.htmlPublishInfoAtom = QSharedPointer(new HTMLPublishInfo9Container(&_s)); parseHTMLPublishInfo9Container(in, *_s.htmlPublishInfoAtom.data()); } catch(IncorrectValueException _e) { _s.htmlPublishInfoAtom.clear(); in.rewind(_m); } catch(EOFException _e) { _s.htmlPublishInfoAtom.clear(); in.rewind(_m); } } _atend = false; while (!_atend) { _m = in.setMark(); try { _s.rgBroadcastDocInfo9.append(BroadcastDocInfo9Container(&_s)); parseBroadcastDocInfo9Container(in, _s.rgBroadcastDocInfo9.last()); } catch(IncorrectValueException _e) { _s.rgBroadcastDocInfo9.removeLast(); _atend = true; in.rewind(_m); } catch(EOFException _e) { _s.rgBroadcastDocInfo9.removeLast(); _atend = true; in.rewind(_m); } } _m = in.setMark(); try { RecordHeader _optionCheck(&_s); parseRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 0xF)&&(_optionCheck.recInstance == 0)&&(_optionCheck.recType == 0x0FAE); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.outlineTextPropsContainer = QSharedPointer(new OutlineTextProps9Container(&_s)); parseOutlineTextProps9Container(in, *_s.outlineTextPropsContainer.data()); } catch(IncorrectValueException _e) { _s.outlineTextPropsContainer.clear(); in.rewind(_m); } catch(EOFException _e) { _s.outlineTextPropsContainer.clear(); in.rewind(_m); } } } void MSO::parseTextMasterStyle9Level(LEInputStream& in, TextMasterStyle9Level& _s) { _s.streamOffset = in.getPosition(); parseTextPFException9(in, _s.pf9); parseTextCFException9(in, _s.cf9); } void MSO::parseStyleTextProp9(LEInputStream& in, StyleTextProp9& _s) { _s.streamOffset = in.getPosition(); parseTextPFException9(in, _s.pf9); parseTextCFException9(in, _s.cf9); parseTextSIException(in, _s.si); if (!(_s.si.spell == false)) { throw IncorrectValueException(in.getPosition(), "_s.si.spell == false"); } if (!(_s.si.lang == false)) { throw IncorrectValueException(in.getPosition(), "_s.si.lang == false"); } if (!(_s.si.altLang == false)) { throw IncorrectValueException(in.getPosition(), "_s.si.altLang == false"); } if (!(_s.si.smartTag == false)) { throw IncorrectValueException(in.getPosition(), "_s.si.smartTag == false"); } } void MSO::parsePP10DocBinaryTagExtension(LEInputStream& in, PP10DocBinaryTagExtension& _s) { _s.streamOffset = in.getPosition(); int _c; LEInputStream::Mark _m; bool _possiblyPresent; bool _atend; parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0x0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0x0"); } if (!(_s.rh.recInstance == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0"); } if (!(_s.rh.recType == 0x0FBA)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x0FBA"); } if (!(_s.rh.recLen == 0x10)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recLen == 0x10"); } _c = 16; _s.tagName.resize(_c); in.readBytes(_s.tagName); parseRecordHeader(in, _s.rhData); if (!(_s.rhData.recVer == 0x0)) { throw IncorrectValueException(in.getPosition(), "_s.rhData.recVer == 0x0"); } if (!(_s.rhData.recInstance == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rhData.recInstance == 0"); } if (!(_s.rhData.recType == 0x138B)) { throw IncorrectValueException(in.getPosition(), "_s.rhData.recType == 0x138B"); } _m = in.setMark(); try { RecordHeader _optionCheck(&_s); parseRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 0xF)&&(_optionCheck.recInstance == 0x0)&&(_optionCheck.recType == 0x07D6); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.fontCollectionContainer = QSharedPointer(new FontCollection10Container(&_s)); parseFontCollection10Container(in, *_s.fontCollectionContainer.data()); } catch(IncorrectValueException _e) { _s.fontCollectionContainer.clear(); in.rewind(_m); } catch(EOFException _e) { _s.fontCollectionContainer.clear(); in.rewind(_m); } } _atend = false; while (!_atend) { _m = in.setMark(); try { _s.rgTextMasterStyle10.append(TextMasterStyle10Atom(&_s)); parseTextMasterStyle10Atom(in, _s.rgTextMasterStyle10.last()); } catch(IncorrectValueException _e) { _s.rgTextMasterStyle10.removeLast(); _atend = true; in.rewind(_m); } catch(EOFException _e) { _s.rgTextMasterStyle10.removeLast(); _atend = true; in.rewind(_m); } } _m = in.setMark(); try { RecordHeader _optionCheck(&_s); parseRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 0x0)&&(_optionCheck.recInstance == 0x0)&&(_optionCheck.recType == 0x0FB4); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.textDefaultsAtom = QSharedPointer(new TextDefaults10Atom(&_s)); parseTextDefaults10Atom(in, *_s.textDefaultsAtom.data()); } catch(IncorrectValueException _e) { _s.textDefaultsAtom.clear(); in.rewind(_m); } catch(EOFException _e) { _s.textDefaultsAtom.clear(); in.rewind(_m); } } parseGridSpacing10Atom(in, _s.gridSpacingAtom); _atend = false; while (!_atend) { _m = in.setMark(); try { _s.rgCommentIndex10.append(CommentIndex10Container(&_s)); parseCommentIndex10Container(in, _s.rgCommentIndex10.last()); } catch(IncorrectValueException _e) { _s.rgCommentIndex10.removeLast(); _atend = true; in.rewind(_m); } catch(EOFException _e) { _s.rgCommentIndex10.removeLast(); _atend = true; in.rewind(_m); } } _m = in.setMark(); try { RecordHeader _optionCheck(&_s); parseRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 0x0)&&(_optionCheck.recInstance == 0x0)&&(_optionCheck.recType == 0x32C8)&&(_optionCheck.recLen == 0x04); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.fontEmbedFlagsAtom = QSharedPointer(new FontEmbedFlags10Atom(&_s)); parseFontEmbedFlags10Atom(in, *_s.fontEmbedFlagsAtom.data()); } catch(IncorrectValueException _e) { _s.fontEmbedFlagsAtom.clear(); in.rewind(_m); } catch(EOFException _e) { _s.fontEmbedFlagsAtom.clear(); in.rewind(_m); } } _m = in.setMark(); try { RecordHeader _optionCheck(&_s); parseRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 0x0)&&(_optionCheck.recInstance == 0x1)&&(_optionCheck.recType == 0x0FBA)&&(_optionCheck.recLen<=510)&&(_optionCheck.recLen%2==0); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.copyrightAtom = QSharedPointer(new CopyrightAtom(&_s)); parseCopyrightAtom(in, *_s.copyrightAtom.data()); } catch(IncorrectValueException _e) { _s.copyrightAtom.clear(); in.rewind(_m); } catch(EOFException _e) { _s.copyrightAtom.clear(); in.rewind(_m); } } _m = in.setMark(); try { RecordHeader _optionCheck(&_s); parseRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 0x0)&&(_optionCheck.recInstance == 0x2)&&(_optionCheck.recType == 0x0FBA)&&(_optionCheck.recLen<=510)&&(_optionCheck.recLen%2==0); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.keywordsAtom = QSharedPointer(new KeywordsAtom(&_s)); parseKeywordsAtom(in, *_s.keywordsAtom.data()); } catch(IncorrectValueException _e) { _s.keywordsAtom.clear(); in.rewind(_m); } catch(EOFException _e) { _s.keywordsAtom.clear(); in.rewind(_m); } } _m = in.setMark(); try { RecordHeader _optionCheck(&_s); parseRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 0x0)&&(_optionCheck.recInstance == 0x0)&&(_optionCheck.recType == 0x36B0)&&(_optionCheck.recLen == 0x04); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.filterPrivacyFlagsAtom = QSharedPointer(new FilterPrivacyFlags10Atom(&_s)); parseFilterPrivacyFlags10Atom(in, *_s.filterPrivacyFlagsAtom.data()); } catch(IncorrectValueException _e) { _s.filterPrivacyFlagsAtom.clear(); in.rewind(_m); } catch(EOFException _e) { _s.filterPrivacyFlagsAtom.clear(); in.rewind(_m); } } _m = in.setMark(); try { RecordHeader _optionCheck(&_s); parseRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 0xF)&&(_optionCheck.recInstance == 0)&&(_optionCheck.recType == 0x0FB3); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.outlineTextPropsContainer = QSharedPointer(new OutlineTextProps10Container(&_s)); parseOutlineTextProps10Container(in, *_s.outlineTextPropsContainer.data()); } catch(IncorrectValueException _e) { _s.outlineTextPropsContainer.clear(); in.rewind(_m); } catch(EOFException _e) { _s.outlineTextPropsContainer.clear(); in.rewind(_m); } } _m = in.setMark(); try { RecordHeader _optionCheck(&_s); parseRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 0x0)&&(_optionCheck.recInstance == 0)&&(_optionCheck.recType == 0x36B1)&&(_optionCheck.recLen == 0x01); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.docToolbarStatesAtom = QSharedPointer(new DocToolbarStates10Atom(&_s)); parseDocToolbarStates10Atom(in, *_s.docToolbarStatesAtom.data()); } catch(IncorrectValueException _e) { _s.docToolbarStatesAtom.clear(); in.rewind(_m); } catch(EOFException _e) { _s.docToolbarStatesAtom.clear(); in.rewind(_m); } } _m = in.setMark(); try { RecordHeader _optionCheck(&_s); parseRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 0xF)&&(_optionCheck.recInstance == 0)&&(_optionCheck.recType == 0x2EF1); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.slideListTableContainer = QSharedPointer(new SlideListTable10Container(&_s)); parseSlideListTable10Container(in, *_s.slideListTableContainer.data()); } catch(IncorrectValueException _e) { _s.slideListTableContainer.clear(); in.rewind(_m); } catch(EOFException _e) { _s.slideListTableContainer.clear(); in.rewind(_m); } } _m = in.setMark(); try { RecordHeader _optionCheck(&_s); parseRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 0xF)&&(_optionCheck.recInstance == 0)&&(_optionCheck.recType == 0x2EEC); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.rgDiffTree10Container = QSharedPointer(new DiffTree10Container(&_s)); parseDiffTree10Container(in, *_s.rgDiffTree10Container.data()); } catch(IncorrectValueException _e) { _s.rgDiffTree10Container.clear(); in.rewind(_m); } catch(EOFException _e) { _s.rgDiffTree10Container.clear(); in.rewind(_m); } } _m = in.setMark(); try { RecordHeader _optionCheck(&_s); parseRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 0x0)&&(_optionCheck.recInstance == 0x03)&&(_optionCheck.recType == 0x0FBA)&&(_optionCheck.recLen<=510)&&(_optionCheck.recLen%2==0); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.modifyPasswordAtom = QSharedPointer(new ModifyPasswordAtom(&_s)); parseModifyPasswordAtom(in, *_s.modifyPasswordAtom.data()); } catch(IncorrectValueException _e) { _s.modifyPasswordAtom.clear(); in.rewind(_m); } catch(EOFException _e) { _s.modifyPasswordAtom.clear(); in.rewind(_m); } } _m = in.setMark(); try { RecordHeader _optionCheck(&_s); parseRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 0x0)&&(_optionCheck.recInstance == 0x0)&&(_optionCheck.recType == 0x036B2)&&(_optionCheck.recLen == 0x06); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.photoAlbumInfoAtom = QSharedPointer(new PhotoAlbumInfo10Atom(&_s)); parsePhotoAlbumInfo10Atom(in, *_s.photoAlbumInfoAtom.data()); } catch(IncorrectValueException _e) { _s.photoAlbumInfoAtom.clear(); in.rewind(_m); } catch(EOFException _e) { _s.photoAlbumInfoAtom.clear(); in.rewind(_m); } } } void MSO::parseTextMasterStyle10Level(LEInputStream& in, TextMasterStyle10Level& _s) { _s.streamOffset = in.getPosition(); parseTextCFException10(in, _s.cf10); } void MSO::parseNotesTextViewInfoContainer(LEInputStream& in, NotesTextViewInfoContainer& _s) { _s.streamOffset = in.getPosition(); parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0xF)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0xF"); } if (!(_s.rh.recInstance == 1)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 1"); } if (!(_s.rh.recType == 0x413)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x413"); } parseZoomViewInfoAtom(in, _s.zoomViewInfo); } void MSO::parseOutlineViewInfoContainer(LEInputStream& in, OutlineViewInfoContainer& _s) { _s.streamOffset = in.getPosition(); parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0xF)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0xF"); } if (!(_s.rh.recInstance == 0 || _s.rh.recInstance == 1)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0 || _s.rh.recInstance == 1"); } if (!(_s.rh.recType == 0x407)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x407"); } parseNoZoomViewInfoAtom(in, _s.noZoomViewInfo); } void MSO::parseNormalViewSetInfoContainer(LEInputStream& in, NormalViewSetInfoContainer& _s) { _s.streamOffset = in.getPosition(); parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0xF)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0xF"); } if (!(_s.rh.recInstance == 1)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 1"); } if (!(_s.rh.recType == 0x414)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x414"); } if (!(_s.rh.recLen == 0x1C)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recLen == 0x1C"); } parseNormalViewSetInfoAtom(in, _s.normalViewSetInfoAtom); } void MSO::parseSlideListWithTextSubContainerOrAtom(LEInputStream& in, SlideListWithTextSubContainerOrAtom& _s) { _s.streamOffset = in.getPosition(); LEInputStream::Mark _m; bool _atend; parseSlidePersistAtom(in, _s.slidePersistAtom); _atend = false; while (!_atend) { _m = in.setMark(); try { _s.atoms.append(TextContainer(&_s)); parseTextContainer(in, _s.atoms.last()); } catch(IncorrectValueException _e) { _s.atoms.removeLast(); _atend = true; in.rewind(_m); } catch(EOFException _e) { _s.atoms.removeLast(); _atend = true; in.rewind(_m); } } } void MSO::parseOutlineAtom(LEInputStream& in, OutlineAtom& _s) { _s.streamOffset = in.getPosition(); LEInputStream::Mark _m; bool _possiblyPresent; parseOutlineTextRefAtom(in, _s.outlineTextRefAtom); _m = in.setMark(); try { RecordHeader _optionCheck(&_s); parseRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 0)&&(_optionCheck.recInstance == 0)&&(_optionCheck.recType == 0xFA6); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.textRulerAtom = QSharedPointer(new TextRulerAtom(&_s)); parseTextRulerAtom(in, *_s.textRulerAtom.data()); } catch(IncorrectValueException _e) { _s.textRulerAtom.clear(); in.rewind(_m); } catch(EOFException _e) { _s.textRulerAtom.clear(); in.rewind(_m); } } } void MSO::parseTextContainer(LEInputStream& in, TextContainer& _s) { _s.streamOffset = in.getPosition(); LEInputStream::Mark _m; bool _possiblyPresent; bool _atend; parseTextHeaderAtom(in, _s.textHeaderAtom); _m = in.setMark(); RecordHeader _choice(&_s); parseRecordHeader(in, _choice); in.rewind(_m); qint64 startPos = in.getPosition(); if (startPos == in.getPosition() && ((_choice.recVer == 0)&&(_choice.recInstance == 0)&&(_choice.recType == 0xFA0)&&(_choice.recLen%2==0))) { _s.text = TextContainer::choice1060411409(new TextCharsAtom(&_s)); parseTextCharsAtom(in, *(TextCharsAtom*)_s.text.data()); } if (startPos == in.getPosition() && ((_choice.recVer == 0)&&(_choice.recInstance == 0)&&(_choice.recType == 0xFA8))) { _s.text = TextContainer::choice1060411409(new TextBytesAtom(&_s)); parseTextBytesAtom(in, *(TextBytesAtom*)_s.text.data()); } _m = in.setMark(); try { RecordHeader _optionCheck(&_s); parseRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 0)&&(_optionCheck.recInstance == 0)&&(_optionCheck.recType == 0xFA1); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.style = QSharedPointer(new StyleTextPropAtom(&_s)); parseStyleTextPropAtom(in, *_s.style.data()); } catch(IncorrectValueException _e) { _s.style.clear(); in.rewind(_m); } catch(EOFException _e) { _s.style.clear(); in.rewind(_m); } } if (_s.style) { quint32 count = 0; if (_s.text.is()) { count = _s.text.get()->textChars.size(); } if (_s.text.is()) { count = _s.text.get()->textChars.size(); } quint32 sum = 0; do { _s.style->rgTextPFRun.append(TextPFRun(_s.style.data())); parseTextPFRun(in, _s.style->rgTextPFRun.last()); sum += _s.style->rgTextPFRun.last().count; } while (sum <= count); sum = 0; do { _s.style->rgTextCFRun.append(TextCFRun(_s.style.data())); parseTextCFRun(in, _s.style->rgTextCFRun.last()); sum += _s.style->rgTextCFRun.last().count; } while (sum <= count); } _atend = false; while (!_atend) { _m = in.setMark(); try { _s.meta.append(TextContainerMeta(&_s)); parseTextContainerMeta(in, _s.meta.last()); } catch(IncorrectValueException _e) { _s.meta.removeLast(); _atend = true; in.rewind(_m); } catch(EOFException _e) { _s.meta.removeLast(); _atend = true; in.rewind(_m); } } _m = in.setMark(); try { RecordHeader _optionCheck(&_s); parseRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 0)&&(_optionCheck.recInstance == 0)&&(_optionCheck.recType == 0xFA2); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.master = QSharedPointer(new MasterTextPropAtom(&_s)); parseMasterTextPropAtom(in, *_s.master.data()); } catch(IncorrectValueException _e) { _s.master.clear(); in.rewind(_m); } catch(EOFException _e) { _s.master.clear(); in.rewind(_m); } } _atend = false; while (!_atend) { _m = in.setMark(); try { _s.bookmark.append(TextBookmarkAtom(&_s)); parseTextBookmarkAtom(in, _s.bookmark.last()); } catch(IncorrectValueException _e) { _s.bookmark.removeLast(); _atend = true; in.rewind(_m); } catch(EOFException _e) { _s.bookmark.removeLast(); _atend = true; in.rewind(_m); } } _m = in.setMark(); try { RecordHeader _optionCheck(&_s); parseRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 3)&&(_optionCheck.recInstance == 9)&&(_optionCheck.recType == 0); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.unknown = QSharedPointer(new UnknownTextContainerChild(&_s)); parseUnknownTextContainerChild(in, *_s.unknown.data()); } catch(IncorrectValueException _e) { _s.unknown.clear(); in.rewind(_m); } catch(EOFException _e) { _s.unknown.clear(); in.rewind(_m); } } _m = in.setMark(); try { RecordHeader _optionCheck(&_s); parseRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 0x0)&&(_optionCheck.recInstance == 0x0)&&(_optionCheck.recType == 0xFAA); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.specialinfo = QSharedPointer(new TextSpecialInfoAtom(&_s)); parseTextSpecialInfoAtom(in, *_s.specialinfo.data()); } catch(IncorrectValueException _e) { _s.specialinfo.clear(); in.rewind(_m); } catch(EOFException _e) { _s.specialinfo.clear(); in.rewind(_m); } } _atend = false; while (!_atend) { _m = in.setMark(); try { _s.interactive.append(TextContainerInteractiveInfo(&_s)); parseTextContainerInteractiveInfo(in, _s.interactive.last()); } catch(IncorrectValueException _e) { _s.interactive.removeLast(); _atend = true; in.rewind(_m); } catch(EOFException _e) { _s.interactive.removeLast(); _atend = true; in.rewind(_m); } } _m = in.setMark(); try { RecordHeader _optionCheck(&_s); parseRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 0x0)&&(_optionCheck.recInstance == 0x0)&&(_optionCheck.recType == 0xFAA); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.specialinfo2 = QSharedPointer(new TextSpecialInfoAtom(&_s)); parseTextSpecialInfoAtom(in, *_s.specialinfo2.data()); } catch(IncorrectValueException _e) { _s.specialinfo2.clear(); in.rewind(_m); } catch(EOFException _e) { _s.specialinfo2.clear(); in.rewind(_m); } } _m = in.setMark(); try { RecordHeader _optionCheck(&_s); parseRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 0)&&(_optionCheck.recInstance == 0)&&(_optionCheck.recType == 0xFA6); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.textRulerAtom = QSharedPointer(new TextRulerAtom(&_s)); parseTextRulerAtom(in, *_s.textRulerAtom.data()); } catch(IncorrectValueException _e) { _s.textRulerAtom.clear(); in.rewind(_m); } catch(EOFException _e) { _s.textRulerAtom.clear(); in.rewind(_m); } } _atend = false; while (!_atend) { _m = in.setMark(); try { _s.interactive2.append(TextContainerInteractiveInfo(&_s)); parseTextContainerInteractiveInfo(in, _s.interactive2.last()); } catch(IncorrectValueException _e) { _s.interactive2.removeLast(); _atend = true; in.rewind(_m); } catch(EOFException _e) { _s.interactive2.removeLast(); _atend = true; in.rewind(_m); } } } void MSO::parseMouseClickTextInfo(LEInputStream& in, MouseClickTextInfo& _s) { _s.streamOffset = in.getPosition(); parseMouseClickInteractiveInfoContainer(in, _s.interactive); parseMouseClickTextInteractiveInfoAtom(in, _s.text); } void MSO::parseMouseOverTextInfo(LEInputStream& in, MouseOverTextInfo& _s) { _s.streamOffset = in.getPosition(); parseMouseOverInteractiveInfoContainer(in, _s.interactive); parseMouseOverTextInteractiveInfoAtom(in, _s.text); } void MSO::parseTextPFRun(LEInputStream& in, TextPFRun& _s) { _s.streamOffset = in.getPosition(); _s.count = in.readuint32(); if (!(((quint32)_s.count)>0)) { throw IncorrectValueException(in.getPosition(), "((quint32)_s.count)>0"); } _s.indentLevel = in.readuint16(); if (!(((quint16)_s.indentLevel)<=4)) { throw IncorrectValueException(in.getPosition(), "((quint16)_s.indentLevel)<=4"); } parseTextPFException(in, _s.pf); if (!(_s.pf.masks.defaultTabSize == false)) { throw IncorrectValueException(in.getPosition(), "_s.pf.masks.defaultTabSize == false"); } if (!(_s.pf.masks.tabStops == false)) { throw IncorrectValueException(in.getPosition(), "_s.pf.masks.tabStops == false"); } } void MSO::parseTextCFRun(LEInputStream& in, TextCFRun& _s) { _s.streamOffset = in.getPosition(); _s.count = in.readuint32(); if (!(((quint32)_s.count)>0)) { throw IncorrectValueException(in.getPosition(), "((quint32)_s.count)>0"); } parseTextCFException(in, _s.cf); } void MSO::parseTextCFExceptionAtom(LEInputStream& in, TextCFExceptionAtom& _s) { _s.streamOffset = in.getPosition(); parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0x0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0x0"); } if (!(_s.rh.recInstance == 0x0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0x0"); } if (!(_s.rh.recType == 0x0FA4)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x0FA4"); } parseTextCFException(in, _s.cf); } void MSO::parseDefaultRulerAtom(LEInputStream& in, DefaultRulerAtom& _s) { _s.streamOffset = in.getPosition(); parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0x0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0x0"); } if (!(_s.rh.recInstance == 0x0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0x0"); } if (!(_s.rh.recType == 0x0FAB)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x0FAB"); } parseTextRuler(in, _s.defaultTextRuler); if (!(_s.defaultTextRuler.fDefaultTabSize == true)) { throw IncorrectValueException(in.getPosition(), "_s.defaultTextRuler.fDefaultTabSize == true"); } if (!(_s.defaultTextRuler.fCLevels == true)) { throw IncorrectValueException(in.getPosition(), "_s.defaultTextRuler.fCLevels == true"); } if (!(_s.defaultTextRuler.fTabStops == true)) { throw IncorrectValueException(in.getPosition(), "_s.defaultTextRuler.fTabStops == true"); } if (!(_s.defaultTextRuler.fLeftMargin1 == true)) { throw IncorrectValueException(in.getPosition(), "_s.defaultTextRuler.fLeftMargin1 == true"); } if (!(_s.defaultTextRuler.fLeftMargin2 == true)) { throw IncorrectValueException(in.getPosition(), "_s.defaultTextRuler.fLeftMargin2 == true"); } if (!(_s.defaultTextRuler.fLeftMargin3 == true)) { throw IncorrectValueException(in.getPosition(), "_s.defaultTextRuler.fLeftMargin3 == true"); } if (!(_s.defaultTextRuler.fLeftMargin4 == true)) { throw IncorrectValueException(in.getPosition(), "_s.defaultTextRuler.fLeftMargin4 == true"); } if (!(_s.defaultTextRuler.fIndent1 == true)) { throw IncorrectValueException(in.getPosition(), "_s.defaultTextRuler.fIndent1 == true"); } if (!(_s.defaultTextRuler.fIndent2 == true)) { throw IncorrectValueException(in.getPosition(), "_s.defaultTextRuler.fIndent2 == true"); } if (!(_s.defaultTextRuler.fIndent3 == true)) { throw IncorrectValueException(in.getPosition(), "_s.defaultTextRuler.fIndent3 == true"); } if (!(_s.defaultTextRuler.fIndent4 == true)) { throw IncorrectValueException(in.getPosition(), "_s.defaultTextRuler.fIndent4 == true"); } if (!(_s.defaultTextRuler.fIndent5 == true)) { throw IncorrectValueException(in.getPosition(), "_s.defaultTextRuler.fIndent5 == true"); } } void MSO::parseTextPFExceptionAtom(LEInputStream& in, TextPFExceptionAtom& _s) { _s.streamOffset = in.getPosition(); parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0x0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0x0"); } if (!(_s.rh.recInstance == 0x0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0x0"); } if (!(_s.rh.recType == 0x0FA5)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x0FA5"); } _s.reserved = in.readuint16(); parseTextPFException(in, _s.pf); } void MSO::parseTextSIRun(LEInputStream& in, TextSIRun& _s) { _s.streamOffset = in.getPosition(); _s.count = in.readuint32(); if (!(((quint32)_s.count)>=1)) { throw IncorrectValueException(in.getPosition(), "((quint32)_s.count)>=1"); } parseTextSIException(in, _s.si); } void MSO::parseTextSIExceptionAtom(LEInputStream& in, TextSIExceptionAtom& _s) { _s.streamOffset = in.getPosition(); parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0x0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0x0"); } if (!(_s.rh.recInstance == 0x0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0x0"); } if (!(_s.rh.recType == 0x0FA9)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x0FA9"); } parseTextSIException(in, _s.textSIException); if (!(_s.textSIException.fPp10ext == false)) { throw IncorrectValueException(in.getPosition(), "_s.textSIException.fPp10ext == false"); } if (!(_s.textSIException.fBidi == false)) { throw IncorrectValueException(in.getPosition(), "_s.textSIException.fBidi == false"); } if (!(_s.textSIException.smartTag == false)) { throw IncorrectValueException(in.getPosition(), "_s.textSIException.smartTag == false"); } } void MSO::parseTextMasterStyleAtom(LEInputStream& in, TextMasterStyleAtom& _s) { _s.streamOffset = in.getPosition(); parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0x0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0x0"); } if (!(_s.rh.recInstance == 0 || _s.rh.recInstance == 1 || _s.rh.recInstance == 2 || _s.rh.recInstance == 3 || _s.rh.recInstance == 4 || _s.rh.recInstance == 5 || _s.rh.recInstance == 6 || _s.rh.recInstance == 7 || _s.rh.recInstance == 8)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0 || _s.rh.recInstance == 1 || _s.rh.recInstance == 2 || _s.rh.recInstance == 3 || _s.rh.recInstance == 4 || _s.rh.recInstance == 5 || _s.rh.recInstance == 6 || _s.rh.recInstance == 7 || _s.rh.recInstance == 8"); } if (!(_s.rh.recType == 0x0FA3)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x0FA3"); } _s.cLevels = in.readuint16(); if (!(((quint16)_s.cLevels)<=5)) { throw IncorrectValueException(in.getPosition(), "((quint16)_s.cLevels)<=5"); } _s._has_lstLvl1level = _s.cLevels>0 && _s.rh.recInstance>=5; if (_s._has_lstLvl1level) { _s.lstLvl1level = in.readuint16(); } if (_s.cLevels>0) { _s.lstLvl1 = QSharedPointer(new TextMasterStyleLevel(&_s)); parseTextMasterStyleLevel(in, *_s.lstLvl1.data()); } _s._has_lstLvl2level = _s.cLevels>1 && _s.rh.recInstance>=5; if (_s._has_lstLvl2level) { _s.lstLvl2level = in.readuint16(); } if (_s.cLevels>1) { _s.lstLvl2 = QSharedPointer(new TextMasterStyleLevel(&_s)); parseTextMasterStyleLevel(in, *_s.lstLvl2.data()); } _s._has_lstLvl3level = _s.cLevels>2 && _s.rh.recInstance>=5; if (_s._has_lstLvl3level) { _s.lstLvl3level = in.readuint16(); } if (_s.cLevels>2) { _s.lstLvl3 = QSharedPointer(new TextMasterStyleLevel(&_s)); parseTextMasterStyleLevel(in, *_s.lstLvl3.data()); } _s._has_lstLvl4level = _s.cLevels>3 && _s.rh.recInstance>=5; if (_s._has_lstLvl4level) { _s.lstLvl4level = in.readuint16(); } if (_s.cLevels>3) { _s.lstLvl4 = QSharedPointer(new TextMasterStyleLevel(&_s)); parseTextMasterStyleLevel(in, *_s.lstLvl4.data()); } _s._has_lstLvl5level = _s.cLevels>4 && _s.rh.recInstance>=5; if (_s._has_lstLvl5level) { _s.lstLvl5level = in.readuint16(); } if (_s.cLevels>4) { _s.lstLvl5 = QSharedPointer(new TextMasterStyleLevel(&_s)); parseTextMasterStyleLevel(in, *_s.lstLvl5.data()); } } void MSO::parsePP10SlideBinaryTagExtension(LEInputStream& in, PP10SlideBinaryTagExtension& _s) { _s.streamOffset = in.getPosition(); int _c; LEInputStream::Mark _m; bool _possiblyPresent; bool _atend; parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0"); } if (!(_s.rh.recInstance == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0"); } if (!(_s.rh.recType == 0xFBA)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0xFBA"); } if (!(_s.rh.recLen == 0x10)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recLen == 0x10"); } _c = 8; _s.tagName.resize(_c); for (int _i=0; _i<_c; ++_i) { _s.tagName[_i] = in.readuint16(); } parseRecordHeader(in, _s.rhData); if (!(_s.rhData.recVer == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rhData.recVer == 0"); } if (!(_s.rhData.recInstance == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rhData.recInstance == 0"); } if (!(_s.rhData.recType == 0x138B)) { throw IncorrectValueException(in.getPosition(), "_s.rhData.recType == 0x138B"); } _atend = false; while (!_atend) { _m = in.setMark(); try { _s.rgTextMasterStyleAtom.append(TextMasterStyle10Atom(&_s)); parseTextMasterStyle10Atom(in, _s.rgTextMasterStyleAtom.last()); } catch(IncorrectValueException _e) { _s.rgTextMasterStyleAtom.removeLast(); _atend = true; in.rewind(_m); } catch(EOFException _e) { _s.rgTextMasterStyleAtom.removeLast(); _atend = true; in.rewind(_m); } } _atend = false; while (!_atend) { _m = in.setMark(); try { _s.rgComment10Container.append(Comment10Container(&_s)); parseComment10Container(in, _s.rgComment10Container.last()); } catch(IncorrectValueException _e) { _s.rgComment10Container.removeLast(); _atend = true; in.rewind(_m); } catch(EOFException _e) { _s.rgComment10Container.removeLast(); _atend = true; in.rewind(_m); } } _m = in.setMark(); try { RecordHeader _optionCheck(&_s); parseRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 0)&&(_optionCheck.recInstance == 0)&&(_optionCheck.recType == 0x2EE7)&&(_optionCheck.recLen == 8); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.linkedSlideAtom = QSharedPointer(new LinkedSlide10Atom(&_s)); parseLinkedSlide10Atom(in, *_s.linkedSlideAtom.data()); } catch(IncorrectValueException _e) { _s.linkedSlideAtom.clear(); in.rewind(_m); } catch(EOFException _e) { _s.linkedSlideAtom.clear(); in.rewind(_m); } } _atend = false; while (!_atend) { _m = in.setMark(); try { _s.rgLinkedShape10Atom.append(LinkedShape10Atom(&_s)); parseLinkedShape10Atom(in, _s.rgLinkedShape10Atom.last()); } catch(IncorrectValueException _e) { _s.rgLinkedShape10Atom.removeLast(); _atend = true; in.rewind(_m); } catch(EOFException _e) { _s.rgLinkedShape10Atom.removeLast(); _atend = true; in.rewind(_m); } } _m = in.setMark(); try { RecordHeader _optionCheck(&_s); parseRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 0)&&(_optionCheck.recInstance == 0)&&(_optionCheck.recType == 0x2EEA)&&(_optionCheck.recLen == 4); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.slideFlagsAtom = QSharedPointer(new SlideFlags10Atom(&_s)); parseSlideFlags10Atom(in, *_s.slideFlagsAtom.data()); } catch(IncorrectValueException _e) { _s.slideFlagsAtom.clear(); in.rewind(_m); } catch(EOFException _e) { _s.slideFlagsAtom.clear(); in.rewind(_m); } } _m = in.setMark(); try { RecordHeader _optionCheck(&_s); parseRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 0)&&(_optionCheck.recInstance == 0)&&(_optionCheck.recType == 0x2EEB)&&(_optionCheck.recLen == 8); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.slideTimeAtom = QSharedPointer(new SlideTime10Atom(&_s)); parseSlideTime10Atom(in, *_s.slideTimeAtom.data()); } catch(IncorrectValueException _e) { _s.slideTimeAtom.clear(); in.rewind(_m); } catch(EOFException _e) { _s.slideTimeAtom.clear(); in.rewind(_m); } } _m = in.setMark(); try { RecordHeader _optionCheck(&_s); parseRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 0)&&(_optionCheck.recInstance == 0)&&(_optionCheck.recType == 0x101D); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.unknown = QSharedPointer(new UnknownSlideContainerChild(&_s)); parseUnknownSlideContainerChild(in, *_s.unknown.data()); } catch(IncorrectValueException _e) { _s.unknown.clear(); in.rewind(_m); } catch(EOFException _e) { _s.unknown.clear(); in.rewind(_m); } } _m = in.setMark(); try { RecordHeader _optionCheck(&_s); parseRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 0)&&(_optionCheck.recInstance == 0)&&(_optionCheck.recType == 0x2B00)&&(_optionCheck.recLen == 4); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.hashCodeAtom = QSharedPointer(new HashCode10Atom(&_s)); parseHashCode10Atom(in, *_s.hashCodeAtom.data()); } catch(IncorrectValueException _e) { _s.hashCodeAtom.clear(); in.rewind(_m); } catch(EOFException _e) { _s.hashCodeAtom.clear(); in.rewind(_m); } } _m = in.setMark(); try { RecordHeader _optionCheck(&_s); parseRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 0xF)&&(_optionCheck.recInstance == 1)&&(_optionCheck.recType == 0xF144); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.extTimeNodeContainer = QSharedPointer(new ExtTimeNodeContainer(&_s)); parseExtTimeNodeContainer(in, *_s.extTimeNodeContainer.data()); } catch(IncorrectValueException _e) { _s.extTimeNodeContainer.clear(); in.rewind(_m); } catch(EOFException _e) { _s.extTimeNodeContainer.clear(); in.rewind(_m); } } _m = in.setMark(); try { RecordHeader _optionCheck(&_s); parseRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 0xF)&&(_optionCheck.recInstance == 0)&&(_optionCheck.recType == 0x2B02); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.buildListContainer = QSharedPointer(new BuildListContainer(&_s)); parseBuildListContainer(in, *_s.buildListContainer.data()); } catch(IncorrectValueException _e) { _s.buildListContainer.clear(); in.rewind(_m); } catch(EOFException _e) { _s.buildListContainer.clear(); in.rewind(_m); } } } void MSO::parseExObjListSubContainer(LEInputStream& in, ExObjListSubContainer& _s) { _s.streamOffset = in.getPosition(); LEInputStream::Mark _m; _m = in.setMark(); OfficeArtRecordHeader _choice(&_s); parseOfficeArtRecordHeader(in, _choice); in.rewind(_m); qint64 startPos = in.getPosition(); if (startPos == in.getPosition() && ((_choice.recInstance == 0)&&(_choice.recType == 0x1006))) { _s.anon = ExObjListSubContainer::choice2338534801(new ExAviMovieContainer(&_s)); parseExAviMovieContainer(in, *(ExAviMovieContainer*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.recInstance == 0)&&(_choice.recType == 0x100E))) { _s.anon = ExObjListSubContainer::choice2338534801(new ExCDAudioContainer(&_s)); parseExCDAudioContainer(in, *(ExCDAudioContainer*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.recInstance == 0)&&(_choice.recType == 0xFEE))) { _s.anon = ExObjListSubContainer::choice2338534801(new ExControlContainer(&_s)); parseExControlContainer(in, *(ExControlContainer*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.recInstance == 0)&&(_choice.recType == 0xFD7))) { _s.anon = ExObjListSubContainer::choice2338534801(new ExHyperlinkContainer(&_s)); parseExHyperlinkContainer(in, *(ExHyperlinkContainer*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.recInstance == 0)&&(_choice.recType == 0x1007))) { _s.anon = ExObjListSubContainer::choice2338534801(new ExMCIMovieContainer(&_s)); parseExMCIMovieContainer(in, *(ExMCIMovieContainer*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.recInstance == 0)&&(_choice.recType == 0x100D))) { _s.anon = ExObjListSubContainer::choice2338534801(new ExMIDIAudioContainer(&_s)); parseExMIDIAudioContainer(in, *(ExMIDIAudioContainer*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.recInstance == 0x0)&&(_choice.recType == 0x0FCC))) { _s.anon = ExObjListSubContainer::choice2338534801(new ExOleEmbedContainer(&_s)); parseExOleEmbedContainer(in, *(ExOleEmbedContainer*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.recInstance == 0x0)&&(_choice.recType == 0x0FCE))) { _s.anon = ExObjListSubContainer::choice2338534801(new ExOleLinkContainer(&_s)); parseExOleLinkContainer(in, *(ExOleLinkContainer*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.recInstance == 0)&&(_choice.recType == 0x100F))) { _s.anon = ExObjListSubContainer::choice2338534801(new ExWAVAudioEmbeddedContainer(&_s)); parseExWAVAudioEmbeddedContainer(in, *(ExWAVAudioEmbeddedContainer*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.recInstance == 0)&&(_choice.recType == 0x1010))) { _s.anon = ExObjListSubContainer::choice2338534801(new ExWAVAudioLinkContainer(&_s)); parseExWAVAudioLinkContainer(in, *(ExWAVAudioLinkContainer*)_s.anon.data()); } if (startPos == in.getPosition()) { _s.anon = ExObjListSubContainer::choice2338534801(new UnknownExObjListSubContainerChild(&_s)); parseUnknownExObjListSubContainerChild(in, *(UnknownExObjListSubContainerChild*)_s.anon.data()); } } void MSO::parseOfficeArtDggContainer(LEInputStream& in, OfficeArtDggContainer& _s) { _s.streamOffset = in.getPosition(); LEInputStream::Mark _m; bool _possiblyPresent; parseOfficeArtRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0xF)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0xF"); } if (!(_s.rh.recInstance == 0x0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0x0"); } if (!(_s.rh.recType == 0x0F000)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x0F000"); } parseOfficeArtFDGGBlock(in, _s.drawingGroup); _m = in.setMark(); try { OfficeArtRecordHeader _optionCheck(&_s); parseOfficeArtRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 0xF)&&(_optionCheck.recType == 0x0F001); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.blipStore = QSharedPointer(new OfficeArtBStoreContainer(&_s)); parseOfficeArtBStoreContainer(in, *_s.blipStore.data()); } catch(IncorrectValueException _e) { _s.blipStore.clear(); in.rewind(_m); } catch(EOFException _e) { _s.blipStore.clear(); in.rewind(_m); } } _m = in.setMark(); try { OfficeArtRecordHeader _optionCheck(&_s); parseOfficeArtRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 0x3)&&(_optionCheck.recType == 0x0F00B); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.drawingPrimaryOptions = QSharedPointer(new OfficeArtFOPT(&_s)); parseOfficeArtFOPT(in, *_s.drawingPrimaryOptions.data()); } catch(IncorrectValueException _e) { _s.drawingPrimaryOptions.clear(); in.rewind(_m); } catch(EOFException _e) { _s.drawingPrimaryOptions.clear(); in.rewind(_m); } } _m = in.setMark(); try { OfficeArtRecordHeader _optionCheck(&_s); parseOfficeArtRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 3)&&(_optionCheck.recType == 0xF122); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.drawingTertiaryOptions = QSharedPointer(new OfficeArtTertiaryFOPT(&_s)); parseOfficeArtTertiaryFOPT(in, *_s.drawingTertiaryOptions.data()); } catch(IncorrectValueException _e) { _s.drawingTertiaryOptions.clear(); in.rewind(_m); } catch(EOFException _e) { _s.drawingTertiaryOptions.clear(); in.rewind(_m); } } _m = in.setMark(); try { OfficeArtRecordHeader _optionCheck(&_s); parseOfficeArtRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 0x0)&&(_optionCheck.recType == 0xF11A)&&(_optionCheck.recLen==4*_optionCheck.recInstance); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.colorMRU = QSharedPointer(new OfficeArtColorMRUContainer(&_s)); parseOfficeArtColorMRUContainer(in, *_s.colorMRU.data()); } catch(IncorrectValueException _e) { _s.colorMRU.clear(); in.rewind(_m); } catch(EOFException _e) { _s.colorMRU.clear(); in.rewind(_m); } } _m = in.setMark(); try { OfficeArtRecordHeader _optionCheck(&_s); parseOfficeArtRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 0x0)&&(_optionCheck.recInstance == 0x4)&&(_optionCheck.recType == 0xF11E)&&(_optionCheck.recLen == 0x10); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.splitColors = QSharedPointer(new OfficeArtSplitMenuColorContainer(&_s)); parseOfficeArtSplitMenuColorContainer(in, *_s.splitColors.data()); } catch(IncorrectValueException _e) { _s.splitColors.clear(); in.rewind(_m); } catch(EOFException _e) { _s.splitColors.clear(); in.rewind(_m); } } _m = in.setMark(); try { OfficeArtRecordHeader _optionCheck(&_s); parseOfficeArtRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 0xF)&&(_optionCheck.recType == 0x0F001); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.blipStore2 = QSharedPointer(new OfficeArtBStoreContainer(&_s)); parseOfficeArtBStoreContainer(in, *_s.blipStore2.data()); } catch(IncorrectValueException _e) { _s.blipStore2.clear(); in.rewind(_m); } catch(EOFException _e) { _s.blipStore2.clear(); in.rewind(_m); } } _m = in.setMark(); try { OfficeArtRecordHeader _optionCheck(&_s); parseOfficeArtRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 3)&&(_optionCheck.recType == 0xF122); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.unknown = QSharedPointer(new OfficeArtTertiaryFOPT(&_s)); parseOfficeArtTertiaryFOPT(in, *_s.unknown.data()); } catch(IncorrectValueException _e) { _s.unknown.clear(); in.rewind(_m); } catch(EOFException _e) { _s.unknown.clear(); in.rewind(_m); } } } void MSO::parseOfficeArtFOPTEChoice(LEInputStream& in, OfficeArtFOPTEChoice& _s) { _s.streamOffset = in.getPosition(); LEInputStream::Mark _m; _m = in.setMark(); OfficeArtFOPTEOPID _choice(&_s); parseOfficeArtFOPTEOPID(in, _choice); in.rewind(_m); qint64 startPos = in.getPosition(); if (startPos == in.getPosition() && ((_choice.opid == 0x0004)&&(_choice.fBid == false)&&(_choice.fComplex == false))) { _s.anon = OfficeArtFOPTEChoice::choice3165202096(new Rotation(&_s)); parseRotation(in, *(Rotation*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.opid == 0x007F)&&(_choice.fBid == false)&&(_choice.fComplex == false))) { _s.anon = OfficeArtFOPTEChoice::choice3165202096(new ProtectionBooleanProperties(&_s)); parseProtectionBooleanProperties(in, *(ProtectionBooleanProperties*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.opid == 0x0080)&&(_choice.fBid == false)&&(_choice.fComplex == false))) { _s.anon = OfficeArtFOPTEChoice::choice3165202096(new ITxid(&_s)); parseITxid(in, *(ITxid*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.opid == 0x0081)&&(_choice.fBid == false)&&(_choice.fComplex == false))) { _s.anon = OfficeArtFOPTEChoice::choice3165202096(new DxTextLeft(&_s)); parseDxTextLeft(in, *(DxTextLeft*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.opid == 0x0082)&&(_choice.fBid == false)&&(_choice.fComplex == false))) { _s.anon = OfficeArtFOPTEChoice::choice3165202096(new DyTextTop(&_s)); parseDyTextTop(in, *(DyTextTop*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.opid == 0x0083)&&(_choice.fBid == false)&&(_choice.fComplex == false))) { _s.anon = OfficeArtFOPTEChoice::choice3165202096(new DxTextRight(&_s)); parseDxTextRight(in, *(DxTextRight*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.opid == 0x0084)&&(_choice.fBid == false)&&(_choice.fComplex == false))) { _s.anon = OfficeArtFOPTEChoice::choice3165202096(new DyTextBottom(&_s)); parseDyTextBottom(in, *(DyTextBottom*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.opid == 0x0085)&&(_choice.fBid == false)&&(_choice.fComplex == false))) { _s.anon = OfficeArtFOPTEChoice::choice3165202096(new WrapText(&_s)); parseWrapText(in, *(WrapText*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.opid == 0x0087)&&(_choice.fBid == false)&&(_choice.fComplex == false))) { _s.anon = OfficeArtFOPTEChoice::choice3165202096(new AnchorText(&_s)); parseAnchorText(in, *(AnchorText*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.opid == 0x0088)&&(_choice.fBid == false)&&(_choice.fComplex == false))) { _s.anon = OfficeArtFOPTEChoice::choice3165202096(new TxflTextFlow(&_s)); parseTxflTextFlow(in, *(TxflTextFlow*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.opid == 0x0089)&&(_choice.fBid == false)&&(_choice.fComplex == false))) { _s.anon = OfficeArtFOPTEChoice::choice3165202096(new CdirFont(&_s)); parseCdirFont(in, *(CdirFont*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.opid == 0x008A)&&(_choice.fBid == false)&&(_choice.fComplex == false))) { _s.anon = OfficeArtFOPTEChoice::choice3165202096(new HspNext(&_s)); parseHspNext(in, *(HspNext*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.opid == 0x008B)&&(_choice.fBid == false)&&(_choice.fComplex == false))) { _s.anon = OfficeArtFOPTEChoice::choice3165202096(new Txdir(&_s)); parseTxdir(in, *(Txdir*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.opid == 0x00BF)&&(_choice.fBid == false)&&(_choice.fComplex == false))) { _s.anon = OfficeArtFOPTEChoice::choice3165202096(new TextBooleanProperties(&_s)); parseTextBooleanProperties(in, *(TextBooleanProperties*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.opid == 0x0100)&&(_choice.fBid == false)&&(_choice.fComplex == false))) { _s.anon = OfficeArtFOPTEChoice::choice3165202096(new CropFromTop(&_s)); parseCropFromTop(in, *(CropFromTop*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.opid == 0x0101)&&(_choice.fBid == false)&&(_choice.fComplex == false))) { _s.anon = OfficeArtFOPTEChoice::choice3165202096(new CropFromBottom(&_s)); parseCropFromBottom(in, *(CropFromBottom*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.opid == 0x0102)&&(_choice.fBid == false)&&(_choice.fComplex == false))) { _s.anon = OfficeArtFOPTEChoice::choice3165202096(new CropFromLeft(&_s)); parseCropFromLeft(in, *(CropFromLeft*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.opid == 0x0103)&&(_choice.fBid == false)&&(_choice.fComplex == false))) { _s.anon = OfficeArtFOPTEChoice::choice3165202096(new CropFromRight(&_s)); parseCropFromRight(in, *(CropFromRight*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.opid == 0x0104))) { _s.anon = OfficeArtFOPTEChoice::choice3165202096(new Pib(&_s)); parsePib(in, *(Pib*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.opid == 0x0105))) { _s.anon = OfficeArtFOPTEChoice::choice3165202096(new PibName(&_s)); parsePibName(in, *(PibName*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.opid == 0x0106)&&(_choice.fBid == false)&&(_choice.fComplex == false))) { _s.anon = OfficeArtFOPTEChoice::choice3165202096(new PibFlags(&_s)); parsePibFlags(in, *(PibFlags*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.opid == 0x0107)&&(_choice.fBid == false)&&(_choice.fComplex == false))) { _s.anon = OfficeArtFOPTEChoice::choice3165202096(new PictureTransparent(&_s)); parsePictureTransparent(in, *(PictureTransparent*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.opid == 0x0108)&&(_choice.fBid == false)&&(_choice.fComplex == false))) { _s.anon = OfficeArtFOPTEChoice::choice3165202096(new PictureContrast(&_s)); parsePictureContrast(in, *(PictureContrast*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.opid == 0x0109)&&(_choice.fBid == false)&&(_choice.fComplex == false))) { _s.anon = OfficeArtFOPTEChoice::choice3165202096(new PictureBrightness(&_s)); parsePictureBrightness(in, *(PictureBrightness*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.opid == 0x013F)&&(_choice.fBid == false)&&(_choice.fComplex == false))) { _s.anon = OfficeArtFOPTEChoice::choice3165202096(new BlipBooleanProperties(&_s)); parseBlipBooleanProperties(in, *(BlipBooleanProperties*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.opid == 0x0140)&&(_choice.fBid == false)&&(_choice.fComplex == false))) { _s.anon = OfficeArtFOPTEChoice::choice3165202096(new GeoLeft(&_s)); parseGeoLeft(in, *(GeoLeft*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.opid == 0x0141)&&(_choice.fBid == false)&&(_choice.fComplex == false))) { _s.anon = OfficeArtFOPTEChoice::choice3165202096(new GeoTop(&_s)); parseGeoTop(in, *(GeoTop*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.opid == 0x0142)&&(_choice.fBid == false)&&(_choice.fComplex == false))) { _s.anon = OfficeArtFOPTEChoice::choice3165202096(new GeoRight(&_s)); parseGeoRight(in, *(GeoRight*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.opid == 0x0143)&&(_choice.fBid == false)&&(_choice.fComplex == false))) { _s.anon = OfficeArtFOPTEChoice::choice3165202096(new GeoBottom(&_s)); parseGeoBottom(in, *(GeoBottom*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.opid == 0x0144)&&(_choice.fBid == false)&&(_choice.fComplex == false))) { _s.anon = OfficeArtFOPTEChoice::choice3165202096(new ShapePath(&_s)); parseShapePath(in, *(ShapePath*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.opid == 0x0145))) { _s.anon = OfficeArtFOPTEChoice::choice3165202096(new PVertices(&_s)); parsePVertices(in, *(PVertices*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.opid == 0x0146))) { _s.anon = OfficeArtFOPTEChoice::choice3165202096(new PSegmentInfo(&_s)); parsePSegmentInfo(in, *(PSegmentInfo*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.opid == 0x0147)&&(_choice.fBid == false)&&(_choice.fComplex == false))) { _s.anon = OfficeArtFOPTEChoice::choice3165202096(new AdjustValue(&_s)); parseAdjustValue(in, *(AdjustValue*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.opid == 0x0148)&&(_choice.fBid == false)&&(_choice.fComplex == false))) { _s.anon = OfficeArtFOPTEChoice::choice3165202096(new Adjust2Value(&_s)); parseAdjust2Value(in, *(Adjust2Value*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.opid == 0x0149)&&(_choice.fBid == false)&&(_choice.fComplex == false))) { _s.anon = OfficeArtFOPTEChoice::choice3165202096(new Adjust3Value(&_s)); parseAdjust3Value(in, *(Adjust3Value*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.opid == 0x014A)&&(_choice.fBid == false)&&(_choice.fComplex == false))) { _s.anon = OfficeArtFOPTEChoice::choice3165202096(new Adjust4Value(&_s)); parseAdjust4Value(in, *(Adjust4Value*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.opid == 0x014B)&&(_choice.fBid == false)&&(_choice.fComplex == false))) { _s.anon = OfficeArtFOPTEChoice::choice3165202096(new Adjust5Value(&_s)); parseAdjust5Value(in, *(Adjust5Value*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.opid == 0x014C)&&(_choice.fBid == false)&&(_choice.fComplex == false))) { _s.anon = OfficeArtFOPTEChoice::choice3165202096(new Adjust6Value(&_s)); parseAdjust6Value(in, *(Adjust6Value*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.opid == 0x014D)&&(_choice.fBid == false)&&(_choice.fComplex == false))) { _s.anon = OfficeArtFOPTEChoice::choice3165202096(new Adjust7Value(&_s)); parseAdjust7Value(in, *(Adjust7Value*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.opid == 0x014E)&&(_choice.fBid == false)&&(_choice.fComplex == false))) { _s.anon = OfficeArtFOPTEChoice::choice3165202096(new Adjust8Value(&_s)); parseAdjust8Value(in, *(Adjust8Value*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.opid == 0x017F)&&(_choice.fBid == false)&&(_choice.fComplex == false))) { _s.anon = OfficeArtFOPTEChoice::choice3165202096(new GeometryBooleanProperties(&_s)); parseGeometryBooleanProperties(in, *(GeometryBooleanProperties*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.opid == 0x0180)&&(_choice.fBid == false)&&(_choice.fComplex == false))) { _s.anon = OfficeArtFOPTEChoice::choice3165202096(new FillType(&_s)); parseFillType(in, *(FillType*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.opid == 0x0181)&&(_choice.fBid == false)&&(_choice.fComplex == false))) { _s.anon = OfficeArtFOPTEChoice::choice3165202096(new FillColor(&_s)); parseFillColor(in, *(FillColor*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.opid == 0x0182)&&(_choice.fBid == false)&&(_choice.fComplex == false))) { _s.anon = OfficeArtFOPTEChoice::choice3165202096(new FillOpacity(&_s)); parseFillOpacity(in, *(FillOpacity*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.opid == 0x0183)&&(_choice.fBid == false)&&(_choice.fComplex == false))) { _s.anon = OfficeArtFOPTEChoice::choice3165202096(new FillBackColor(&_s)); parseFillBackColor(in, *(FillBackColor*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.opid == 0x0184)&&(_choice.fBid == false)&&(_choice.fComplex == false))) { _s.anon = OfficeArtFOPTEChoice::choice3165202096(new FillBackOpacity(&_s)); parseFillBackOpacity(in, *(FillBackOpacity*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.opid == 0x0185)&&(_choice.fBid == false)&&(_choice.fComplex == false))) { _s.anon = OfficeArtFOPTEChoice::choice3165202096(new FillCrMod(&_s)); parseFillCrMod(in, *(FillCrMod*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.opid == 0x0186))) { _s.anon = OfficeArtFOPTEChoice::choice3165202096(new FillBlip(&_s)); parseFillBlip(in, *(FillBlip*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.opid == 0x0187))) { _s.anon = OfficeArtFOPTEChoice::choice3165202096(new FillBlipName(&_s)); parseFillBlipName(in, *(FillBlipName*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.opid == 0x0188)&&(_choice.fBid == false)&&(_choice.fComplex == false))) { _s.anon = OfficeArtFOPTEChoice::choice3165202096(new FillBlipFlags(&_s)); parseFillBlipFlags(in, *(FillBlipFlags*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.opid == 0x0189)&&(_choice.fBid == false)&&(_choice.fComplex == false))) { _s.anon = OfficeArtFOPTEChoice::choice3165202096(new FillWidth(&_s)); parseFillWidth(in, *(FillWidth*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.opid == 0x018A)&&(_choice.fBid == false)&&(_choice.fComplex == false))) { _s.anon = OfficeArtFOPTEChoice::choice3165202096(new FillHeight(&_s)); parseFillHeight(in, *(FillHeight*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.opid == 0x018B)&&(_choice.fBid == false)&&(_choice.fComplex == false))) { _s.anon = OfficeArtFOPTEChoice::choice3165202096(new FillAngle(&_s)); parseFillAngle(in, *(FillAngle*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.opid == 0x018C)&&(_choice.fBid == false)&&(_choice.fComplex == false))) { _s.anon = OfficeArtFOPTEChoice::choice3165202096(new FillFocus(&_s)); parseFillFocus(in, *(FillFocus*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.opid == 0x018D)&&(_choice.fBid == false)&&(_choice.fComplex == false))) { _s.anon = OfficeArtFOPTEChoice::choice3165202096(new FillToLeft(&_s)); parseFillToLeft(in, *(FillToLeft*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.opid == 0x018E)&&(_choice.fBid == false)&&(_choice.fComplex == false))) { _s.anon = OfficeArtFOPTEChoice::choice3165202096(new FillToTop(&_s)); parseFillToTop(in, *(FillToTop*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.opid == 0x018F)&&(_choice.fBid == false)&&(_choice.fComplex == false))) { _s.anon = OfficeArtFOPTEChoice::choice3165202096(new FillToRight(&_s)); parseFillToRight(in, *(FillToRight*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.opid == 0x0190)&&(_choice.fBid == false)&&(_choice.fComplex == false))) { _s.anon = OfficeArtFOPTEChoice::choice3165202096(new FillToBottom(&_s)); parseFillToBottom(in, *(FillToBottom*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.opid == 0x0191)&&(_choice.fBid == false)&&(_choice.fComplex == false))) { _s.anon = OfficeArtFOPTEChoice::choice3165202096(new FillRectLeft(&_s)); parseFillRectLeft(in, *(FillRectLeft*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.opid == 0x0192)&&(_choice.fBid == false)&&(_choice.fComplex == false))) { _s.anon = OfficeArtFOPTEChoice::choice3165202096(new FillRectTop(&_s)); parseFillRectTop(in, *(FillRectTop*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.opid == 0x0193)&&(_choice.fBid == false)&&(_choice.fComplex == false))) { _s.anon = OfficeArtFOPTEChoice::choice3165202096(new FillRectRight(&_s)); parseFillRectRight(in, *(FillRectRight*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.opid == 0x0194)&&(_choice.fBid == false)&&(_choice.fComplex == false))) { _s.anon = OfficeArtFOPTEChoice::choice3165202096(new FillRectBottom(&_s)); parseFillRectBottom(in, *(FillRectBottom*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.opid == 0x0195)&&(_choice.fBid == false)&&(_choice.fComplex == false))) { _s.anon = OfficeArtFOPTEChoice::choice3165202096(new FillDztype(&_s)); parseFillDztype(in, *(FillDztype*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.opid == 0x0196)&&(_choice.fBid == false)&&(_choice.fComplex == false))) { _s.anon = OfficeArtFOPTEChoice::choice3165202096(new FillShadePreset(&_s)); parseFillShadePreset(in, *(FillShadePreset*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.opid == 0x0197))) { _s.anon = OfficeArtFOPTEChoice::choice3165202096(new FillShadeColors(&_s)); parseFillShadeColors(in, *(FillShadeColors*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.opid == 0x0198)&&(_choice.fBid == false)&&(_choice.fComplex == false))) { _s.anon = OfficeArtFOPTEChoice::choice3165202096(new FillOriginX(&_s)); parseFillOriginX(in, *(FillOriginX*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.opid == 0x0199)&&(_choice.fBid == false)&&(_choice.fComplex == false))) { _s.anon = OfficeArtFOPTEChoice::choice3165202096(new FillOriginY(&_s)); parseFillOriginY(in, *(FillOriginY*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.opid == 0x019A)&&(_choice.fBid == false)&&(_choice.fComplex == false))) { _s.anon = OfficeArtFOPTEChoice::choice3165202096(new FillShapeOriginX(&_s)); parseFillShapeOriginX(in, *(FillShapeOriginX*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.opid == 0x019B)&&(_choice.fBid == false)&&(_choice.fComplex == false))) { _s.anon = OfficeArtFOPTEChoice::choice3165202096(new FillShapeOriginY(&_s)); parseFillShapeOriginY(in, *(FillShapeOriginY*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.opid == 0x019E)&&(_choice.fBid == false)&&(_choice.fComplex == false))) { _s.anon = OfficeArtFOPTEChoice::choice3165202096(new FillColorExt(&_s)); parseFillColorExt(in, *(FillColorExt*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.opid == 0x01A2)&&(_choice.fBid == false)&&(_choice.fComplex == false))) { _s.anon = OfficeArtFOPTEChoice::choice3165202096(new FillBackColorExt(&_s)); parseFillBackColorExt(in, *(FillBackColorExt*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.opid == 0x01BF)&&(_choice.fBid == false)&&(_choice.fComplex == false))) { _s.anon = OfficeArtFOPTEChoice::choice3165202096(new FillStyleBooleanProperties(&_s)); parseFillStyleBooleanProperties(in, *(FillStyleBooleanProperties*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.opid == 0x01C0)&&(_choice.fBid == false)&&(_choice.fComplex == false))) { _s.anon = OfficeArtFOPTEChoice::choice3165202096(new LineColor(&_s)); parseLineColor(in, *(LineColor*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.opid == 0x01C1)&&(_choice.fBid == false)&&(_choice.fComplex == false))) { _s.anon = OfficeArtFOPTEChoice::choice3165202096(new LineOpacity(&_s)); parseLineOpacity(in, *(LineOpacity*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.opid == 0x01C2))) { _s.anon = OfficeArtFOPTEChoice::choice3165202096(new LineBackColor(&_s)); parseLineBackColor(in, *(LineBackColor*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.opid == 0x01C5))) { _s.anon = OfficeArtFOPTEChoice::choice3165202096(new LineFillBlip(&_s)); parseLineFillBlip(in, *(LineFillBlip*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.opid == 0x01CB)&&(_choice.fBid == false)&&(_choice.fComplex == false))) { _s.anon = OfficeArtFOPTEChoice::choice3165202096(new LineWidth(&_s)); parseLineWidth(in, *(LineWidth*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.opid == 0x01CD)&&(_choice.fBid == false)&&(_choice.fComplex == false))) { _s.anon = OfficeArtFOPTEChoice::choice3165202096(new LineStyle(&_s)); parseLineStyle(in, *(LineStyle*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.opid == 0x01CE)&&(_choice.fBid == false)&&(_choice.fComplex == false))) { _s.anon = OfficeArtFOPTEChoice::choice3165202096(new LineDashing(&_s)); parseLineDashing(in, *(LineDashing*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.opid == 0x01D0)&&(_choice.fBid == false)&&(_choice.fComplex == false))) { _s.anon = OfficeArtFOPTEChoice::choice3165202096(new LineStartArrowhead(&_s)); parseLineStartArrowhead(in, *(LineStartArrowhead*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.opid == 0x01D1)&&(_choice.fBid == false)&&(_choice.fComplex == false))) { _s.anon = OfficeArtFOPTEChoice::choice3165202096(new LineEndArrowhead(&_s)); parseLineEndArrowhead(in, *(LineEndArrowhead*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.opid == 0x01D2)&&(_choice.fBid == false)&&(_choice.fComplex == false))) { _s.anon = OfficeArtFOPTEChoice::choice3165202096(new LineStartArrowWidth(&_s)); parseLineStartArrowWidth(in, *(LineStartArrowWidth*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.opid == 0x01D3)&&(_choice.fBid == false)&&(_choice.fComplex == false))) { _s.anon = OfficeArtFOPTEChoice::choice3165202096(new LineStartArrowLength(&_s)); parseLineStartArrowLength(in, *(LineStartArrowLength*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.opid == 0x01D4)&&(_choice.fBid == false)&&(_choice.fComplex == false))) { _s.anon = OfficeArtFOPTEChoice::choice3165202096(new LineEndArrowWidth(&_s)); parseLineEndArrowWidth(in, *(LineEndArrowWidth*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.opid == 0x01D5)&&(_choice.fBid == false)&&(_choice.fComplex == false))) { _s.anon = OfficeArtFOPTEChoice::choice3165202096(new LineEndArrowLength(&_s)); parseLineEndArrowLength(in, *(LineEndArrowLength*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.opid == 0x01D6)&&(_choice.fBid == false)&&(_choice.fComplex == false))) { _s.anon = OfficeArtFOPTEChoice::choice3165202096(new LineJoinStyle(&_s)); parseLineJoinStyle(in, *(LineJoinStyle*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.opid == 0x01D7)&&(_choice.fBid == false)&&(_choice.fComplex == false))) { _s.anon = OfficeArtFOPTEChoice::choice3165202096(new LineEndCapStyle(&_s)); parseLineEndCapStyle(in, *(LineEndCapStyle*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.opid == 0x01FF)&&(_choice.fBid == false)&&(_choice.fComplex == false))) { _s.anon = OfficeArtFOPTEChoice::choice3165202096(new LineStyleBooleanProperties(&_s)); parseLineStyleBooleanProperties(in, *(LineStyleBooleanProperties*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.opid == 0x0200)&&(_choice.fBid == false)&&(_choice.fComplex == false))) { _s.anon = OfficeArtFOPTEChoice::choice3165202096(new ShadowType(&_s)); parseShadowType(in, *(ShadowType*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.opid == 0x0201)&&(_choice.fBid == false)&&(_choice.fComplex == false))) { _s.anon = OfficeArtFOPTEChoice::choice3165202096(new ShadowColor(&_s)); parseShadowColor(in, *(ShadowColor*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.opid == 0x0204)&&(_choice.fBid == false)&&(_choice.fComplex == false))) { _s.anon = OfficeArtFOPTEChoice::choice3165202096(new ShadowOpacity(&_s)); parseShadowOpacity(in, *(ShadowOpacity*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.opid == 0x0205)&&(_choice.fBid == false)&&(_choice.fComplex == false))) { _s.anon = OfficeArtFOPTEChoice::choice3165202096(new ShadowOffsetX(&_s)); parseShadowOffsetX(in, *(ShadowOffsetX*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.opid == 0x0206)&&(_choice.fBid == false)&&(_choice.fComplex == false))) { _s.anon = OfficeArtFOPTEChoice::choice3165202096(new ShadowOffsetY(&_s)); parseShadowOffsetY(in, *(ShadowOffsetY*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.opid == 0x023F)&&(_choice.fBid == false)&&(_choice.fComplex == false))) { _s.anon = OfficeArtFOPTEChoice::choice3165202096(new ShadowStyleBooleanProperties(&_s)); parseShadowStyleBooleanProperties(in, *(ShadowStyleBooleanProperties*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.opid == 0x0301)&&(_choice.fBid == false)&&(_choice.fComplex == false))) { _s.anon = OfficeArtFOPTEChoice::choice3165202096(new HspMaster(&_s)); parseHspMaster(in, *(HspMaster*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.opid == 0x0303)&&(_choice.fBid == false)&&(_choice.fComplex == false))) { _s.anon = OfficeArtFOPTEChoice::choice3165202096(new Cxstyle(&_s)); parseCxstyle(in, *(Cxstyle*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.opid == 0x0304)&&(_choice.fBid == false)&&(_choice.fComplex == false))) { _s.anon = OfficeArtFOPTEChoice::choice3165202096(new BWMode(&_s)); parseBWMode(in, *(BWMode*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.opid == 0x033F)&&(_choice.fBid == false)&&(_choice.fComplex == false))) { _s.anon = OfficeArtFOPTEChoice::choice3165202096(new ShapeBooleanProperties(&_s)); parseShapeBooleanProperties(in, *(ShapeBooleanProperties*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.opid == 0x0341)&&(_choice.fBid == false)&&(_choice.fComplex == false))) { _s.anon = OfficeArtFOPTEChoice::choice3165202096(new DxyCalloutGap(&_s)); parseDxyCalloutGap(in, *(DxyCalloutGap*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.opid == 0x0342)&&(_choice.fBid == false)&&(_choice.fComplex == false))) { _s.anon = OfficeArtFOPTEChoice::choice3165202096(new Spcoa(&_s)); parseSpcoa(in, *(Spcoa*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.opid == 0x0343)&&(_choice.fBid == false)&&(_choice.fComplex == false))) { _s.anon = OfficeArtFOPTEChoice::choice3165202096(new Spcod(&_s)); parseSpcod(in, *(Spcod*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.opid == 0x0344)&&(_choice.fBid == false)&&(_choice.fComplex == false))) { _s.anon = OfficeArtFOPTEChoice::choice3165202096(new DxyCalloutDropSpecified(&_s)); parseDxyCalloutDropSpecified(in, *(DxyCalloutDropSpecified*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.opid == 0x0345)&&(_choice.fBid == false)&&(_choice.fComplex == false))) { _s.anon = OfficeArtFOPTEChoice::choice3165202096(new DxyCalloutLengthSpecified(&_s)); parseDxyCalloutLengthSpecified(in, *(DxyCalloutLengthSpecified*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.opid == 0x037F)&&(_choice.fBid == false)&&(_choice.fComplex == false))) { _s.anon = OfficeArtFOPTEChoice::choice3165202096(new CalloutBooleanProperties(&_s)); parseCalloutBooleanProperties(in, *(CalloutBooleanProperties*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.opid == 0x0383))) { _s.anon = OfficeArtFOPTEChoice::choice3165202096(new PWrapPolygonVertices(&_s)); parsePWrapPolygonVertices(in, *(PWrapPolygonVertices*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.opid == 0x0384)&&(_choice.fBid == false)&&(_choice.fComplex == false))) { _s.anon = OfficeArtFOPTEChoice::choice3165202096(new DxWrapDistLeft(&_s)); parseDxWrapDistLeft(in, *(DxWrapDistLeft*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.opid == 0x0385)&&(_choice.fBid == false)&&(_choice.fComplex == false))) { _s.anon = OfficeArtFOPTEChoice::choice3165202096(new DyWrapDistTop(&_s)); parseDyWrapDistTop(in, *(DyWrapDistTop*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.opid == 0x0386)&&(_choice.fBid == false)&&(_choice.fComplex == false))) { _s.anon = OfficeArtFOPTEChoice::choice3165202096(new DxWrapDistRight(&_s)); parseDxWrapDistRight(in, *(DxWrapDistRight*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.opid == 0x0387)&&(_choice.fBid == false)&&(_choice.fComplex == false))) { _s.anon = OfficeArtFOPTEChoice::choice3165202096(new DyWrapDistBottom(&_s)); parseDyWrapDistBottom(in, *(DyWrapDistBottom*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.opid == 0x0388)&&(_choice.fBid == false)&&(_choice.fComplex == false))) { _s.anon = OfficeArtFOPTEChoice::choice3165202096(new LidRegroup(&_s)); parseLidRegroup(in, *(LidRegroup*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.opid == 0x038F)&&(_choice.fBid == false)&&(_choice.fComplex == false))) { _s.anon = OfficeArtFOPTEChoice::choice3165202096(new PosH(&_s)); parsePosH(in, *(PosH*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.opid == 0x0390)&&(_choice.fBid == false)&&(_choice.fComplex == false))) { _s.anon = OfficeArtFOPTEChoice::choice3165202096(new PosRelH(&_s)); parsePosRelH(in, *(PosRelH*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.opid == 0x0391)&&(_choice.fBid == false)&&(_choice.fComplex == false))) { _s.anon = OfficeArtFOPTEChoice::choice3165202096(new PosV(&_s)); parsePosV(in, *(PosV*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.opid == 0x0392)&&(_choice.fBid == false)&&(_choice.fComplex == false))) { _s.anon = OfficeArtFOPTEChoice::choice3165202096(new PosRelV(&_s)); parsePosRelV(in, *(PosRelV*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.opid == 0x0393)&&(_choice.fBid == false)&&(_choice.fComplex == false))) { _s.anon = OfficeArtFOPTEChoice::choice3165202096(new PctHR(&_s)); parsePctHR(in, *(PctHR*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.opid == 0x0394)&&(_choice.fBid == false)&&(_choice.fComplex == false))) { _s.anon = OfficeArtFOPTEChoice::choice3165202096(new AlignHR(&_s)); parseAlignHR(in, *(AlignHR*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.opid == 0x0395)&&(_choice.fBid == false)&&(_choice.fComplex == false))) { _s.anon = OfficeArtFOPTEChoice::choice3165202096(new DxHeightHR(&_s)); parseDxHeightHR(in, *(DxHeightHR*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.opid == 0x0396)&&(_choice.fBid == false)&&(_choice.fComplex == false))) { _s.anon = OfficeArtFOPTEChoice::choice3165202096(new DxWidthHR(&_s)); parseDxWidthHR(in, *(DxWidthHR*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.opid == 0x039b)&&(_choice.fBid == false)&&(_choice.fComplex == false))) { _s.anon = OfficeArtFOPTEChoice::choice3165202096(new BorderTopColor(&_s)); parseBorderTopColor(in, *(BorderTopColor*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.opid == 0x039c)&&(_choice.fBid == false)&&(_choice.fComplex == false))) { _s.anon = OfficeArtFOPTEChoice::choice3165202096(new BorderLeftColor(&_s)); parseBorderLeftColor(in, *(BorderLeftColor*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.opid == 0x039d)&&(_choice.fBid == false)&&(_choice.fComplex == false))) { _s.anon = OfficeArtFOPTEChoice::choice3165202096(new BorderBottomColor(&_s)); parseBorderBottomColor(in, *(BorderBottomColor*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.opid == 0x039e)&&(_choice.fBid == false)&&(_choice.fComplex == false))) { _s.anon = OfficeArtFOPTEChoice::choice3165202096(new BorderRightColor(&_s)); parseBorderRightColor(in, *(BorderRightColor*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.opid == 0x03bf)&&(_choice.fBid == false)&&(_choice.fComplex == false))) { _s.anon = OfficeArtFOPTEChoice::choice3165202096(new GroupShapeBooleanProperties(&_s)); parseGroupShapeBooleanProperties(in, *(GroupShapeBooleanProperties*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.opid == 0x0403))) { _s.anon = OfficeArtFOPTEChoice::choice3165202096(new WzFillId(&_s)); parseWzFillId(in, *(WzFillId*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.opid == 0x053F)&&(_choice.fBid == false)&&(_choice.fComplex == false))) { _s.anon = OfficeArtFOPTEChoice::choice3165202096(new DiagramBooleanProperties(&_s)); parseDiagramBooleanProperties(in, *(DiagramBooleanProperties*)_s.anon.data()); } if (startPos == in.getPosition()) { _s.anon = OfficeArtFOPTEChoice::choice3165202096(new OfficeArtFOPTE(&_s)); parseOfficeArtFOPTE(in, *(OfficeArtFOPTE*)_s.anon.data()); } } void MSO::parseOfficeArtClientAnchor(LEInputStream& in, OfficeArtClientAnchor& _s) { _s.streamOffset = in.getPosition(); LEInputStream::Mark _m; _m = in.setMark(); OfficeArtRecordHeader _choice(&_s); parseOfficeArtRecordHeader(in, _choice); in.rewind(_m); qint64 startPos = in.getPosition(); if (startPos == in.getPosition() && ((_choice.recLen == 0x8 || _choice.recLen == 0x10))) { _s.anon = OfficeArtClientAnchor::choice1726903461(new PptOfficeArtClientAnchor(&_s)); parsePptOfficeArtClientAnchor(in, *(PptOfficeArtClientAnchor*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.recLen == 0x4))) { _s.anon = OfficeArtClientAnchor::choice1726903461(new DocOfficeArtClientAnchor(&_s)); parseDocOfficeArtClientAnchor(in, *(DocOfficeArtClientAnchor*)_s.anon.data()); } if (startPos == in.getPosition()) { _s.anon = OfficeArtClientAnchor::choice1726903461(new XlsOfficeArtClientAnchor(&_s)); parseXlsOfficeArtClientAnchor(in, *(XlsOfficeArtClientAnchor*)_s.anon.data()); } } void MSO::parsePptOfficeArtClientData(LEInputStream& in, PptOfficeArtClientData& _s) { _s.streamOffset = in.getPosition(); LEInputStream::Mark _m; bool _possiblyPresent; bool _atend; parseOfficeArtRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0xF)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0xF"); } if (!(_s.rh.recInstance == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0"); } if (!(_s.rh.recType == 0xF011)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0xF011"); } _m = in.setMark(); try { OfficeArtRecordHeader _optionCheck(&_s); parseOfficeArtRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 0)&&(_optionCheck.recInstance == 0)&&(_optionCheck.recType == 0xBDB)&&(_optionCheck.recLen == 1); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.shapeFlagsAtom = QSharedPointer(new ShapeFlagsAtom(&_s)); parseShapeFlagsAtom(in, *_s.shapeFlagsAtom.data()); } catch(IncorrectValueException _e) { _s.shapeFlagsAtom.clear(); in.rewind(_m); } catch(EOFException _e) { _s.shapeFlagsAtom.clear(); in.rewind(_m); } } _m = in.setMark(); try { OfficeArtRecordHeader _optionCheck(&_s); parseOfficeArtRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 0)&&(_optionCheck.recInstance == 0)&&(_optionCheck.recType == 0xBDC)&&(_optionCheck.recLen == 1); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.shapeFlags10Atom = QSharedPointer(new ShapeFlags10Atom(&_s)); parseShapeFlags10Atom(in, *_s.shapeFlags10Atom.data()); } catch(IncorrectValueException _e) { _s.shapeFlags10Atom.clear(); in.rewind(_m); } catch(EOFException _e) { _s.shapeFlags10Atom.clear(); in.rewind(_m); } } _m = in.setMark(); try { OfficeArtRecordHeader _optionCheck(&_s); parseOfficeArtRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 0)&&(_optionCheck.recInstance == 0)&&(_optionCheck.recType == 0xBC1)&&(_optionCheck.recLen == 4); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.exObjRefAtom = QSharedPointer(new ExObjRefAtom(&_s)); parseExObjRefAtom(in, *_s.exObjRefAtom.data()); } catch(IncorrectValueException _e) { _s.exObjRefAtom.clear(); in.rewind(_m); } catch(EOFException _e) { _s.exObjRefAtom.clear(); in.rewind(_m); } } _m = in.setMark(); try { OfficeArtRecordHeader _optionCheck(&_s); parseOfficeArtRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 0xF)&&(_optionCheck.recInstance == 0)&&(_optionCheck.recType == 0x1014); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.animationInfo = QSharedPointer(new AnimationInfoContainer(&_s)); parseAnimationInfoContainer(in, *_s.animationInfo.data()); } catch(IncorrectValueException _e) { _s.animationInfo.clear(); in.rewind(_m); } catch(EOFException _e) { _s.animationInfo.clear(); in.rewind(_m); } } _m = in.setMark(); try { RecordHeader _optionCheck(&_s); parseRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 0xF)&&(_optionCheck.recInstance == 0)&&(_optionCheck.recType == 0xFF2); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.mouseClickInteractiveInfo = QSharedPointer(new MouseClickInteractiveInfoContainer(&_s)); parseMouseClickInteractiveInfoContainer(in, *_s.mouseClickInteractiveInfo.data()); } catch(IncorrectValueException _e) { _s.mouseClickInteractiveInfo.clear(); in.rewind(_m); } catch(EOFException _e) { _s.mouseClickInteractiveInfo.clear(); in.rewind(_m); } } _m = in.setMark(); try { RecordHeader _optionCheck(&_s); parseRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 0xF)&&(_optionCheck.recInstance == 1)&&(_optionCheck.recType == 0xFF2); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.mouseOverInteractiveInfo = QSharedPointer(new MouseOverInteractiveInfoContainer(&_s)); parseMouseOverInteractiveInfoContainer(in, *_s.mouseOverInteractiveInfo.data()); } catch(IncorrectValueException _e) { _s.mouseOverInteractiveInfo.clear(); in.rewind(_m); } catch(EOFException _e) { _s.mouseOverInteractiveInfo.clear(); in.rewind(_m); } } _atend = false; while (!_atend) { _m = in.setMark(); try { _s.rgShapeClientRoundtripData0.append(ShapeClientRoundtripDataSubcontainerOrAtom(&_s)); parseShapeClientRoundtripDataSubcontainerOrAtom(in, _s.rgShapeClientRoundtripData0.last()); } catch(IncorrectValueException _e) { _s.rgShapeClientRoundtripData0.removeLast(); _atend = true; in.rewind(_m); } catch(EOFException _e) { _s.rgShapeClientRoundtripData0.removeLast(); _atend = true; in.rewind(_m); } } _m = in.setMark(); try { OfficeArtRecordHeader _optionCheck(&_s); parseOfficeArtRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 0)&&(_optionCheck.recInstance == 0)&&(_optionCheck.recType == 0xBC3)&&(_optionCheck.recLen == 8); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.placeholderAtom = QSharedPointer(new PlaceholderAtom(&_s)); parsePlaceholderAtom(in, *_s.placeholderAtom.data()); } catch(IncorrectValueException _e) { _s.placeholderAtom.clear(); in.rewind(_m); } catch(EOFException _e) { _s.placeholderAtom.clear(); in.rewind(_m); } } _m = in.setMark(); try { OfficeArtRecordHeader _optionCheck(&_s); parseOfficeArtRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 0)&&(_optionCheck.recInstance == 0)&&(_optionCheck.recType == 0xFE7); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.recolorInfoAtom = QSharedPointer(new RecolorInfoAtom(&_s)); parseRecolorInfoAtom(in, *_s.recolorInfoAtom.data()); } catch(IncorrectValueException _e) { _s.recolorInfoAtom.clear(); in.rewind(_m); } catch(EOFException _e) { _s.recolorInfoAtom.clear(); in.rewind(_m); } } _m = in.setMark(); try { RecordHeader _optionCheck(&_s); parseRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 0)&&(_optionCheck.recInstance == 0)&&(_optionCheck.recType == 0xFE8 || _optionCheck.recType == 0x1019); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.unknown1 = QSharedPointer(new UnknownOfficeArtClientDataChild(&_s)); parseUnknownOfficeArtClientDataChild(in, *_s.unknown1.data()); } catch(IncorrectValueException _e) { _s.unknown1.clear(); in.rewind(_m); } catch(EOFException _e) { _s.unknown1.clear(); in.rewind(_m); } } _atend = false; while (!_atend) { _m = in.setMark(); try { _s.rgShapeClientRoundtripData.append(ShapeClientRoundtripDataSubcontainerOrAtom(&_s)); parseShapeClientRoundtripDataSubcontainerOrAtom(in, _s.rgShapeClientRoundtripData.last()); } catch(IncorrectValueException _e) { _s.rgShapeClientRoundtripData.removeLast(); _atend = true; in.rewind(_m); } catch(EOFException _e) { _s.rgShapeClientRoundtripData.removeLast(); _atend = true; in.rewind(_m); } } _m = in.setMark(); try { RecordHeader _optionCheck(&_s); parseRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 0)&&(_optionCheck.recInstance == 0)&&(_optionCheck.recType == 0xFE8 || _optionCheck.recType == 0x1019); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.unknown2 = QSharedPointer(new UnknownOfficeArtClientDataChild(&_s)); parseUnknownOfficeArtClientDataChild(in, *_s.unknown2.data()); } catch(IncorrectValueException _e) { _s.unknown2.clear(); in.rewind(_m); } catch(EOFException _e) { _s.unknown2.clear(); in.rewind(_m); } } } void MSO::parseShapeProgBinaryTagContainer(LEInputStream& in, ShapeProgBinaryTagContainer& _s) { _s.streamOffset = in.getPosition(); parseOfficeArtRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0xF)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0xF"); } if (!(_s.rh.recInstance == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0"); } if (!(_s.rh.recType == 0x138A)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x138A"); } parseShapeProgBinaryTagSubContainerOrAtom(in, _s.rec); } void MSO::parseWordDocument(LEInputStream& in, WordDocument& _s) { _s.streamOffset = in.getPosition(); parseFib(in, _s.fib); } void MSO::parseTable(LEInputStream& in, Table& _s) { _s.streamOffset = in.getPosition(); int _c; LEInputStream::Mark _m; parseSTSH(in, _s.stsh); parsePlcfSed(in, _s.plcfSed); parsePlcfhdd(in, _s.plcfHdd); parsePlcBteChpx(in, _s.plcfBteChpx); parsePlcfBtePapx(in, _s.plcfBtePapx); parseTcg(in, _s.cmds); parseClx(in, _s.clx); parseSttbfFfn(in, _s.sttbfFfn); _c = 600; _s.dop.resize(_c); in.readBytes(_s.dop); } void MSO::parsePcd(LEInputStream& in, Pcd& _s) { _s.streamOffset = in.getPosition(); _s.fNoParaLast = in.readbit(); _s.fR1 = in.readbit(); _s.fDirtly = in.readbit(); if (!(((bool)_s.fDirtly) == false)) { throw IncorrectValueException(in.getPosition(), "((bool)_s.fDirtly) == false"); } _s.fR2 = in.readbit(); _s.fR3 = in.readuint12(); parseFCompressed(in, _s.fc); parsePrm(in, _s.prm); } void MSO::parseOfficeArtFBSE(LEInputStream& in, OfficeArtFBSE& _s) { _s.streamOffset = in.getPosition(); int _c; LEInputStream::Mark _m; parseOfficeArtRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0x2)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0x2"); } if (!(_s.rh.recInstance == 0 || _s.rh.recInstance == 1 || _s.rh.recInstance == 2 || _s.rh.recInstance == 3 || _s.rh.recInstance == 4 || _s.rh.recInstance == 5 || _s.rh.recInstance == 6 || _s.rh.recInstance == 7 || _s.rh.recInstance == 0x11 || _s.rh.recInstance == 0x12)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0 || _s.rh.recInstance == 1 || _s.rh.recInstance == 2 || _s.rh.recInstance == 3 || _s.rh.recInstance == 4 || _s.rh.recInstance == 5 || _s.rh.recInstance == 6 || _s.rh.recInstance == 7 || _s.rh.recInstance == 0x11 || _s.rh.recInstance == 0x12"); } if (!(_s.rh.recType == 0xF007)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0xF007"); } _s.btWin32 = in.readuint8(); _s.btMacOS = in.readuint8(); _c = 16; _s.rgbUid.resize(_c); in.readBytes(_s.rgbUid); _s.tag = in.readuint16(); _s.size = in.readuint32(); _s.cRef = in.readuint32(); _s.foDelay = in.readuint32(); _s.unused1 = in.readuint8(); _s.cbName = in.readuint8(); _s.unused2 = in.readuint8(); _s.unused3 = in.readuint8(); _s._has_nameData = _s.cbName>0; if (_s._has_nameData) { _c = _s.cbName; _s.nameData.resize(_c); in.readBytes(_s.nameData); } if (_s.rh.recLen > 36 + _s.cbName) { _s.embeddedBlip = QSharedPointer(new OfficeArtBlip(&_s)); parseOfficeArtBlip(in, *_s.embeddedBlip.data()); } } void MSO::parseOfficeArtBStoreContainerFileBlock(LEInputStream& in, OfficeArtBStoreContainerFileBlock& _s) { _s.streamOffset = in.getPosition(); LEInputStream::Mark _m; _m = in.setMark(); OfficeArtRecordHeader _choice(&_s); parseOfficeArtRecordHeader(in, _choice); in.rewind(_m); qint64 startPos = in.getPosition(); if (startPos == in.getPosition() && ((_choice.recVer == 0x2)&&(_choice.recInstance == 0 || _choice.recInstance == 1 || _choice.recInstance == 2 || _choice.recInstance == 3 || _choice.recInstance == 4 || _choice.recInstance == 5 || _choice.recInstance == 6 || _choice.recInstance == 7 || _choice.recInstance == 0x11 || _choice.recInstance == 0x12)&&(_choice.recType == 0xF007))) { _s.anon = OfficeArtBStoreContainerFileBlock::choice2043165903(new OfficeArtFBSE(&_s)); parseOfficeArtFBSE(in, *(OfficeArtFBSE*)_s.anon.data()); } if (startPos == in.getPosition()) { _s.anon = OfficeArtBStoreContainerFileBlock::choice2043165903(new OfficeArtBlip(&_s)); parseOfficeArtBlip(in, *(OfficeArtBlip*)_s.anon.data()); } } void MSO::parseSlideViewInfoInstance(LEInputStream& in, SlideViewInfoInstance& _s) { _s.streamOffset = in.getPosition(); LEInputStream::Mark _m; bool _possiblyPresent; bool _atend; parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0xF)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0xF"); } if (!(_s.rh.recInstance == 0 || _s.rh.recInstance == 1)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0 || _s.rh.recInstance == 1"); } if (!(_s.rh.recType == 0x3FA)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x3FA"); } parseSlideViewInfoAtom(in, _s.slideViewInfoAtom); _m = in.setMark(); try { RecordHeader _optionCheck(&_s); parseRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 0)&&(_optionCheck.recInstance == 0)&&(_optionCheck.recType == 0x3FD)&&(_optionCheck.recLen == 0x34); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.zoomViewInfoAtom = QSharedPointer(new ZoomViewInfoAtom(&_s)); parseZoomViewInfoAtom(in, *_s.zoomViewInfoAtom.data()); } catch(IncorrectValueException _e) { _s.zoomViewInfoAtom.clear(); in.rewind(_m); } catch(EOFException _e) { _s.zoomViewInfoAtom.clear(); in.rewind(_m); } } _atend = false; while (!_atend) { _m = in.setMark(); try { _s.rgGuideAtom.append(GuideAtom(&_s)); parseGuideAtom(in, _s.rgGuideAtom.last()); } catch(IncorrectValueException _e) { _s.rgGuideAtom.removeLast(); _atend = true; in.rewind(_m); } catch(EOFException _e) { _s.rgGuideAtom.removeLast(); _atend = true; in.rewind(_m); } } } void MSO::parseDocProgBinaryTagSubContainerOrAtom(LEInputStream& in, DocProgBinaryTagSubContainerOrAtom& _s) { _s.streamOffset = in.getPosition(); LEInputStream::Mark _m; _m = in.setMark(); try { _s.anon = DocProgBinaryTagSubContainerOrAtom::choice214961565(new PP9DocBinaryTagExtension(&_s)); parsePP9DocBinaryTagExtension(in, *(PP9DocBinaryTagExtension*)_s.anon.data()); } catch (IncorrectValueException _x) { _s.anon.clear(); in.rewind(_m); try { _s.anon = DocProgBinaryTagSubContainerOrAtom::choice214961565(new PP10DocBinaryTagExtension(&_s)); parsePP10DocBinaryTagExtension(in, *(PP10DocBinaryTagExtension*)_s.anon.data()); } catch (IncorrectValueException _xx) { _s.anon.clear(); in.rewind(_m); try { _s.anon = DocProgBinaryTagSubContainerOrAtom::choice214961565(new PP11DocBinaryTagExtension(&_s)); parsePP11DocBinaryTagExtension(in, *(PP11DocBinaryTagExtension*)_s.anon.data()); } catch (IncorrectValueException _xxx) { _s.anon.clear(); in.rewind(_m); try { _s.anon = DocProgBinaryTagSubContainerOrAtom::choice214961565(new PP12DocBinaryTagExtension(&_s)); parsePP12DocBinaryTagExtension(in, *(PP12DocBinaryTagExtension*)_s.anon.data()); } catch (IncorrectValueException _xxxx) { _s.anon.clear(); in.rewind(_m); _s.anon = DocProgBinaryTagSubContainerOrAtom::choice214961565(new UnknownBinaryTag(&_s)); parseUnknownBinaryTag(in, *(UnknownBinaryTag*)_s.anon.data()); }}}} } void MSO::parseTextMasterStyle9Atom(LEInputStream& in, TextMasterStyle9Atom& _s) { _s.streamOffset = in.getPosition(); parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0x0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0x0"); } if (!(_s.rh.recInstance == 0 || _s.rh.recInstance == 1 || _s.rh.recInstance == 2 || _s.rh.recInstance == 3 || _s.rh.recInstance == 4 || _s.rh.recInstance == 5 || _s.rh.recInstance == 6 || _s.rh.recInstance == 7 || _s.rh.recInstance == 8)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0 || _s.rh.recInstance == 1 || _s.rh.recInstance == 2 || _s.rh.recInstance == 3 || _s.rh.recInstance == 4 || _s.rh.recInstance == 5 || _s.rh.recInstance == 6 || _s.rh.recInstance == 7 || _s.rh.recInstance == 8"); } if (!(_s.rh.recType == 0x0FAD)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x0FAD"); } _s.cLevels = in.readuint16(); if (!(((quint16)_s.cLevels)<=5)) { throw IncorrectValueException(in.getPosition(), "((quint16)_s.cLevels)<=5"); } if (_s.cLevels>0) { _s.lstLvl1 = QSharedPointer(new TextMasterStyle9Level(&_s)); parseTextMasterStyle9Level(in, *_s.lstLvl1.data()); } if (_s.cLevels>1) { _s.lstLvl2 = QSharedPointer(new TextMasterStyle9Level(&_s)); parseTextMasterStyle9Level(in, *_s.lstLvl2.data()); } if (_s.cLevels>2) { _s.lstLvl3 = QSharedPointer(new TextMasterStyle9Level(&_s)); parseTextMasterStyle9Level(in, *_s.lstLvl3.data()); } if (_s.cLevels>3) { _s.lstLvl4 = QSharedPointer(new TextMasterStyle9Level(&_s)); parseTextMasterStyle9Level(in, *_s.lstLvl4.data()); } if (_s.cLevels>4) { _s.lstLvl5 = QSharedPointer(new TextMasterStyle9Level(&_s)); parseTextMasterStyle9Level(in, *_s.lstLvl5.data()); } } void MSO::parseBlipEntityAtom(LEInputStream& in, BlipEntityAtom& _s) { _s.streamOffset = in.getPosition(); parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0"); } if (!(_s.rh.recInstance<=128)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance<=128"); } if (!(_s.rh.recType == 0x07F9)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x07F9"); } _s.winBlipType = in.readuint8(); if (!(((quint8)_s.winBlipType) == 0x02 || ((quint8)_s.winBlipType) == 0x03 || ((quint8)_s.winBlipType) == 0x05 || ((quint8)_s.winBlipType) == 0x06)) { throw IncorrectValueException(in.getPosition(), "((quint8)_s.winBlipType) == 0x02 || ((quint8)_s.winBlipType) == 0x03 || ((quint8)_s.winBlipType) == 0x05 || ((quint8)_s.winBlipType) == 0x06"); } _s.unused = in.readuint8(); parseOfficeArtBStoreContainerFileBlock(in, _s.blip); } void MSO::parseTextMasterStyle10Atom(LEInputStream& in, TextMasterStyle10Atom& _s) { _s.streamOffset = in.getPosition(); parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0x0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0x0"); } if (!(_s.rh.recInstance == 0 || _s.rh.recInstance == 1 || _s.rh.recInstance == 2 || _s.rh.recInstance == 3 || _s.rh.recInstance == 4 || _s.rh.recInstance == 5 || _s.rh.recInstance == 6 || _s.rh.recInstance == 7 || _s.rh.recInstance == 8)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0 || _s.rh.recInstance == 1 || _s.rh.recInstance == 2 || _s.rh.recInstance == 3 || _s.rh.recInstance == 4 || _s.rh.recInstance == 5 || _s.rh.recInstance == 6 || _s.rh.recInstance == 7 || _s.rh.recInstance == 8"); } if (!(_s.rh.recType == 0x0FB2)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x0FB2"); } _s.cLevels = in.readuint16(); if (!(((quint16)_s.cLevels)<=5)) { throw IncorrectValueException(in.getPosition(), "((quint16)_s.cLevels)<=5"); } _s._has_lstLvl1level = _s.cLevels>0 && _s.rh.recInstance>=5; if (_s._has_lstLvl1level) { _s.lstLvl1level = in.readuint16(); } if (_s.cLevels>0) { _s.lstLvl1 = QSharedPointer(new TextMasterStyle10Level(&_s)); parseTextMasterStyle10Level(in, *_s.lstLvl1.data()); } _s._has_lstLvl2level = _s.cLevels>1 && _s.rh.recInstance>=5; if (_s._has_lstLvl2level) { _s.lstLvl2level = in.readuint16(); } if (_s.cLevels>1) { _s.lstLvl2 = QSharedPointer(new TextMasterStyle10Level(&_s)); parseTextMasterStyle10Level(in, *_s.lstLvl2.data()); } _s._has_lstLvl3level = _s.cLevels>2 && _s.rh.recInstance>=5; if (_s._has_lstLvl3level) { _s.lstLvl3level = in.readuint16(); } if (_s.cLevels>2) { _s.lstLvl3 = QSharedPointer(new TextMasterStyle10Level(&_s)); parseTextMasterStyle10Level(in, *_s.lstLvl3.data()); } _s._has_lstLvl4level = _s.cLevels>3 && _s.rh.recInstance>=5; if (_s._has_lstLvl4level) { _s.lstLvl4level = in.readuint16(); } if (_s.cLevels>3) { _s.lstLvl4 = QSharedPointer(new TextMasterStyle10Level(&_s)); parseTextMasterStyle10Level(in, *_s.lstLvl4.data()); } _s._has_lstLvl5level = _s.cLevels>4 && _s.rh.recInstance>=5; if (_s._has_lstLvl5level) { _s.lstLvl5level = in.readuint16(); } if (_s.cLevels>4) { _s.lstLvl5 = QSharedPointer(new TextMasterStyle10Level(&_s)); parseTextMasterStyle10Level(in, *_s.lstLvl5.data()); } } void MSO::parseTextClientDataSubContainerOrAtom(LEInputStream& in, TextClientDataSubContainerOrAtom& _s) { _s.streamOffset = in.getPosition(); LEInputStream::Mark _m; _m = in.setMark(); RecordHeader _choice(&_s); parseRecordHeader(in, _choice); in.rewind(_m); qint64 startPos = in.getPosition(); if (startPos == in.getPosition() && ((_choice.recInstance == 0)&&(_choice.recType == 0xF9E))) { _s.anon = TextClientDataSubContainerOrAtom::choice2925155378(new OutlineAtom(&_s)); parseOutlineAtom(in, *(OutlineAtom*)_s.anon.data()); } if (startPos == in.getPosition()) { _s.anon = TextClientDataSubContainerOrAtom::choice2925155378(new TextContainer(&_s)); parseTextContainer(in, *(TextContainer*)_s.anon.data()); } } void MSO::parseTextContainerInteractiveInfo(LEInputStream& in, TextContainerInteractiveInfo& _s) { _s.streamOffset = in.getPosition(); LEInputStream::Mark _m; _m = in.setMark(); RecordHeader _choice(&_s); parseRecordHeader(in, _choice); in.rewind(_m); qint64 startPos = in.getPosition(); if (startPos == in.getPosition() && ((_choice.recInstance == 0))) { _s.interactive = TextContainerInteractiveInfo::choice3752530176(new MouseClickTextInfo(&_s)); parseMouseClickTextInfo(in, *(MouseClickTextInfo*)_s.interactive.data()); } if (startPos == in.getPosition()) { _s.interactive = TextContainerInteractiveInfo::choice3752530176(new MouseOverTextInfo(&_s)); parseMouseOverTextInfo(in, *(MouseOverTextInfo*)_s.interactive.data()); } } void MSO::parseDocumentTextInfoContainer(LEInputStream& in, DocumentTextInfoContainer& _s) { _s.streamOffset = in.getPosition(); LEInputStream::Mark _m; bool _possiblyPresent; parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0xF)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0xF"); } if (!(_s.rh.recInstance == 0x0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0x0"); } if (!(_s.rh.recType == 0x03F2)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x03F2"); } _m = in.setMark(); try { RecordHeader _optionCheck(&_s); parseRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 0xF)&&(_optionCheck.recInstance == 0x2)&&(_optionCheck.recType == 0x0FC8); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.kinsoku = QSharedPointer(new KinsokuContainer(&_s)); parseKinsokuContainer(in, *_s.kinsoku.data()); } catch(IncorrectValueException _e) { _s.kinsoku.clear(); in.rewind(_m); } catch(EOFException _e) { _s.kinsoku.clear(); in.rewind(_m); } } _m = in.setMark(); try { RecordHeader _optionCheck(&_s); parseRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 0xF)&&(_optionCheck.recInstance == 0x0)&&(_optionCheck.recType == 0x07D5); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.fontCollection = QSharedPointer(new FontCollectionContainer(&_s)); parseFontCollectionContainer(in, *_s.fontCollection.data()); } catch(IncorrectValueException _e) { _s.fontCollection.clear(); in.rewind(_m); } catch(EOFException _e) { _s.fontCollection.clear(); in.rewind(_m); } } _m = in.setMark(); try { RecordHeader _optionCheck(&_s); parseRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 0x0)&&(_optionCheck.recInstance == 0x0)&&(_optionCheck.recType == 0x0FA4); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.textCFDefaultsAtom = QSharedPointer(new TextCFExceptionAtom(&_s)); parseTextCFExceptionAtom(in, *_s.textCFDefaultsAtom.data()); } catch(IncorrectValueException _e) { _s.textCFDefaultsAtom.clear(); in.rewind(_m); } catch(EOFException _e) { _s.textCFDefaultsAtom.clear(); in.rewind(_m); } } _m = in.setMark(); try { RecordHeader _optionCheck(&_s); parseRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 0x0)&&(_optionCheck.recInstance == 0x0)&&(_optionCheck.recType == 0x0FA5); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.textPFDefaultsAtom = QSharedPointer(new TextPFExceptionAtom(&_s)); parseTextPFExceptionAtom(in, *_s.textPFDefaultsAtom.data()); } catch(IncorrectValueException _e) { _s.textPFDefaultsAtom.clear(); in.rewind(_m); } catch(EOFException _e) { _s.textPFDefaultsAtom.clear(); in.rewind(_m); } } _m = in.setMark(); try { RecordHeader _optionCheck(&_s); parseRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 0x0)&&(_optionCheck.recInstance == 0x0)&&(_optionCheck.recType == 0x0FAB); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.defaultRulerAtom = QSharedPointer(new DefaultRulerAtom(&_s)); parseDefaultRulerAtom(in, *_s.defaultRulerAtom.data()); } catch(IncorrectValueException _e) { _s.defaultRulerAtom.clear(); in.rewind(_m); } catch(EOFException _e) { _s.defaultRulerAtom.clear(); in.rewind(_m); } } parseTextSIExceptionAtom(in, _s.textSIDefaultsAtom); parseTextMasterStyleAtom(in, _s.textMasterStyleAtom); _m = in.setMark(); try { RecordHeader _optionCheck(&_s); parseRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 0x0)&&(_optionCheck.recInstance == 0 || _optionCheck.recInstance == 1 || _optionCheck.recInstance == 2 || _optionCheck.recInstance == 3 || _optionCheck.recInstance == 4 || _optionCheck.recInstance == 5 || _optionCheck.recInstance == 6 || _optionCheck.recInstance == 7 || _optionCheck.recInstance == 8)&&(_optionCheck.recType == 0x0FA3); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.textMasterStyleAtom2 = QSharedPointer(new TextMasterStyleAtom(&_s)); parseTextMasterStyleAtom(in, *_s.textMasterStyleAtom2.data()); } catch(IncorrectValueException _e) { _s.textMasterStyleAtom2.clear(); in.rewind(_m); } catch(EOFException _e) { _s.textMasterStyleAtom2.clear(); in.rewind(_m); } } } void MSO::parseSlideProgBinaryTagSubContainerOrAtom(LEInputStream& in, SlideProgBinaryTagSubContainerOrAtom& _s) { _s.streamOffset = in.getPosition(); LEInputStream::Mark _m; _m = in.setMark(); try { _s.anon = SlideProgBinaryTagSubContainerOrAtom::choice4024872665(new PP9SlideBinaryTagExtension(&_s)); parsePP9SlideBinaryTagExtension(in, *(PP9SlideBinaryTagExtension*)_s.anon.data()); } catch (IncorrectValueException _x) { _s.anon.clear(); in.rewind(_m); try { _s.anon = SlideProgBinaryTagSubContainerOrAtom::choice4024872665(new PP12SlideBinaryTagExtension(&_s)); parsePP12SlideBinaryTagExtension(in, *(PP12SlideBinaryTagExtension*)_s.anon.data()); } catch (IncorrectValueException _xx) { _s.anon.clear(); in.rewind(_m); try { _s.anon = SlideProgBinaryTagSubContainerOrAtom::choice4024872665(new PP10SlideBinaryTagExtension(&_s)); parsePP10SlideBinaryTagExtension(in, *(PP10SlideBinaryTagExtension*)_s.anon.data()); } catch (IncorrectValueException _xxx) { _s.anon.clear(); in.rewind(_m); _s.anon = SlideProgBinaryTagSubContainerOrAtom::choice4024872665(new UnknownBinaryTag(&_s)); parseUnknownBinaryTag(in, *(UnknownBinaryTag*)_s.anon.data()); }}} } void MSO::parseDrawingGroupContainer(LEInputStream& in, DrawingGroupContainer& _s) { _s.streamOffset = in.getPosition(); parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0xF)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0xF"); } if (!(_s.rh.recInstance == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0"); } if (!(_s.rh.recType == 0x040B)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x040B"); } parseOfficeArtDggContainer(in, _s.OfficeArtDgg); } void MSO::parseOfficeArtClientData(LEInputStream& in, OfficeArtClientData& _s) { _s.streamOffset = in.getPosition(); LEInputStream::Mark _m; _m = in.setMark(); OfficeArtRecordHeader _choice(&_s); parseOfficeArtRecordHeader(in, _choice); in.rewind(_m); qint64 startPos = in.getPosition(); if (startPos == in.getPosition() && ((_choice.recVer == 0)&&(_choice.recLen == 4))) { _s.anon = OfficeArtClientData::choice2520977885(new DocOfficeArtClientData(&_s)); parseDocOfficeArtClientData(in, *(DocOfficeArtClientData*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.recVer == 0xF))) { _s.anon = OfficeArtClientData::choice2520977885(new PptOfficeArtClientData(&_s)); parsePptOfficeArtClientData(in, *(PptOfficeArtClientData*)_s.anon.data()); } if (startPos == in.getPosition()) { _s.anon = OfficeArtClientData::choice2520977885(new XlsOfficeArtClientData(&_s)); parseXlsOfficeArtClientData(in, *(XlsOfficeArtClientData*)_s.anon.data()); } } void MSO::parseShapeProgTagsSubContainerOrAtom(LEInputStream& in, ShapeProgTagsSubContainerOrAtom& _s) { _s.streamOffset = in.getPosition(); LEInputStream::Mark _m; _m = in.setMark(); OfficeArtRecordHeader _choice(&_s); parseOfficeArtRecordHeader(in, _choice); in.rewind(_m); qint64 startPos = in.getPosition(); if (startPos == in.getPosition() && ((_choice.recType == 0x1389))) { _s.anon = ShapeProgTagsSubContainerOrAtom::choice42781012(new ProgStringTagContainer(&_s)); parseProgStringTagContainer(in, *(ProgStringTagContainer*)_s.anon.data()); } if (startPos == in.getPosition()) { _s.anon = ShapeProgTagsSubContainerOrAtom::choice42781012(new ShapeProgBinaryTagContainer(&_s)); parseShapeProgBinaryTagContainer(in, *(ShapeProgBinaryTagContainer*)_s.anon.data()); } } void MSO::parseDocumentContainer(LEInputStream& in, DocumentContainer& _s) { _s.streamOffset = in.getPosition(); LEInputStream::Mark _m; bool _possiblyPresent; bool _atend; parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0xF)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0xF"); } if (!(_s.rh.recInstance == 0x0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0x0"); } if (!(_s.rh.recType == 0x03E8)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x03E8"); } parseDocumentAtom(in, _s.documentAtom); _m = in.setMark(); try { RecordHeader _optionCheck(&_s); parseRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 0xF)&&(_optionCheck.recInstance == 0x0)&&(_optionCheck.recType == 0x0409)&&(_optionCheck.recLen>=12); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.exObjList = QSharedPointer(new ExObjListContainer(&_s)); parseExObjListContainer(in, *_s.exObjList.data()); } catch(IncorrectValueException _e) { _s.exObjList.clear(); in.rewind(_m); } catch(EOFException _e) { _s.exObjList.clear(); in.rewind(_m); } } parseDocumentTextInfoContainer(in, _s.documentTextInfo); _m = in.setMark(); try { RecordHeader _optionCheck(&_s); parseRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 0xF)&&(_optionCheck.recInstance == 0 || _optionCheck.recInstance == 5)&&(_optionCheck.recType == 0x7E4); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.soundCollection = QSharedPointer(new SoundCollectionContainer(&_s)); parseSoundCollectionContainer(in, *_s.soundCollection.data()); } catch(IncorrectValueException _e) { _s.soundCollection.clear(); in.rewind(_m); } catch(EOFException _e) { _s.soundCollection.clear(); in.rewind(_m); } } parseDrawingGroupContainer(in, _s.drawingGroup); parseMasterListWithTextContainer(in, _s.masterList); _m = in.setMark(); try { RecordHeader _optionCheck(&_s); parseRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 0xF)&&(_optionCheck.recInstance == 0)&&(_optionCheck.recType == 0x7D0); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.docInfoList = QSharedPointer(new DocInfoListContainer(&_s)); parseDocInfoListContainer(in, *_s.docInfoList.data()); } catch(IncorrectValueException _e) { _s.docInfoList.clear(); in.rewind(_m); } catch(EOFException _e) { _s.docInfoList.clear(); in.rewind(_m); } } _m = in.setMark(); try { RecordHeader _optionCheck(&_s); parseRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 0xF)&&(_optionCheck.recInstance == 3)&&(_optionCheck.recType == 0xFD9); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.slideHF = QSharedPointer(new SlideHeadersFootersContainer(&_s)); parseSlideHeadersFootersContainer(in, *_s.slideHF.data()); } catch(IncorrectValueException _e) { _s.slideHF.clear(); in.rewind(_m); } catch(EOFException _e) { _s.slideHF.clear(); in.rewind(_m); } } _m = in.setMark(); try { RecordHeader _optionCheck(&_s); parseRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 0xF)&&(_optionCheck.recInstance == 4)&&(_optionCheck.recType == 0xFD9); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.notesHF = QSharedPointer(new NotesHeadersFootersContainer(&_s)); parseNotesHeadersFootersContainer(in, *_s.notesHF.data()); } catch(IncorrectValueException _e) { _s.notesHF.clear(); in.rewind(_m); } catch(EOFException _e) { _s.notesHF.clear(); in.rewind(_m); } } _m = in.setMark(); try { RecordHeader _optionCheck(&_s); parseRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 0xF)&&(_optionCheck.recInstance == 0x0)&&(_optionCheck.recType == 0x0FF0); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.slideList = QSharedPointer(new SlideListWithTextContainer(&_s)); parseSlideListWithTextContainer(in, *_s.slideList.data()); } catch(IncorrectValueException _e) { _s.slideList.clear(); in.rewind(_m); } catch(EOFException _e) { _s.slideList.clear(); in.rewind(_m); } } _m = in.setMark(); try { RecordHeader _optionCheck(&_s); parseRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 0xF)&&(_optionCheck.recInstance == 3)&&(_optionCheck.recType == 0xFD9); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.slideHF2 = QSharedPointer(new SlideHeadersFootersContainer(&_s)); parseSlideHeadersFootersContainer(in, *_s.slideHF2.data()); } catch(IncorrectValueException _e) { _s.slideHF2.clear(); in.rewind(_m); } catch(EOFException _e) { _s.slideHF2.clear(); in.rewind(_m); } } _m = in.setMark(); try { RecordHeader _optionCheck(&_s); parseRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 0xF)&&(_optionCheck.recInstance == 2)&&(_optionCheck.recType == 0x0FF0); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.notesList = QSharedPointer(new NotesListWithTextContainer(&_s)); parseNotesListWithTextContainer(in, *_s.notesList.data()); } catch(IncorrectValueException _e) { _s.notesList.clear(); in.rewind(_m); } catch(EOFException _e) { _s.notesList.clear(); in.rewind(_m); } } _m = in.setMark(); try { RecordHeader _optionCheck(&_s); parseRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 1)&&(_optionCheck.recInstance == 0)&&(_optionCheck.recType == 0x0401)&&(_optionCheck.recLen == 0x50); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.slideShowDocInfoAtom = QSharedPointer(new SlideShowDocInfoAtom(&_s)); parseSlideShowDocInfoAtom(in, *_s.slideShowDocInfoAtom.data()); } catch(IncorrectValueException _e) { _s.slideShowDocInfoAtom.clear(); in.rewind(_m); } catch(EOFException _e) { _s.slideShowDocInfoAtom.clear(); in.rewind(_m); } } _m = in.setMark(); try { RecordHeader _optionCheck(&_s); parseRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 0xF)&&(_optionCheck.recInstance == 0)&&(_optionCheck.recType == 0x410); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.namedShows = QSharedPointer(new NamedShowsContainer(&_s)); parseNamedShowsContainer(in, *_s.namedShows.data()); } catch(IncorrectValueException _e) { _s.namedShows.clear(); in.rewind(_m); } catch(EOFException _e) { _s.namedShows.clear(); in.rewind(_m); } } _m = in.setMark(); try { RecordHeader _optionCheck(&_s); parseRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 0xF)&&(_optionCheck.recInstance == 0)&&(_optionCheck.recType == 0x402); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.summary = QSharedPointer(new SummaryContainer(&_s)); parseSummaryContainer(in, *_s.summary.data()); } catch(IncorrectValueException _e) { _s.summary.clear(); in.rewind(_m); } catch(EOFException _e) { _s.summary.clear(); in.rewind(_m); } } _m = in.setMark(); try { RecordHeader _optionCheck(&_s); parseRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 0)&&(_optionCheck.recInstance == 0)&&(_optionCheck.recType == 0x406); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.docRoutingSlipAtom = QSharedPointer(new DocRoutingSlipAtom(&_s)); parseDocRoutingSlipAtom(in, *_s.docRoutingSlipAtom.data()); } catch(IncorrectValueException _e) { _s.docRoutingSlipAtom.clear(); in.rewind(_m); } catch(EOFException _e) { _s.docRoutingSlipAtom.clear(); in.rewind(_m); } } _m = in.setMark(); try { RecordHeader _optionCheck(&_s); parseRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 0)&&(_optionCheck.recInstance == 0)&&(_optionCheck.recType == 0x1770)&&(_optionCheck.recLen == 5); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.printOptionsAtom = QSharedPointer(new PrintOptionsAtom(&_s)); parsePrintOptionsAtom(in, *_s.printOptionsAtom.data()); } catch(IncorrectValueException _e) { _s.printOptionsAtom.clear(); in.rewind(_m); } catch(EOFException _e) { _s.printOptionsAtom.clear(); in.rewind(_m); } } _atend = false; while (!_atend) { _m = in.setMark(); try { _s.unknown0.append(UnknownDocumentContainerChild(&_s)); parseUnknownDocumentContainerChild(in, _s.unknown0.last()); } catch(IncorrectValueException _e) { _s.unknown0.removeLast(); _atend = true; in.rewind(_m); } catch(EOFException _e) { _s.unknown0.removeLast(); _atend = true; in.rewind(_m); } } _m = in.setMark(); try { RecordHeader _optionCheck(&_s); parseRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 0 || _optionCheck.recVer == 0xF)&&(_optionCheck.recInstance == 0)&&(_optionCheck.recType == 0x428); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.rtCustomTableStylesAtom1 = QSharedPointer(new RoundTripCustomTableStyles12Atom(&_s)); parseRoundTripCustomTableStyles12Atom(in, *_s.rtCustomTableStylesAtom1.data()); } catch(IncorrectValueException _e) { _s.rtCustomTableStylesAtom1.clear(); in.rewind(_m); } catch(EOFException _e) { _s.rtCustomTableStylesAtom1.clear(); in.rewind(_m); } } _atend = false; while (!_atend) { _m = in.setMark(); try { _s.unknown1.append(UnknownDocumentContainerChild(&_s)); parseUnknownDocumentContainerChild(in, _s.unknown1.last()); } catch(IncorrectValueException _e) { _s.unknown1.removeLast(); _atend = true; in.rewind(_m); } catch(EOFException _e) { _s.unknown1.removeLast(); _atend = true; in.rewind(_m); } } parseEndDocumentAtom(in, _s.endDocumentAtom); _atend = false; while (!_atend) { _m = in.setMark(); try { _s.unknown2.append(UnknownDocumentContainerChild(&_s)); parseUnknownDocumentContainerChild(in, _s.unknown2.last()); } catch(IncorrectValueException _e) { _s.unknown2.removeLast(); _atend = true; in.rewind(_m); } catch(EOFException _e) { _s.unknown2.removeLast(); _atend = true; in.rewind(_m); } } _m = in.setMark(); try { RecordHeader _optionCheck(&_s); parseRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 0 || _optionCheck.recVer == 0xF)&&(_optionCheck.recInstance == 0)&&(_optionCheck.recType == 0x428); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.rtCustomTableStylesAtom2 = QSharedPointer(new RoundTripCustomTableStyles12Atom(&_s)); parseRoundTripCustomTableStyles12Atom(in, *_s.rtCustomTableStylesAtom2.data()); } catch(IncorrectValueException _e) { _s.rtCustomTableStylesAtom2.clear(); in.rewind(_m); } catch(EOFException _e) { _s.rtCustomTableStylesAtom2.clear(); in.rewind(_m); } } _atend = false; while (!_atend) { _m = in.setMark(); try { _s.unknown4.append(UnknownDocumentContainerChild(&_s)); parseUnknownDocumentContainerChild(in, _s.unknown4.last()); } catch(IncorrectValueException _e) { _s.unknown4.removeLast(); _atend = true; in.rewind(_m); } catch(EOFException _e) { _s.unknown4.removeLast(); _atend = true; in.rewind(_m); } } _m = in.setMark(); try { RecordHeader _optionCheck(&_s); parseRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 0x0)&&(_optionCheck.recInstance == 0 || _optionCheck.recInstance == 1 || _optionCheck.recInstance == 2 || _optionCheck.recInstance == 3 || _optionCheck.recInstance == 4 || _optionCheck.recInstance == 5 || _optionCheck.recInstance == 6 || _optionCheck.recInstance == 7 || _optionCheck.recInstance == 8)&&(_optionCheck.recType == 0x0FB2); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.unknown5 = QSharedPointer(new TextMasterStyle10Atom(&_s)); parseTextMasterStyle10Atom(in, *_s.unknown5.data()); } catch(IncorrectValueException _e) { _s.unknown5.clear(); in.rewind(_m); } catch(EOFException _e) { _s.unknown5.clear(); in.rewind(_m); } } } void MSO::parseDocInfoListSubContainerOrAtom(LEInputStream& in, DocInfoListSubContainerOrAtom& _s) { _s.streamOffset = in.getPosition(); LEInputStream::Mark _m; _m = in.setMark(); RecordHeader _choice(&_s); parseRecordHeader(in, _choice); in.rewind(_m); qint64 startPos = in.getPosition(); if (startPos == in.getPosition() && ((_choice.recInstance == 0 || _choice.recInstance == 1)&&(_choice.recType == 0x1388))) { _s.anon = DocInfoListSubContainerOrAtom::choice2631814737(new DocProgTagsContainer(&_s)); parseDocProgTagsContainer(in, *(DocProgTagsContainer*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.recInstance == 1)&&(_choice.recType == 0x414)&&(_choice.recLen == 0x1C))) { _s.anon = DocInfoListSubContainerOrAtom::choice2631814737(new NormalViewSetInfoContainer(&_s)); parseNormalViewSetInfoContainer(in, *(NormalViewSetInfoContainer*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.recInstance == 1)&&(_choice.recType == 0x413))) { _s.anon = DocInfoListSubContainerOrAtom::choice2631814737(new NotesTextViewInfoContainer(&_s)); parseNotesTextViewInfoContainer(in, *(NotesTextViewInfoContainer*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.recInstance == 0 || _choice.recInstance == 1)&&(_choice.recType == 0x407))) { _s.anon = DocInfoListSubContainerOrAtom::choice2631814737(new OutlineViewInfoContainer(&_s)); parseOutlineViewInfoContainer(in, *(OutlineViewInfoContainer*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.recInstance == 0 || _choice.recInstance == 1)&&(_choice.recType == 0x3FA))) { _s.anon = DocInfoListSubContainerOrAtom::choice2631814737(new SlideViewInfoInstance(&_s)); parseSlideViewInfoInstance(in, *(SlideViewInfoInstance*)_s.anon.data()); } if (startPos == in.getPosition() && ((_choice.recInstance == 1)&&(_choice.recType == 0x408))) { _s.anon = DocInfoListSubContainerOrAtom::choice2631814737(new SorterViewInfoContainer(&_s)); parseSorterViewInfoContainer(in, *(SorterViewInfoContainer*)_s.anon.data()); } if (startPos == in.getPosition()) { _s.anon = DocInfoListSubContainerOrAtom::choice2631814737(new VBAInfoContainer(&_s)); parseVBAInfoContainer(in, *(VBAInfoContainer*)_s.anon.data()); } } void MSO::parseDocProgBinaryTagContainer(LEInputStream& in, DocProgBinaryTagContainer& _s) { _s.streamOffset = in.getPosition(); parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0xF)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0xF"); } if (!(_s.rh.recInstance == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0"); } if (!(_s.rh.recType == 0x138A)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x138A"); } parseDocProgBinaryTagSubContainerOrAtom(in, _s.rec); } void MSO::parseSlideProgBinaryTagContainer(LEInputStream& in, SlideProgBinaryTagContainer& _s) { _s.streamOffset = in.getPosition(); parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0xF)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0xF"); } if (!(_s.rh.recInstance == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0"); } if (!(_s.rh.recType == 0x138A)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x138A"); } parseSlideProgBinaryTagSubContainerOrAtom(in, _s.rec); } void MSO::parseOfficeArtSpContainer(LEInputStream& in, OfficeArtSpContainer& _s) { _s.streamOffset = in.getPosition(); LEInputStream::Mark _m; bool _possiblyPresent; parseOfficeArtRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0xF)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0xF"); } if (!(_s.rh.recInstance == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0"); } if (!(_s.rh.recType == 0x0F004)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x0F004"); } _m = in.setMark(); try { OfficeArtRecordHeader _optionCheck(&_s); parseOfficeArtRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 0x1)&&(_optionCheck.recInstance == 0)&&(_optionCheck.recType == 0x0F009)&&(_optionCheck.recLen == 0x10); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.shapeGroup = QSharedPointer(new OfficeArtFSPGR(&_s)); parseOfficeArtFSPGR(in, *_s.shapeGroup.data()); } catch(IncorrectValueException _e) { _s.shapeGroup.clear(); in.rewind(_m); } catch(EOFException _e) { _s.shapeGroup.clear(); in.rewind(_m); } } parseOfficeArtFSP(in, _s.shapeProp); _m = in.setMark(); try { OfficeArtRecordHeader _optionCheck(&_s); parseOfficeArtRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 0)&&(_optionCheck.recInstance == 0)&&(_optionCheck.recType == 0xF11D)&&(_optionCheck.recLen == 4); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.deletedshape = QSharedPointer(new OfficeArtFPSPL(&_s)); parseOfficeArtFPSPL(in, *_s.deletedshape.data()); } catch(IncorrectValueException _e) { _s.deletedshape.clear(); in.rewind(_m); } catch(EOFException _e) { _s.deletedshape.clear(); in.rewind(_m); } } _m = in.setMark(); try { OfficeArtRecordHeader _optionCheck(&_s); parseOfficeArtRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 0x3)&&(_optionCheck.recType == 0x0F00B); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.shapePrimaryOptions = QSharedPointer(new OfficeArtFOPT(&_s)); parseOfficeArtFOPT(in, *_s.shapePrimaryOptions.data()); } catch(IncorrectValueException _e) { _s.shapePrimaryOptions.clear(); in.rewind(_m); } catch(EOFException _e) { _s.shapePrimaryOptions.clear(); in.rewind(_m); } } _m = in.setMark(); try { OfficeArtRecordHeader _optionCheck(&_s); parseOfficeArtRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 3)&&(_optionCheck.recType == 0xF121); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.shapeSecondaryOptions1 = QSharedPointer(new OfficeArtSecondaryFOPT(&_s)); parseOfficeArtSecondaryFOPT(in, *_s.shapeSecondaryOptions1.data()); } catch(IncorrectValueException _e) { _s.shapeSecondaryOptions1.clear(); in.rewind(_m); } catch(EOFException _e) { _s.shapeSecondaryOptions1.clear(); in.rewind(_m); } } _m = in.setMark(); try { OfficeArtRecordHeader _optionCheck(&_s); parseOfficeArtRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 3)&&(_optionCheck.recType == 0xF122); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.shapeTertiaryOptions1 = QSharedPointer(new OfficeArtTertiaryFOPT(&_s)); parseOfficeArtTertiaryFOPT(in, *_s.shapeTertiaryOptions1.data()); } catch(IncorrectValueException _e) { _s.shapeTertiaryOptions1.clear(); in.rewind(_m); } catch(EOFException _e) { _s.shapeTertiaryOptions1.clear(); in.rewind(_m); } } _m = in.setMark(); try { OfficeArtRecordHeader _optionCheck(&_s); parseOfficeArtRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 0)&&(_optionCheck.recInstance == 0)&&(_optionCheck.recType == 0xF00F)&&(_optionCheck.recLen == 0x10); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.childAnchor = QSharedPointer(new OfficeArtChildAnchor(&_s)); parseOfficeArtChildAnchor(in, *_s.childAnchor.data()); } catch(IncorrectValueException _e) { _s.childAnchor.clear(); in.rewind(_m); } catch(EOFException _e) { _s.childAnchor.clear(); in.rewind(_m); } } _m = in.setMark(); try { OfficeArtRecordHeader _optionCheck(&_s); parseOfficeArtRecordHeader(in, _optionCheck); _possiblyPresent = ((_optionCheck.recLen == 0x8 || _optionCheck.recLen == 0x10))||((_optionCheck.recLen == 0x4))||((_optionCheck.recLen == 0x8 || _optionCheck.recLen == 0x12)); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.clientAnchor = QSharedPointer(new OfficeArtClientAnchor(&_s)); parseOfficeArtClientAnchor(in, *_s.clientAnchor.data()); } catch(IncorrectValueException _e) { _s.clientAnchor.clear(); in.rewind(_m); } catch(EOFException _e) { _s.clientAnchor.clear(); in.rewind(_m); } } _m = in.setMark(); try { OfficeArtRecordHeader _optionCheck(&_s); parseOfficeArtRecordHeader(in, _optionCheck); _possiblyPresent = ((_optionCheck.recVer == 0)&&(_optionCheck.recLen == 4))||((_optionCheck.recVer == 0xF))||((_optionCheck.recVer == 0)&&(_optionCheck.recLen == 0)); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.clientData = QSharedPointer(new OfficeArtClientData(&_s)); parseOfficeArtClientData(in, *_s.clientData.data()); } catch(IncorrectValueException _e) { _s.clientData.clear(); in.rewind(_m); } catch(EOFException _e) { _s.clientData.clear(); in.rewind(_m); } } _m = in.setMark(); try { OfficeArtRecordHeader _optionCheck(&_s); parseOfficeArtRecordHeader(in, _optionCheck); _possiblyPresent = ((_optionCheck.recVer == 0)&&(_optionCheck.recLen == 0))||((_optionCheck.recVer == 0 || _optionCheck.recVer == 0xF)&&(_optionCheck.recLen == 0x4))||((_optionCheck.recVer == 0 || _optionCheck.recVer == 0xF)&&(_optionCheck.recLen!=4)); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.clientTextbox = QSharedPointer(new OfficeArtClientTextBox(&_s)); parseOfficeArtClientTextBox(in, *_s.clientTextbox.data()); } catch(IncorrectValueException _e) { _s.clientTextbox.clear(); in.rewind(_m); } catch(EOFException _e) { _s.clientTextbox.clear(); in.rewind(_m); } } _m = in.setMark(); try { OfficeArtRecordHeader _optionCheck(&_s); parseOfficeArtRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 0x3)&&(_optionCheck.recType == 0x0F00B); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.shapePrimaryOptions2 = QSharedPointer(new OfficeArtFOPT(&_s)); parseOfficeArtFOPT(in, *_s.shapePrimaryOptions2.data()); } catch(IncorrectValueException _e) { _s.shapePrimaryOptions2.clear(); in.rewind(_m); } catch(EOFException _e) { _s.shapePrimaryOptions2.clear(); in.rewind(_m); } } _m = in.setMark(); try { OfficeArtRecordHeader _optionCheck(&_s); parseOfficeArtRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 3)&&(_optionCheck.recType == 0xF121); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.shapeSecondaryOptions2 = QSharedPointer(new OfficeArtSecondaryFOPT(&_s)); parseOfficeArtSecondaryFOPT(in, *_s.shapeSecondaryOptions2.data()); } catch(IncorrectValueException _e) { _s.shapeSecondaryOptions2.clear(); in.rewind(_m); } catch(EOFException _e) { _s.shapeSecondaryOptions2.clear(); in.rewind(_m); } } _m = in.setMark(); try { OfficeArtRecordHeader _optionCheck(&_s); parseOfficeArtRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 3)&&(_optionCheck.recType == 0xF122); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.shapeTertiaryOptions2 = QSharedPointer(new OfficeArtTertiaryFOPT(&_s)); parseOfficeArtTertiaryFOPT(in, *_s.shapeTertiaryOptions2.data()); } catch(IncorrectValueException _e) { _s.shapeTertiaryOptions2.clear(); in.rewind(_m); } catch(EOFException _e) { _s.shapeTertiaryOptions2.clear(); in.rewind(_m); } } _m = in.setMark(); try { RecordHeader _optionCheck(&_s); parseRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 3)&&(_optionCheck.recInstance == 9)&&(_optionCheck.recType == 0); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.unknown = QSharedPointer(new UnknownTextContainerChild(&_s)); parseUnknownTextContainerChild(in, *_s.unknown.data()); } catch(IncorrectValueException _e) { _s.unknown.clear(); in.rewind(_m); } catch(EOFException _e) { _s.unknown.clear(); in.rewind(_m); } } } void MSO::parseOfficeArtInlineSpContainer(LEInputStream& in, OfficeArtInlineSpContainer& _s) { _s.streamOffset = in.getPosition(); LEInputStream::Mark _m; bool _atend; parseOfficeArtSpContainer(in, _s.shape); _atend = false; while (!_atend) { _m = in.setMark(); try { _s.rgfb.append(OfficeArtBStoreContainerFileBlock(&_s)); parseOfficeArtBStoreContainerFileBlock(in, _s.rgfb.last()); } catch(IncorrectValueException _e) { _s.rgfb.removeLast(); _atend = true; in.rewind(_m); } catch(EOFException _e) { _s.rgfb.removeLast(); _atend = true; in.rewind(_m); } } } void MSO::parseDocProgTagsSubContainerOrAtom(LEInputStream& in, DocProgTagsSubContainerOrAtom& _s) { _s.streamOffset = in.getPosition(); LEInputStream::Mark _m; _m = in.setMark(); RecordHeader _choice(&_s); parseRecordHeader(in, _choice); in.rewind(_m); qint64 startPos = in.getPosition(); if (startPos == in.getPosition() && ((_choice.recType == 0x1389))) { _s.anon = DocProgTagsSubContainerOrAtom::choice61655436(new ProgStringTagContainer(&_s)); parseProgStringTagContainer(in, *(ProgStringTagContainer*)_s.anon.data()); } if (startPos == in.getPosition()) { _s.anon = DocProgTagsSubContainerOrAtom::choice61655436(new DocProgBinaryTagContainer(&_s)); parseDocProgBinaryTagContainer(in, *(DocProgBinaryTagContainer*)_s.anon.data()); } } void MSO::parseSlideProgTagsSubContainerOrAtom(LEInputStream& in, SlideProgTagsSubContainerOrAtom& _s) { _s.streamOffset = in.getPosition(); LEInputStream::Mark _m; _m = in.setMark(); RecordHeader _choice(&_s); parseRecordHeader(in, _choice); in.rewind(_m); qint64 startPos = in.getPosition(); if (startPos == in.getPosition() && ((_choice.recType == 0x1389))) { _s.anon = SlideProgTagsSubContainerOrAtom::choice310259039(new ProgStringTagContainer(&_s)); parseProgStringTagContainer(in, *(ProgStringTagContainer*)_s.anon.data()); } if (startPos == in.getPosition()) { _s.anon = SlideProgTagsSubContainerOrAtom::choice310259039(new SlideProgBinaryTagContainer(&_s)); parseSlideProgBinaryTagContainer(in, *(SlideProgBinaryTagContainer*)_s.anon.data()); } } void MSO::parseOfficeArtDgContainer(LEInputStream& in, OfficeArtDgContainer& _s) { _s.streamOffset = in.getPosition(); LEInputStream::Mark _m; bool _possiblyPresent; bool _atend; parseOfficeArtRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0xF)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0xF"); } if (!(_s.rh.recInstance == 0x0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0x0"); } if (!(_s.rh.recType == 0xF002)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0xF002"); } _m = in.setMark(); try { OfficeArtRecordHeader _optionCheck(&_s); parseOfficeArtRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 0x0)&&(_optionCheck.recInstance<=4094)&&(_optionCheck.recType == 0x0F008)&&(_optionCheck.recLen == 8); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.drawingData = QSharedPointer(new OfficeArtFDG(&_s)); parseOfficeArtFDG(in, *_s.drawingData.data()); } catch(IncorrectValueException _e) { _s.drawingData.clear(); in.rewind(_m); } catch(EOFException _e) { _s.drawingData.clear(); in.rewind(_m); } } _m = in.setMark(); try { OfficeArtRecordHeader _optionCheck(&_s); parseOfficeArtRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 0)&&(_optionCheck.recType == 0xF118)&&(_optionCheck.recLen==4*_optionCheck.recInstance); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.regroupItems = QSharedPointer(new OfficeArtFRITContainer(&_s)); parseOfficeArtFRITContainer(in, *_s.regroupItems.data()); } catch(IncorrectValueException _e) { _s.regroupItems.clear(); in.rewind(_m); } catch(EOFException _e) { _s.regroupItems.clear(); in.rewind(_m); } } _m = in.setMark(); try { OfficeArtRecordHeader _optionCheck(&_s); parseOfficeArtRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 0xF)&&(_optionCheck.recInstance == 0)&&(_optionCheck.recType == 0x0F003); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.groupShape = QSharedPointer(new OfficeArtSpgrContainer(&_s)); parseOfficeArtSpgrContainer(in, *_s.groupShape.data()); } catch(IncorrectValueException _e) { _s.groupShape.clear(); in.rewind(_m); } catch(EOFException _e) { _s.groupShape.clear(); in.rewind(_m); } } _m = in.setMark(); try { OfficeArtRecordHeader _optionCheck(&_s); parseOfficeArtRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 0xF)&&(_optionCheck.recInstance == 0)&&(_optionCheck.recType == 0x0F004); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.shape = QSharedPointer(new OfficeArtSpContainer(&_s)); parseOfficeArtSpContainer(in, *_s.shape.data()); } catch(IncorrectValueException _e) { _s.shape.clear(); in.rewind(_m); } catch(EOFException _e) { _s.shape.clear(); in.rewind(_m); } } _atend = false; while (!_atend) { _m = in.setMark(); try { _s.deletedShapes.append(OfficeArtSpgrContainerFileBlock(&_s)); parseOfficeArtSpgrContainerFileBlock(in, _s.deletedShapes.last()); } catch(IncorrectValueException _e) { _s.deletedShapes.removeLast(); _atend = true; in.rewind(_m); } catch(EOFException _e) { _s.deletedShapes.removeLast(); _atend = true; in.rewind(_m); } } _m = in.setMark(); try { OfficeArtRecordHeader _optionCheck(&_s); parseOfficeArtRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 0xF)&&(_optionCheck.recType == 0xF005); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.solvers = QSharedPointer(new OfficeArtSolverContainer(&_s)); parseOfficeArtSolverContainer(in, *_s.solvers.data()); } catch(IncorrectValueException _e) { _s.solvers.clear(); in.rewind(_m); } catch(EOFException _e) { _s.solvers.clear(); in.rewind(_m); } } } void MSO::parseOfficeArtSpgrContainerFileBlock(LEInputStream& in, OfficeArtSpgrContainerFileBlock& _s) { _s.streamOffset = in.getPosition(); LEInputStream::Mark _m; _m = in.setMark(); try { _s.anon = OfficeArtSpgrContainerFileBlock::choice4117040(new OfficeArtSpContainer(&_s)); parseOfficeArtSpContainer(in, *(OfficeArtSpContainer*)_s.anon.data()); } catch (IncorrectValueException _x) { _s.anon.clear(); in.rewind(_m); try { _s.anon = OfficeArtSpgrContainerFileBlock::choice4117040(new OfficeArtSpgrContainer(&_s)); parseOfficeArtSpgrContainer(in, *(OfficeArtSpgrContainer*)_s.anon.data()); } catch (IncorrectValueException _xx) { _s.anon.clear(); in.rewind(_m); try { _s.anon = OfficeArtSpgrContainerFileBlock::choice4117040(new OfficeArtFSP(&_s)); parseOfficeArtFSP(in, *(OfficeArtFSP*)_s.anon.data()); } catch (IncorrectValueException _xxx) { _s.anon.clear(); in.rewind(_m); try { _s.anon = OfficeArtSpgrContainerFileBlock::choice4117040(new OfficeArtFSPGR(&_s)); parseOfficeArtFSPGR(in, *(OfficeArtFSPGR*)_s.anon.data()); } catch (IncorrectValueException _xxxx) { _s.anon.clear(); in.rewind(_m); try { _s.anon = OfficeArtSpgrContainerFileBlock::choice4117040(new OfficeArtClientAnchor(&_s)); parseOfficeArtClientAnchor(in, *(OfficeArtClientAnchor*)_s.anon.data()); } catch (IncorrectValueException _xxxxx) { _s.anon.clear(); in.rewind(_m); _s.anon = OfficeArtSpgrContainerFileBlock::choice4117040(new OfficeArtClientData(&_s)); parseOfficeArtClientData(in, *(OfficeArtClientData*)_s.anon.data()); }}}}} } void MSO::parseDrawingContainer(LEInputStream& in, DrawingContainer& _s) { _s.streamOffset = in.getPosition(); parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0xF)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0xF"); } if (!(_s.rh.recInstance == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0"); } if (!(_s.rh.recType == 0x040C)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x040C"); } parseOfficeArtDgContainer(in, _s.OfficeArtDg); } void MSO::parseMainMasterContainer(LEInputStream& in, MainMasterContainer& _s) { _s.streamOffset = in.getPosition(); LEInputStream::Mark _m; bool _possiblyPresent; bool _atend; parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0xF)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0xF"); } if (!(_s.rh.recInstance == 0x0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0x0"); } if (!(_s.rh.recType == 0x03F8)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x03F8"); } parseSlideAtom(in, _s.slideAtom); _m = in.setMark(); try { RecordHeader _optionCheck(&_s); parseRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 0)&&(_optionCheck.recInstance == 0)&&(_optionCheck.recType == 0x03F9)&&(_optionCheck.recLen == 0x10); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.unknown = QSharedPointer(new SlideShowSlideInfoAtom(&_s)); parseSlideShowSlideInfoAtom(in, *_s.unknown.data()); } catch(IncorrectValueException _e) { _s.unknown.clear(); in.rewind(_m); } catch(EOFException _e) { _s.unknown.clear(); in.rewind(_m); } } _atend = false; while (!_atend) { _m = in.setMark(); try { _s.rgSchemeListElementColorScheme.append(SchemeListElementColorSchemeAtom(&_s)); parseSchemeListElementColorSchemeAtom(in, _s.rgSchemeListElementColorScheme.last()); } catch(IncorrectValueException _e) { _s.rgSchemeListElementColorScheme.removeLast(); _atend = true; in.rewind(_m); } catch(EOFException _e) { _s.rgSchemeListElementColorScheme.removeLast(); _atend = true; in.rewind(_m); } } _atend = false; while (!_atend) { _m = in.setMark(); try { _s.rgTextMasterStyle.append(TextMasterStyleAtom(&_s)); parseTextMasterStyleAtom(in, _s.rgTextMasterStyle.last()); } catch(IncorrectValueException _e) { _s.rgTextMasterStyle.removeLast(); _atend = true; in.rewind(_m); } catch(EOFException _e) { _s.rgTextMasterStyle.removeLast(); _atend = true; in.rewind(_m); } } _m = in.setMark(); try { RecordHeader _optionCheck(&_s); parseRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 0)&&(_optionCheck.recInstance == 0)&&(_optionCheck.recType == 0x423); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.roundTripOArtTextSTyles12Atom = QSharedPointer(new RoundTripOArtTextStyles12Atom(&_s)); parseRoundTripOArtTextStyles12Atom(in, *_s.roundTripOArtTextSTyles12Atom.data()); } catch(IncorrectValueException _e) { _s.roundTripOArtTextSTyles12Atom.clear(); in.rewind(_m); } catch(EOFException _e) { _s.roundTripOArtTextSTyles12Atom.clear(); in.rewind(_m); } } _m = in.setMark(); try { RecordHeader _optionCheck(&_s); parseRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 0)&&(_optionCheck.recInstance == 0)&&(_optionCheck.recType == 0x03F9)&&(_optionCheck.recLen == 0x10); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.slideShowInfoAtom = QSharedPointer(new SlideShowSlideInfoAtom(&_s)); parseSlideShowSlideInfoAtom(in, *_s.slideShowInfoAtom.data()); } catch(IncorrectValueException _e) { _s.slideShowInfoAtom.clear(); in.rewind(_m); } catch(EOFException _e) { _s.slideShowInfoAtom.clear(); in.rewind(_m); } } _m = in.setMark(); try { RecordHeader _optionCheck(&_s); parseRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 0xF)&&(_optionCheck.recInstance == 0)&&(_optionCheck.recType == 0xFD9); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.perSlideHeadersFootersContainer = QSharedPointer(new PerSlideHeadersFootersContainer(&_s)); parsePerSlideHeadersFootersContainer(in, *_s.perSlideHeadersFootersContainer.data()); } catch(IncorrectValueException _e) { _s.perSlideHeadersFootersContainer.clear(); in.rewind(_m); } catch(EOFException _e) { _s.perSlideHeadersFootersContainer.clear(); in.rewind(_m); } } parseDrawingContainer(in, _s.drawing); parseSlideSchemeColorSchemeAtom(in, _s.slideSchemeColorSchemeAtom); _m = in.setMark(); try { RecordHeader _optionCheck(&_s); parseRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 0)&&(_optionCheck.recInstance == 3)&&(_optionCheck.recType == 0x0FBA)&&(_optionCheck.recLen%2==0); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.slideNameAtom = QSharedPointer(new SlideNameAtom(&_s)); parseSlideNameAtom(in, *_s.slideNameAtom.data()); } catch(IncorrectValueException _e) { _s.slideNameAtom.clear(); in.rewind(_m); } catch(EOFException _e) { _s.slideNameAtom.clear(); in.rewind(_m); } } _m = in.setMark(); try { RecordHeader _optionCheck(&_s); parseRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 0xF)&&(_optionCheck.recInstance == 0)&&(_optionCheck.recType == 0x1388); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.slideProgTagsContainer = QSharedPointer(new SlideProgTagsContainer(&_s)); parseSlideProgTagsContainer(in, *_s.slideProgTagsContainer.data()); } catch(IncorrectValueException _e) { _s.slideProgTagsContainer.clear(); in.rewind(_m); } catch(EOFException _e) { _s.slideProgTagsContainer.clear(); in.rewind(_m); } } _atend = false; while (!_atend) { _m = in.setMark(); try { _s.rgRoundTripMainMaster.append(RoundTripMainMasterRecord(&_s)); parseRoundTripMainMasterRecord(in, _s.rgRoundTripMainMaster.last()); } catch(IncorrectValueException _e) { _s.rgRoundTripMainMaster.removeLast(); _atend = true; in.rewind(_m); } catch(EOFException _e) { _s.rgRoundTripMainMaster.removeLast(); _atend = true; in.rewind(_m); } } _m = in.setMark(); try { RecordHeader _optionCheck(&_s); parseRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 0)&&(_optionCheck.recInstance == 2)&&(_optionCheck.recType == 0x0FBA)&&(_optionCheck.recLen%2==0); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.templateNameAtom = QSharedPointer(new TemplateNameAtom(&_s)); parseTemplateNameAtom(in, *_s.templateNameAtom.data()); } catch(IncorrectValueException _e) { _s.templateNameAtom.clear(); in.rewind(_m); } catch(EOFException _e) { _s.templateNameAtom.clear(); in.rewind(_m); } } _m = in.setMark(); try { RecordHeader _optionCheck(&_s); parseRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 0xF)&&(_optionCheck.recInstance == 0)&&(_optionCheck.recType == 0x1388); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.unknown3 = QSharedPointer(new SlideProgTagsContainer(&_s)); parseSlideProgTagsContainer(in, *_s.unknown3.data()); } catch(IncorrectValueException _e) { _s.unknown3.clear(); in.rewind(_m); } catch(EOFException _e) { _s.unknown3.clear(); in.rewind(_m); } } } void MSO::parseSlideContainer(LEInputStream& in, SlideContainer& _s) { _s.streamOffset = in.getPosition(); LEInputStream::Mark _m; bool _possiblyPresent; bool _atend; parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0xF)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0xF"); } if (!(_s.rh.recInstance == 0x0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0x0"); } if (!(_s.rh.recType == 0x03EE)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x03EE"); } parseSlideAtom(in, _s.slideAtom); _m = in.setMark(); try { RecordHeader _optionCheck(&_s); parseRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 0)&&(_optionCheck.recInstance == 0)&&(_optionCheck.recType == 0x03F9)&&(_optionCheck.recLen == 0x10); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.slideShowSlideInfoAtom = QSharedPointer(new SlideShowSlideInfoAtom(&_s)); parseSlideShowSlideInfoAtom(in, *_s.slideShowSlideInfoAtom.data()); } catch(IncorrectValueException _e) { _s.slideShowSlideInfoAtom.clear(); in.rewind(_m); } catch(EOFException _e) { _s.slideShowSlideInfoAtom.clear(); in.rewind(_m); } } _m = in.setMark(); try { RecordHeader _optionCheck(&_s); parseRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 0xF)&&(_optionCheck.recInstance == 0)&&(_optionCheck.recType == 0xFD9); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.perSlideHFContainer = QSharedPointer(new PerSlideHeadersFootersContainer(&_s)); parsePerSlideHeadersFootersContainer(in, *_s.perSlideHFContainer.data()); } catch(IncorrectValueException _e) { _s.perSlideHFContainer.clear(); in.rewind(_m); } catch(EOFException _e) { _s.perSlideHFContainer.clear(); in.rewind(_m); } } _m = in.setMark(); try { RecordHeader _optionCheck(&_s); parseRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 0xF)&&(_optionCheck.recInstance == 0)&&(_optionCheck.recType == 0x3714); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.rtSlideSyncInfo12 = QSharedPointer(new RoundTripSlideSyncInfo12Container(&_s)); parseRoundTripSlideSyncInfo12Container(in, *_s.rtSlideSyncInfo12.data()); } catch(IncorrectValueException _e) { _s.rtSlideSyncInfo12.clear(); in.rewind(_m); } catch(EOFException _e) { _s.rtSlideSyncInfo12.clear(); in.rewind(_m); } } parseDrawingContainer(in, _s.drawing); parseSlideSchemeColorSchemeAtom(in, _s.slideSchemeColorSchemeAtom); _m = in.setMark(); try { RecordHeader _optionCheck(&_s); parseRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 0)&&(_optionCheck.recInstance == 3)&&(_optionCheck.recType == 0x0FBA)&&(_optionCheck.recLen%2==0); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.slideNameAtom = QSharedPointer(new SlideNameAtom(&_s)); parseSlideNameAtom(in, *_s.slideNameAtom.data()); } catch(IncorrectValueException _e) { _s.slideNameAtom.clear(); in.rewind(_m); } catch(EOFException _e) { _s.slideNameAtom.clear(); in.rewind(_m); } } _m = in.setMark(); try { RecordHeader _optionCheck(&_s); parseRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 0xF)&&(_optionCheck.recInstance == 0)&&(_optionCheck.recType == 0x1388); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.slideProgTagsContainer = QSharedPointer(new SlideProgTagsContainer(&_s)); parseSlideProgTagsContainer(in, *_s.slideProgTagsContainer.data()); } catch(IncorrectValueException _e) { _s.slideProgTagsContainer.clear(); in.rewind(_m); } catch(EOFException _e) { _s.slideProgTagsContainer.clear(); in.rewind(_m); } } _m = in.setMark(); try { RecordHeader _optionCheck(&_s); parseRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 0)&&(_optionCheck.recInstance == 0)&&(_optionCheck.recType == 0x101D); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.unknown = QSharedPointer(new UnknownSlideContainerChild(&_s)); parseUnknownSlideContainerChild(in, *_s.unknown.data()); } catch(IncorrectValueException _e) { _s.unknown.clear(); in.rewind(_m); } catch(EOFException _e) { _s.unknown.clear(); in.rewind(_m); } } _atend = false; while (!_atend) { _m = in.setMark(); try { _s.rgRoundTripSlide.append(RoundTripSlideRecord(&_s)); parseRoundTripSlideRecord(in, _s.rgRoundTripSlide.last()); } catch(IncorrectValueException _e) { _s.rgRoundTripSlide.removeLast(); _atend = true; in.rewind(_m); } catch(EOFException _e) { _s.rgRoundTripSlide.removeLast(); _atend = true; in.rewind(_m); } } _m = in.setMark(); try { RecordHeader _optionCheck(&_s); parseRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 0)&&(_optionCheck.recInstance == 0)&&(_optionCheck.recType == 0x101D); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.unknown2 = QSharedPointer(new UnknownSlideContainerChild(&_s)); parseUnknownSlideContainerChild(in, *_s.unknown2.data()); } catch(IncorrectValueException _e) { _s.unknown2.clear(); in.rewind(_m); } catch(EOFException _e) { _s.unknown2.clear(); in.rewind(_m); } } } void MSO::parseNotesContainer(LEInputStream& in, NotesContainer& _s) { _s.streamOffset = in.getPosition(); LEInputStream::Mark _m; bool _possiblyPresent; bool _atend; parseRecordHeader(in, _s.rh); if (!(_s.rh.recVer == 0xF)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recVer == 0xF"); } if (!(_s.rh.recInstance == 0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recInstance == 0"); } if (!(_s.rh.recType == 0x03F0)) { throw IncorrectValueException(in.getPosition(), "_s.rh.recType == 0x03F0"); } parseNotesAtom(in, _s.notesAtom); _m = in.setMark(); try { RecordHeader _optionCheck(&_s); parseRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 0xF)&&(_optionCheck.recInstance == 0)&&(_optionCheck.recType == 0xFD9); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.perSlideHFContainer = QSharedPointer(new PerSlideHeadersFootersContainer(&_s)); parsePerSlideHeadersFootersContainer(in, *_s.perSlideHFContainer.data()); } catch(IncorrectValueException _e) { _s.perSlideHFContainer.clear(); in.rewind(_m); } catch(EOFException _e) { _s.perSlideHFContainer.clear(); in.rewind(_m); } } parseDrawingContainer(in, _s.drawing); parseSlideSchemeColorSchemeAtom(in, _s.slideSchemeColorSchemeAtom); _m = in.setMark(); try { RecordHeader _optionCheck(&_s); parseRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 0)&&(_optionCheck.recInstance == 3)&&(_optionCheck.recType == 0x0FBA)&&(_optionCheck.recLen%2==0); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.slideNameAtom = QSharedPointer(new SlideNameAtom(&_s)); parseSlideNameAtom(in, *_s.slideNameAtom.data()); } catch(IncorrectValueException _e) { _s.slideNameAtom.clear(); in.rewind(_m); } catch(EOFException _e) { _s.slideNameAtom.clear(); in.rewind(_m); } } _m = in.setMark(); try { RecordHeader _optionCheck(&_s); parseRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 0xF)&&(_optionCheck.recInstance == 0)&&(_optionCheck.recType == 0x1388); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.slideProgTagsContainer = QSharedPointer(new SlideProgTagsContainer(&_s)); parseSlideProgTagsContainer(in, *_s.slideProgTagsContainer.data()); } catch(IncorrectValueException _e) { _s.slideProgTagsContainer.clear(); in.rewind(_m); } catch(EOFException _e) { _s.slideProgTagsContainer.clear(); in.rewind(_m); } } _m = in.setMark(); try { RecordHeader _optionCheck(&_s); parseRecordHeader(in, _optionCheck); _possiblyPresent = (_optionCheck.recVer == 0xF)&&(_optionCheck.recInstance == 0)&&(_optionCheck.recType == 0xFD9); } catch(EOFException _e) { _possiblyPresent = false; } in.rewind(_m); _m = in.setMark(); if (_possiblyPresent) { try { _s.perSlideHFContainer2 = QSharedPointer(new PerSlideHeadersFootersContainer(&_s)); parsePerSlideHeadersFootersContainer(in, *_s.perSlideHFContainer2.data()); } catch(IncorrectValueException _e) { _s.perSlideHFContainer2.clear(); in.rewind(_m); } catch(EOFException _e) { _s.perSlideHFContainer2.clear(); in.rewind(_m); } } _atend = false; while (!_atend) { _m = in.setMark(); try { _s.rgNotesRoundTripAtom.append(NotesRoundTripAtom(&_s)); parseNotesRoundTripAtom(in, _s.rgNotesRoundTripAtom.last()); } catch(IncorrectValueException _e) { _s.rgNotesRoundTripAtom.removeLast(); _atend = true; in.rewind(_m); } catch(EOFException _e) { _s.rgNotesRoundTripAtom.removeLast(); _atend = true; in.rewind(_m); } } } void MSO::parseMasterOrSlideContainer(LEInputStream& in, MasterOrSlideContainer& _s) { _s.streamOffset = in.getPosition(); LEInputStream::Mark _m; _m = in.setMark(); RecordHeader _choice(&_s); parseRecordHeader(in, _choice); in.rewind(_m); qint64 startPos = in.getPosition(); if (startPos == in.getPosition() && ((_choice.recType == 0x03F8))) { _s.anon = MasterOrSlideContainer::choice2788643208(new MainMasterContainer(&_s)); parseMainMasterContainer(in, *(MainMasterContainer*)_s.anon.data()); } if (startPos == in.getPosition()) { _s.anon = MasterOrSlideContainer::choice2788643208(new SlideContainer(&_s)); parseSlideContainer(in, *(SlideContainer*)_s.anon.data()); } } void MSO::parsePowerPointStruct(LEInputStream& in, PowerPointStruct& _s) { _s.streamOffset = in.getPosition(); LEInputStream::Mark _m; _m = in.setMark(); try { _s.anon = PowerPointStruct::choice394521820(new DocumentContainer(&_s)); parseDocumentContainer(in, *(DocumentContainer*)_s.anon.data()); } catch (IncorrectValueException _x) { _s.anon.clear(); in.rewind(_m); try { _s.anon = PowerPointStruct::choice394521820(new MasterOrSlideContainer(&_s)); parseMasterOrSlideContainer(in, *(MasterOrSlideContainer*)_s.anon.data()); } catch (IncorrectValueException _xx) { _s.anon.clear(); in.rewind(_m); try { _s.anon = PowerPointStruct::choice394521820(new PersistDirectoryAtom(&_s)); parsePersistDirectoryAtom(in, *(PersistDirectoryAtom*)_s.anon.data()); } catch (IncorrectValueException _xxx) { _s.anon.clear(); in.rewind(_m); try { _s.anon = PowerPointStruct::choice394521820(new NotesContainer(&_s)); parseNotesContainer(in, *(NotesContainer*)_s.anon.data()); } catch (IncorrectValueException _xxxx) { _s.anon.clear(); in.rewind(_m); try { _s.anon = PowerPointStruct::choice394521820(new HandoutContainer(&_s)); parseHandoutContainer(in, *(HandoutContainer*)_s.anon.data()); } catch (IncorrectValueException _xxxxx) { _s.anon.clear(); in.rewind(_m); try { _s.anon = PowerPointStruct::choice394521820(new SlideContainer(&_s)); parseSlideContainer(in, *(SlideContainer*)_s.anon.data()); } catch (IncorrectValueException _xxxxxx) { _s.anon.clear(); in.rewind(_m); try { _s.anon = PowerPointStruct::choice394521820(new ExOleObjStg(&_s)); parseExOleObjStg(in, *(ExOleObjStg*)_s.anon.data()); } catch (IncorrectValueException _xxxxxxx) { _s.anon.clear(); in.rewind(_m); try { _s.anon = PowerPointStruct::choice394521820(new ExControlStg(&_s)); parseExControlStg(in, *(ExControlStg*)_s.anon.data()); } catch (IncorrectValueException _xxxxxxxx) { _s.anon.clear(); in.rewind(_m); try { _s.anon = PowerPointStruct::choice394521820(new VbaProjectStg(&_s)); parseVbaProjectStg(in, *(VbaProjectStg*)_s.anon.data()); } catch (IncorrectValueException _xxxxxxxxx) { _s.anon.clear(); in.rewind(_m); _s.anon = PowerPointStruct::choice394521820(new UserEditAtom(&_s)); parseUserEditAtom(in, *(UserEditAtom*)_s.anon.data()); }}}}}}}}} }