Macros | Functions
marshal.cpp File Reference
#include <qfile.h>
#include <assert.h>
#include "sortdict.h"
#include "marshal.h"
#include "entry.h"
#include "section.h"
#include "memberlist.h"
#include "definition.h"
#include "groupdef.h"
#include "example.h"
#include "arguments.h"

Go to the source code of this file.

Macros

#define HEADER   ('D'<<24)+('O'<<16)+('X'<<8)+'!'
 

Functions

void marshalInt (StorageIntf *s, int v)
 
void marshalUInt (StorageIntf *s, uint v)
 
void marshalUInt64 (StorageIntf *s, uint64 v)
 
void marshalBool (StorageIntf *s, bool b)
 
void marshalQCString (StorageIntf *s, const QCString &str)
 
void marshalQGString (StorageIntf *s, const QGString &str)
 
void marshalArgumentList (StorageIntf *s, ArgumentList *argList)
 
void marshalArgumentLists (StorageIntf *s, QList< ArgumentList > *argLists)
 
void marshalBaseInfoList (StorageIntf *s, QList< BaseInfo > *baseList)
 
void marshalGroupingList (StorageIntf *s, QList< Grouping > *groups)
 
void marshalSectionInfoList (StorageIntf *s, QList< SectionInfo > *anchors)
 
void marshalItemInfoList (StorageIntf *s, QList< ListItemInfo > *sli)
 
void marshalObjPointer (StorageIntf *s, void *obj)
 
void marshalSectionDict (StorageIntf *s, SectionDict *sections)
 
void marshalMemberSDict (StorageIntf *s, MemberSDict *memberSDict)
 
void marshalDocInfo (StorageIntf *s, DocInfo *docInfo)
 
void marshalBriefInfo (StorageIntf *s, BriefInfo *briefInfo)
 
void marshalBodyInfo (StorageIntf *s, BodyInfo *bodyInfo)
 
void marshalGroupList (StorageIntf *s, GroupList *groupList)
 
void marshalMemberList (StorageIntf *s, MemberList *ml)
 
void marshalExampleSDict (StorageIntf *s, ExampleSDict *ed)
 
void marshalMemberLists (StorageIntf *s, SDict< MemberList > *mls)
 
void marshalEntry (StorageIntf *s, Entry *e)
 
void marshalEntryTree (StorageIntf *s, Entry *e)
 
int unmarshalInt (StorageIntf *s)
 
uint unmarshalUInt (StorageIntf *s)
 
uint64 unmarshalUInt64 (StorageIntf *s)
 
bool unmarshalBool (StorageIntf *s)
 
QCString unmarshalQCString (StorageIntf *s)
 
QGString unmarshalQGString (StorageIntf *s)
 
ArgumentListunmarshalArgumentList (StorageIntf *s)
 
QList< ArgumentList > * unmarshalArgumentLists (StorageIntf *s)
 
QList< BaseInfo > * unmarshalBaseInfoList (StorageIntf *s)
 
QList< Grouping > * unmarshalGroupingList (StorageIntf *s)
 
QList< SectionInfo > * unmarshalSectionInfoList (StorageIntf *s)
 
QList< ListItemInfo > * unmarshalItemInfoList (StorageIntf *s)
 
void * unmarshalObjPointer (StorageIntf *s)
 
SectionDictunmarshalSectionDict (StorageIntf *s)
 
MemberSDictunmarshalMemberSDict (StorageIntf *s)
 
DocInfounmarshalDocInfo (StorageIntf *s)
 
BriefInfounmarshalBriefInfo (StorageIntf *s)
 
BodyInfounmarshalBodyInfo (StorageIntf *s)
 
GroupListunmarshalGroupList (StorageIntf *s)
 
MemberListunmarshalMemberList (StorageIntf *s)
 
ExampleSDictunmarshalExampleSDict (StorageIntf *s)
 
SDict< MemberList > * unmarshalMemberLists (StorageIntf *s)
 
EntryunmarshalEntry (StorageIntf *s)
 
EntryunmarshalEntryTree (StorageIntf *s)
 

Macro Definition Documentation

#define HEADER   ('D'<<24)+('O'<<16)+('X'<<8)+'!'

Definition at line 14 of file marshal.cpp.

Function Documentation

void marshalArgumentList ( StorageIntf s,
ArgumentList argList 
)

Definition at line 62 of file marshal.cpp.

63 {
64  ArgumentList::marshal(s,argList);
65 }
static void marshal(StorageIntf *s, ArgumentList *argList)
Definition: arguments.cpp:69
void marshalArgumentLists ( StorageIntf s,
QList< ArgumentList > *  argLists 
)

Definition at line 67 of file marshal.cpp.

68 {
69  if (argLists==0)
70  {
71  marshalUInt(s,NULL_LIST); // null pointer representation
72  }
73  else
74  {
75  marshalUInt(s,argLists->count());
76  QListIterator<ArgumentList> ali(*argLists);
77  ArgumentList *al;
78  for (ali.toFirst();(al=ali.current());++ali)
79  {
80  marshalArgumentList(s,al);
81  }
82  }
83 }
This class represents an function or template argument list.
Definition: arguments.h:82
void marshalArgumentList(StorageIntf *s, ArgumentList *argList)
Definition: marshal.cpp:62
#define NULL_LIST
Definition: marshal.h:41
uint count() const
Definition: qlist.h:66
void marshalUInt(StorageIntf *s, uint v)
Definition: marshal.cpp:26
void marshalBaseInfoList ( StorageIntf s,
QList< BaseInfo > *  baseList 
)

Definition at line 85 of file marshal.cpp.

86 {
87  if (baseList==0)
88  {
89  marshalUInt(s,NULL_LIST); // null pointer representation
90  }
91  else
92  {
93  marshalUInt(s,baseList->count());
94  QListIterator<BaseInfo> bli(*baseList);
95  BaseInfo *bi;
96  for (bli.toFirst();(bi=bli.current());++bli)
97  {
98  marshalQCString(s,bi->name);
99  marshalInt(s,(int)bi->prot);
100  marshalInt(s,(int)bi->virt);
101  }
102  }
103 }
#define NULL_LIST
Definition: marshal.h:41
void marshalInt(StorageIntf *s, int v)
Definition: marshal.cpp:16
uint count() const
Definition: qlist.h:66
QCString name
the name of the base class
Definition: entry.h:42
Specifier virt
virtualness
Definition: entry.h:44
Protection prot
inheritance type
Definition: entry.h:43
void marshalUInt(StorageIntf *s, uint v)
Definition: marshal.cpp:26
void marshalQCString(StorageIntf *s, const QCString &str)
Definition: marshal.cpp:48
Definition: entry.h:37
void marshalBodyInfo ( StorageIntf s,
BodyInfo bodyInfo 
)

Definition at line 247 of file marshal.cpp.

