Page principale   Liste des namespaces   Hiérarchie des classes   Liste par ordre alphabétique   Liste des composants   Liste des fichiers   Composants   Déclarations  

Référence de la classe ExManagerId

#include <ExManagerId.h>


Membres publics

 ExManagerId ()
 ~ExManagerId ()
void Reset (void)
IdName GetNewIdName (char *Name)
ExId GetObjectIdByName (char *Name)
char * GetObjectNameById (ExId Id)
bool RemoveIdName (char *Name)
bool RemoveIdName (ExId Id)
bool isNameAviable (char *Name)
bool RecordIdName (ExId Id, char *Name)
bool RecordIdName (IdName idname)

Attributs Publics

std::ostrstream * Consol
void(* WriteToConsol )(const char *Label)

Membres privés

char * GetAviableName (const char *Name, int occu)

Attributs Privés

int m_ExIdCounter
std::vector< IdNamem_VecObject
std::vector< IdName >::iterator m_ItVecObject


Documentation des contructeurs et destructeurs

ExManagerId  
 

Définition à la ligne 26 du fichier ExManagerId.cpp.

Références ExManagerId(), Guard, m_ExIdCounter, et UnGuard.

Référencé par ExManagerId(), et ~ExManagerId().

00027 {
00028 Guard(ExManagerId::ExManagerId())
00029         m_ExIdCounter=0;
00030 UnGuard
00031 }

~ExManagerId  
 

Définition à la ligne 33 du fichier ExManagerId.cpp.

Références ExManagerId(), Guard, et UnGuard.

00034 {
00035 Guard(ExManagerId::~ExManagerId())
00036 UnGuard
00037 }


Documentation des méthodes

char * GetAviableName const char *    Name,
int    occu
[private]
 

Définition à la ligne 48 du fichier ExManagerId.cpp.

Références GetAviableName(), GetObjectIdByName(), Guard, et UnGuard.

Référencé par GetAviableName(), GetNewIdName(), et RecordIdName().

00049 {
00050 Guard(char * ExManagerId::GetAviableName(const char *Name,int occu))
00051         char *NameB;
00052         NameB=new char[strlen(Name)];
00053         sprintf(NameB,"%s",Name);
00054 
00055         if(GetObjectIdByName(NameB)==-1)//new name
00056         {
00057                 return NameB;
00058         }else
00059         {
00060                 //here code to change name
00061                 std::string newname(NameB);
00062                 if(occu>0)
00063                 {
00064                         newname.erase(newname.end()-1,newname.end());
00065                 }
00066                 if(occu>10)
00067                 {
00068                         newname.erase(newname.end()-1,newname.end());
00069                 }
00070                 if(occu>100)
00071                 {
00072                         newname.erase(newname.end()-1,newname.end());
00073                 }
00074                 if(occu>1000)
00075                 {
00076                         newname.erase(newname.end()-1,newname.end());
00077                 }
00078                 if(occu>10000)
00079                 {
00080                         newname.erase(newname.end()-1,newname.end());
00081                 }
00082                 char buffer[255];
00083                 memset(buffer,0,255);
00084                 sprintf(buffer,"%s%d",newname.data(),occu);
00085 
00086                 return GetAviableName(buffer,occu+1);
00087         }
00088 UnGuard
00089 }

IdName GetNewIdName char *    Name
 

Définition à la ligne 91 du fichier ExManagerId.cpp.

Références GetAviableName(), GetNewIdName(), Guard, IdName, m_ExIdCounter, m_VecObject, et UnGuard.

Référencé par ExManagerEntite::Add(), GetNewIdName(), ExManagerEntite::NewObject(), et ExManagerCam::NewObject().

00092 {
00093 Guard(IdName ExManagerId::GetNewIdName(char * Name));
00094         IdName idname;
00095         idname.first=m_ExIdCounter;
00096         idname.second=GetAviableName(Name,0);
00097         m_ExIdCounter++;
00098         //char buffer[255];
00099         //sprintf(buffer,"New Id :%ld For:%s",idname.first,idname.second);
00100         //WriteToConsol(buffer);
00101         m_VecObject.push_back(idname);
00102         return idname;
00103 UnGuard
00104 }

ExId GetObjectIdByName char *    Name
 

Définition à la ligne 106 du fichier ExManagerId.cpp.

Références ExId, GetObjectIdByName(), Guard, m_ItVecObject, m_VecObject, et UnGuard.

Référencé par GetAviableName(), GetObjectIdByName(), ExManagerCommand::ProcessAction(), et ExManagerEntite::SetCurrentEntiteName().

00107 {
00108 Guard(ExId ExManagerId::GetObjectIdByName(char * Name))
00109         for(m_ItVecObject=m_VecObject.begin();m_ItVecObject!=m_VecObject.end();m_ItVecObject++)
00110         {
00111                 if(strcmp(m_ItVecObject->second,Name)==0)
00112                 {
00113                         return m_ItVecObject->first;
00114                 }
00115         }
00116         return -1;
00117 UnGuard
00118 }

char * GetObjectNameById ExId    Id
 

Définition à la ligne 120 du fichier ExManagerId.cpp.

