www.pudn.com > acdx.rar > Alias.cpp


 /*============================================================= 
 
  
 Function: 
		 
 
 
 Author: Leon Wang  
==============================================================*/ 
// Alias.cpp: implementation of the Alias class. 
// 
////////////////////////////////////////////////////////////////////// 
 
#include "stdafx.h" 
#include "Alias.h" 
#include "sha1.h" 
 
 
 
////////////////////////////////////////////////////////////////////// 
// Construction/Destruction 
////////////////////////////////////////////////////////////////////// 
 
//##ModelId=424BB64602F6 
int Alias::AVAILABLE = 0; 
//##ModelId=424BB6460305 
int Alias::TALKING = 1; 
 
//##ModelId=424BB6460307 
Alias::Alias(){ 
	isOK = FALSE; 
	state = AVAILABLE; 
	crv = ""; 
} 
 
//##ModelId=42198D1802D9 
    /** 
     * Initialize the Alias object. 
     * @param _alias    H.323 alias 
     * @param _epid     endpoint ID 
     */ 
//##ModelId=424BB6460315 
Alias::Alias(CString _alias, CString _epid) 
{ 
	isOK = FALSE; 
    alias = _alias; 
    epid = _epid; 
    state = AVAILABLE; 
    crv = ""; 
} 
 
//##ModelId=424BB6460318 
Alias::~Alias() 
{ 
 
} 
 
 
 
//  [3/25/2005] get string hash code--> need test it  
//##ModelId=424BB646031A 
void Alias::SHA1HashCode(char* &str) 
{ 
	CSHA1 sha1; 
	sha1.Reset(); 
	sha1.Update((UINT_8 *)str, strlen(str)); 
	sha1.Final(); 
 
	sha1.ReportHash(str, CSHA1::REPORT_DIGIT); 
} 
 
   /** 
     * Make sure aliases are compared by alias name and endpoint ID. 
     * @param o alias to compare with 
     * @return      T / F 
     */ 
//##ModelId=424BB6460325 
BOOL Alias::equals(std::vector obj)  
{ 
	 // 
     Alias other = (Alias)obj[0]; 
 
     return ((this->getAlias())==(other.getAlias()) 
							&& 
			(this->getEpid())==(other.getEpid())); 
 
} 
    /** 
     * Create unique hash code. 
     * @return hash code 
     */ 
//##ModelId=424BB6460327 
void Alias::hashCode(CString & hashString)  
{ 
	hashString = epid + alias; 
	 
	LPTSTR p = hashString.GetBuffer(hashString.GetLength()); 
	SHA1HashCode(p);// care it !! test it 
	hashString = p; 
	hashString.ReleaseBuffer(); 
} 
 
    /** 
     * Access the alias. 
     * @return  H.323 alias 
     */ 
//##ModelId=424BB6460335 
CString Alias::getAlias()  
{ 
     return alias; 
} 
//##ModelId=424BB6460336 
void Alias::setAlias(CString _alias) 
{ 
	this->alias = _alias; 
} 
    /** 
     * Access to endpoint ID. 
     * @return  endpoint ID 
     */ 
//##ModelId=424BB6460343 
CString Alias::getEpid()  
{ 
     return epid; 
} 
 
//##ModelId=424BB6460344 
void Alias::setEpid(CString _epid) 
{ 
	this->epid = _epid; 
} 
    /** 
     * Access the alias state. 
     * @return  alias state (see constants) 
     */ 
//##ModelId=424BB6460346 
int Alias::getState()  
{ 
     return state; 
} 
 
    /** 
     * Change the alias state. 
     * @param _state new state (see constants) 
     */ 
//##ModelId=424BB6460353 
void Alias::setState(int _state)  
{ 
    state = _state; 
} 
 
 /** 
     * Access the CRV for a TALKING alias. 
     * @return  CRV 
     */ 
//##ModelId=424BB6460355 
CString Alias::getCrv()  
{ 
     return crv; 
} 
 
    /** 
     * Change the CRV for a TALKING alias. 
     * @param _crv new CRV 
     */ 
//##ModelId=424BB6460356 
void Alias::setCrv(CString _crv)  
{ 
    crv = _crv; 
} 
 
    /** 
     * Printable representation. 
     * @return  string 
     */ 
//##ModelId=424BB6460364 
CString Alias::toString()  
{ 
    return getAlias() + "(" + getEpid() + ")"; 
}