PixelLightAPI  .
Public Member Functions | Static Public Attributes
PLCore::LoaderImpl Class Reference

Abstract loader implementation base class, derive your concrete loader implementations from this class. More...

#include <LoaderImpl.h>

Inheritance diagram for PLCore::LoaderImpl:
Inheritance graph
[legend]

List of all members.

Public Member Functions

 pl_class (PLCORE_RTTI_EXPORT, LoaderImpl,"PLCore", PLCore::Object,"Abstract loader implementation base class, derive your concrete loader implementations from this class") pl_properties pl_property("Type"
Unknown pl_property ("Formats","") pl_property("Load"
Unknown pl_property("Save","0")
pl_properties_end pl_class_end
protected virtual PLCORE_API 
~LoaderImpl ()
 Default constructor.

Static Public Attributes

static PLCORE_API const String UnknownFormatVersion
static PLCORE_API const String DeprecatedFormatVersion
static PLCORE_API const String NoLongerSupportedFormatVersion
static PLCORE_API const String InvalidFormatVersion

Detailed Description

Abstract loader implementation base class, derive your concrete loader implementations from this class.

Remarks:
A loader implementation is ONLY responsible for loading & saving, NOT for opening/closing concrete file objects or for clearing the given loadable! There's only one instance of each loader within the system, do NOT use class member variables, do ONLY use local variables else you may get in trouble when using multi-threading. By default, the loadable system looks for "Load" and "LoadParams" RTTI methods for loading, and "Save" and "SaveParams" for saving. For example "Load" is used if there are no special user provided parameters, "LoadParams" is used if a loader supports special format dependent parameters and the user explicitly set them. Please note that it's also possible to add methods with other names, when loading a loadable, this method name can be used explicitly. The first method parameter has to be a reference to the loadable, the second parameter has to be a reference to the file to operate on.

Each loader should have the following properties:


Constructor & Destructor Documentation

Unknown pl_property ("Save", "0") pl_properties_end pl_class_end protected virtual PLCORE_API PLCore::LoaderImpl::~LoaderImpl ( ) [virtual]

Default constructor.

Destructor


Member Function Documentation

PLCore::LoaderImpl::pl_class ( PLCORE_RTTI_EXPORT  ,
LoaderImpl  ,
"PLCore"  ,
PLCore::Object  ,
"Abstract loader implementation base  class,
derive your concrete loader implementations from this class"   
)
Unknown PLCore::LoaderImpl::pl_property ( "Formats"  ,
""   
)

Member Data Documentation

'Unknown format version' string

'Deprecated format version' string

'No longer supported format version' string

'Invalid format version' string


The documentation for this class was generated from the following file:


PixelLight PixelLight 0.9.10-R1
Copyright (C) 2002-2011 by The PixelLight Team
Last modified Fri Dec 23 2011 15:51:16
The content of this PixelLight document is published under the
Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported