marshal.h
Go to the documentation of this file.
1 /******************************************************************************
2  *
3  * Copyright (C) 1997-2015 by Dimitri van Heesch.
4  *
5  * Permission to use, copy, modify, and distribute this software and its
6  * documentation under the terms of the GNU General Public License is hereby
7  * granted. No representations are made about the suitability of this software
8  * for any purpose. It is provided "as is" without express or implied warranty.
9  * See the GNU General Public License for more details.
10  *
11  * Documents produced by Doxygen are derivative works derived from the
12  * input used in their production; they are not affected by this license.
13  *
14  */
15 
16 #ifndef MARSHAL_H
17 #define MARSHAL_H
18 
19 #include <qlist.h>
20 #include <qfile.h>
21 #include "sortdict.h"
22 #include "store.h"
23 
24 class ArgumentList;
25 struct BaseInfo;
26 struct Grouping;
27 struct SectionInfo;
28 struct ListItemInfo;
29 class QCString;
30 class QGString;
31 class SectionDict;
32 class MemberSDict;
33 class GroupList;
34 class MemberList;
35 struct BodyInfo;
36 struct DocInfo;
37 struct BriefInfo;
38 class ExampleSDict;
39 class Entry;
40 
41 #define NULL_LIST 0xffffffff
42 
43 //----- marshaling function: datatype -> byte stream --------------------
44 
45 void marshalInt(StorageIntf *s,int v);
46 void marshalUInt(StorageIntf *s,uint v);
48 void marshalBool(StorageIntf *s,bool b);
57 void marshalObjPointer(StorageIntf *s,void *obj);
59 void marshalMemberSDict(StorageIntf *s,MemberSDict *memberSDict);
60 void marshalDocInfo(StorageIntf *s,DocInfo *docInfo);
61 void marshalBriefInfo(StorageIntf *s,BriefInfo *briefInfo);
62 void marshalBodyInfo(StorageIntf *s,BodyInfo *bodyInfo);
63 void marshalGroupList(StorageIntf *s,GroupList *groupList);
69 
70 //----- unmarshaling function: byte stream -> datatype ------------------
71 
96 
97 #endif
Definition: types.h:61
ArgumentList * unmarshalArgumentList(StorageIntf *s)
Definition: marshal.cpp:479
QList< Grouping > * unmarshalGroupingList(StorageIntf *s)
Definition: marshal.cpp:518
This class represents an function or template argument list.
Definition: arguments.h:82
void marshalBool(StorageIntf *s, bool b)
Definition: marshal.cpp:42
Definition: entry.h:63
void marshalMemberSDict(StorageIntf *s, MemberSDict *memberSDict)
Definition: marshal.cpp:192
void * unmarshalObjPointer(StorageIntf *s)
Definition: marshal.cpp:575
void marshalObjPointer(StorageIntf *s, void *obj)
Definition: marshal.cpp:167
void marshalBaseInfoList(StorageIntf *s, QList< BaseInfo > *baseList)
Definition: marshal.cpp:85
MemberSDict * unmarshalMemberSDict(StorageIntf *s)
Definition: marshal.cpp:600
ArgumentList * argList
member arguments as a list
Definition: entry.h:254
Abstract interface for file based memory storage operations.
Definition: store.h:27
void marshalExampleSDict(StorageIntf *s, ExampleSDict *ed)
Definition: marshal.cpp:303
MemberList * unmarshalMemberList(StorageIntf *s)
Definition: marshal.cpp:676
void marshalUInt(StorageIntf *s, uint v)
Definition: marshal.cpp:26
void marshalArgumentLists(StorageIntf *s, QList< ArgumentList > *argLists)
Definition: marshal.cpp:67
void marshalMemberLists(StorageIntf *s, SDict< MemberList > *mls)
Definition: marshal.cpp:326
DocInfo * unmarshalDocInfo(StorageIntf *s)
Definition: marshal.cpp:627
void marshalDocInfo(StorageIntf *s, DocInfo *docInfo)
Definition: marshal.cpp:216
uint64 unmarshalUInt64(StorageIntf *s)
Definition: marshal.cpp:436
void marshalQGString(StorageIntf *s, const QGString &str)
Definition: marshal.cpp:55
GroupList * unmarshalGroupList(StorageIntf *s)
Definition: marshal.cpp:661
QList< ArgumentList > * unmarshalArgumentLists(StorageIntf *s)
Definition: marshal.cpp:484
QList< ListItemInfo > * unmarshalItemInfoList(StorageIntf *s)
Definition: marshal.cpp:557
const double e
void marshalBriefInfo(StorageIntf *s, BriefInfo *briefInfo)
Definition: marshal.cpp:231
void marshalMemberList(StorageIntf *s, MemberList *ml)
Definition: marshal.cpp:280
QList< Grouping > * groups
list of groups this entry belongs to
Definition: entry.h:280
void marshalGroupList(StorageIntf *s, GroupList *groupList)
Definition: marshal.cpp:262
uint unmarshalUInt(StorageIntf *s)
Definition: marshal.cpp:427
Entry * unmarshalEntry(StorageIntf *s)
Definition: marshal.cpp:727
QList< SectionInfo > * anchors
list of anchors defined in this entry
Definition: entry.h:281
ExampleSDict * unmarshalExampleSDict(StorageIntf *s)
Definition: marshal.cpp:692
BodyInfo * unmarshalBodyInfo(StorageIntf *s)
Definition: marshal.cpp:650
QCString unmarshalQCString(StorageIntf *s)
Definition: marshal.cpp:451
void marshalArgumentList(StorageIntf *s, ArgumentList *argList)
Definition: marshal.cpp:62
void marshalBodyInfo(StorageIntf *s, BodyInfo *bodyInfo)
Definition: marshal.cpp:247
void marshalEntryTree(StorageIntf *s, Entry *e)
Definition: marshal.cpp:404
void marshalQCString(StorageIntf *s, const QCString &str)
Definition: marshal.cpp:48
void marshalSectionInfoList(StorageIntf *s, QList< SectionInfo > *anchors)
Definition: marshal.cpp:124
QList< SectionInfo > * unmarshalSectionInfoList(StorageIntf *s)
Definition: marshal.cpp:535
void marshalSectionDict(StorageIntf *s, SectionDict *sections)
Definition: marshal.cpp:173
SectionDict * unmarshalSectionDict(StorageIntf *s)
Definition: marshal.cpp:582
BriefInfo * unmarshalBriefInfo(StorageIntf *s)
Definition: marshal.cpp:638
QGString unmarshalQGString(StorageIntf *s)
Definition: marshal.cpp:465
void marshalUInt64(StorageIntf *s, uint64 v)
Definition: marshal.cpp:36
SDict< MemberList > * unmarshalMemberLists(StorageIntf *s)
Definition: marshal.cpp:711
void marshalInt(StorageIntf *s, int v)
Definition: marshal.cpp:16
static bool * b
Definition: config.cpp:1043
void marshalGroupingList(StorageIntf *s, QList< Grouping > *groups)
Definition: marshal.cpp:105
int unmarshalInt(StorageIntf *s)
Definition: marshal.cpp:418
unsigned long long uint64
Definition: qglobal.h:361
void marshalEntry(StorageIntf *s, Entry *e)
Definition: marshal.cpp:347
Definition: entry.h:37
void marshalItemInfoList(StorageIntf *s, QList< ListItemInfo > *sli)
Definition: marshal.cpp:148
unsigned uint
Definition: qglobal.h:351
bool unmarshalBool(StorageIntf *s)
Definition: marshal.cpp:443
static QCString * s
Definition: config.cpp:1042
static QCString str
Entry * unmarshalEntryTree(StorageIntf *s)
Definition: marshal.cpp:791
QList< BaseInfo > * unmarshalBaseInfoList(StorageIntf *s)
Definition: marshal.cpp:500
QList< ListItemInfo > * sli
special lists (test/todo/bug/deprecated/..) this entry is in
Definition: entry.h:285