aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Buland <eichlan@xagasoft.com>2009-10-16 12:59:45 +0000
committerMike Buland <eichlan@xagasoft.com>2009-10-16 12:59:45 +0000
commit96b07a22f5392f5d7f821f5743deb3d64bd94e89 (patch)
treef8610916735e2bc5304031168f724cde7d909653
parent835c3420326a3a3a94baa8690bf09941182d29b0 (diff)
downloadlibbu++-96b07a22f5392f5d7f821f5743deb3d64bd94e89.tar.gz
libbu++-96b07a22f5392f5d7f821f5743deb3d64bd94e89.tar.bz2
libbu++-96b07a22f5392f5d7f821f5743deb3d64bd94e89.tar.xz
libbu++-96b07a22f5392f5d7f821f5743deb3d64bd94e89.zip
Although this looks like a load of code changes, this represents no functional
change to the Taf system. Really all that's happened is I've broken out the core taf data types into seperate files, and gone ahead and created a helpful new header file ("taf.h") that will include the entire taf system, including the reader and writer for you. This means that a lot of programs will start complaining, but fortunately, there's an easy solution, if it complains about taf, make sure to include taf.h at the top, instead of other taf files and you'll be set. The next set of changes will add lots of helpers to the taf system and change the reader to read non-const structures, i.e. I'll actually add editing support to created taf structures.
-rw-r--r--src/fbasicstring.h15
-rw-r--r--src/taf.h11
-rw-r--r--src/tafcomment.cpp30
-rw-r--r--src/tafcomment.h35
-rw-r--r--src/tafgroup.cpp164
-rw-r--r--src/tafgroup.h65
-rw-r--r--src/tafnode.cpp195
-rw-r--r--src/tafnode.h82
-rw-r--r--src/tafproperty.cpp30
-rw-r--r--src/tafproperty.h35
-rw-r--r--src/tafreader.cpp3
-rw-r--r--src/tafreader.h8
-rw-r--r--src/tafwriter.cpp3
-rw-r--r--src/tests/taf.cpp3
-rw-r--r--src/unit/taf.unit3
15 files changed, 396 insertions, 286 deletions
diff --git a/src/fbasicstring.h b/src/fbasicstring.h
index cda507a..225bc80 100644
--- a/src/fbasicstring.h
+++ b/src/fbasicstring.h
@@ -1931,6 +1931,21 @@ namespace Bu
1931 ar.write( core->pFirst->pData, core->nLength*sizeof(chr) ); 1931 ar.write( core->pFirst->pData, core->nLength*sizeof(chr) );
1932 } 1932 }
1933 } 1933 }
1934 /*
1935 void archive( class Archive &ar ) const
1936 {
1937 if( ar.isLoading() )
1938 {
1939 }
1940 else
1941 {
1942 flatten();
1943
1944 ar << core->nLength;
1945 if( core->nLength )
1946 ar.write( core->pFirst->pData, core->nLength*sizeof(chr) );
1947 }
1948 }*/
1934 1949
1935 iterator begin() 1950 iterator begin()
1936 { 1951 {
diff --git a/src/taf.h b/src/taf.h
new file mode 100644
index 0000000..109275c
--- /dev/null
+++ b/src/taf.h
@@ -0,0 +1,11 @@
1//
2// There's no protection on this file, it just includes other files.
3//
4
5#include "bu/tafnode.h"
6#include "bu/tafgroup.h"
7#include "bu/tafproperty.h"
8#include "bu/tafcomment.h"
9#include "bu/tafreader.h"
10#include "bu/tafwriter.h"
11
diff --git a/src/tafcomment.cpp b/src/tafcomment.cpp
new file mode 100644
index 0000000..03f382a
--- /dev/null
+++ b/src/tafcomment.cpp
@@ -0,0 +1,30 @@
1/*
2 * Copyright (C) 2007-2008 Xagasoft, All rights reserved.
3 *
4 * This file is part of the libbu++ library and is released under the
5 * terms of the license contained in the file LICENSE.
6 */
7
8#include "bu/tafcomment.h"
9
10Bu::TafComment::TafComment( const Bu::FString &sText, bool bEOL ) :
11 TafNode( typeComment ),
12 sText( sText ),
13 bEOL( bEOL )
14{
15}
16
17Bu::TafComment::~TafComment()
18{
19}
20
21const Bu::FString &Bu::TafComment::getText() const
22{
23 return sText;
24}
25
26bool Bu::TafComment::isEOLStyle() const
27{
28 return bEOL;
29}
30
diff --git a/src/tafcomment.h b/src/tafcomment.h
new file mode 100644
index 0000000..9f0534f
--- /dev/null
+++ b/src/tafcomment.h
@@ -0,0 +1,35 @@
1/*
2 * Copyright (C) 2007-2008 Xagasoft, All rights reserved.
3 *
4 * This file is part of the libbu++ library and is released under the
5 * terms of the license contained in the file LICENSE.
6 */
7
8#ifndef BU_TAF_COMMENT_H
9#define BU_TAF_COMMENT_H
10
11#include <stdint.h>
12#include "bu/tafnode.h"
13
14namespace Bu
15{
16 /**
17 *
18 *@ingroup Taf
19 */
20 class TafComment : public TafNode
21 {
22 public:
23 TafComment( const Bu::FString &sText, bool bEOL=false );
24 virtual ~TafComment();
25
26 const Bu::FString &getText() const;
27 bool isEOLStyle() const;
28
29 private:
30 Bu::FString sText;
31 bool bEOL;
32 };
33}
34
35#endif
diff --git a/src/tafgroup.cpp b/src/tafgroup.cpp
new file mode 100644
index 0000000..1837bd8
--- /dev/null
+++ b/src/tafgroup.cpp
@@ -0,0 +1,164 @@
1/*
2 * Copyright (C) 2007-2008 Xagasoft, All rights reserved.
3 *
4 * This file is part of the libbu++ library and is released under the
5 * terms of the license contained in the file LICENSE.
6 */
7
8#include "bu/tafgroup.h"
9#include "bu/tafproperty.h"
10#include "bu/tafcomment.h"
11
12Bu::TafGroup::TafGroup( const Bu::FString &sName ) :
13 TafNode( typeGroup ),
14 sName( sName )
15{
16}
17
18Bu::TafGroup::~TafGroup()
19{
20 for( NodeList::iterator i = lChildren.begin(); i != lChildren.end(); i++ )
21 {
22 delete (*i);
23 }
24}
25
26const Bu::FString &Bu::TafGroup::getName() const
27{
28 return sName;
29}
30
31void Bu::TafGroup::setName( const Bu::FString &sName )
32{
33 this->sName = sName;
34}
35
36Bu::TafNode *Bu::TafGroup::addChild( Bu::TafNode *pNode )
37{
38 switch( pNode->getType() )
39 {
40 case typeGroup:
41 addChild( (Bu::TafGroup *)pNode );
42 break;
43
44 case typeProperty:
45 addChild( (Bu::TafProperty *)pNode );
46 break;
47
48 case typeComment:
49 addChild( (Bu::TafComment *)pNode );
50 break;
51 }
52
53 return pNode;
54}
55
56Bu::TafGroup *Bu::TafGroup::addChild( TafGroup *pNode )
57{
58 TafGroup *pGroup = (TafGroup *)pNode;
59 if( !hChildren.has( pGroup->getName() ) )
60 hChildren.insert( pGroup->getName(), GroupList() );
61 hChildren.get( pGroup->getName() ).append( pGroup );
62 lChildren.append( pNode );
63 return pNode;
64}
65
66Bu::TafProperty *Bu::TafGroup::addChild( TafProperty *pNode )
67{
68 TafProperty *pProperty = (TafProperty *)pNode;
69 if( !hProp.has( pProperty->getName() ) )
70 hProp.insert( pProperty->getName(), PropList() );
71 hProp.get( pProperty->getName() ).append( pProperty->getValue() );
72 lChildren.append( pNode );
73 return pNode;
74}
75
76Bu::TafComment *Bu::TafGroup::addChild( TafComment *pNode )
77{
78 lChildren.append( pNode );
79 return pNode;
80}
81
82Bu::TafGroup *Bu::TafGroup::addGroup( const Bu::FString &sName )
83{
84 return addChild( new TafGroup( sName ) );
85}
86
87Bu::TafProperty *Bu::TafGroup::addProperty(
88 const Bu::FString &sName, const Bu::FString &sValue )
89{
90 return addChild( new TafProperty( sName, sValue ) );
91}
92
93bool Bu::TafGroup::hasChild( const Bu::FString &sName ) const
94{
95 return hChildren.has( sName );
96}
97
98const Bu::TafGroup::GroupList &Bu::TafGroup::getChildren( const Bu::FString &sName ) const
99{
100 try {
101 return hChildren.get( sName );
102 } catch( Bu::HashException &e )
103 {
104 throw Bu::TafException("No children of group \"%s\" match \"%s\".",
105 this->sName.getStr(), sName.getStr() );
106 }
107}
108
109const Bu::TafGroup::NodeList &Bu::TafGroup::getChildren() const
110{
111 return lChildren;
112}
113
114const Bu::TafGroup *Bu::TafGroup::getChild( const Bu::FString &sName ) const
115{
116 try {
117 return hChildren.get( sName ).first();
118 } catch( Bu::HashException &e )
119 {
120 throw Bu::TafException("No children of group \"%s\" match \"%s\".",
121 this->sName.getStr(), sName.getStr() );
122 }
123}
124
125bool Bu::TafGroup::hasProperty( const Bu::FString &sName ) const
126{
127 return hProp.has( sName );
128}
129
130const Bu::TafGroup::PropList &Bu::TafGroup::getProperties( const Bu::FString &sName ) const
131{
132 try {
133 return hProp.get( sName );
134 } catch( Bu::HashException &e )
135 {
136 throw Bu::TafException("No properties of group \"%s\" match \"%s\".",
137 this->sName.getStr(), sName.getStr() );
138 }
139}
140
141const Bu::FString &Bu::TafGroup::getProperty( const Bu::FString &sName ) const
142{
143 try {
144 return hProp.get( sName ).first();
145 } catch( Bu::HashException &e )
146 {
147 throw Bu::TafException("No properties of group \"%s\" match \"%s\".",
148 this->sName.getStr(), sName.getStr() );
149 }
150}
151
152const Bu::FString &Bu::TafGroup::getProperty( const Bu::FString &sName,
153 const Bu::FString &sDef ) const
154{
155 try
156 {
157 return hProp.get( sName ).first();
158 }
159 catch( Bu::HashException &e )
160 {
161 return sDef;
162 }
163}
164
diff --git a/src/tafgroup.h b/src/tafgroup.h
new file mode 100644
index 0000000..6a50d11
--- /dev/null
+++ b/src/tafgroup.h
@@ -0,0 +1,65 @@
1/*
2 * Copyright (C) 2007-2008 Xagasoft, All rights reserved.
3 *
4 * This file is part of the libbu++ library and is released under the
5 * terms of the license contained in the file LICENSE.
6 */
7
8#ifndef BU_TAF_GROUP_H
9#define BU_TAF_GROUP_H
10
11#include <stdint.h>
12#include "bu/tafnode.h"
13#include "bu/fstring.h"
14#include "bu/hash.h"
15#include "bu/list.h"
16
17namespace Bu
18{
19 class TafProperty;
20 class TafComment;
21 /**
22 *
23 *@ingroup Taf
24 */
25 class TafGroup : public TafNode
26 {
27 public:
28 typedef Bu::List<Bu::FString> PropList;
29 typedef Bu::Hash<Bu::FString, PropList> PropHash;
30 typedef Bu::List<class Bu::TafGroup *> GroupList;
31 typedef Bu::Hash<Bu::FString, GroupList> GroupHash;
32 typedef Bu::List<class Bu::TafNode *> NodeList;
33
34 TafGroup( const Bu::FString &sName );
35 virtual ~TafGroup();
36
37 const Bu::FString &getName() const;
38 void setName( const Bu::FString &sName );
39
40 bool hasProperty( const Bu::FString &sName ) const;
41 const Bu::FString &getProperty( const Bu::FString &sName ) const;
42 const Bu::FString &getProperty( const Bu::FString &sName,
43 const Bu::FString &sDef ) const;
44 const PropList &getProperties( const Bu::FString &sName ) const;
45 bool hasChild( const Bu::FString &sName ) const;
46 const TafGroup *getChild( const Bu::FString &sName ) const;
47 const GroupList &getChildren( const Bu::FString &sName ) const;
48 TafNode *addChild( TafNode *pNode );
49 TafGroup *addChild( TafGroup *pNode );
50 TafProperty *addChild( TafProperty *pNode );
51 TafComment *addChild( TafComment *pNode );
52 TafGroup *addGroup( const Bu::FString &sName );
53 TafProperty *addProperty(
54 const Bu::FString &sName, const Bu::FString &sValue );
55 const NodeList &getChildren() const;
56
57 private:
58 Bu::FString sName;
59 PropHash hProp;
60 GroupHash hChildren;
61 NodeList lChildren;
62 };
63}
64
65#endif
diff --git a/src/tafnode.cpp b/src/tafnode.cpp
index 8ea2e95..e7711fb 100644
--- a/src/tafnode.cpp
+++ b/src/tafnode.cpp
@@ -23,198 +23,3 @@ Bu::TafNode::NodeType Bu::TafNode::getType() const
23 return eType; 23 return eType;
24} 24}
25 25
26Bu::TafGroup::TafGroup( const Bu::FString &sName ) :
27 TafNode( typeGroup ),
28 sName( sName )
29{
30}
31
32Bu::TafGroup::~TafGroup()
33{
34 for( NodeList::iterator i = lChildren.begin(); i != lChildren.end(); i++ )
35 {
36 delete (*i);
37 }
38}
39
40const Bu::FString &Bu::TafGroup::getName() const
41{
42 return sName;
43}
44
45void Bu::TafGroup::setName( const Bu::FString &sName )
46{
47 this->sName = sName;
48}
49
50Bu::TafNode *Bu::TafGroup::addChild( Bu::TafNode *pNode )
51{
52 switch( pNode->getType() )
53 {
54 case typeGroup:
55 addChild( (Bu::TafGroup *)pNode );
56 break;
57
58 case typeProperty:
59 addChild( (Bu::TafProperty *)pNode );
60 break;
61
62 case typeComment:
63 addChild( (Bu::TafComment *)pNode );
64 break;
65 }
66
67 return pNode;
68}
69
70Bu::TafGroup *Bu::TafGroup::addChild( TafGroup *pNode )
71{
72 TafGroup *pGroup = (TafGroup *)pNode;
73 if( !hChildren.has( pGroup->getName() ) )
74 hChildren.insert( pGroup->getName(), GroupList() );
75 hChildren.get( pGroup->getName() ).append( pGroup );
76 lChildren.append( pNode );
77 return pNode;
78}
79
80Bu::TafProperty *Bu::TafGroup::addChild( TafProperty *pNode )
81{
82 TafProperty *pProperty = (TafProperty *)pNode;
83 if( !hProp.has( pProperty->getName() ) )
84 hProp.insert( pProperty->getName(), PropList() );
85 hProp.get( pProperty->getName() ).append( pProperty->getValue() );
86 lChildren.append( pNode );
87 return pNode;
88}
89
90Bu::TafComment *Bu::TafGroup::addChild( TafComment *pNode )
91{
92 lChildren.append( pNode );
93 return pNode;
94}
95
96Bu::TafGroup *Bu::TafGroup::addGroup( const Bu::FString &sName )
97{
98 return addChild( new TafGroup( sName ) );
99}
100
101Bu::TafProperty *Bu::TafGroup::addProperty(
102 const Bu::FString &sName, const Bu::FString &sValue )
103{
104 return addChild( new TafProperty( sName, sValue ) );
105}
106
107bool Bu::TafGroup::hasChild( const Bu::FString &sName ) const
108{
109 return hChildren.has( sName );
110}
111
112const Bu::TafGroup::GroupList &Bu::TafGroup::getChildren( const Bu::FString &sName ) const
113{
114 try {
115 return hChildren.get( sName );
116 } catch( Bu::HashException &e )
117 {
118 throw Bu::TafException("No children of group \"%s\" match \"%s\".",
119 this->sName.getStr(), sName.getStr() );
120 }
121}
122
123const Bu::TafGroup::NodeList &Bu::TafGroup::getChildren() const
124{
125 return lChildren;
126}
127
128const Bu::TafGroup *Bu::TafGroup::getChild( const Bu::FString &sName ) const
129{
130 try {
131 return hChildren.get( sName ).first();
132 } catch( Bu::HashException &e )
133 {
134 throw Bu::TafException("No children of group \"%s\" match \"%s\".",
135 this->sName.getStr(), sName.getStr() );
136 }
137}
138
139bool Bu::TafGroup::hasProperty( const Bu::FString &sName ) const
140{
141 return hProp.has( sName );
142}
143
144const Bu::TafGroup::PropList &Bu::TafGroup::getProperties( const Bu::FString &sName ) const
145{
146 try {
147 return hProp.get( sName );
148 } catch( Bu::HashException &e )
149 {
150 throw Bu::TafException("No properties of group \"%s\" match \"%s\".",
151 this->sName.getStr(), sName.getStr() );
152 }
153}
154
155const Bu::FString &Bu::TafGroup::getProperty( const Bu::FString &sName ) const
156{
157 try {
158 return hProp.get( sName ).first();
159 } catch( Bu::HashException &e )
160 {
161 throw Bu::TafException("No properties of group \"%s\" match \"%s\".",
162 this->sName.getStr(), sName.getStr() );
163 }
164}
165
166const Bu::FString &Bu::TafGroup::getProperty( const Bu::FString &sName,
167 const Bu::FString &sDef ) const
168{
169 try
170 {
171 return hProp.get( sName ).first();
172 }
173 catch( Bu::HashException &e )
174 {
175 return sDef;
176 }
177}
178
179Bu::TafProperty::TafProperty( const Bu::FString &sName, const Bu::FString &sValue ) :
180 TafNode( typeProperty ),
181 sName( sName ),
182 sValue( sValue )
183{
184}
185
186Bu::TafProperty::~TafProperty()
187{
188}
189
190const Bu::FString &Bu::TafProperty::getName() const
191{
192 return sName;
193}
194
195const Bu::FString &Bu::TafProperty::getValue() const
196{
197 return sValue;
198}
199
200Bu::TafComment::TafComment( const Bu::FString &sText, bool bEOL ) :
201 TafNode( typeComment ),
202 sText( sText ),
203 bEOL( bEOL )
204{
205}
206
207Bu::TafComment::~TafComment()
208{
209}
210
211const Bu::FString &Bu::TafComment::getText() const
212{
213 return sText;
214}
215
216bool Bu::TafComment::isEOLStyle() const
217{
218 return bEOL;
219}
220
diff --git a/src/tafnode.h b/src/tafnode.h
index f6d2ea9..5aa5082 100644
--- a/src/tafnode.h
+++ b/src/tafnode.h
@@ -11,7 +11,6 @@
11#include <stdint.h> 11#include <stdint.h>
12#include "bu/fstring.h" 12#include "bu/fstring.h"
13#include "bu/hash.h" 13#include "bu/hash.h"
14#include "bu/list.h"
15#include "bu/exceptionbase.h" 14#include "bu/exceptionbase.h"
16 15
17namespace Bu 16namespace Bu
@@ -40,87 +39,6 @@ namespace Bu
40 private: 39 private:
41 NodeType eType; 40 NodeType eType;
42 }; 41 };
43
44 class TafProperty;
45 class TafComment;
46 /**
47 *
48 *@ingroup Taf
49 */
50 class TafGroup : public TafNode
51 {
52 public:
53 typedef Bu::List<Bu::FString> PropList;
54 typedef Bu::Hash<Bu::FString, PropList> PropHash;
55 typedef Bu::List<class Bu::TafGroup *> GroupList;
56 typedef Bu::Hash<Bu::FString, GroupList> GroupHash;
57 typedef Bu::List<class Bu::TafNode *> NodeList;
58
59 TafGroup( const Bu::FString &sName );
60 virtual ~TafGroup();
61
62 const Bu::FString &getName() const;
63 void setName( const Bu::FString &sName );
64
65 bool hasProperty( const Bu::FString &sName ) const;
66 const Bu::FString &getProperty( const Bu::FString &sName ) const;
67 const Bu::FString &getProperty( const Bu::FString &sName,
68 const Bu::FString &sDef ) const;
69 const PropList &getProperties( const Bu::FString &sName ) const;
70 bool hasChild( const Bu::FString &sName ) const;
71 const TafGroup *getChild( const Bu::FString &sName ) const;
72 const GroupList &getChildren( const Bu::FString &sName ) const;
73 TafNode *addChild( TafNode *pNode );
74 TafGroup *addChild( TafGroup *pNode );
75 TafProperty *addChild( TafProperty *pNode );
76 TafComment *addChild( TafComment *pNode );
77 TafGroup *addGroup( const Bu::FString &sName );
78 TafProperty *addProperty(
79 const Bu::FString &sName, const Bu::FString &sValue );
80 const NodeList &getChildren() const;
81
82 private:
83 Bu::FString sName;
84 PropHash hProp;
85 GroupHash hChildren;
86 NodeList lChildren;
87 };
88
89 /**
90 *
91 *@ingroup Taf
92 */
93 class TafProperty : public TafNode
94 {
95 public:
96 TafProperty( const Bu::FString &sName, const Bu::FString &sValue );
97 virtual ~TafProperty();
98
99 const Bu::FString &getName() const;
100 const Bu::FString &getValue() const;
101
102 private:
103 Bu::FString sName;
104 Bu::FString sValue;
105 };
106
107 /**
108 *
109 *@ingroup Taf
110 */
111 class TafComment : public TafNode
112 {
113 public:
114 TafComment( const Bu::FString &sText, bool bEOL=false );
115 virtual ~TafComment();
116
117 const Bu::FString &getText() const;
118 bool isEOLStyle() const;
119
120 private:
121 Bu::FString sText;
122 bool bEOL;
123 };
124} 42}
125 43
126#endif 44#endif
diff --git a/src/tafproperty.cpp b/src/tafproperty.cpp
new file mode 100644
index 0000000..855c5bb
--- /dev/null
+++ b/src/tafproperty.cpp
@@ -0,0 +1,30 @@
1/*
2 * Copyright (C) 2007-2008 Xagasoft, All rights reserved.
3 *
4 * This file is part of the libbu++ library and is released under the
5 * terms of the license contained in the file LICENSE.
6 */
7
8#include "bu/tafproperty.h"
9
10Bu::TafProperty::TafProperty( const Bu::FString &sName, const Bu::FString &sValue ) :
11 TafNode( typeProperty ),
12 sName( sName ),
13 sValue( sValue )
14{
15}
16
17Bu::TafProperty::~TafProperty()
18{
19}
20
21const Bu::FString &Bu::TafProperty::getName() const
22{
23 return sName;
24}
25
26const Bu::FString &Bu::TafProperty::getValue() const
27{
28 return sValue;
29}
30
diff --git a/src/tafproperty.h b/src/tafproperty.h
new file mode 100644
index 0000000..3589a58
--- /dev/null
+++ b/src/tafproperty.h
@@ -0,0 +1,35 @@
1/*
2 * Copyright (C) 2007-2008 Xagasoft, All rights reserved.
3 *
4 * This file is part of the libbu++ library and is released under the
5 * terms of the license contained in the file LICENSE.
6 */
7
8#ifndef BU_TAF_PROPERTY_H
9#define BU_TAF_PROPERTY_H
10
11#include <stdint.h>
12#include "bu/tafnode.h"
13
14namespace Bu
15{
16 /**
17 *
18 *@ingroup Taf
19 */
20 class TafProperty : public TafNode
21 {
22 public:
23 TafProperty( const Bu::FString &sName, const Bu::FString &sValue );
24 virtual ~TafProperty();
25
26 const Bu::FString &getName() const;
27 const Bu::FString &getValue() const;
28
29 private:
30 Bu::FString sName;
31 Bu::FString sValue;
32 };
33}
34
35#endif
diff --git a/src/tafreader.cpp b/src/tafreader.cpp
index ebf54c1..f3265ab 100644
--- a/src/tafreader.cpp
+++ b/src/tafreader.cpp
@@ -5,8 +5,9 @@
5 * terms of the license contained in the file LICENSE. 5 * terms of the license contained in the file LICENSE.
6 */ 6 */
7 7
8#include "bu/tafreader.h" 8#include "bu/taf.h"
9#include "bu/fstring.h" 9#include "bu/fstring.h"
10#include "bu/stream.h"
10 11
11#include <stdlib.h> 12#include <stdlib.h>
12 13
diff --git a/src/tafreader.h b/src/tafreader.h
index 53ab6d4..286ee39 100644
--- a/src/tafreader.h
+++ b/src/tafreader.h
@@ -9,12 +9,16 @@
9#define BU_TAF_READER_H 9#define BU_TAF_READER_H
10 10
11#include <stdint.h> 11#include <stdint.h>
12#include "bu/tafnode.h"
13#include "bu/stream.h"
14#include "bu/fstring.h" 12#include "bu/fstring.h"
15 13
16namespace Bu 14namespace Bu
17{ 15{
16 class TafNode;
17 class TafGroup;
18 class TafProperty;
19 class TafComment;
20 class Stream;
21
18 /** 22 /**
19 * 23 *
20 *@ingroup Taf 24 *@ingroup Taf
diff --git a/src/tafwriter.cpp b/src/tafwriter.cpp
index 82d39e5..c5fc730 100644
--- a/src/tafwriter.cpp
+++ b/src/tafwriter.cpp
@@ -5,8 +5,7 @@
5 * terms of the license contained in the file LICENSE. 5 * terms of the license contained in the file LICENSE.
6 */ 6 */
7 7
8#include "bu/tafwriter.h" 8#include "bu/taf.h"
9#include "bu/tafnode.h"
10#include "bu/stream.h" 9#include "bu/stream.h"
11 10
12Bu::TafWriter::TafWriter( Bu::Stream &sOut ) : 11Bu::TafWriter::TafWriter( Bu::Stream &sOut ) :
diff --git a/src/tests/taf.cpp b/src/tests/taf.cpp
index 45a6430..deadfb2 100644
--- a/src/tests/taf.cpp
+++ b/src/tests/taf.cpp
@@ -5,8 +5,7 @@
5 * terms of the license contained in the file LICENSE. 5 * terms of the license contained in the file LICENSE.
6 */ 6 */
7 7
8#include "bu/tafreader.h" 8#include "bu/taf.h"
9#include "bu/tafwriter.h"
10#include "bu/file.h" 9#include "bu/file.h"
11 10
12int main( int argc, char *argv[] ) 11int main( int argc, char *argv[] )
diff --git a/src/unit/taf.unit b/src/unit/taf.unit
index 5588c85..eeddd53 100644
--- a/src/unit/taf.unit
+++ b/src/unit/taf.unit
@@ -7,8 +7,7 @@
7 */ 7 */
8 8
9#include "bu/file.h" 9#include "bu/file.h"
10#include "bu/tafreader.h" 10#include "bu/taf.h"
11#include "bu/tafwriter.h"
12#include "bu/membuf.h" 11#include "bu/membuf.h"
13 12
14#include <string.h> 13#include <string.h>