4 * Created on: 06.11.2014
8 #ifndef _ALIJSONREADER_H_
9 #define _ALIJSONREADER_H_
11 #include "AliJSONData.h"
17 class AliJSONSyntaxTreeNode{
19 AliJSONSyntaxTreeNode(const char *name, AliJSONSyntaxTreeNode *mother);
20 ~AliJSONSyntaxTreeNode();
22 void AddEntry(AliJSONData *entry);
23 AliJSONSyntaxTreeNode *CreateDaughter(const char *name);
24 void SetOwner(bool owner = true);
25 AliJSONSyntaxTreeNode *GetMotherNode() const { return fMotherNode; }
26 std::vector<AliJSONSyntaxTreeNode *> &GetDaughters() { return fDaughters; };
27 std::vector<AliJSONData *> &GetEntries() { return fEntries; }
28 const char *GetName() const { return fName.c_str(); }
31 AliJSONSyntaxTreeNode(const AliJSONSyntaxTreeNode &ref);
32 AliJSONSyntaxTreeNode *operator=(const AliJSONSyntaxTreeNode &ref);
35 AliJSONSyntaxTreeNode *fMotherNode;
36 std::vector<AliJSONData *> fEntries;
37 std::vector<AliJSONSyntaxTreeNode *> fDaughters;
44 virtual ~AliJSONReader();
46 TList *Decode(const char *jsosnstring) const;
49 void AddNodeToList(AliJSONSyntaxTreeNode *node, TList *consumer) const;
52 #endif /* PWG_EMCAL_ALIEMCALJSONREADER_H_ */