4 * \date 2012-08-18 19:25GMT
5 * \author Jan Boon (Kaetemi)
10 * Copyright (C) 2012 by authors
12 * This file is part of RYZOM CORE PIPELINE.
13 * RYZOM CORE PIPELINE is free software: you can redistribute it
14 * and/or modify it under the terms of the GNU Affero General Public
15 * License as published by the Free Software Foundation, either
16 * version 3 of the License, or (at your option) any later version.
18 * RYZOM CORE PIPELINE is distributed in the hope that it will be
19 * useful, but WITHOUT ANY WARRANTY; without even the implied warranty
20 * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU Affero General Public License for more details.
23 * You should have received a copy of the GNU Affero General Public
24 * License along with RYZOM CORE PIPELINE. If not, see
25 * <http://www.gnu.org/licenses/>.
28 #ifndef PIPELINE_CONFIG_H
29 #define PIPELINE_CONFIG_H
30 #include <nel/misc/types_nl.h>
35 #include <nel/misc/class_id.h>
38 #include "storage_object.h"
39 #include "storage_value.h"
46 * \date 2012-08-18 19:25GMT
47 * \author Jan Boon (Kaetemi)
50 class CConfig
: public CStorageContainer
57 virtual std::string
className() const;
58 virtual void toString(std::ostream
&ostream
, const std::string
&pad
= "") const;
59 virtual void parse(uint16 version
, uint filter
= 0);
61 virtual void build(uint16 version
, uint filter
= 0);
62 virtual void disown();
65 virtual IStorageObject
*createChunkById(uint16 id
, bool container
);
67 }; /* class CConfig */
71 * \date 2012-08-18 19:25GMT
72 * \author Jan Boon (Kaetemi)
75 class CConfig20a0
: public CStorageContainer
79 virtual ~CConfig20a0();
82 virtual std::string
className() const;
83 virtual void toString(std::ostream
&ostream
, const std::string
&pad
= "") const;
84 virtual void parse(uint16 version
, uint filter
= 0);
86 virtual void build(uint16 version
, uint filter
= 0);
87 virtual void disown();
90 virtual IStorageObject
*createChunkById(uint16 id
, bool container
);
92 }; /* class CConfig20a0 */
95 * \brief CConfig20a0Entry
96 * \date 2012-08-18 19:25GMT
97 * \author Jan Boon (Kaetemi)
100 class CConfig20a0Entry
: public CStorageContainer
104 virtual ~CConfig20a0Entry();
107 virtual std::string
className() const;
108 virtual void toString(std::ostream
&ostream
, const std::string
&pad
= "") const;
109 virtual void parse(uint16 version
, uint filter
= 0);
110 virtual void clean();
111 virtual void build(uint16 version
, uint filter
= 0);
112 virtual void disown();
115 virtual IStorageObject
*createChunkById(uint16 id
, bool container
);
117 }; /* class CConfig20a0Entry */
120 * \brief CConfigScript
121 * \date 2012-08-18 19:25GMT
122 * \author Jan Boon (Kaetemi)
125 class CConfigScript
: public CStorageContainer
129 virtual ~CConfigScript();
132 virtual std::string
className() const;
133 virtual void toString(std::ostream
&ostream
, const std::string
&pad
= "") const;
134 virtual void parse(uint16 version
, uint filter
= 0);
135 virtual void clean();
136 virtual void build(uint16 version
, uint filter
= 0);
137 virtual void disown();
140 virtual IStorageObject
*createChunkById(uint16 id
, bool container
);
142 }; /* class CConfigScript */
145 * \brief CConfigScriptEntry
146 * \date 2012-08-18 19:25GMT
147 * \author Jan Boon (Kaetemi)
150 class CConfigScriptEntry
: public CStorageContainer
153 CConfigScriptEntry();
154 virtual ~CConfigScriptEntry();
157 virtual std::string
className() const;
158 virtual void toString(std::ostream
&ostream
, const std::string
&pad
= "") const;
159 virtual void parse(uint16 version
, uint filter
= 0);
160 virtual void clean();
161 virtual void build(uint16 version
, uint filter
= 0);
162 virtual void disown();
165 virtual IStorageObject
*createChunkById(uint16 id
, bool container
);
167 }; /* class CConfigScriptEntry */
170 * \brief CConfigScriptHeader
171 * \date 2012-08-18 19:25GMT
172 * \author Jan Boon (Kaetemi)
173 * CConfigScriptHeader
175 class CConfigScriptHeader
: public IStorageObject
178 CConfigScriptHeader();
179 virtual ~CConfigScriptHeader();
183 NLMISC::CClassId ClassID
;
186 virtual std::string
className() const;
187 virtual void serial(NLMISC::IStream
&stream
);
188 virtual void toString(std::ostream
&ostream
, const std::string
&pad
= "") const;
190 }; /* class CConfigScriptHeader */
193 * \brief CConfigScriptMetaContainer
194 * \date 2012-08-18 19:25GMT
195 * \author Jan Boon (Kaetemi)
196 * CConfigScriptMetaContainer
197 * This is totally hilarious.
199 class CConfigScriptMetaContainer
: public CStorageContainer
202 CConfigScriptMetaContainer();
203 virtual ~CConfigScriptMetaContainer();
206 virtual std::string
className() const;
207 virtual void toString(std::ostream
&ostream
, const std::string
&pad
= "") const;
208 virtual void parse(uint16 version
, uint filter
= 0);
209 virtual void clean();
210 virtual void build(uint16 version
, uint filter
= 0);
211 virtual void disown();
214 virtual IStorageObject
*createChunkById(uint16 id
, bool container
);
216 }; /* class CConfigScriptMetaContainer */
219 * \brief CConfigScriptMetaString
220 * \date 2012-08-18 19:25GMT
221 * \author Jan Boon (Kaetemi)
222 * CConfigScriptMetaString
224 class CConfigScriptMetaString
: public IStorageObject
227 CConfigScriptMetaString();
228 virtual ~CConfigScriptMetaString();
234 virtual std::string
className() const;
235 virtual void serial(NLMISC::IStream
&stream
);
236 virtual void toString(std::ostream
&ostream
, const std::string
&pad
= "") const;
238 }; /* class CConfigScriptMetaString */
240 } /* namespace MAX */
241 } /* namespace PIPELINE */
243 #endif /* #ifndef PIPELINE_CONFIG_H */