2 * \file reference_target.h
3 * \brief CReferenceTarget
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_REFERENCE_TARGET_H
29 #define PIPELINE_REFERENCE_TARGET_H
30 #include <nel/misc/types_nl.h>
37 #include "reference_maker.h"
44 * \brief CReferenceTarget
45 * \date 2012-08-22 08:53GMT
46 * \author Jan Boon (Kaetemi)
47 * Dummy class, supposed to send or receive events or something.
48 * Nice for copy pasting the basic class layout.
50 class CReferenceTarget
: public CReferenceMaker
53 CReferenceTarget(CScene
*scene
);
54 virtual ~CReferenceTarget();
57 static const ucstring DisplayName
;
58 static const char *InternalName
;
59 static const char *InternalNameUnknown
;
60 static const NLMISC::CClassId ClassId
;
61 static const TSClassId SuperClassId
;
64 virtual void parse(uint16 version
, uint filter
= 0);
66 virtual void build(uint16 version
, uint filter
= 0);
67 virtual void disown();
69 virtual bool inherits(const NLMISC::CClassId classId
) const;
70 virtual const ISceneClassDesc
*classDesc() const;
71 virtual void toStringLocal(std::ostream
&ostream
, const std::string
&pad
= "", uint filter
= 0) const;
75 virtual IStorageObject
*createChunkById(uint16 id
, bool container
);
77 }; /* class CReferenceTarget */
79 typedef CSceneClassDesc
<CReferenceTarget
> CReferenceTargetClassDesc
;
80 extern const CReferenceTargetClassDesc ReferenceTargetClassDesc
;
81 typedef CSuperClassDesc
<CReferenceTarget
> CReferenceTargetSuperClassDesc
;
82 extern const CReferenceTargetSuperClassDesc ReferenceTargetSuperClassDesc
;
84 } /* namespace BUILTIN */
86 } /* namespace PIPELINE */
88 #endif /* #ifndef PIPELINE_REFERENCE_TARGET_H */