Home | Namespaces | Hierarchy | Alphabetical List | Class list | Files | Namespace Members | Class members | File members | Tutorials

# IAttributeExchangingObject.h

Go to the documentation of this file.

    00001 // Copyright (C) 2002-2009 Nikolaus Gebhardt
    00002 // This file is part of the "Irrlicht Engine".
    00003 // For conditions of distribution and use, see copyright notice in irrlicht.h
    00004
    00005 #ifndef __I_ATTRIBUTE_EXCHANGING_OBJECT_H_INCLUDED__
    00006 #define __I_ATTRIBUTE_EXCHANGING_OBJECT_H_INCLUDED__
    00007
    00008 #include "IReferenceCounted.h"
    00009
    00010
    00011 namespace irr
    00012 {
    00013
    00014 namespace io
    00015 {
    00016
    00017 class IAttributes;
    00018
    00020 enum E_ATTRIBUTE_READ_WRITE_FLAGS
    00021 {
    00023         EARWF_FOR_FILE = 0x00000001,
    00024
    00026         EARWF_FOR_EDITOR = 0x00000002,
    00027
    00029         EARWF_USE_RELATIVE_PATHS = 0x00000004
    00030 };
    00031
    00032
    00034 struct SAttributeReadWriteOptions
    00035 {
    00037         SAttributeReadWriteOptions()
    00038                 : Flags(0), Filename(0)
    00039         {
    00040         }
    00041
    00043         s32 Flags;
    00044
    00046         const c8* Filename;
    00047 };
    00048
    00049
    00051 class IAttributeExchangingObject : virtual public IReferenceCounted
    00052 {
    00053 public:
    00054
    00056
    00058         virtual void serializeAttributes(io::IAttributes* out, io::SAttributeReadWriteOptions* options=0) const {}
    00059
    00061
    00063         virtual void deserializeAttributes(io::IAttributes* in, io::SAttributeReadWriteOptions* options=0) {}
    00064
    00065 };
    00066
    00067 } // end namespace io
    00068 } // end namespace irr
    00069
    00070 #endif
    00071

| The Irrlicht Engine Documentation © 2003-2009 by Nikolaus Gebhardt. Generated on Sun Jan 10 09:24:03 2010 by Doxygen (1.5.6)