LibreOffice Module sot (master)
1
sot
source
sdstor
stgio.hxx
Go to the documentation of this file.
1
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2
/*
3
* This file is part of the LibreOffice project.
4
*
5
* This Source Code Form is subject to the terms of the Mozilla Public
6
* License, v. 2.0. If a copy of the MPL was not distributed with this
7
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
8
*
9
* This file incorporates work covered by the following license notice:
10
*
11
* Licensed to the Apache Software Foundation (ASF) under one or more
12
* contributor license agreements. See the NOTICE file distributed
13
* with this work for additional information regarding copyright
14
* ownership. The ASF licenses this file to you under the Apache
15
* License, Version 2.0 (the "License"); you may not use this file
16
* except in compliance with the License. You may obtain a copy of
17
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
18
*/
19
20
#ifndef INCLUDED_SOT_SOURCE_SDSTOR_STGIO_HXX
21
#define INCLUDED_SOT_SOURCE_SDSTOR_STGIO_HXX
22
23
#include "
stgcache.hxx
"
24
#include "
stgelem.hxx
"
25
26
class
StgFATStrm
;
27
class
StgDataStrm
;
28
class
StgDirStrm
;
29
30
enum class
FatError
31
{
32
Ok
,
33
WrongLength
,
34
UnrefChain
,
35
OutOfBounds
,
36
37
InMemoryError
,
38
OnFileError
,
39
BothError
40
};
41
42
class
StgIo
:
public
StgCache
{
43
void
SetupStreams
();
// load all internal streams
44
bool
m_bCopied
;
45
public
:
46
StgIo
();
47
~StgIo
();
48
StgHeader
m_aHdr
;
// storage file header
49
StgFATStrm
*
m_pFAT
;
// FAT stream
50
StgDirStrm
*
m_pTOC
;
// TOC stream
51
StgDataStrm
*
m_pDataFAT
;
// small data FAT stream
52
StgDataStrm
*
m_pDataStrm
;
// small data stream
53
short
GetDataPageSize
()
const
;
// get the logical data page size
54
bool
Load
();
// load a storage file
55
bool
Init
();
// set up an empty file
56
bool
CommitAll
();
// commit everything (root commit)
57
58
FatError
ValidateFATs
( );
59
};
60
61
#endif
62
63
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
StgCache
Definition:
stgcache.hxx:38
StgDataStrm
Definition:
stgstrms.hxx:118
StgDirStrm
Definition:
stgdir.hxx:86
StgFATStrm
Definition:
stgstrms.hxx:104
StgHeader
Definition:
stgelem.hxx:35
StgIo
Definition:
stgio.hxx:42
StgIo::GetDataPageSize
short GetDataPageSize() const
Definition:
stgio.cxx:125
StgIo::ValidateFATs
FatError ValidateFATs()
Definition:
stgio.cxx:363
StgIo::m_bCopied
bool m_bCopied
Definition:
stgio.hxx:44
StgIo::~StgIo
~StgIo()
Definition:
stgio.cxx:45
StgIo::m_pDataFAT
StgDataStrm * m_pDataFAT
Definition:
stgio.hxx:51
StgIo::CommitAll
bool CommitAll()
Definition:
stgio.cxx:132
StgIo::SetupStreams
void SetupStreams()
Definition:
stgio.cxx:81
StgIo::Load
bool Load()
Definition:
stgio.cxx:55
StgIo::StgIo
StgIo()
Definition:
stgio.cxx:36
StgIo::m_pDataStrm
StgDataStrm * m_pDataStrm
Definition:
stgio.hxx:52
StgIo::Init
bool Init()
Definition:
stgio.cxx:74
StgIo::m_pTOC
StgDirStrm * m_pTOC
Definition:
stgio.hxx:50
StgIo::m_pFAT
StgFATStrm * m_pFAT
Definition:
stgio.hxx:49
StgIo::m_aHdr
StgHeader m_aHdr
Definition:
stgio.hxx:48
stgcache.hxx
stgelem.hxx
FatError
FatError
Definition:
stgio.hxx:31
FatError::OutOfBounds
@ OutOfBounds
FatError::UnrefChain
@ UnrefChain
FatError::BothError
@ BothError
FatError::WrongLength
@ WrongLength
FatError::OnFileError
@ OnFileError
FatError::InMemoryError
@ InMemoryError
TableMergeErr::Ok
@ Ok
Generated on Sun Jul 30 2023 04:26:51 for LibreOffice Module sot (master) by
1.9.3