/* * Copyright (C) Ascensio System SIA, 2009-2026 * * This program is a free software product. You can redistribute it and/or * modify it under the terms of the GNU Affero General Public License (AGPL) * version 3 as published by the Free Software Foundation, together with the * additional terms provided in the LICENSE file. * * This program is distributed WITHOUT ANY WARRANTY; without even the implied * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For * details, see the GNU AGPL at: https://www.gnu.org/licenses/agpl-3.0.html * * You can contact Ascensio System SIA by email at info@onlyoffice.com * or by postal mail at 20A-6 Ernesta Birznieka-Upisha Street, Riga, * LV-1050, Latvia, European Union. * * The interactive user interfaces in modified versions of the Program * are required to display Appropriate Legal Notices in accordance with * Section 5 of the GNU AGPL version 3. * * No trademark rights are granted under this License. * * All non-code elements of the Product, including illustrations, * icon sets, and technical writing content, are licensed under the * Creative Commons Attribution-ShareAlike 4.0 International License: * https://creativecommons.org/licenses/by-sa/4.0/legalcode * * This license applies only to such non-code elements and does not * modify or replace the licensing terms applicable to the Program's * source code, which remains licensed under the GNU Affero General * Public License v3. * * SPDX-License-Identifier: AGPL-3.0-only */ #include "BookmarkFirst.h" namespace DocFileFormat { AtnBookmark::AtnBookmark() { } AtnBookmark::~AtnBookmark() { } ByteStructure* AtnBookmark::ConstructObject(VirtualStreamReader* reader, int length) { AtnBookmark *newObject = new AtnBookmark(); newObject->bmc = reader->ReadUInt16(); //0x0100 newObject->lTag = reader->ReadUInt32(); unsigned int lTagOld = reader->ReadUInt32(); return static_cast(newObject); } //--------------------------------------------------------------------------------------------- ProtInfoBookmark::ProtInfoBookmark() { } ProtInfoBookmark::~ProtInfoBookmark() { } ByteStructure* ProtInfoBookmark::ConstructObject(VirtualStreamReader* reader, int length) { ProtInfoBookmark *newObject = new ProtInfoBookmark(); if (length > 8) { newObject->id = reader->ReadUInt32(); } newObject->uidSel = reader->ReadUInt16(); newObject->iProt = reader->ReadUInt16(); newObject->i = reader->ReadUInt16(); newObject->fUseMe = reader->ReadUInt16(); return static_cast(newObject); } //--------------------------------------------------------------------------------------------- BookmarkFirst::BookmarkFirst() { } BookmarkFirst::~BookmarkFirst() { } ByteStructure* BookmarkFirst::ConstructObject(VirtualStreamReader* reader, int length) { BookmarkFirst *newObject = new BookmarkFirst(); newObject->id = reader->ReadUInt32(); newObject->itcFirst = reader->ReadByte(); newObject->fPub = GETBIT(newObject->itcFirst, 7); newObject->itcFirst = GETBITS(newObject->itcFirst, 0, 6); newObject->itcLim = reader->ReadByte(); newObject->fNative = GETBIT(newObject->itcLim, 6); newObject->fCol = GETBIT(newObject->itcLim, 7); newObject->itcLim = GETBITS(newObject->itcLim, 0, 5); return static_cast(newObject); } }