Blame src/marshal.h

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