TrinityCore
DB2Meta.h
Go to the documentation of this file.
1/*
2 * This file is part of the TrinityCore Project. See AUTHORS file for Copyright information
3 *
4 * This program is free software; you can redistribute it and/or modify it
5 * under the terms of the GNU General Public License as published by the
6 * Free Software Foundation; either version 2 of the License, or (at your
7 * option) any later version.
8 *
9 * This program is distributed in the hope that it will be useful, but WITHOUT
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
12 * more details.
13 *
14 * You should have received a copy of the GNU General Public License along
15 * with this program. If not, see <http://www.gnu.org/licenses/>.
16 */
17
18#ifndef DB2Meta_h__
19#define DB2Meta_h__
20
21#include "Define.h"
22
24{
28};
29
31{
32 constexpr explicit DB2Meta(uint32 fileDataId, int32 indexField, uint32 fieldCount, uint32 fileFieldCount, uint32 layoutHash,
33 DB2MetaField const* fields, int32 parentIndexField) : FileDataId(fileDataId), IndexField(indexField), ParentIndexField(parentIndexField),
34 FieldCount(fieldCount), FileFieldCount(fileFieldCount), LayoutHash(layoutHash), Fields(fields)
35 {
36 }
37
38 bool HasIndexFieldInData() const;
39
40 // Returns field index for data loaded in our structures (ID field is appended in the front if not present in db2 file data section)
41 uint32 GetIndexField() const;
42
43 // Returns size of final loaded structure
44 uint32 GetRecordSize() const;
45
46 uint32 GetIndexFieldOffset() const;
47 int32 GetParentIndexFieldOffset() const;
48
49 uint32 GetDbIndexField() const;
50 uint32 GetDbFieldCount() const;
51
52 bool IsSignedField(uint32 field) const;
53
61};
62
63#endif // DB2Meta_h__
uint8_t uint8
Definition: Define.h:144
#define TC_COMMON_API
Definition: Define.h:99
int32_t int32
Definition: Define.h:138
DBCFormer
Definition: Define.h:147
uint32_t uint32
Definition: Define.h:142
uint8 ArraySize
Definition: DB2Meta.h:26
DBCFormer Type
Definition: DB2Meta.h:25
bool IsSigned
Definition: DB2Meta.h:27
uint32 FileFieldCount
Definition: DB2Meta.h:58
int32 IndexField
Definition: DB2Meta.h:55
DB2MetaField const * Fields
Definition: DB2Meta.h:60
uint32 FieldCount
Definition: DB2Meta.h:57
uint32 LayoutHash
Definition: DB2Meta.h:59
constexpr DB2Meta(uint32 fileDataId, int32 indexField, uint32 fieldCount, uint32 fileFieldCount, uint32 layoutHash, DB2MetaField const *fields, int32 parentIndexField)
Definition: DB2Meta.h:32
int32 ParentIndexField
Definition: DB2Meta.h:56
uint32 FileDataId
Definition: DB2Meta.h:54