Files
2026-06-01 12:46:52 +02:00

68 lines
1.1 KiB
C++

#pragma once
#include <memory.h>
#include <string.h>
#include "../toolkit/safe_function.h"
/// XAddr 의 주소문자열의 버퍼 크기
const int XADDRESS_MAX_LENGTH = 128;
class XAddr
{
public:
const char * GetAddr() const { return m_szAddr; }
int GetPort() const { return m_nPort; }
void SetAddr( const char *szAddr ) { setAddr( szAddr ); }
void SetPortNum( int nPort ) { setPort( nPort ); }
XAddr & operator = ( const XAddr & addr )
{
setAddr( addr.GetAddr() );
setPort( addr.GetPort() );
return *this;
}
XAddr( const char * szAddr = 0, int nPort = 0 )
{
setAddr( szAddr );
setPort( nPort );
}
bool operator == ( const XAddr & addr ) const
{
if ( strcmp( GetAddr(), addr.GetAddr() ) )
return false;
if ( GetPort() != addr.GetPort() )
return false;
return true;
}
private:
void setAddr( const char *szAddr )
{
if ( szAddr ) {
s_strcpy( m_szAddr, _countof( m_szAddr ), szAddr );
} else {
m_szAddr[0] = 0;
}
}
void setPort( int nPort )
{
m_nPort = nPort;
}
char m_szAddr[XADDRESS_MAX_LENGTH];
int m_nPort;
};