mirror of
https://github.com/minetest/irrlicht.git
synced 2024-11-15 04:03:48 +01:00
0c6385cb92
Usually something like __IRR_SOME_GUARD_INCLUDED__ replaced by IRR_SOME_GUARD_INCLUDED. Removing underscores at the end wasn't necessary, but more symmetric (probably the reason they got added there as well). While this touches every header it shouldn't affect users (I hope). Also a few whitespace changes to unify whitespace usage a bit. And a bunch of spelling fixes in comments. git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6252 dfc29bdd-3216-0410-991c-e03cc46cb475
71 lines
1.9 KiB
C++
71 lines
1.9 KiB
C++
// Copyright (C) 2002-2012 Nikolaus Gebhardt
|
|
// This file is part of the "Irrlicht Engine".
|
|
// For conditions of distribution and use, see copyright notice in irrlicht.h
|
|
|
|
#ifndef IRR_I_ATTRIBUTE_EXCHANGING_OBJECT_H_INCLUDED
|
|
#define IRR_I_ATTRIBUTE_EXCHANGING_OBJECT_H_INCLUDED
|
|
|
|
#include "IReferenceCounted.h"
|
|
|
|
|
|
namespace irr
|
|
{
|
|
|
|
namespace io
|
|
{
|
|
|
|
class IAttributes;
|
|
|
|
//! Enumeration flags passed through SAttributeReadWriteOptions to the IAttributeExchangingObject object
|
|
enum E_ATTRIBUTE_READ_WRITE_FLAGS
|
|
{
|
|
//! Serialization/deserialization is done for an xml file
|
|
EARWF_FOR_FILE = 0x00000001,
|
|
|
|
//! Serialization/deserialization is done for an editor property box
|
|
EARWF_FOR_EDITOR = 0x00000002,
|
|
|
|
//! When writing filenames, relative paths should be used
|
|
EARWF_USE_RELATIVE_PATHS = 0x00000004
|
|
};
|
|
|
|
|
|
//! struct holding data describing options
|
|
struct SAttributeReadWriteOptions
|
|
{
|
|
//! Constructor
|
|
SAttributeReadWriteOptions()
|
|
: Flags(0), Filename(0)
|
|
{
|
|
}
|
|
|
|
//! Combination of E_ATTRIBUTE_READ_WRITE_FLAGS or other, custom ones
|
|
s32 Flags;
|
|
|
|
//! Optional filename
|
|
const fschar_t* Filename;
|
|
};
|
|
|
|
|
|
//! An object which is able to serialize and deserialize its attributes into an attributes object
|
|
class IAttributeExchangingObject : virtual public IReferenceCounted
|
|
{
|
|
public:
|
|
|
|
//! Writes attributes of the object.
|
|
/** Implement this to expose the attributes of your scene node animator for
|
|
scripting languages, editors, debuggers or xml serialization purposes. */
|
|
virtual void serializeAttributes(io::IAttributes* out, io::SAttributeReadWriteOptions* options=0) const {}
|
|
|
|
//! Reads attributes of the object.
|
|
/** Implement this to set the attributes of your scene node animator for
|
|
scripting languages, editors, debuggers or xml deserialization purposes. */
|
|
virtual void deserializeAttributes(io::IAttributes* in, io::SAttributeReadWriteOptions* options=0) {}
|
|
|
|
};
|
|
|
|
} // end namespace io
|
|
} // end namespace irr
|
|
|
|
#endif
|