4 * \date 2012-08-22 08:53GMT
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_BASE_OBJECT_H
29 #define PIPELINE_BASE_OBJECT_H
30 #include <nel/misc/types_nl.h>
37 #include "reference_target.h"
45 * \date 2012-08-22 08:53GMT
46 * \author Jan Boon (Kaetemi)
49 class CBaseObject
: public CReferenceTarget
52 CBaseObject(CScene
*scene
);
53 virtual ~CBaseObject();
56 static const ucstring DisplayName
;
57 static const char *InternalName
;
58 // static const char *InternalNameUnknown;
59 static const NLMISC::CClassId ClassId
;
60 static const TSClassId SuperClassId
;
63 virtual void parse(uint16 version
, uint filter
= 0);
65 virtual void build(uint16 version
, uint filter
= 0);
66 virtual void disown();
68 virtual bool inherits(const NLMISC::CClassId classId
) const;
69 virtual const ISceneClassDesc
*classDesc() const;
70 virtual void toStringLocal(std::ostream
&ostream
, const std::string
&pad
= "", uint filter
= 0) const;
74 virtual IStorageObject
*createChunkById(uint16 id
, bool container
);
76 }; /* class CBaseObject */
78 typedef CSceneClassDesc
<CBaseObject
> CBaseObjectClassDesc
;
79 extern const CBaseObjectClassDesc BaseObjectClassDesc
;
80 // typedef CSuperClassDesc<CBaseObject> CBaseObjectSuperClassDesc;
81 // extern const CBaseObjectSuperClassDesc BaseObjectSuperClassDesc;
83 } /* namespace BUILTIN */
85 } /* namespace PIPELINE */
87 #endif /* #ifndef PIPELINE_BASE_OBJECT_H */