248 {
249  if (bodyInfo==0)
250  {
251  marshalUInt(s,NULL_LIST); // null pointer representation
252  }
253  else
254  {
255  marshalUInt(s,1);
256  marshalInt(s,bodyInfo->startLine);
257  marshalInt(s,bodyInfo->endLine);
258  marshalObjPointer(s,bodyInfo->fileDef);
259  }
260 }
#define NULL_LIST
Definition: marshal.h:41
void marshalInt(StorageIntf *s, int v)
Definition: marshal.cpp:16
int endLine
line number of the end of the definition
Definition: definition.h:60
void marshalUInt(StorageIntf *s, uint v)
Definition: marshal.cpp:26
void marshalObjPointer(StorageIntf *s, void *obj)
Definition: marshal.cpp:167
FileDef * fileDef
file definition containing the function body
Definition: definition.h:61
int startLine
line number of the start of the definition
Definition: definition.h:59
void marshalBool ( StorageIntf s,
bool  b 
)

Definition at line 42 of file marshal.cpp.

43 {
44  char c = b;
45  s->write(&c,sizeof(char));
46 }
virtual int write(const char *buf, uint size)=0
static bool * b
Definition: config.cpp:1043
void marshalBriefInfo ( StorageIntf s,
BriefInfo briefInfo 
)

Definition at line 231 of file marshal.cpp.

232 {
233  if (briefInfo==0)
234  {
235  marshalUInt(s,NULL_LIST); // null pointer representation
236  }
237  else
238  {
239  marshalUInt(s,1);
240  marshalQCString(s,briefInfo->doc);
241  marshalQCString(s,briefInfo->tooltip);
242  marshalInt(s,briefInfo->line);
243  marshalQCString(s,briefInfo->file);
244  }
245 }
#define NULL_LIST
Definition: marshal.h:41
QCString tooltip
Definition: definition.h:51
void marshalInt(StorageIntf *s, int v)
Definition: marshal.cpp:16
int line
Definition: definition.h:52
QCString file
Definition: definition.h:53
void marshalUInt(StorageIntf *s, uint v)
Definition: marshal.cpp:26
void marshalQCString(StorageIntf *s, const QCString &str)
Definition: marshal.cpp:48
QCString doc
Definition: definition.h:50
void marshalDocInfo ( StorageIntf s,
DocInfo docInfo 
)

Definition at line 216 of file marshal.cpp.

217 {
218  if (docInfo==0)
219  {
220  marshalUInt(s,NULL_LIST); // null pointer representation
221  }
222  else
223  {
224  marshalUInt(s,1);
225  marshalQCString(s,docInfo->doc);
226  marshalInt(s,docInfo->line);
227  marshalQCString(s,docInfo->file);
228  }
229 }
#define NULL_LIST
Definition: marshal.h:41
QCString file
Definition: definition.h:44
void marshalInt(StorageIntf *s, int v)
Definition: marshal.cpp:16
int line
Definition: definition.h:43
QCString doc
Definition: definition.h:42
void marshalUInt(StorageIntf *s, uint v)
Definition: marshal.cpp:26
void marshalQCString(StorageIntf *s, const QCString &str)
Definition: marshal.cpp:48
void marshalEntry ( StorageIntf s,
Entry e 
)

Definition at line 347 of file marshal.cpp.

