PixelLightAPI  .
PLCoreDefinitions.h
Go to the documentation of this file.
00001 /*********************************************************\
00002  *  File: PLCoreDefinitions.h                            *
00003  *
00004  *  Copyright (C) 2002-2011 The PixelLight Team (http://www.pixellight.org/)
00005  *
00006  *  This file is part of PixelLight.
00007  *
00008  *  PixelLight is free software: you can redistribute it and/or modify
00009  *  it under the terms of the GNU Lesser General Public License as published by
00010  *  the Free Software Foundation, either version 3 of the License, or
00011  *  (at your option) any later version.
00012  *
00013  *  PixelLight is distributed in the hope that it will be useful,
00014  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
00015  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
00016  *  GNU Lesser General Public License for more details.
00017  *
00018  *  You should have received a copy of the GNU Lesser General Public License
00019  *  along with PixelLight. If not, see <http://www.gnu.org/licenses/>.
00020 \*********************************************************/
00021 
00022 
00023 #ifndef __PLCORE_DEFINITIONS_H__
00024 #define __PLCORE_DEFINITIONS_H__
00025 #pragma once
00026 
00027 
00028 //[-------------------------------------------------------]
00029 //[ Includes                                              ]
00030 //[-------------------------------------------------------]
00031 #include "PLCore/PLCore.h"
00032 
00033 
00034 //[-------------------------------------------------------]
00035 //[ Namespace                                             ]
00036 //[-------------------------------------------------------]
00037 namespace PLCore {
00038 
00039 
00040 //[-------------------------------------------------------]
00041 //[ Definitions                                           ]
00042 //[-------------------------------------------------------]
00043 /**
00044 *  @brief
00045 *    Type IDs
00046 */
00047 enum ETypeID {
00048     TypeInvalid = -1,
00049     TypeNull = 0,
00050     TypeVoid,
00051     TypeBool,
00052     TypeInt,
00053     TypeFloat,
00054     TypeDouble,
00055     TypeInt8,
00056     TypeInt16,
00057     TypeInt32,
00058     TypeInt64,
00059     TypeUInt8,
00060     TypeUInt16,
00061     TypeUInt32,
00062     TypeUInt64,
00063     TypeString,
00064     TypePtr,
00065     TypeRef,
00066     TypeObjectPtr
00067 };
00068 
00069 /**
00070 *  @brief
00071 *    Member types
00072 */
00073 enum EMemberType {
00074     MemberAttribute = 0,
00075     MemberMethod,
00076     MemberConstructor,
00077     MemberEvent,
00078     MemberEventHandler
00079 };
00080 
00081 /**
00082 *  @brief
00083 *    Default value mode
00084 */
00085 enum EDefaultValue {
00086     WithDefault = 0,        /**< Retrieve all variables, including those with a default value */
00087     NoDefault               /**< Retrieve only variables that are different than their default value */
00088 };
00089 
00090 /**
00091 *  @brief
00092 *    Recursive mode
00093 */
00094 enum ERecursive {
00095     NonRecursive = 0,       /**< Do (whatever) not recursively */
00096     Recursive               /**< Do (whatever) recursively */
00097 };
00098 
00099 /**
00100 *  @brief
00101 *    Include base class in class searches
00102 */
00103 enum EIncludeBase {
00104     IncludeBase = 0,        /**< Include that base class itself in the list of derived classes */
00105     NoBase                  /**< Only include derived classes, not the base class itself */
00106 };
00107 
00108 /**
00109 *  @brief
00110 *    Include abstract classes in class searches
00111 */
00112 enum EIncludeAbstract {
00113     IncludeAbstract = 0,    /**< Include abstract classes in list of classes */
00114     NoAbstract              /**< Do not include abstract classes */
00115 };
00116 
00117 
00118 //[-------------------------------------------------------]
00119 //[ Namespace                                             ]
00120 //[-------------------------------------------------------]
00121 } // PLCore
00122 
00123 
00124 #endif // __PLCORE_DEFINITIONS_H__


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