|
Packit |
1c1d7e |
/******************************************************************************
|
|
Packit |
1c1d7e |
*
|
|
Packit |
1c1d7e |
* Copyright (C) 1997-2015 by Dimitri van Heesch.
|
|
Packit |
1c1d7e |
*
|
|
Packit |
1c1d7e |
* Permission to use, copy, modify, and distribute this software and its
|
|
Packit |
1c1d7e |
* documentation under the terms of the GNU General Public License is hereby
|
|
Packit |
1c1d7e |
* granted. No representations are made about the suitability of this software
|
|
Packit |
1c1d7e |
* for any purpose. It is provided "as is" without express or implied warranty.
|
|
Packit |
1c1d7e |
* See the GNU General Public License for more details.
|
|
Packit |
1c1d7e |
*
|
|
Packit |
1c1d7e |
* Documents produced by Doxygen are derivative works derived from the
|
|
Packit |
1c1d7e |
* input used in their production; they are not affected by this license.
|
|
Packit |
1c1d7e |
*
|
|
Packit |
1c1d7e |
*/
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
#ifndef MARSHAL_H
|
|
Packit |
1c1d7e |
#define MARSHAL_H
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
#include <qlist.h>
|
|
Packit |
1c1d7e |
#include <qfile.h>
|
|
Packit |
1c1d7e |
#include "sortdict.h"
|
|
Packit |
1c1d7e |
#include "store.h"
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
class ArgumentList;
|
|
Packit |
1c1d7e |
struct BaseInfo;
|
|
Packit |
1c1d7e |
struct Grouping;
|
|
Packit |
1c1d7e |
struct SectionInfo;
|
|
Packit |
1c1d7e |
struct ListItemInfo;
|
|
Packit |
1c1d7e |
class QCString;
|
|
Packit |
1c1d7e |
class QGString;
|
|
Packit |
1c1d7e |
class SectionDict;
|
|
Packit |
1c1d7e |
class MemberSDict;
|
|
Packit |
1c1d7e |
class GroupList;
|
|
Packit |
1c1d7e |
class MemberList;
|
|
Packit |
1c1d7e |
struct BodyInfo;
|
|
Packit |
1c1d7e |
struct DocInfo;
|
|
Packit |
1c1d7e |
struct BriefInfo;
|
|
Packit |
1c1d7e |
class ExampleSDict;
|
|
Packit |
1c1d7e |
class Entry;
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
#define NULL_LIST 0xffffffff
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
//----- marshaling function: datatype -> byte stream --------------------
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
void marshalInt(StorageIntf *s,int v);
|
|
Packit |
1c1d7e |
void marshalUInt(StorageIntf *s,uint v);
|
|
Packit |
1c1d7e |
void marshalUInt64(StorageIntf *s,uint64 v);
|
|
Packit |
1c1d7e |
void marshalBool(StorageIntf *s,bool b);
|
|
Packit |
1c1d7e |
void marshalQCString(StorageIntf *s,const QCString &str);
|
|
Packit |
1c1d7e |
void marshalQGString(StorageIntf *s,const QGString &str);
|
|
Packit |
1c1d7e |
void marshalArgumentList(StorageIntf *s,ArgumentList *argList);
|
|
Packit |
1c1d7e |
void marshalArgumentLists(StorageIntf *s,QList<ArgumentList> *argLists);
|
|
Packit |
1c1d7e |
void marshalBaseInfoList(StorageIntf *s, QList<BaseInfo> *baseList);
|
|
Packit |
1c1d7e |
void marshalGroupingList(StorageIntf *s, QList<Grouping> *groups);
|
|
Packit |
1c1d7e |
void marshalSectionInfoList(StorageIntf *s, QList<SectionInfo> *anchors);
|
|
Packit |
1c1d7e |
void marshalItemInfoList(StorageIntf *s, QList<ListItemInfo> *sli);
|
|
Packit |
1c1d7e |
void marshalObjPointer(StorageIntf *s,void *obj);
|
|
Packit |
1c1d7e |
void marshalSectionDict(StorageIntf *s,SectionDict *sections);
|
|
Packit |
1c1d7e |
void marshalMemberSDict(StorageIntf *s,MemberSDict *memberSDict);
|
|
Packit |
1c1d7e |
void marshalDocInfo(StorageIntf *s,DocInfo *docInfo);
|
|
Packit |
1c1d7e |
void marshalBriefInfo(StorageIntf *s,BriefInfo *briefInfo);
|
|
Packit |
1c1d7e |
void marshalBodyInfo(StorageIntf *s,BodyInfo *bodyInfo);
|
|
Packit |
1c1d7e |
void marshalGroupList(StorageIntf *s,GroupList *groupList);
|
|
Packit |
1c1d7e |
void marshalMemberList(StorageIntf *s,MemberList *ml);
|
|
Packit |
1c1d7e |
void marshalExampleSDict(StorageIntf *s,ExampleSDict *ed);
|
|
Packit |
1c1d7e |
void marshalMemberLists(StorageIntf *s,SDict<MemberList> *mls);
|
|
Packit |
1c1d7e |
void marshalEntry(StorageIntf *s,Entry *e);
|
|
Packit |
1c1d7e |
void marshalEntryTree(StorageIntf *s,Entry *e);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
//----- unmarshaling function: byte stream -> datatype ------------------
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
int unmarshalInt(StorageIntf *s);
|
|
Packit |
1c1d7e |
uint unmarshalUInt(StorageIntf *s);
|
|
Packit |
1c1d7e |
uint64 unmarshalUInt64(StorageIntf *s);
|
|
Packit |
1c1d7e |
bool unmarshalBool(StorageIntf *s);
|
|
Packit |
1c1d7e |
QCString unmarshalQCString(StorageIntf *s);
|
|
Packit |
1c1d7e |
QGString unmarshalQGString(StorageIntf *s);
|
|
Packit |
1c1d7e |
ArgumentList * unmarshalArgumentList(StorageIntf *s);
|
|
Packit |
1c1d7e |
QList<ArgumentList> *unmarshalArgumentLists(StorageIntf *s);
|
|
Packit |
1c1d7e |
QList<BaseInfo> * unmarshalBaseInfoList(StorageIntf *s);
|
|
Packit |
1c1d7e |
QList<Grouping> * unmarshalGroupingList(StorageIntf *s);
|
|
Packit |
1c1d7e |
QList<SectionInfo> * unmarshalSectionInfoList(StorageIntf *s);
|
|
Packit |
1c1d7e |
QList<ListItemInfo> *unmarshalItemInfoList(StorageIntf *s);
|
|
Packit |
1c1d7e |
void * unmarshalObjPointer(StorageIntf *s);
|
|
Packit |
1c1d7e |
SectionDict * unmarshalSectionDict(StorageIntf *s);
|
|
Packit |
1c1d7e |
MemberSDict * unmarshalMemberSDict(StorageIntf *s);
|
|
Packit |
1c1d7e |
DocInfo * unmarshalDocInfo(StorageIntf *s);
|
|
Packit |
1c1d7e |
BriefInfo * unmarshalBriefInfo(StorageIntf *s);
|
|
Packit |
1c1d7e |
BodyInfo * unmarshalBodyInfo(StorageIntf *s);
|
|
Packit |
1c1d7e |
GroupList * unmarshalGroupList(StorageIntf *s);
|
|
Packit |
1c1d7e |
MemberList * unmarshalMemberList(StorageIntf *s);
|
|
Packit |
1c1d7e |
ExampleSDict * unmarshalExampleSDict(StorageIntf *s);
|
|
Packit |
1c1d7e |
SDict<MemberList> * unmarshalMemberLists(StorageIntf *s);
|
|
Packit |
1c1d7e |
Entry * unmarshalEntry(StorageIntf *s);
|
|
Packit |
1c1d7e |
Entry * unmarshalEntryTree(StorageIntf *s);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
#endif
|