348 {
349  marshalUInt(s,HEADER);
350  marshalQCString(s,e->name);
351  marshalQCString(s,e->type);
352  marshalInt(s,e->section);
353  marshalInt(s,(int)e->protection);
354  marshalInt(s,(int)e->mtype);
355  marshalUInt64(s,e->spec);
356  marshalInt(s,e->initLines);
357  marshalBool(s,e->stat);
359  marshalBool(s,e->proto);
360  marshalBool(s,e->subGrouping);
361  marshalBool(s,e->callGraph);
362  marshalBool(s,e->callerGraph);
363  marshalInt(s,(int)e->virt);
364  marshalQCString(s,e->args);
368  marshalQGString(s,e->program);
372  marshalQCString(s,e->doc);
373  marshalInt(s,e->docLine);
374  marshalQCString(s,e->docFile);
375  marshalQCString(s,e->brief);
376  marshalInt(s,e->briefLine);
379  marshalInt(s,e->inbodyLine);
381  marshalQCString(s,e->relates);
382  marshalInt(s,e->relatesType);
383  marshalQCString(s,e->read);
384  marshalQCString(s,e->write);
385  marshalQCString(s,e->inside);
388  marshalInt(s,e->bodyLine);
389  marshalInt(s,e->endBodyLine);
390  marshalInt(s,e->mGrpId);
395  marshalInt(s,e->startLine);
396  marshalItemInfoList(s,e->sli);
397  marshalInt(s,(int)e->lang);
398  marshalBool(s,e->hidden);
399  marshalBool(s,e->artificial);
400  marshalInt(s,(int)e->groupDocType);
401  marshalQCString(s,e->id);
402 }
bool callGraph
do we need to draw the call graph?
Definition: entry.h:249
QGString program
the program text
Definition: entry.h:256
QCString includeName
include name (3 arg of \class)
Definition: entry.h:259
bool proto
prototype ?
Definition: entry.h:247
uint64 spec
class/member specifiers
Definition: entry.h:243
void marshalArgumentList(StorageIntf *s, ArgumentList *argList)
Definition: marshal.cpp:62
bool stat
static ?
Definition: entry.h:245
QCString read
property read accessor
Definition: entry.h:271
int briefLine
line number at which the brief desc. was found
Definition: entry.h:264
void marshalBaseInfoList(StorageIntf *s, QList< BaseInfo > *baseList)
Definition: marshal.cpp:85
int docLine
line number at which the documentation was found
Definition: entry.h:261
ArgumentList * argList
member arguments as a list
Definition: entry.h:254
QCString name
member name
Definition: entry.h:237
int initLines
define/variable initializer lines to show
Definition: entry.h:244
void marshalUInt64(StorageIntf *s, uint64 v)
Definition: marshal.cpp:36
void marshalInt(StorageIntf *s, int v)
Definition: marshal.cpp:16
QCString id
libclang id
Definition: entry.h:290
bool hidden
does this represent an entity that is hidden from the output
Definition: entry.h:287
int mGrpId
member group id
Definition: entry.h:278
QList< ArgumentList > * tArgLists
template argument declarations
Definition: entry.h:255
void marshalBool(StorageIntf *s, bool b)
Definition: marshal.cpp:42
QCString includeFile
include file (2 arg of \class, must be unique)
Definition: entry.h:258
bool subGrouping
automatically group class members?
Definition: entry.h:248
bool callerGraph
do we need to draw the caller graph?
Definition: entry.h:250
QList< Grouping > * groups
list of groups this entry belongs to
Definition: entry.h:280
QGString initializer
initial value (for variables)
Definition: entry.h:257
QCString inbodyFile
file in which the body doc was found
Definition: entry.h:268
QCString brief
brief description (doc block)
Definition: entry.h:263
int endBodyLine
line number where the definition ends
Definition: entry.h:277
ArgumentList * typeConstr
where clause (C#) for type constraints
Definition: entry.h:275
QList< SectionInfo > * anchors
list of anchors defined in this entry
Definition: entry.h:281
QCString exception
throw specification
Definition: entry.h:274
int startLine
start line of entry in the source
Definition: entry.h:283
QCString args
member argument string
Definition: entry.h:252
QCString write
property write accessor
Definition: entry.h:272
Protection protection
class protection
Definition: entry.h:241
void marshalSectionInfoList(StorageIntf *s, QList< SectionInfo > *anchors)
Definition: marshal.cpp:124
RelatesType relatesType
how relates is handled
Definition: entry.h:270
QCString inbodyDocs
documentation inside the body of a function
Definition: entry.h:266
QCString doc
documentation block (partly parsed)
Definition: entry.h:260
Specifier virt
virtualness of the entry
Definition: entry.h:251
void marshalUInt(StorageIntf *s, uint v)
Definition: marshal.cpp:26
bool artificial
Artificially introduced item.
Definition: entry.h:288
GroupDocType groupDocType
Definition: entry.h:289
void marshalQGString(StorageIntf *s, const QGString &str)
Definition: marshal.cpp:55
void marshalArgumentLists(StorageIntf *s, QList< ArgumentList > *argLists)
Definition: marshal.cpp:67
void marshalItemInfoList(StorageIntf *s, QList< ListItemInfo > *sli)
Definition: marshal.cpp:148
QCString fileName
file this entry was extracted from
Definition: entry.h:282
bool explicitExternal
explicitly defined as external?
Definition: entry.h:246
void marshalGroupingList(StorageIntf *s, QList< Grouping > *groups)
Definition: marshal.cpp:105
QCString bitfields
member&#39;s bit fields
Definition: entry.h:253
QCString inside
name of the class in which documents are found
Definition: entry.h:273
#define HEADER
Definition: marshal.cpp:14
void marshalQCString(StorageIntf *s, const QCString &str)
Definition: marshal.cpp:48
QCString docFile
file in which the documentation was found
Definition: entry.h:262
MethodTypes mtype
signal, slot, (dcop) method, or property?
Definition: entry.h:242
QCString relates
related class (doc block)
Definition: entry.h:269
SrcLangExt lang
programming language in which this entry was found
Definition: entry.h:286
int inbodyLine
line number at which the body doc was found
Definition: entry.h:267
QList< BaseInfo > * extends
list of base classes
Definition: entry.h:279
QCString type
member type
Definition: entry.h:236
int section
entry type (see Sections);
Definition: entry.h:235
int bodyLine
line number of the definition in the source
Definition: entry.h:276
QCString briefFile
file in which the brief desc. was found
Definition: entry.h:265
QList< ListItemInfo > * sli
special lists (test/todo/bug/deprecated/..) this entry is in
Definition: entry.h:285
void marshalEntryTree ( StorageIntf s,
Entry e 
)

Definition at line 404 of file marshal.cpp.

405 {
406  marshalEntry(s,e);
407  marshalUInt(s,e->children()->count());
408  QListIterator<Entry> eli(*e->children());
409  Entry *child;
410  for (eli.toFirst();(child=eli.current());++eli)
411  {
412  marshalEntryTree(s,child);
413  }
414 }
Definition: entry.h:63
uint count() const
Definition: qlist.h:66
void marshalEntryTree(StorageIntf *s, Entry *e)
Definition: marshal.cpp:404
const QList< Entry > * children() const
Definition: entry.h:210
void marshalEntry(StorageIntf *s, Entry *e)
Definition: marshal.cpp:347
void marshalUInt(StorageIntf *s, uint v)
Definition: marshal.cpp:26
void marshalExampleSDict ( StorageIntf s,
ExampleSDict ed 
)

Definition at line 303 of file marshal.cpp.

304 {
305  if (ed==0)
306  {
307  marshalUInt(s,NULL_LIST); // null pointer representation
308  }
309  else
310  {
311  marshalUInt(s,ed->count());
312  //printf(" marshalMemberSDict: items=%d\n",memberSDict->count());
314  Example *e;
315  for (edi.toFirst();(e=edi.current());++edi)
316  {
317  //printf(" marshalMemberSDict: %d: key=%s value=%p\n",count,mdi.currentKey().data(),md);
318  marshalQCString(s,edi.currentKey());
319  marshalQCString(s,e->anchor);
320  marshalQCString(s,e->name);
321  marshalQCString(s,e->file);
322  }
323  }
324 }
#define NULL_LIST
Definition: marshal.h:41
int count() const
Definition: sortdict.h:284
Definition: sortdict.h:73
const double e
QCString anchor
Definition: example.h:30
QCString name
Definition: example.h:31
void marshalUInt(StorageIntf *s, uint v)
Definition: marshal.cpp:26
void marshalQCString(StorageIntf *s, const QCString &str)
Definition: marshal.cpp:48
QCString file
Definition: example.h:32
void marshalGroupingList ( StorageIntf s,
QList< Grouping > *  groups 
)

Definition at line 105 of file marshal.cpp.

106 {
107  if (groups==0)
108  {
109  marshalUInt(s,NULL_LIST); // null pointer representation
110  }
111  else
112  {
113  marshalUInt(s,groups->count());
114  QListIterator<Grouping> gli(*groups);
115  Grouping *g;
116  for (gli.toFirst();(g=gli.current());++gli)
117  {
119  marshalInt(s,(int)g->pri);
120  }
121  }
122 }
Definition: types.h:61
static constexpr double g
Definition: Units.h:144
#define NULL_LIST
Definition: marshal.h:41
GroupPri_t pri
priority of this definition
Definition: types.h:94
void marshalInt(StorageIntf *s, int v)
Definition: marshal.cpp:16
uint count() const
Definition: qlist.h:66
QCString groupname
name of the group
Definition: types.h:93
void marshalUInt(StorageIntf *s, uint v)
Definition: marshal.cpp:26
void marshalQCString(StorageIntf *s, const QCString &str)
Definition: marshal.cpp:48
void marshalGroupList ( StorageIntf s,
GroupList groupList 
)

Definition at line 262 of file marshal.cpp.

263 {
264  if (groupList==0)
265  {
266  marshalUInt(s,NULL_LIST); // null pointer representation
267  }
268  else
269  {
270  marshalUInt(s,groupList->count());
271  QListIterator<GroupDef> gli(*groupList);
272  GroupDef *gd=0;
273  for (gli.toFirst();(gd=gli.current());++gli)
274  {
275  marshalObjPointer(s,gd);
276  }
277  }
278 }
#define NULL_LIST
Definition: marshal.h:41
uint count() const
Definition: qlist.h:66
void marshalUInt(StorageIntf *s, uint v)
Definition: marshal.cpp:26
void marshalObjPointer(StorageIntf *s, void *obj)
Definition: marshal.cpp:167
void marshalInt ( StorageIntf s,
int  v 
)

Definition at line 16 of file marshal.cpp.

17 {
18  uchar b[4];
19  b[0]=((uint)v)>>24;
20  b[1]=(((uint)v)>>16)&0xff;
21  b[2]=(((uint)v)>>8)&0xff;
22  b[3]=v&0xff;
23  s->write((const char *)b,4);
24 }
virtual int write(const char *buf, uint size)=0
unsigned char uchar
Definition: nybbler.cc:11
static bool * b
Definition: config.cpp:1043
unsigned uint
Definition: qglobal.h:351
void marshalItemInfoList ( StorageIntf s,
QList< ListItemInfo > *  sli 
)

Definition at line 148 of file marshal.cpp.

149 {
150  if (sli==0)
151  {
152  marshalUInt(s,NULL_LIST); // null pointer representation
153  }
154  else
155  {
156  marshalUInt(s,sli->count());
157  QListIterator<ListItemInfo> liii(*sli);
158  ListItemInfo *lii;
159  for (liii.toFirst();(lii=liii.current());++liii)
160  {
161  marshalQCString(s,lii->type);
162  marshalInt(s,lii->itemId);
163  }
164  }
165 }
#define NULL_LIST
Definition: marshal.h:41
void marshalInt(StorageIntf *s, int v)
Definition: marshal.cpp:16
int itemId
Definition: types.h:101
uint count() const
Definition: qlist.h:66
void marshalUInt(StorageIntf *s, uint v)
Definition: marshal.cpp:26
QCString type
Definition: types.h:100
void marshalQCString(StorageIntf *s, const QCString &str)
Definition: marshal.cpp:48
void marshalMemberList ( StorageIntf s,
MemberList ml 
)

Definition at line 280 of file marshal.cpp.

281 {
282  if (ml==0)
283  {
284  marshalUInt(s,NULL_LIST); // null pointer representation
285  }
286  else
287  {
288  marshalUInt(s,ml->count());
289  MemberListIterator mli(*ml);
290  MemberDef *md;
291  uint count=0;
292  for (mli.toFirst();(md=mli.current());++mli)
293  {
294  marshalObjPointer(s,md);
295  count++;
296  }
297  assert(count==ml->count());
298 
299  ml->marshal(s);
300  }
301 }
#define NULL_LIST
Definition: marshal.h:41
uint count() const
Definition: qlist.h:66
void marshal(StorageIntf *s)
Definition: memberlist.cpp:837
void marshalUInt(StorageIntf *s, uint v)
Definition: marshal.cpp:26
void marshalObjPointer(StorageIntf *s, void *obj)
Definition: marshal.cpp:167
unsigned uint
Definition: qglobal.h:351
void marshalMemberLists ( StorageIntf s,
SDict< MemberList > *  mls 
)

Definition at line 326 of file marshal.cpp.

327 {
328  if (mls==0)
329  {
330  marshalUInt(s,NULL_LIST); // null pointer representation
331  }
332  else
333  {
334  marshalUInt(s,mls->count());
335  //printf(" marshalMemberSDict: items=%d\n",memberSDict->count());
337  MemberList *ml;
338  for (mli.toFirst();(ml=mli.current());++mli)
339  {
340  //printf(" marshalMemberSDict: %d: key=%s value=%p\n",count,mdi.currentKey().data(),md);
341  marshalQCString(s,mli.currentKey());
342  marshalObjPointer(s,ml); // assume we are not owner of the list
343  }
344  }
345 }
#define NULL_LIST
Definition: marshal.h:41
int count() const
Definition: sortdict.h:284
Definition: sortdict.h:73
void marshalUInt(StorageIntf *s, uint v)
Definition: marshal.cpp:26
void marshalQCString(StorageIntf *s, const QCString &str)
Definition: marshal.cpp:48
void marshalObjPointer(StorageIntf *s, void *obj)
Definition: marshal.cpp:167
void marshalMemberSDict ( StorageIntf s,
MemberSDict memberSDict 
)

Definition at line 192 of file marshal.cpp.

193 {
194  if (memberSDict==0)
195  {
196  marshalUInt(s,NULL_LIST); // null pointer representation
197  }
198  else
199  {
200  marshalUInt(s,memberSDict->count());
201  //printf(" marshalMemberSDict: items=%d\n",memberSDict->count());
202  SDict<MemberDef>::IteratorDict mdi(*memberSDict);
203  MemberDef *md;
204  int count=0;
205  for (mdi.toFirst();(md=mdi.current());++mdi)
206  {
207  //printf(" marshalMemberSDict: %d: key=%s value=%p\n",count,mdi.currentKey().data(),md);
208  marshalQCString(s,mdi.currentKey());
209  marshalObjPointer(s,md);
210  count++;
211  }
212  assert(count==memberSDict->count());
213  }
214 }
#define NULL_LIST
Definition: marshal.h:41
int count() const
Definition: sortdict.h:284
Definition: sortdict.h:73
void marshalUInt(StorageIntf *s, uint v)
Definition: marshal.cpp:26
void marshalQCString(StorageIntf *s, const QCString &str)
Definition: marshal.cpp:48
void marshalObjPointer(StorageIntf *s, void *obj)
Definition: marshal.cpp:167
void marshalObjPointer ( StorageIntf s,
void *  obj 
)

Definition at line 167 of file marshal.cpp.

168 {
169  char *b = (char *)&obj;
170  s->write(b,sizeof(void *));
171 }
virtual int write(const char *buf, uint size)=0
static bool * b
Definition: config.cpp:1043
void marshalQCString ( StorageIntf s,
const QCString str 
)

Definition at line 48 of file marshal.cpp.

49 {
50  uint l=str.length();
51  marshalUInt(s,l);
52  if (l>0) s->write(str.data(),l);
53 }
virtual int write(const char *buf, uint size)=0
uint length() const
Definition: qcstring.h:195
static QStrList * l
Definition: config.cpp:1044
const char * data() const
Definition: qcstring.h:207
void marshalUInt(StorageIntf *s, uint v)
Definition: marshal.cpp:26
unsigned uint
Definition: qglobal.h:351
void marshalQGString ( StorageIntf s,
const QGString str 
)

Definition at line 55 of file marshal.cpp.

56 {
57  uint l=str.length();
58  marshalUInt(s,l);
59  if (l>0) s->write(str.data(),l);
60 }
virtual int write(const char *buf, uint size)=0
char * data() const
Definition: qgstring.h:42
uint length() const
Definition: qgstring.h:40
static QStrList * l
Definition: config.cpp:1044
void marshalUInt(StorageIntf *s, uint v)
Definition: marshal.cpp:26
unsigned uint
Definition: qglobal.h:351
void marshalSectionDict ( StorageIntf s,
SectionDict sections 
)

Definition at line 173 of file marshal.cpp.

174 {
175  if (sections==0)
176  {
177  marshalUInt(s,NULL_LIST); // null pointer representation
178  }
179  else
180  {
181  marshalUInt(s,sections->count());
182  SDict<SectionInfo>::IteratorDict sli(*sections);
183  SectionInfo *si;
184  for (sli.toFirst();(si=sli.current());++sli)
185  {
186  marshalQCString(s,sli.currentKey());
187  marshalObjPointer(s,si);
188  }
189  }
190 }
#define NULL_LIST
Definition: marshal.h:41
int count() const
Definition: sortdict.h:284
Definition: sortdict.h:73
void marshalUInt(StorageIntf *s, uint v)
Definition: marshal.cpp:26
void marshalQCString(StorageIntf *s, const QCString &str)
Definition: marshal.cpp:48
void marshalObjPointer(StorageIntf *s, void *obj)
Definition: marshal.cpp:167
void marshalSectionInfoList ( StorageIntf s,
QList< SectionInfo > *  anchors 
)

Definition at line 124 of file marshal.cpp.

125 {
126  if (anchors==0)
127  {
128  marshalUInt(s,NULL_LIST); // null pointer representation
129  }
130  else
131  {
132  marshalUInt(s,anchors->count());
133  QListIterator<SectionInfo> sli(*anchors);
134  SectionInfo *si;
135  for (sli.toFirst();(si=sli.current());++sli)
136  {
137  marshalQCString(s,si->label);
138  marshalQCString(s,si->title);
139  marshalQCString(s,si->ref);
140  marshalInt(s,(int)si->type);
141  marshalQCString(s,si->fileName);
142  marshalInt(s,si->lineNr);
143  marshalInt(s,si->level);
144  }
145  }
146 }
#define NULL_LIST
Definition: marshal.h:41
SectionType type
Definition: section.h:58
QCString ref
Definition: section.h:59
QCString label
Definition: section.h:56
void marshalInt(StorageIntf *s, int v)
Definition: marshal.cpp:16
uint count() const
Definition: qlist.h:66
QCString fileName
Definition: section.h:61
int level
Definition: section.h:64
int lineNr
Definition: section.h:62
QCString title
Definition: section.h:57
void marshalUInt(StorageIntf *s, uint v)
Definition: marshal.cpp:26
void marshalQCString(StorageIntf *s, const QCString &str)
Definition: marshal.cpp:48
void marshalUInt ( StorageIntf s,
uint  v 
)

Definition at line 26 of file marshal.cpp.

27 {
28  uchar b[4];
29  b[0]=v>>24;
30  b[1]=(v>>16)&0xff;
31  b[2]=(v>>8)&0xff;
32  b[3]=v&0xff;
33  s->write((const char *)b,4);
34 }
virtual int write(const char *buf, uint size)=0
unsigned char uchar
Definition: nybbler.cc:11
static bool * b
Definition: config.cpp:1043
void marshalUInt64 ( StorageIntf s,
uint64  v 
)

Definition at line 36 of file marshal.cpp.

37 {
38  marshalUInt(s, uint(v>>32));
39  marshalUInt(s, uint(v&0xFFFFFFFF));
40 }
void marshalUInt(StorageIntf *s, uint v)
Definition: marshal.cpp:26
unsigned uint
Definition: qglobal.h:351
ArgumentList* unmarshalArgumentList ( StorageIntf s)

Definition at line 479 of file marshal.cpp.

480 {
481  return ArgumentList::unmarshal(s);
482 }
static ArgumentList * unmarshal(StorageIntf *s)
Definition: arguments.cpp:40
QList<ArgumentList>* unmarshalArgumentLists ( StorageIntf s)

Definition at line 484 of file marshal.cpp.

485 {
486  uint i;
487  uint count = unmarshalUInt(s);
488  if (count==NULL_LIST) return 0; // null list
490  result->setAutoDelete(TRUE);
491  assert(count<1000000);
492  //printf("unmarshalArgumentLists: %d\n",count);
493  for (i=0;i<count;i++)
494  {
495  result->append(unmarshalArgumentList(s));
496  }
497  return result;
498 }
static QCString result
#define NULL_LIST
Definition: marshal.h:41
void append(const type *d)
Definition: qlist.h:73
uint unmarshalUInt(StorageIntf *s)
Definition: marshal.cpp:427
unsigned uint
Definition: qglobal.h:351
void setAutoDelete(bool enable)
Definition: qlist.h:99
const bool TRUE
Definition: qglobal.h:371
ArgumentList * unmarshalArgumentList(StorageIntf *s)
Definition: marshal.cpp:479
QList<BaseInfo>* unmarshalBaseInfoList ( StorageIntf s)

Definition at line 500 of file marshal.cpp.

501 {
502  uint i;
503  uint count = unmarshalUInt(s);
504  if (count==NULL_LIST) return 0; // null list
506  result->setAutoDelete(TRUE);
507  assert(count<1000000);
508  for (i=0;i<count;i++)
509  {
513  result->append(new BaseInfo(name,prot,virt));
514  }
515  return result;
516 }
static QCString name
Definition: declinfo.cpp:673
static QCString result
#define NULL_LIST
Definition: marshal.h:41
void append(const type *d)
Definition: qlist.h:73
QCString unmarshalQCString(StorageIntf *s)
Definition: marshal.cpp:451
int unmarshalInt(StorageIntf *s)
Definition: marshal.cpp:418
Specifier
Definition: types.h:29
uint unmarshalUInt(StorageIntf *s)
Definition: marshal.cpp:427
static Specifier virt
Protection
Definition: types.h:26
Definition: entry.h:37
unsigned uint
Definition: qglobal.h:351
void setAutoDelete(bool enable)
Definition: qlist.h:99
const bool TRUE
Definition: qglobal.h:371
BodyInfo* unmarshalBodyInfo ( StorageIntf s)

Definition at line 650 of file marshal.cpp.

651 {
652  uint count = unmarshalUInt(s);
653  if (count==NULL_LIST) return 0;
654  BodyInfo *result = new BodyInfo;
655  result->startLine = unmarshalInt(s);
656  result->endLine = unmarshalInt(s);
657  result->fileDef = (FileDef*)unmarshalObjPointer(s);
658  return result;
659 }
static QCString result
#define NULL_LIST
Definition: marshal.h:41
int unmarshalInt(StorageIntf *s)
Definition: marshal.cpp:418
void * unmarshalObjPointer(StorageIntf *s)
Definition: marshal.cpp:575
int endLine
line number of the end of the definition
Definition: definition.h:60
uint unmarshalUInt(StorageIntf *s)
Definition: marshal.cpp:427
unsigned uint
Definition: qglobal.h:351
FileDef * fileDef
file definition containing the function body
Definition: definition.h:61
int startLine
line number of the start of the definition
Definition: definition.h:59
bool unmarshalBool ( StorageIntf s)

Definition at line 443 of file marshal.cpp.

444 {
445  char result;
446  s->read(&result,sizeof(result));
447  //printf("unmarshalBool: %x offset=%llx\n",result,f.pos());
448  return result;
449 }
static QCString result
virtual int read(char *buf, uint size)=0
BriefInfo* unmarshalBriefInfo ( StorageIntf s)

Definition at line 638 of file marshal.cpp.

639 {
640  uint count = unmarshalUInt(s);
641  if (count==NULL_LIST) return 0;
642  BriefInfo *result = new BriefInfo;
643  result->doc = unmarshalQCString(s);
644  result->tooltip = unmarshalQCString(s);
645  result->line = unmarshalInt(s);
646  result->file = unmarshalQCString(s);
647  return result;
648 }
static QCString result
#define NULL_LIST
Definition: marshal.h:41
QCString tooltip
Definition: definition.h:51
QCString unmarshalQCString(StorageIntf *s)
Definition: marshal.cpp:451
int unmarshalInt(StorageIntf *s)
Definition: marshal.cpp:418
int line
Definition: definition.h:52
QCString file
Definition: definition.h:53
uint unmarshalUInt(StorageIntf *s)
Definition: marshal.cpp:427
unsigned uint
Definition: qglobal.h:351
QCString doc
Definition: definition.h:50
DocInfo* unmarshalDocInfo ( StorageIntf s)

Definition at line 627 of file marshal.cpp.

628 {
629  uint count = unmarshalUInt(s);
630  if (count==NULL_LIST) return 0;
631  DocInfo *result = new DocInfo;
632  result->doc = unmarshalQCString(s);
633  result->line = unmarshalInt(s);
634  result->file = unmarshalQCString(s);
635  return result;
636 }
static QCString result
#define NULL_LIST
Definition: marshal.h:41
QCString file
Definition: definition.h:44
QCString unmarshalQCString(StorageIntf *s)
Definition: marshal.cpp:451
int unmarshalInt(StorageIntf *s)
Definition: marshal.cpp:418
int line
Definition: definition.h:43
QCString doc
Definition: definition.h:42
uint unmarshalUInt(StorageIntf *s)
Definition: marshal.cpp:427
unsigned uint
Definition: qglobal.h:351
Entry* unmarshalEntry ( StorageIntf s)

Definition at line 727 of file marshal.cpp.

728 {
729  Entry *e = new Entry;
730  uint header=unmarshalUInt(s);
731  ASSERT(header==HEADER);
732  e->name = unmarshalQCString(s);
733  e->type = unmarshalQCString(s);
734  e->section = unmarshalInt(s);
736  e->mtype = (MethodTypes)unmarshalInt(s);
737  e->spec = unmarshalUInt64(s);
738  e->initLines = unmarshalInt(s);
739  e->stat = unmarshalBool(s);
741  e->proto = unmarshalBool(s);
742  e->subGrouping = unmarshalBool(s);
743  e->callGraph = unmarshalBool(s);
744  e->callerGraph = unmarshalBool(s);
745  e->virt = (Specifier)unmarshalInt(s);
746  e->args = unmarshalQCString(s);
748  delete e->argList;
751  e->program = unmarshalQGString(s);
755  e->doc = unmarshalQCString(s);
756  e->docLine = unmarshalInt(s);
757  e->docFile = unmarshalQCString(s);
758  e->brief = unmarshalQCString(s);
759  e->briefLine = unmarshalInt(s);
762  e->inbodyLine = unmarshalInt(s);
764  e->relates = unmarshalQCString(s);
766  e->read = unmarshalQCString(s);
767  e->write = unmarshalQCString(s);
768  e->inside = unmarshalQCString(s);
771  e->bodyLine = unmarshalInt(s);
772  e->endBodyLine = unmarshalInt(s);
773  e->mGrpId = unmarshalInt(s);
774  delete e->extends;
776  delete e->groups;
778  delete e->anchors;
780  e->fileName = unmarshalQCString(s);
781  e->startLine = unmarshalInt(s);
782  e->sli = unmarshalItemInfoList(s);
783  e->lang = (SrcLangExt)unmarshalInt(s);
784  e->hidden = unmarshalBool(s);
785  e->artificial = unmarshalBool(s);
787  e->id = unmarshalQCString(s);
788  return e;
789 }
bool callGraph
do we need to draw the call graph?
Definition: entry.h:249
QGString program
the program text
Definition: entry.h:256
QCString includeName
include name (3 arg of \class)
Definition: entry.h:259
bool proto
prototype ?
Definition: entry.h:247
uint64 spec
class/member specifiers
Definition: entry.h:243
bool stat
static ?
Definition: entry.h:245
QList< BaseInfo > * unmarshalBaseInfoList(StorageIntf *s)
Definition: marshal.cpp:500
Definition: entry.h:63
QCString read
property read accessor
Definition: entry.h:271
int briefLine
line number at which the brief desc. was found
Definition: entry.h:264
int docLine
line number at which the documentation was found
Definition: entry.h:261
ArgumentList * argList
member arguments as a list
Definition: entry.h:254
QCString unmarshalQCString(StorageIntf *s)
Definition: marshal.cpp:451
QCString name
member name
Definition: entry.h:237
int initLines
define/variable initializer lines to show
Definition: entry.h:244
int unmarshalInt(StorageIntf *s)
Definition: marshal.cpp:418
QList< SectionInfo > * unmarshalSectionInfoList(StorageIntf *s)
Definition: marshal.cpp:535
QCString id
libclang id
Definition: entry.h:290
SrcLangExt
Definition: types.h:41
bool hidden
does this represent an entity that is hidden from the output
Definition: entry.h:287
int mGrpId
member group id
Definition: entry.h:278
QList< ArgumentList > * tArgLists
template argument declarations
Definition: entry.h:255
QCString includeFile
include file (2 arg of \class, must be unique)
Definition: entry.h:258
bool subGrouping
automatically group class members?
Definition: entry.h:248
const double e
bool callerGraph
do we need to draw the caller graph?
Definition: entry.h:250
QList< Grouping > * groups
list of groups this entry belongs to
Definition: entry.h:280
QGString initializer
initial value (for variables)
Definition: entry.h:257
QCString inbodyFile
file in which the body doc was found
Definition: entry.h:268
QCString brief
brief description (doc block)
Definition: entry.h:263
int endBodyLine
line number where the definition ends
Definition: entry.h:277
ArgumentList * typeConstr
where clause (C#) for type constraints
Definition: entry.h:275
bool unmarshalBool(StorageIntf *s)
Definition: marshal.cpp:443
QList< ListItemInfo > * unmarshalItemInfoList(StorageIntf *s)
Definition: marshal.cpp:557
QList< SectionInfo > * anchors
list of anchors defined in this entry
Definition: entry.h:281
Specifier
Definition: types.h:29
QCString exception
throw specification
Definition: entry.h:274
int startLine
start line of entry in the source
Definition: entry.h:283
QList< ArgumentList > * unmarshalArgumentLists(StorageIntf *s)
Definition: marshal.cpp:484
QCString args
member argument string
Definition: entry.h:252
QCString write
property write accessor
Definition: entry.h:272
Protection protection
class protection
Definition: entry.h:241
uint unmarshalUInt(StorageIntf *s)
Definition: marshal.cpp:427
RelatesType relatesType
how relates is handled
Definition: entry.h:270
QCString inbodyDocs
documentation inside the body of a function
Definition: entry.h:266
QCString doc
documentation block (partly parsed)
Definition: entry.h:260
Specifier virt
virtualness of the entry
Definition: entry.h:251
QList< Grouping > * unmarshalGroupingList(StorageIntf *s)
Definition: marshal.cpp:518
bool artificial
Artificially introduced item.
Definition: entry.h:288
GroupDocType groupDocType
Definition: entry.h:289
QCString fileName
file this entry was extracted from
Definition: entry.h:282
bool explicitExternal
explicitly defined as external?
Definition: entry.h:246
QCString bitfields
member&#39;s bit fields
Definition: entry.h:253
QCString inside
name of the class in which documents are found
Definition: entry.h:273
MethodTypes
Definition: types.h:32
Protection
Definition: types.h:26
#define HEADER
Definition: marshal.cpp:14
QCString docFile
file in which the documentation was found
Definition: entry.h:262
MethodTypes mtype
signal, slot, (dcop) method, or property?
Definition: entry.h:242
RelatesType
Definition: types.h:35
QCString relates
related class (doc block)
Definition: entry.h:269
uint64 unmarshalUInt64(StorageIntf *s)
Definition: marshal.cpp:436
SrcLangExt lang
programming language in which this entry was found
Definition: entry.h:286
int inbodyLine
line number at which the body doc was found
Definition: entry.h:267
unsigned uint
Definition: qglobal.h:351
GroupDocType
Definition: entry.h:184
ArgumentList * unmarshalArgumentList(StorageIntf *s)
Definition: marshal.cpp:479
QList< BaseInfo > * extends
list of base classes
Definition: entry.h:279
QCString type
member type
Definition: entry.h:236
#define ASSERT(x)
Definition: qglobal.h:590
int section
entry type (see Sections);
Definition: entry.h:235
int bodyLine
line number of the definition in the source
Definition: entry.h:276
QCString briefFile
file in which the brief desc. was found
Definition: entry.h:265
QGString unmarshalQGString(StorageIntf *s)
Definition: marshal.cpp:465
QList< ListItemInfo > * sli
special lists (test/todo/bug/deprecated/..) this entry is in
Definition: entry.h:285
Entry* unmarshalEntryTree ( StorageIntf s)

Definition at line 791 of file marshal.cpp.

792 {
793  Entry *e = unmarshalEntry(s);
794  uint count = unmarshalUInt(s);
795  uint i;
796  for (i=0;i<count;i++)
797  {
799  }
800  return e;
801 }
Definition: entry.h:63
void addSubEntry(Entry *e)
Definition: entry.cpp:206
Entry * unmarshalEntry(StorageIntf *s)
Definition: marshal.cpp:727
const double e
uint unmarshalUInt(StorageIntf *s)
Definition: marshal.cpp:427
Entry * unmarshalEntryTree(StorageIntf *s)
Definition: marshal.cpp:791
unsigned uint
Definition: qglobal.h:351
ExampleSDict* unmarshalExampleSDict ( StorageIntf s)

Definition at line 692 of file marshal.cpp.

693 {
694  uint i;
695  uint count = unmarshalUInt(s);
696  if (count==NULL_LIST) return 0;
698  assert(count<1000000);
699  for (i=0;i<count;i++)
700  {
702  Example *e = new Example;
703  e->anchor = unmarshalQCString(s);
704  e->name = unmarshalQCString(s);
705  e->file = unmarshalQCString(s);
706  result->inSort(key,e);
707  }
708  return result;
709 }
void inSort(const char *key, const T *d)
Definition: sortdict.h:197
static QCString result
#define NULL_LIST
Definition: marshal.h:41
QCString unmarshalQCString(StorageIntf *s)
Definition: marshal.cpp:451
const double e
def key(type, name=None)
Definition: graph.py:13
uint unmarshalUInt(StorageIntf *s)
Definition: marshal.cpp:427
QCString anchor
Definition: example.h:30
QCString name
Definition: example.h:31
unsigned uint
Definition: qglobal.h:351
QCString file
Definition: example.h:32
QList<Grouping>* unmarshalGroupingList ( StorageIntf s)

Definition at line 518 of file marshal.cpp.

519 {
520  uint i;
521  uint count = unmarshalUInt(s);
522  if (count==NULL_LIST) return 0; // null list
524  result->setAutoDelete(TRUE);
525  assert(count<1000000);
526  for (i=0;i<count;i++)
527  {
530  result->append(new Grouping(name,prio));
531  }
532  return result;
533 }
static QCString name
Definition: declinfo.cpp:673
Definition: types.h:61
static QCString result
#define NULL_LIST
Definition: marshal.h:41
void append(const type *d)
Definition: qlist.h:73
QCString unmarshalQCString(StorageIntf *s)
Definition: marshal.cpp:451
GroupPri_t
Definition: types.h:64
int unmarshalInt(StorageIntf *s)
Definition: marshal.cpp:418
uint unmarshalUInt(StorageIntf *s)
Definition: marshal.cpp:427
unsigned uint
Definition: qglobal.h:351
void setAutoDelete(bool enable)
Definition: qlist.h:99
const bool TRUE
Definition: qglobal.h:371
GroupList* unmarshalGroupList ( StorageIntf s)

Definition at line 661 of file marshal.cpp.

662 {
663  uint i;
664  uint count = unmarshalUInt(s);
665  if (count==NULL_LIST) return 0; // null list
666  assert(count<1000000);
667  GroupList *result = new GroupList;
668  for (i=0;i<count;i++)
669  {
671  result->append(gd);
672  }
673  return result;
674 }
static QCString result
#define NULL_LIST
Definition: marshal.h:41
void append(const type *d)
Definition: qlist.h:73
void * unmarshalObjPointer(StorageIntf *s)
Definition: marshal.cpp:575
uint unmarshalUInt(StorageIntf *s)
Definition: marshal.cpp:427
unsigned uint
Definition: qglobal.h:351
int unmarshalInt ( StorageIntf s)

Definition at line 418 of file marshal.cpp.

419 {
420  uchar b[4];
421  s->read((char *)b,4);
422  int result=(int)((((uint)b[0])<<24)+((uint)b[1]<<16)+((uint)b[2]<<8)+(uint)b[3]);
423  //printf("unmarshalInt: %x %x %x %x: %x offset=%llx\n",b[0],b[1],b[2],b[3],result,f.pos());
424  return result;
425 }
static QCString result
virtual int read(char *buf, uint size)=0
unsigned char uchar
Definition: nybbler.cc:11
static bool * b
Definition: config.cpp:1043
unsigned uint
Definition: qglobal.h:351
QList<ListItemInfo>* unmarshalItemInfoList ( StorageIntf s)

Definition at line 557 of file marshal.cpp.

558 {
559  uint i;
560  uint count = unmarshalUInt(s);
561  if (count==NULL_LIST) return 0; // null list
563  result->setAutoDelete(TRUE);
564  assert(count<1000000);
565  for (i=0;i<count;i++)
566  {
567  ListItemInfo *lii = new ListItemInfo;
568  lii->type = unmarshalQCString(s);
569  lii->itemId = unmarshalInt(s);
570  result->append(lii);
571  }
572  return result;
573 }
static QCString result
#define NULL_LIST
Definition: marshal.h:41
void append(const type *d)
Definition: qlist.h:73
QCString unmarshalQCString(StorageIntf *s)
Definition: marshal.cpp:451
int unmarshalInt(StorageIntf *s)
Definition: marshal.cpp:418
int itemId
Definition: types.h:101
uint unmarshalUInt(StorageIntf *s)
Definition: marshal.cpp:427
QCString type
Definition: types.h:100
unsigned uint
Definition: qglobal.h:351
void setAutoDelete(bool enable)
Definition: qlist.h:99
const bool TRUE
Definition: qglobal.h:371
MemberList* unmarshalMemberList ( StorageIntf s)

Definition at line 676 of file marshal.cpp.

677 {
678  uint i;
679  uint count = unmarshalUInt(s);
680  if (count==NULL_LIST) return 0;
682  assert(count<1000000);
683  for (i=0;i<count;i++)
684  {
686  result->append(md);
687  }
688  result->unmarshal(s);
689  return result;
690 }
void append(const MemberDef *md)
Definition: memberlist.cpp:246
static QCString result
#define NULL_LIST
Definition: marshal.h:41
void * unmarshalObjPointer(StorageIntf *s)
Definition: marshal.cpp:575
uint unmarshalUInt(StorageIntf *s)
Definition: marshal.cpp:427
void unmarshal(StorageIntf *s)
Definition: memberlist.cpp:869
unsigned uint
Definition: qglobal.h:351
SDict<MemberList>* unmarshalMemberLists ( StorageIntf s)

Definition at line 711 of file marshal.cpp.

712 {
713  uint i;
714  uint count = unmarshalUInt(s);
715  if (count==NULL_LIST) return 0;
717  assert(count<1000000);
718  for (i=0;i<count;i++)
719  {
722  result->append(key,ml);
723  }
724  return result;
725 }
static QCString result
#define NULL_LIST
Definition: marshal.h:41
QCString unmarshalQCString(StorageIntf *s)
Definition: marshal.cpp:451
void * unmarshalObjPointer(StorageIntf *s)
Definition: marshal.cpp:575
void append(const char *key, const T *d)
Definition: sortdict.h:135
def key(type, name=None)
Definition: graph.py:13
uint unmarshalUInt(StorageIntf *s)
Definition: marshal.cpp:427
unsigned uint
Definition: qglobal.h:351
MemberSDict* unmarshalMemberSDict ( StorageIntf s)

Definition at line 600 of file marshal.cpp.

601 {
602  uint i;
603  uint count = unmarshalUInt(s);
604  //printf("--- unmarshalMemberSDict count=%d\n",count);
605  if (count==NULL_LIST)
606  {
607  //printf("--- end unmarshalMemberSDict\n");
608  return 0; // null list
609  }
611  assert(count<1000000);
612  //printf("Reading %d key-value pairs\n",count);
613  for (i=0;i<count;i++)
614  {
615  //printf(" unmarshaling pair %d\n",i);
617  //printf(" unmarshaling key %s\n",key.data());
619  //printf(" unmarshalMemberSDict i=%d key=%s md=%p\n",i,key.data(),md);
620  result->append(key,md);
621  }
622 
623  //printf("--- end unmarshalMemberSDict\n");
624  return result;
625 }
static QCString result
#define NULL_LIST
Definition: marshal.h:41
QCString unmarshalQCString(StorageIntf *s)
Definition: marshal.cpp:451
void * unmarshalObjPointer(StorageIntf *s)
Definition: marshal.cpp:575
void append(const char *key, const T *d)
Definition: sortdict.h:135
def key(type, name=None)
Definition: graph.py:13
uint unmarshalUInt(StorageIntf *s)
Definition: marshal.cpp:427
unsigned uint
Definition: qglobal.h:351
void* unmarshalObjPointer ( StorageIntf s)

Definition at line 575 of file marshal.cpp.

576 {
577  void *result;
578  s->read((char *)&result,sizeof(void*));
579  return result;
580 }
static QCString result
virtual int read(char *buf, uint size)=0
QCString unmarshalQCString ( StorageIntf s)

Definition at line 451 of file marshal.cpp.

452 {
453  uint len = unmarshalUInt(s);
454  //printf("unmarshalQCString: len=%d offset=%llx\n",len,f.pos());
455  QCString result(len+1);
456  result.at(len)='\0';
457  if (len>0)
458  {
459  s->read(result.rawData(),len);
460  }
461  //printf("unmarshalQCString: result=%s\n",result.data());
462  return result;
463 }
char * rawData() const
Definition: qcstring.h:216
static QCString result
virtual int read(char *buf, uint size)=0
char & at(uint i) const
Definition: qcstring.h:326
uint unmarshalUInt(StorageIntf *s)
Definition: marshal.cpp:427
unsigned uint
Definition: qglobal.h:351
QGString unmarshalQGString ( StorageIntf s)

Definition at line 465 of file marshal.cpp.

466 {
467  uint len = unmarshalUInt(s);
468  //printf("unmarshalQCString: len=%d offset=%llx\n",len,f.pos());
469  QGString result(len+1);
470  result.at(len)='\0';
471  if (len>0)
472  {
473  s->read(result.data(),len);
474  }
475  //printf("unmarshalQCString: result=%s\n",result.data());
476  return result;
477 }
static QCString result
virtual int read(char *buf, uint size)=0
char & at(uint i) const
Definition: qcstring.h:326
const char * data() const
Definition: qcstring.h:207
uint unmarshalUInt(StorageIntf *s)
Definition: marshal.cpp:427
unsigned uint
Definition: qglobal.h:351
SectionDict* unmarshalSectionDict ( StorageIntf s)

Definition at line 582 of file marshal.cpp.

583 {
584  uint i;
585  uint count = unmarshalUInt(s);
586  //printf("unmarshalSectionDict count=%d\n",count);
587  if (count==NULL_LIST) return 0; // null list
588  SectionDict *result = new SectionDict(17);
589  assert(count<1000000);
590  for (i=0;i<count;i++)
591  {
594  //printf(" unmarshalSectionDict i=%d key=%s si=%s\n",count,key.data(),si->label.data());
595  result->append(key,si);
596  }
597  return result;
598 }
static QCString result
#define NULL_LIST
Definition: marshal.h:41
QCString unmarshalQCString(StorageIntf *s)
Definition: marshal.cpp:451
void * unmarshalObjPointer(StorageIntf *s)
Definition: marshal.cpp:575
void append(const char *key, const T *d)
Definition: sortdict.h:135
def key(type, name=None)
Definition: graph.py:13
uint unmarshalUInt(StorageIntf *s)
Definition: marshal.cpp:427
unsigned uint
Definition: qglobal.h:351
QList<SectionInfo>* unmarshalSectionInfoList ( StorageIntf s)

Definition at line 535 of file marshal.cpp.

536 {
537  uint i;
538  uint count = unmarshalUInt(s);
539  if (count==NULL_LIST) return 0; // null list
541  result->setAutoDelete(TRUE);
542  assert(count<1000000);
543  for (i=0;i<count;i++)
544  {
547  QCString ref = unmarshalQCString(s);
550  int lineNr = unmarshalInt(s);
551  int level = unmarshalInt(s);
552  result->append(new SectionInfo(fileName,lineNr,label,title,type,level,ref));
553  }
554  return result;
555 }
static QCString result
#define NULL_LIST
Definition: marshal.h:41
void append(const type *d)
Definition: qlist.h:73
QCString unmarshalQCString(StorageIntf *s)
Definition: marshal.cpp:451
int unmarshalInt(StorageIntf *s)
Definition: marshal.cpp:418
fileName
Definition: dumpTree.py:9
uint unmarshalUInt(StorageIntf *s)
Definition: marshal.cpp:427
unsigned uint
Definition: qglobal.h:351
void setAutoDelete(bool enable)
Definition: qlist.h:99
const bool TRUE
Definition: qglobal.h:371
uint unmarshalUInt ( StorageIntf s)

Definition at line 427 of file marshal.cpp.

428 {
429  uchar b[4];
430  s->read((char *)b,4);
431  uint result=(((uint)b[0])<<24)+((uint)b[1]<<16)+((uint)b[2]<<8)+(uint)b[3];
432  //printf("unmarshalUInt: %x %x %x %x: %x offset=%llx\n",b[0],b[1],b[2],b[3],result,f.pos());
433  return result;
434 }
static QCString result
virtual int read(char *buf, uint size)=0
unsigned char uchar
Definition: nybbler.cc:11
static bool * b
Definition: config.cpp:1043
unsigned uint
Definition: qglobal.h:351
uint64 unmarshalUInt64 ( StorageIntf s)

Definition at line 436 of file marshal.cpp.

437 {
439  result|=unmarshalUInt(s);
440  return result;
441 }
static QCString result
uint unmarshalUInt(StorageIntf *s)
Definition: marshal.cpp:427
unsigned long long uint64
Definition: qglobal.h:361