Main Page   Namespace List   Class Hierarchy   Alphabetical List   Data Structures   File List   Data Fields   Globals  

ExManagerId.h

Go to the documentation of this file.
00001 /*
00002  * ExNihilo 3D Engine
00003  * 
00004  *  This program is free software; you can redistribute it and/or modify
00005  *  it under the terms of the GNU General Public License as published by
00006  *  the Free Software Foundation; either version 2 of the License, or
00007  *  (at your option) any later version.
00008  *
00009  *  This program is distributed in the hope that it will be useful,
00010  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
00011  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00012  *  GNU Library General Public License for more details.
00013  *
00014  *  You should have received a copy of the GNU General Public License
00015  *  along with this program; if not, write to the Free Software
00016  *  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
00017  *
00018  * Please read AUTHORS file !!!
00019  * 
00020  * $Id: ExManagerId.h,v 1.6 2002/08/01 18:45:56 data Exp $
00021  *
00022  */
00023 
00024 #ifndef _EXMANAGERID_H__
00025 #define _EXMANAGERID_H__
00026 //--------------------------------
00027 // File to include
00028 //--------------------------------
00029 #include "ExDefine.h"
00030 #include "ExMath.h"
00031 //--------------------------------
00032 class ExManagerId  
00033 {
00034 private:
00035 //--------------------------------
00036 // Variable
00037 //--------------------------------
00038         int m_ExIdCounter;
00039 
00040         std::vector<IdName> m_VecObject;
00041         std::vector<IdName>::iterator m_ItVecObject;
00042 
00043         char * GetAviableName(const char *Name,int occu);
00044 public:
00045 //--------------------------------
00046 // Constructor // Destructor
00047 //--------------------------------
00048         ExManagerId();
00049         ~ExManagerId();
00050 //--------------------------------
00051 // Methode
00052 //--------------------------------
00053         void Reset(void);
00054         std::ostrstream *Consol;
00055         void (*WriteToConsol)(const char *Label);
00056 
00057         IdName GetNewIdName(char * Name);
00058         ExId GetObjectIdByName(char * Name);
00059         char * GetObjectNameById(ExId Id);
00060 
00061         bool RemoveIdName(char * Name);
00062         bool RemoveIdName(ExId Id);
00063         bool isNameAviable(char * Name);
00064         bool RecordIdName(ExId Id,char * Name);
00065         bool RecordIdName(IdName idname);
00066 };
00067 
00068 #endif // _EXMANAGERID_H__

Generated on Tue Aug 6 20:27:13 2002 for ExNihilo by doxygen1.2.17