Références ExId, GetObjectNameById(), Guard, m_ItVecObject, m_VecObject, et UnGuard.

Référencé par GetObjectNameById().

00121 {
00122 Guard(char * ExManagerId::GetObjectNameById(ExId Id))
00123         for(m_ItVecObject=m_VecObject.begin();m_ItVecObject!=m_VecObject.end();m_ItVecObject++)
00124         {
00125                 if(m_ItVecObject->first==Id)
00126                 {
00127                         return m_ItVecObject->second;
00128                 }
00129         }
00130         return "NOTHING";
00131 UnGuard
00132 }

bool isNameAviable char *    Name
 

Définition à la ligne 134 du fichier ExManagerId.cpp.

Références Guard, isNameAviable(), m_ItVecObject, m_VecObject, et UnGuard.

Référencé par isNameAviable(), et ExManagerEntite::SetCurrentEntiteName().

00135 {
00136 Guard(bool ExManagerId::isNameAviable(char * Name))
00137         for(m_ItVecObject=m_VecObject.begin();m_ItVecObject!=m_VecObject.end();m_ItVecObject++)
00138         {
00139                 if(strcmp(m_ItVecObject->second,Name)==0)
00140                 {
00141                         return false;
00142                 }
00143         }
00144         return true;
00145 UnGuard
00146 }

bool RecordIdName IdName    idname
 

bool RecordIdName ExId    Id,
char *    Name
 

Définition à la ligne 178 du fichier ExManagerId.cpp.

Références Consol, ExId, GetAviableName(), Guard, IdName, m_ExIdCounter, m_VecObject, RecordIdName(), et UnGuard.

Référencé par RecordIdName(), et ExManagerEntite::SetCurrentEntiteName().

00179 {
00180 Guard(bool ExManagerId::RecordIdName(ExId Id,char * Name));
00181         IdName idname;
00182         idname.first=Id;
00183         idname.second=GetAviableName(Name,0);
00184         m_ExIdCounter++;
00185         *Consol<<"New Id :"<<idname.first<<"  For:"<<idname.second<<std::endl;
00186         m_VecObject.push_back(idname);
00187         return true;
00188 UnGuard
00189 }

bool RemoveIdName ExId    Id
 

Définition à la ligne 163 du fichier ExManagerId.cpp.

Références ExId, Guard, m_ItVecObject, m_VecObject, RemoveIdName(), et UnGuard.

00164 {
00165 Guard(bool ExManagerId::RemoveIdName(ExId Id))
00166         for(m_ItVecObject=m_VecObject.begin();m_ItVecObject!=m_VecObject.end();m_ItVecObject++)
00167         {
00168                 if(m_ItVecObject->first==Id)
00169                 {
00170                         m_VecObject.erase(m_ItVecObject);
00171                         return true;
00172                 }
00173         }
00174         return false;
00175 UnGuard
00176 }

bool RemoveIdName char *    Name
 

Définition à la ligne 148 du fichier ExManagerId.cpp.

Références Guard, m_ItVecObject, m_VecObject, RemoveIdName(), et UnGuard.

Référencé par RemoveIdName(), et ExManagerEntite::SetCurrentEntiteName().

00149 {
00150 Guard(bool ExManagerId::RemoveIdName(char * Name))
00151         for(m_ItVecObject=m_VecObject.begin();m_ItVecObject!=m_VecObject.end();m_ItVecObject++)
00152         {
00153                 if(strcmp(m_ItVecObject->second,Name)==0)
00154                 {
00155                         m_VecObject.erase(m_ItVecObject);
00156                         return true;
00157                 }
00158         }
00159         return false;
00160 UnGuard
00161 }

void Reset void   
 

Définition à la ligne 41 du fichier ExManagerId.cpp.

Références Guard, m_VecObject, Reset(), et UnGuard.

Référencé par ExManagerCommand::ProcessAction(), et Reset().

00042 {
00043 Guard(ExManagerId::Reset(void))
00044         m_VecObject.clear();    
00045 UnGuard
00046 }


Documentation des données imbriquées

std::ostrstream* Consol
 

Définition à la ligne 54 du fichier ExManagerId.h.

Référencé par RecordIdName(), et SetManagerLink().

int m_ExIdCounter [private]
 

Définition à la ligne 38 du fichier ExManagerId.h.

Référencé par ExManagerId(), GetNewIdName(), et RecordIdName().

std::vector<IdName>::iterator m_ItVecObject [private]
 

Définition à la ligne 41 du fichier ExManagerId.h.

Référencé par GetObjectIdByName(), GetObjectNameById(), isNameAviable(), et RemoveIdName().

std::vector<IdName> m_VecObject [private]
 

Définition à la ligne 40 du fichier ExManagerId.h.

Référencé par GetNewIdName(), GetObjectIdByName(), GetObjectNameById(), isNameAviable(), RecordIdName(), RemoveIdName(), et Reset().

void(* WriteToConsol)(const char *Label)
 

Référencé par SetManagerLink().


La documentation associée à cette classe a été générée à partir des fichiers suivants :
Généré le Tue Aug 6 20:25:45 2002 pour ExNihilo par doxygen1.2.17