C++ FTP Stack  0.10
클래스 | 열거형 타입 | 함수
SipPlatform

SIP stack 프로젝트에서 사용되는 OS independent 라이브러리 더 자세히 ...

클래스

class  CDirectory
 디렉토리 관련 연산을 수행하는 클래스 더 자세히 ...
class  CFileLog
 파일 로그 저장 클래스 더 자세히 ...
class  ILogCallBack
 로그 메시지를 프로그램에서 처리하고 싶은 경우에 사용한다. 더 자세히 ...
class  CLog
 로그 관련 클래스 더 자세히 ...
class  CRandom
 random 번호 생성 클래스 더 자세히 ...
class  CSipMutex
 mutex 기능을 수행하는 클래스 더 자세히 ...
class  CSipMutexSignal
 mutex 기능 및 wait/signal 기능을 수행하는 클래스. 더 자세히 ...
class  CStringMap
 문자열 맵 자료구조 클래스 더 자세히 ...

열거형 타입

enum  EnumLogLevel {
  LOG_ERROR = 0x0001, LOG_INFO = 0x0010, LOG_DEBUG = 0x0100, LOG_NETWORK = 0x0200,
  LOG_SYSTEM = 0x400, LOG_SQL = 0x800
}
 로그 레벨 관련 ENUM CLog 에서 사용하는 ENUM 이다. 더 자세히 ...

함수

int GetBase64EncodeLength (int iLength)
 plain text 를 base64 문자열로 변환하였을 때의 base64 문자열의 길이를 리턴한다.
int GetBase64DecodeLength (int iLength)
 base64 문자열을 plain text 로 변환하였을 때에 plain text 의 길이를 리턴한다.
int Base64Encode (const char *pszInput, int iInputLength, char *pszOutput, int iOutputLength)
 plain text 를 base64 문자열로 변환한다.
int Base64Decode (const char *pszInput, int iInputLength, char *pszOutput, int iOutputLength)
 base64 문자열을 plain text 문자열로 변환한다.
bool Base64Encode (const char *pszInput, int iInputLength, std::string &strOutput)
 plain text 를 base64 문자열로 변환한다.
bool IsExistFile (const char *pszFileName)
 파일이 존재하는지 검사한다.
int64_t GetFileSize (const char *pszFileName)
 파일 크기를 리턴한다.
bool GetFileExt (const char *pszFileName, std::string &strExt)
 파일 이름에서 파일 확장자를 가져온다.
bool GetFolderPathOfFilePath (const char *pszFilePath, std::string &strFolder)
 파일 경로에서 폴더 경로 가져오기
bool GetFileNameOfFilePath (const char *pszFilePath, std::string &strFileName)
 파일 경로에서 파일 이름 가져오기
bool GetFileDate (const char *pszFileName, std::string &strDate)
 파일의 수정 시간을 가져온다.
bool SetFileDate (const char *pszFileName, const char *pszDate)
 파일의 수정 시간을 설정한다.
void DelFile (const char *pszFileName)
 파일을 삭제한다.
bool CpFile (const char *pszSrcFileName, const char *pszDestFileName)
 파일을 복사한다.
int RandomGet ()
 random 정수를 리턴한다.
void SetCoreDumpEnable ()
 리눅스에서 일반 사용자로 수정한 후, core dump 파일 생성 가능하게 한다.
bool Fork (bool bIsFork)
 데몬 모드로 동작한다.
bool ChangeExecuteUser (const char *pszUserId)
 프로그램 실행 사용자를 수정한다.
bool StartThread (const char *pszName, void *(*lpStartAddress)(void *), void *lpParameter)
 쓰레드를 시작한다.
void SipMd5String (const char *pszPlainText, char szMd5[33])
 평문을 MD5 문자열로 변환한다.
void SipMd5Byte (const char *pszPlainText, unsigned char szMd5[16])
 평문을 MD5 해쉬한다.
bool GetIpByName (const char *szHostName, char *szIp, int iLen)
 호스트 이름으로 IP 주소를 검색한다.
Socket TcpConnect (const char *pszIp, int iPort, int iTimeout)
 TCP 서버에 연결한다.
int TcpSend (Socket fd, const char *szBuf, int iBufLen)
 네트워크 전송 함수
int TcpRecv (Socket fd, char *szBuf, int iBufLen, int iSecond)
 timeout 을 가진 TCP 수신 메소드
int TcpRecvSize (Socket fd, char *szBuf, int iBufLen, int iSecond)
 수신 버퍼가 가득 찰 때까지 데이터를 수신한다.
Socket TcpListen (int iPort, int iListenQ, const char *pszIp, bool bIpv6)
 TCP 서버 소켓을 생성한다.
Socket TcpAccept (Socket hListenFd, char *pszIp, int iIpSize, int *piPort, bool bIpv6)
 TCP accept wrapper function.
bool GetLocalIpPort (Socket hSocket, std::string &strIp, int &iPort)
 소켓의 로컬 IP 주소와 포트 번호를 리턴한다.
Socket UdpSocket (bool bIpv6)
 UDP 소켓을 생성한다.
Socket UdpListen (unsigned short iPort, const char *pszIp, bool bIpv6)
 UDP listen 소켓을 생성한다.
bool UdpRecv (Socket iFd, char *pszBuf, int *piLen, char *pszIp, int iIpSize, unsigned short *piPort, bool bIpv6)
 UDP 메시지를 수신한다.
bool UdpRecv (Socket iFd, char *pszBuf, int *piLen, unsigned int *piIp, unsigned short *piPort)
 IPv4 로 UDP 메시지를 수신한다.
bool UdpRecv (Socket iFd, char *pszBuf, int *piLen, IN6_ADDR *psttIp, unsigned short *piPort)
 IPv6 로 UDP 메시지를 수신한다.
bool UdpSend (Socket iFd, const char *pszBuf, int iBufLen, const char *pszIp, unsigned short iPort)
 UDP 메시지를 전송한다.
bool UdpSend (Socket iFd, const char *pszBuf, int iBufLen, unsigned int iIp, unsigned short iPort)
 IPv4 로 UDP 메시지를 전송한다.
bool UdpSend (Socket iFd, const char *pszBuf, int iBufLen, IN6_ADDR *psttIp, unsigned short iPort)
 IPv6 로 UDP 메시지를 전송한다.
void InitNetwork ()
 네트워크 API 를 초기화시킨다.
bool GetLocalIp (std::string &strIp)
 localhost IP 주소를 제외한 호스트에 연결된 IP 주소를 가져온다.
void ReplaceString (std::string &strCallId, const char *pszBefore, const char *pszAfter)
 문자열에 포함된 문자열을 수정한다.
bool SearchValue (std::string &strText, const char *pszKey, char cSep, std::string &strValue)
 문자열에 포함된 키의 값을 추출한다.
bool SearchValue (std::string &strText, const char *pszKey, char cSep, int &iValue)
 문자열에 포함된 키의 값을 추출한다.
bool SearchStringList (STRING_LIST &clsList, const char *pszKey)
 검색 문자열이 문자열 리스트에 존재하는지 검사한다.
bool DeleteStringList (STRING_LIST &clsList, const char *pszKey)
 검색 문자열이 문자열 리스트에 존재하면 삭제한다.
void InsertStringList (STRING_LIST &clsList, const char *pszKey)
 문자열이 문자열 리스트에 존재하지 않으면 추가한다.
void InsertStringList (STRING_LIST &clsList, STRING_LIST &clsSrcList)
 입력 문자열 리스트의 각 문자열이 저장 문자열 리스트에 존재하지 않으면 저장 문자열 리스트에 저장한다.
void LogStringList (EnumLogLevel eLevel, const char *pszName, STRING_LIST &clsList)
 문자열 리스트를 로그로 출력한다.
void LeftTrimString (std::string &strText)
 문자열의 왼쪽 공백을 제거한다.
void RightTrimString (std::string &strText)
 문자열의 오른쪽 공백을 제거한다.
void TrimString (std::string &strText)
 문자열의 왼쪽, 오른쪽 공백을 제거한다.
void SplitString (const char *pszText, STRING_LIST &clsList, char cSep)
 입력 문자열을 구분자로 분리하여서 문자열 리스트에 저장한다.
void SplitString (const char *pszText, STRING_VECTOR &clsList, char cSep)
 입력 문자열을 구분자로 분리하여서 문자열 리스트에 저장한다.
uint32_t GetUInt32 (const char *pszText)
 문자열을 unsigned int 로 변환한다.
uint64_t GetUInt64 (const char *pszText)
 문자열을 unsigned long long 으로 변환한다.
int GetInt (const char *pszText, int iTextLen)
 지정될 길이만큼의 문자열을 숫자로 변환한다.
bool HexToString (const char *pszInput, std::string &strOutput)
 HEX 만 저장된 문자열을 숫자로 변환한 문자열로 변환한다.
void StringToHex (const char *pszInput, int iInputLen, std::string &strOutput)
 숫자가 저장된 문자열을 HEX 만 저장된 문자열로 변환한다.
bool IsPrintString (const char *pszText, int iTextLen)
 문자열이 출력 가능한지 검사한다.
void DeQuoteString (std::string &strInput, std::string &strOutput)
 입력된 문자열에서 " 를 제거한 출력 문자열을 저장한다.
void LocalTime (time_t iTime, struct tm &sttTm)
 현재 시간을 년,월,일,시,분,초 구조체에 저장한다.
void GetDateTimeString (time_t iTime, char *pszTime, int iTimeSize)
 시간 변수를 시간 문자열 변수에 저장한다.
void GetDateTimeString (char *pszTime, int iTimeSize)
 년월일시분초 문자열을 저장한다.
void GetDateString (time_t iTime, char *pszDate, int iDateSize)
 년월일 문자열을 저장한다.
void GetDateString (char *pszDate, int iDateSize)
 년월일 문자열을 저장한다.
void GetTimeString (time_t iTime, char *pszTime, int iTimeSize)
 시분초 문자열을 저장한다.
void GetTimeString (char *pszTime, int iTimeSize)
 시분초 문자열을 저장한다.
time_t ParseDateTimeString (const char *pszTime)
 년월일시분초 문자열을 time_t 로 변환한다.
int DiffTimeval (struct timeval *psttOld, struct timeval *psttNew)
 두 개의 시간의 차이를 리턴한다.
void MiliSleep (int iMiliSecond)
 ms 동안 대기한다.
uint64_t GetCurrentMiliSecond ()
 현재 시간을 ms 단위로 리턴한다.
static bool CDirectory::Create (const char *szDirName, int iDirMode=DIR_MODE)
 디렉토리를 생성한다.
static bool CDirectory::IsDirectory (const char *szDirName)
 사용자가 입력한 path 가 디렉토리인지를 점검한다.
static int CDirectory::IsDirectoryCheck (const char *szDirName)
 사용자가 입력한 path 가 디렉토리인지를 점검한다.
static void CDirectory::AppendName (std::string &strFileName, const char *pszAppend)
 파일 경로에 파일 이름을 추가한다.
static bool CDirectory::List (const char *pszDirName, FILE_LIST &clsFileList)
 폴더에 존재하는 모든 파일/폴더 리스트를 가져온다.
static bool CDirectory::FileList (const char *pszDirName, FILE_LIST &clsFileList)
 폴더에 존재하는 모든 파일 리스트를 가져온다.
static char * CDirectory::GetProgramDirectory ()
 프로그램을 시작한 폴더를 가져온다.
static int64_t CDirectory::GetSize (const char *pszDirName)
 폴더 크기를 가져온다.
static void CDirectory::DeleteAllFile (const char *pszDirName)
 폴더에 포함된 파일들을 모두 삭제한다.
static void CDirectory::GetDirName (const char *pszFilePath, std::string &strDirName)
 파일 경로에서 폴더 이름을 가져온다.
static void CDirectory::GetFileName (const char *pszFilePath, std::string &strFileName)
 파일 경로에서 파일 이름을 가져온다.
static bool CDirectory::Delete (const char *pszDirName)
 폴더를 모두 삭제한다.
bool CFileLog::Open (const char *pszDirName)
 로그 파일을 저장할 디렉토리를 설정한다.
bool CFileLog::Close ()
 로그 파일 저장을 중지한다.
bool CFileLog::Print (EnumLogLevel iLevel, const char *fmt,...)
 로그 파일에 로그를 저장한다.
int CFileLog::GetLevel ()
 로그 레벨을 가져온다.
void CFileLog::SetLevel (int iLevel)
 로그 파일에 저장할 로그 레벨을 설정한다.
bool CFileLog::IsPrintLogLevel (EnumLogLevel iLevel)
 입력한 로그 레벨이 현재 출력할 수 있는 로그 레벨인지 분석하여 준다.
void CFileLog::SetMaxLogSize (int iSize)
 로그를 저장할 최대 파일 크기를 설정한다.
void CFileLog::SetMaxFolderSize (int64_t iSize)
 로그 폴더 최대 크기를 설정한다.
static bool CLog::SetDirectory (const char *pszDirName)
 로그 파일을 저장할 디렉토리를 설정한다.
static void CLog::Release ()
 클래스 변수를 초기화시킨다.
static void CLog::SetCallBack (ILogCallBack *pclsCallBack)
 로그 출력 callback 인터페이스를 등록한다.
static int CLog::Print (EnumLogLevel iLevel, const char *fmt,...)
 로그 파일에 로그를 저장한다.
static void CLog::Print (void(*func)(FILE *fd))
 응용에서 로그를 출력하는 경우, FILE 핸들을 응용 함수로 전달한다.
static int CLog::GetLevel ()
 로그 레벨을 가져온다.
static void CLog::SetLevel (int iLevel)
 로그 파일에 저장할 로그 레벨을 설정한다.
static void CLog::SetNullLevel ()
 로그 파일에 저장할 로그 레벨을 모두 삭제한다.
static void CLog::SetDebugLevel ()
 디버그 로그 레벨을 설정한다.
static bool CLog::IsPrintLogLevel (EnumLogLevel iLevel)
 입력한 로그 레벨이 현재 출력할 수 있는 로그 레벨인지 분석하여 준다.
static void CLog::SetMaxLogSize (int iSize)
 로그를 저장할 최대 파일 크기를 설정한다.
static void CLog::SetMaxFolderSize (int64_t iSize)
 로그 폴더 최대 크기를 설정한다.
static int CLog::GetLogIndex ()
 로그파일의 인덱스 번호를 리턴한다.
static void CLog::DeleteOldFile ()
 로그 폴더의 크기가 설정된 크기보다 큰 경우, 오래된 로그 파일을 삭제한다.
static void CLog::SortFileList (FILE_LIST &clsFileList)
 로그 파일 리스트를 오래된 날짜에서 최근 날짜로 정렬한다.
int CRandom::Get ()
 random 정수를 리턴한다.
 CSipMutex::CSipMutex ()
 생성자
 CSipMutex::~CSipMutex ()
 소멸자
bool CSipMutex::acquire ()
 mutex lock 한다.
bool CSipMutex::release ()
 mutex unlock 한다.
 CSipMutexSignal::CSipMutexSignal ()
 생성자
 CSipMutexSignal::~CSipMutexSignal ()
 소멸자
bool CSipMutexSignal::wait ()
 signal 또는 broadcast 메소드가 호출될 때까지 대기한다.
bool CSipMutexSignal::signal ()
 signal 또는 broadcast 메소드가 호출될 때까지 대기하는 쓰레드 1개를 대기 중지시킨다.
bool CSipMutexSignal::broadcast ()
 signal 또는 broadcast 메소드가 호출될 때까지 대기하는 모든 쓰레드를 대기 중지시킨다.
bool CStringMap::Insert (const char *pszKey, const char *pszValue)
 문자열 맵 자료구조에 문자열 키, 값을 저장한다.
bool CStringMap::Select (const char *pszKey)
 문자열 맵 자료구조에 문자열 키가 존재하는지 검색한다.
bool CStringMap::Select (const char *pszKey, std::string &strValue)
 문자열 맵 자료구조에 문자열 키가 존재하는지 검색한다.
bool CStringMap::Delete (const char *pszKey)
 문자열 맵 자료구조에 문자열 키가 존재하면 삭제한다.
int CStringMap::GetCount ()
 문자열 맵 자료구조에 저장된 문자열 개수를 리턴한다.
void CStringMap::DeleteAll ()
 자료구조에 저장된 데이터를 모두 삭제한다.

상세한 설명

SIP stack 프로젝트에서 사용되는 OS independent 라이브러리

열거형 타입 문서화

로그 레벨 관련 ENUM CLog 에서 사용하는 ENUM 이다.

열거형 멤버:
LOG_ERROR 

에러 로그

LOG_INFO 

정보 로그

LOG_DEBUG 

디버그 로그

LOG_NETWORK 

네트워크 데이타 디버그 로그

LOG_SYSTEM 

시스템 로그

LOG_SQL 

SQL 로그

함수 문서화

bool CSipMutex::acquire ( )

mutex lock 한다.

반환값
true 를 리턴한다.
void CDirectory::AppendName ( std::string &  strFileName,
const char *  pszAppend 
)
static

파일 경로에 파일 이름을 추가한다.

매개변수
strFileName파일 경로
pszAppend추가할 파일 이름
int Base64Decode ( const char *  pszInput,
int  iInputLength,
char *  pszOutput,
int  iOutputLength 
)

base64 문자열을 plain text 문자열로 변환한다.

매개변수
pszInputbase64 문자열
iInputLengthbase64 문자열 길이
pszOutputplain text 를 저장할 변수
iOutputLengthplain text 를 저장할 변수의 크기
반환값
성공하면 변환된 문자열의 길이를 리턴하고 그렇지 않으면 -1 을 리턴한다.
int Base64Encode ( const char *  pszInput,
int  iInputLength,
char *  pszOutput,
int  iOutputLength 
)

plain text 를 base64 문자열로 변환한다.

매개변수
pszInputplain text 문자열
iInputLengthplain text 문자열의 길이
pszOutputbase64 문자열 저장 변수
iOutputLengthbase64 문자열 저장 변수의 크기
반환값
성공하면 base64 문자열의 길이를 리턴하고 실패하면 -1 을 리턴한다.
bool Base64Encode ( const char *  pszInput,
int  iInputLength,
std::string &  strOutput 
)

plain text 를 base64 문자열로 변환한다.

매개변수
pszInputplain text 문자열
iInputLengthplain text 문자열의 길이
strOutputbase64 문자열 저장 변수
반환값
성공하면 true 를 리턴하고 실패하면 false 를 리턴한다.
bool CSipMutexSignal::broadcast ( )

signal 또는 broadcast 메소드가 호출될 때까지 대기하는 모든 쓰레드를 대기 중지시킨다.

반환값
true 를 리턴한다.
bool ChangeExecuteUser ( const char *  pszUserId)

프로그램 실행 사용자를 수정한다.

매개변수
pszUserId프로그램 실행 사용자
반환값
성공하면 true 를 리턴하고 실패하면 false 를 리턴한다.
bool CFileLog::Close ( )

로그 파일 저장을 중지한다.

반환값
true 를 리턴한다.
bool CpFile ( const char *  pszSrcFileName,
const char *  pszDestFileName 
)

파일을 복사한다.

매개변수
pszSrcFileName원본 파일 path
pszDestFileName복사본 파일 path
반환값
성공하면 true 를 리턴하고 실패하면 false 를 리턴한다.
bool CDirectory::Create ( const char *  szDirName,
int  iDirMode = DIR_MODE 
)
static

디렉토리를 생성한다.

 이미 디렉토리가 생성되어 있으면 아무런 동작을 하지 않는다.
 "c:\temp\test" 와 같은 문자열을 입력하면 다음과 같이 동작하다.
 "c:\temp" 디렉토리가 존재하지 않으면 이를 생성한 후, "c:\temp\test" 디렉토리를 생성한다.
매개변수
szDirName[in] 생성할 디렉토리의 full pathname
iDirMode[in] 생성할 디렉토리의 권한
반환값
성공하면 true 을 리턴하고 실패하면 false 를 리턴한다.
CSipMutex::CSipMutex ( )

생성자

CSipMutexSignal::CSipMutexSignal ( )

생성자

bool CStringMap::Delete ( const char *  pszKey)

문자열 맵 자료구조에 문자열 키가 존재하면 삭제한다.

매개변수
pszKey문자열 키
반환값
문자열 맵 자료구조에 문자열 키가 존재하면 true 를 리턴하고 그렇지 않으면 false 를 리턴한다.
bool CDirectory::Delete ( const char *  pszDirName)
static

폴더를 모두 삭제한다.

매개변수
pszDirName폴더 이름
반환값
성공하면 true 를 리턴하고 실패하면 false 를 리턴한다.
void CStringMap::DeleteAll ( )

자료구조에 저장된 데이터를 모두 삭제한다.

void CDirectory::DeleteAllFile ( const char *  pszDirName)
static

폴더에 포함된 파일들을 모두 삭제한다.

매개변수
pszDirName폴더 full path
void CLog::DeleteOldFile ( )
static

로그 폴더의 크기가 설정된 크기보다 큰 경우, 오래된 로그 파일을 삭제한다.

bool DeleteStringList ( STRING_LIST &  clsList,
const char *  pszKey 
)

검색 문자열이 문자열 리스트에 존재하면 삭제한다.

매개변수
clsList문자열 리스트
pszKey검색 문자열
반환값
검색 문자열이 문자열 리스트에 존재하면 true 를 리턴하고 그렇지 않으면 false 를 리턴한다.
void DelFile ( const char *  pszFileName)

파일을 삭제한다.

매개변수
pszFileName파일 이름
void DeQuoteString ( std::string &  strInput,
std::string &  strOutput 
)

입력된 문자열에서 " 를 제거한 출력 문자열을 저장한다.

매개변수
strInput입력 문자열
strOutput출력 문자열
int DiffTimeval ( struct timeval *  psttOld,
struct timeval *  psttNew 
)

두 개의 시간의 차이를 리턴한다.

매개변수
psttOld시작 시간
psttNew종료 시간
반환값
두 개의 시간의 차이를 리턴한다.
bool CDirectory::FileList ( const char *  pszDirName,
FILE_LIST &  clsFileList 
)
static

폴더에 존재하는 모든 파일 리스트를 가져온다.

매개변수
pszDirName폴더 경로
clsFileList파일 리스트를 저장할 변수
반환값
성공하면 true 를 리턴하고 실패하면 false 를 리턴한다.
bool Fork ( bool  bIsFork)

데몬 모드로 동작한다.

매개변수
bIsFork데몬 모드로 동작하면 true 를 넣어주고 그렇지 않으면 false 를 넣어준다.
반환값
true 를 리턴한다.
int CRandom::Get ( )

random 정수를 리턴한다.

반환값
random 정수를 리턴한다.
int GetBase64DecodeLength ( int  iLength)

base64 문자열을 plain text 로 변환하였을 때에 plain text 의 길이를 리턴한다.

매개변수
iLengthbase64 문자열의 길이
반환값
plain text 문자열의 길이를 리턴한다.
int GetBase64EncodeLength ( int  iLength)

plain text 를 base64 문자열로 변환하였을 때의 base64 문자열의 길이를 리턴한다.

매개변수
iLengthplain text 문자열
반환값
base64 문자열의 길이를 리턴한다.
int CStringMap::GetCount ( )

문자열 맵 자료구조에 저장된 문자열 개수를 리턴한다.

반환값
문자열 맵 자료구조에 저장된 문자열 개수를 리턴한다.
uint64_t GetCurrentMiliSecond ( )

현재 시간을 ms 단위로 리턴한다.

반환값
현재 시간을 ms 단위로 리턴한다.
void GetDateString ( time_t  iTime,
char *  pszDate,
int  iDateSize 
)

년월일 문자열을 저장한다.

매개변수
iTime시간
pszDate년월일 문자열을 저장 변수
iDateSizepszDate 변수의 크기
void GetDateString ( char *  pszDate,
int  iDateSize 
)

년월일 문자열을 저장한다.

매개변수
pszDate년월일 문자열을 저장 변수
iDateSizepszDate 변수의 크기
void GetDateTimeString ( time_t  iTime,
char *  pszTime,
int  iTimeSize 
)

시간 변수를 시간 문자열 변수에 저장한다.

매개변수
iTime시간 변수
pszTime시간 문자열이 저장될 변수
iTimeSizepszTime 변수의 크기
void GetDateTimeString ( char *  pszTime,
int  iTimeSize 
)

년월일시분초 문자열을 저장한다.

매개변수
pszTime년월일시분초 문자열 저장 변수
iTimeSizepszTime 변수의 크기
void CDirectory::GetDirName ( const char *  pszFilePath,
std::string &  strDirName 
)
static

파일 경로에서 폴더 이름을 가져온다.

매개변수
pszFilePath파일 경로
strDirName폴더 이름을 저장할 변수
bool GetFileDate ( const char *  pszFileName,
std::string &  strDate 
)

파일의 수정 시간을 가져온다.

매개변수
pszFileName파일 이름
strDate[out] 파일 수정 시간 저장 변수
반환값
성공하면 true 를 리턴하고 실패하면 false 를 리턴한다.
bool GetFileExt ( const char *  pszFileName,
std::string &  strExt 
)

파일 이름에서 파일 확장자를 가져온다.

매개변수
pszFileName파일 이름
strExt파일 확장자 저장 변수
반환값
파일 확장자가 존재하면 true 를 리턴하고 그렇지 않으면 false 를 리턴한다.
void CDirectory::GetFileName ( const char *  pszFilePath,
std::string &  strFileName 
)
static

파일 경로에서 파일 이름을 가져온다.

매개변수
pszFilePath파일 경로
strFileName파일 이름을 저장할 변수
bool GetFileNameOfFilePath ( const char *  pszFilePath,
std::string &  strFileName 
)

파일 경로에서 파일 이름 가져오기

매개변수
pszFilePath파일 경로
strFileName파일 이름 저장 변수
반환값
성공하면 true 를 리턴하고 실패하면 false 를 리턴한다.
int64_t GetFileSize ( const char *  pszFileName)

파일 크기를 리턴한다.

매개변수
pszFileName파일 이름
반환값
파일이 존재하면 파일 크기를 리턴하고 그렇지 않으면 0 을 리턴한다.
bool GetFolderPathOfFilePath ( const char *  pszFilePath,
std::string &  strFolder 
)

파일 경로에서 폴더 경로 가져오기

매개변수
pszFilePath파일 경로
strFolder폴더 경로 저장 변수
반환값
성공하면 true 를 리턴하고 실패하면 false 를 리턴한다.
int GetInt ( const char *  pszText,
int  iTextLen 
)

지정될 길이만큼의 문자열을 숫자로 변환한다.

매개변수
pszText숫자 문자열
iTextLen문자열 길이
반환값
성공하면 원하는 숫자가 리턴되고 실패하면 0 이 리턴된다.
bool GetIpByName ( const char *  szHostName,
char *  szIp,
int  iLen 
)

호스트 이름으로 IP 주소를 검색한다.

매개변수
szHostName호스트 이름
szIpIP 주소를 저장할 변수
iLenIP 주소를 저장할 변수의 크기
반환값
성공하면 true 를 리턴하고 그렇지 않으면 false 를 리턴한다.
int CFileLog::GetLevel ( )

로그 레벨을 가져온다.

반환값
로그 레벨을 리턴한다.
int CLog::GetLevel ( )
static

로그 레벨을 가져온다.

반환값
로그 레벨을 리턴한다.
bool GetLocalIp ( std::string &  strIp)

localhost IP 주소를 제외한 호스트에 연결된 IP 주소를 가져온다.

매개변수
strIpIP 주소를 저장할 변수
반환값
성공하면 true 를 리턴한다. 실패하면 false 를 리턴한다.
bool GetLocalIpPort ( Socket  hSocket,
std::string &  strIp,
int &  iPort 
)

소켓의 로컬 IP 주소와 포트 번호를 리턴한다.

매개변수
hSocket소켓
strIp로컬 IP 주소 저장 변수
iPort로컬 포트 번호 저장 변수
반환값
성공하면 true 를 리턴하고 실패하면 false 를 리턴한다.
int CLog::GetLogIndex ( )
static

로그파일의 인덱스 번호를 리턴한다.

반환값
로그파일의 인덱스 번호를 리턴한다.
char * CDirectory::GetProgramDirectory ( )
static

프로그램을 시작한 폴더를 가져온다.

반환값
프로그램을 시작한 폴더 경로를 리턴한다.
int64_t CDirectory::GetSize ( const char *  pszDirName)
static

폴더 크기를 가져온다.

매개변수
pszDirName폴더 fulll path
반환값
폴더 크기를 리턴한다.
void GetTimeString ( time_t  iTime,
char *  pszTime,
int  iTimeSize 
)

시분초 문자열을 저장한다.

매개변수
iTime시간
pszTime시분초 문자열 저장 변수
iTimeSizepszTime 변수의 크기
void GetTimeString ( char *  pszTime,
int  iTimeSize 
)

시분초 문자열을 저장한다.

매개변수
pszTime시분초 문자열 저장 변수
iTimeSizepszTime 변수의 크기
uint32_t GetUInt32 ( const char *  pszText)

문자열을 unsigned int 로 변환한다.

매개변수
pszText문자열
반환값
unsigned int 를 리턴한다.
uint64_t GetUInt64 ( const char *  pszText)

문자열을 unsigned long long 으로 변환한다.

매개변수
pszText문자열
반환값
unsigned long long 을 리턴한다.
bool HexToString ( const char *  pszInput,
std::string &  strOutput 
)

HEX 만 저장된 문자열을 숫자로 변환한 문자열로 변환한다.

매개변수
pszInputHEX 만 저장된 문자열
strOutput[out] 숫자로 변환된 문자열
반환값
성공하면 true 를 리턴하고 실패하면 false 를 리턴한다.
void InitNetwork ( )

네트워크 API 를 초기화시킨다.

bool CStringMap::Insert ( const char *  pszKey,
const char *  pszValue 
)

문자열 맵 자료구조에 문자열 키, 값을 저장한다.

매개변수
pszKey문자열 키
pszValue문자열 값
반환값
성공하면 true 를 리턴하고 그렇지 않으면 false 를 리턴한다.
void InsertStringList ( STRING_LIST &  clsList,
const char *  pszKey 
)

문자열이 문자열 리스트에 존재하지 않으면 추가한다.

매개변수
clsList문자열 리스트
pszKey문자열
void InsertStringList ( STRING_LIST &  clsList,
STRING_LIST &  clsSrcList 
)

입력 문자열 리스트의 각 문자열이 저장 문자열 리스트에 존재하지 않으면 저장 문자열 리스트에 저장한다.

매개변수
clsList저장 문자열 리스트
clsSrcList입력 문자열 리스트
bool CDirectory::IsDirectory ( const char *  szDirName)
static

사용자가 입력한 path 가 디렉토리인지를 점검한다.

매개변수
szDirName[in] 디렉토리 이름
반환값
입력된 path 가 디렉토리이면 true 를 리턴하고 그렇지 않으면 false 를 리턴한다.
int CDirectory::IsDirectoryCheck ( const char *  szDirName)
static

사용자가 입력한 path 가 디렉토리인지를 점검한다.

매개변수
szDirName[in] 디렉토리 이름
반환값
입력된 path 가 디렉토리이면 0 을 리턴한다. 존재하지 않으면 -2 을 리턴한다. 디렉토리가 아니면 -1 을 리턴한다.
bool IsExistFile ( const char *  pszFileName)

파일이 존재하는지 검사한다.

매개변수
pszFileName파일 이름
반환값
파일이 존재하면 true 를 리턴하고 그렇지 않으면 false 를 리턴한다.
bool CFileLog::IsPrintLogLevel ( EnumLogLevel  iLevel)

입력한 로그 레벨이 현재 출력할 수 있는 로그 레벨인지 분석하여 준다.

매개변수
iLevel[in] 로그 레벨
반환값
현재 출력할 수 있는 로그 레벨인 경우에는 true 를 리턴하고 그렇지 않으면 false 를 리턴한다.
bool CLog::IsPrintLogLevel ( EnumLogLevel  iLevel)
static

입력한 로그 레벨이 현재 출력할 수 있는 로그 레벨인지 분석하여 준다.

매개변수
iLevel[in] 로그 레벨
반환값
현재 출력할 수 있는 로그 레벨인 경우에는 true 를 리턴하고 그렇지 않으면 false 를 리턴한다.
bool IsPrintString ( const char *  pszText,
int  iTextLen 
)

문자열이 출력 가능한지 검사한다.

매개변수
pszText문자열
iTextLen문자열 길이
반환값
문자열이 출력 가능하면 true 를 리턴하고 그렇지 않으면 false 를 리턴한다.
void LeftTrimString ( std::string &  strText)

문자열의 왼쪽 공백을 제거한다.

매개변수
strText문자열
bool CDirectory::List ( const char *  pszDirName,
FILE_LIST &  clsFileList 
)
static

폴더에 존재하는 모든 파일/폴더 리스트를 가져온다.

매개변수
pszDirName폴더 경로
clsFileList파일/폴더 리스트를 저장할 변수
반환값
성공하면 true 를 리턴하고 실패하면 false 를 리턴한다.
void LocalTime ( time_t  iTime,
struct tm &  sttTm 
)

현재 시간을 년,월,일,시,분,초 구조체에 저장한다.

매개변수
iTime현재 시간
sttTm년,월,일,시,분,초 구조체
void LogStringList ( EnumLogLevel  eLevel,
const char *  pszName,
STRING_LIST &  clsList 
)

문자열 리스트를 로그로 출력한다.

매개변수
eLevel로그 레벨
pszName로그 메시지 이름
clsList문자열 리스트
void MiliSleep ( int  iMiliSecond)

ms 동안 대기한다.

매개변수
iMiliSecondms
bool CFileLog::Open ( const char *  pszDirName)

로그 파일을 저장할 디렉토리를 설정한다.

매개변수
pszDirName로그 파일을 저장할 디렉토리
반환값
성공하면 true 를 리턴하고 그렇지 않으면 false 를 리턴한다.
time_t ParseDateTimeString ( const char *  pszTime)

년월일시분초 문자열을 time_t 로 변환한다.

매개변수
pszTime년월일시분초 문자열
반환값
성공하면 time_t 값이 리턴되고 실패하면 0 이 리턴된다.
bool CFileLog::Print ( EnumLogLevel  iLevel,
const char *  fmt,
  ... 
)

로그 파일에 로그를 저장한다.

매개변수
iLevel로그 파일 레벨
fmt로그 파일에 저장할 포맷 문자열
...fmt 포맷에 입력할 인자들
반환값
성공하면 true 를 리턴하고 그렇지 않으면 false 를 리턴한다.
int CLog::Print ( EnumLogLevel  iLevel,
const char *  fmt,
  ... 
)
static

로그 파일에 로그를 저장한다.

매개변수
iLevel[in] 로그 파일 레벨
fmt[in] 로그 파일에 저장할 포맷 문자열
...[in] fmt 포맷에 입력할 인자들
반환값
입력에 성공하면 0 을 리턴한다. 입력값이 잘못된 경우에는 -1을 리턴한다. mutex lock 에 실패한 경우에는 -1을 리턴한다. 로그 파일 Open 에 실패하면 -1을 리턴한다. 로그 레벨이 설정된 로그 레벨과 일치하지 않는 경우에는 1을 리턴한다.
void CLog::Print ( void(*)(FILE *fd)  func)
static

응용에서 로그를 출력하는 경우, FILE 핸들을 응용 함수로 전달한다.

매개변수
func로그 출력 함수
int RandomGet ( )

random 정수를 리턴한다.

반환값
random 정수를 리턴한다.
bool CSipMutex::release ( )

mutex unlock 한다.

반환값
true 를 리턴한다.
void CLog::Release ( )
static

클래스 변수를 초기화시킨다.

void ReplaceString ( std::string &  strCallId,
const char *  pszBefore,
const char *  pszAfter 
)

문자열에 포함된 문자열을 수정한다.

매개변수
strCallId문자열
pszBefore수정 대상 문자열
pszAfter수정 대상 문자열을 수정할 문자열
void RightTrimString ( std::string &  strText)

문자열의 오른쪽 공백을 제거한다.

매개변수
strText문자열
bool SearchStringList ( STRING_LIST &  clsList,
const char *  pszKey 
)

검색 문자열이 문자열 리스트에 존재하는지 검사한다.

매개변수
clsList문자열 리스트
pszKey검색 문자열
반환값
검색 문자열이 문자열 리스트에 존재하면 true 를 리턴하고 그렇지 않으면 false 를 리턴한다.
bool SearchValue ( std::string &  strText,
const char *  pszKey,
char  cSep,
std::string &  strValue 
)

문자열에 포함된 키의 값을 추출한다.

                    "app=36;msg=36;hotline=46;presence=36; broadcast=46" 문자열에서 
                    app 의 값을 추출하고 싶으면 pszKey 에 "app=" 를 입력하고 cSep 에 ';' 를 입력하면 된다.
매개변수
strText문자열
pszKey
cSep구분자
strValue키의 값을 저장할 변수
반환값
성공하면 true 를 리턴하고 실패하면 false 를 리턴한다.
bool SearchValue ( std::string &  strText,
const char *  pszKey,
char  cSep,
int &  iValue 
)

문자열에 포함된 키의 값을 추출한다.

                    "app=36;msg=36;hotline=46;presence=36; broadcast=46" 문자열에서 
                    app 의 값을 추출하고 싶으면 pszKey 에 "app=" 를 입력하고 cSep 에 ';' 를 입력하면 된다.
매개변수
strText문자열
pszKey
cSep구분자
iValue키의 값을 저장할 변수
반환값
성공하면 true 를 리턴하고 실패하면 false 를 리턴한다.
bool CStringMap::Select ( const char *  pszKey)

문자열 맵 자료구조에 문자열 키가 존재하는지 검색한다.

매개변수
pszKey문자열 키
반환값
문자열 맵 자료구조에 문자열 키가 존재하면 true 를 리턴하고 그렇지 않으면 false 를 리턴한다.
bool CStringMap::Select ( const char *  pszKey,
std::string &  strValue 
)

문자열 맵 자료구조에 문자열 키가 존재하는지 검색한다.

매개변수
pszKey문자열 키
strValue키에 대한 값을 저장할 변수
반환값
문자열 맵 자료구조에 문자열 키가 존재하면 true 를 리턴하고 그렇지 않으면 false 를 리턴한다.
void CLog::SetCallBack ( ILogCallBack pclsCallBack)
static

로그 출력 callback 인터페이스를 등록한다.

매개변수
pclsCallBack로그 출력 callback 인터페이스
void SetCoreDumpEnable ( )

리눅스에서 일반 사용자로 수정한 후, core dump 파일 생성 가능하게 한다.

void CLog::SetDebugLevel ( )
static

디버그 로그 레벨을 설정한다.

bool CLog::SetDirectory ( const char *  pszDirName)
static

로그 파일을 저장할 디렉토리를 설정한다.

만약 thread mutex 가 설정되어 있지 않으면 쓰레드 mutex 를 생성한다.

매개변수
pszDirName[in] 로그 파일을 저장할 디렉토리
반환값
성공하면 true 를 리턴하고 그렇지 않으면 false 를 리턴한다.
bool SetFileDate ( const char *  pszFileName,
const char *  pszDate 
)

파일의 수정 시간을 설정한다.

매개변수
pszFileName파일 이름
pszDate파일 수정 시간
반환값
성공하면 true 를 리턴하고 실패하면 false 를 리턴한다.
void CFileLog::SetLevel ( int  iLevel)

로그 파일에 저장할 로그 레벨을 설정한다.

여러 로그를 저장할 경우, '|' 연산자를 이용하여서 여러 로그 레벨을 설정할 수 있다.

매개변수
iLevel[in] 디버그 로그를 저장할 경우, LOG_DEBUG 를 설정한다. 정보 로그를 저장할 경우, LOG_INFO 를 설정한다. 에러 로그를 저장할 경우, LOG_ERROR 를 설정한다.
void CLog::SetLevel ( int  iLevel)
static

로그 파일에 저장할 로그 레벨을 설정한다.

여러 로그를 저장할 경우, '|' 연산자를 이용하여서 여러 로그 레벨을 설정할 수 있다.

매개변수
iLevel[in] 디버그 로그를 저장할 경우, LOG_DEBUG 를 설정한다. 정보 로그를 저장할 경우, LOG_INFO 를 설정한다. 에러 로그를 저장할 경우, LOG_ERROR 를 설정한다.
void CFileLog::SetMaxFolderSize ( int64_t  iSize)

로그 폴더 최대 크기를 설정한다.

매개변수
iSize로그 폴더 최대 크기
void CLog::SetMaxFolderSize ( int64_t  iSize)
static

로그 폴더 최대 크기를 설정한다.

매개변수
iSize로그 폴더 최대 크기
void CFileLog::SetMaxLogSize ( int  iSize)

로그를 저장할 최대 파일 크기를 설정한다.

매개변수
iSize로그를 저장할 최대 파일 크기
void CLog::SetMaxLogSize ( int  iSize)
static

로그를 저장할 최대 파일 크기를 설정한다.

매개변수
iSize로그를 저장할 최대 파일 크기
void CLog::SetNullLevel ( )
static

로그 파일에 저장할 로그 레벨을 모두 삭제한다.

  • 로그 파일에 로그가 저장되지 않는다.
bool CSipMutexSignal::signal ( )

signal 또는 broadcast 메소드가 호출될 때까지 대기하는 쓰레드 1개를 대기 중지시킨다.

반환값
true 를 리턴한다.
void SipMd5Byte ( const char *  pszPlainText,
unsigned char  szMd5[16] 
)

평문을 MD5 해쉬한다.

매개변수
pszPlainText평문 문자열
szMd5MD5 해쉬 결과값을 저장할 변수 ( 문자열이 아닌 바이너리 )
void SipMd5String ( const char *  pszPlainText,
char  szMd5[33] 
)

평문을 MD5 문자열로 변환한다.

매개변수
pszPlainText평문 문자열
szMd5MD5 문자열 저장 변수
void CLog::SortFileList ( FILE_LIST &  clsFileList)
static

로그 파일 리스트를 오래된 날짜에서 최근 날짜로 정렬한다.

매개변수
clsFileList로그 파일 리스트
void SplitString ( const char *  pszText,
STRING_LIST &  clsList,
char  cSep 
)

입력 문자열을 구분자로 분리하여서 문자열 리스트에 저장한다.

매개변수
pszText입력 문자열
clsList문자열 리스트
cSep구분자
void SplitString ( const char *  pszText,
STRING_VECTOR &  clsList,
char  cSep 
)

입력 문자열을 구분자로 분리하여서 문자열 리스트에 저장한다.

매개변수
pszText입력 문자열
clsList문자열 리스트
cSep구분자
bool StartThread ( const char *  pszName,
void *(*)(void *)  lpStartAddress,
void *  lpParameter 
)

쓰레드를 시작한다.

매개변수
pszName쓰레드 이름
lpStartAddress쓰레드 함수
lpParameter쓰레드 인자
반환값
성공하면 true 를 리턴하고 실패하면 false 를 리턴한다.
void StringToHex ( const char *  pszInput,
int  iInputLen,
std::string &  strOutput 
)

숫자가 저장된 문자열을 HEX 만 저장된 문자열로 변환한다.

매개변수
pszInput숫자가 저장된 문자열
iInputLenpszInput 변수의 길이
strOutput[out] HEX 만 저장된 문자열
Socket TcpAccept ( Socket  hListenFd,
char *  pszIp,
int  iIpSize,
int *  piPort,
bool  bIpv6 
)

TCP accept wrapper function.

매개변수
hListenFdTCP 서버 소켓
pszIp연결된 클라이언트 IP 주소가 저장될 변수
iIpSizepszIp 변수의 크기
piPort연결된 클라이언트 포트가 저장될 변수
bIpv6IPv6 인가?
반환값
성공하면 연결된 클라이언트 소켓 핸들을 리턴한다. 실패하면 INVALID_SOCKET 를 리턴한다.
Socket TcpConnect ( const char *  pszIp,
int  iPort,
int  iTimeout 
)

TCP 서버에 연결한다.

매개변수
pszIpTCP 서버 IP 주소
iPortTCP 서버 포트 번호
iTimeout연결 timeout 시간 ( 초단위 ) - 0 이상으로 설정해야 연결 timeout 기능이 동작한다.
반환값
성공하면 연결된 TCP 소켓을 리턴하고 그렇지 않으면 INVALID_SOCKET 를 리턴한다.
Socket TcpListen ( int  iPort,
int  iListenQ,
const char *  pszIp,
bool  bIpv6 
)

TCP 서버 소켓을 생성한다.

매개변수
iPortTCP 포트 번호
iListenQqueue number to listen
pszIp수신 IP 주소
bIpv6IPv6 인가?
반환값
성공하면 소켓 핸들을 리턴하고 실패하면 INVALID_SOCKET 를 리턴한다.
int TcpRecv ( Socket  fd,
char *  szBuf,
int  iBufLen,
int  iSecond 
)

timeout 을 가진 TCP 수신 메소드

매개변수
fd소켓 핸들
szBuf수신 버퍼
iBufLen수신 버퍼 크기
iSecond수신 timeout ( 초 단위 )
반환값
성공하면 수신 버퍼 크기를 리턴하고 실패하면 SOCKET_ERROR 을 리턴한다.
int TcpRecvSize ( Socket  fd,
char *  szBuf,
int  iBufLen,
int  iSecond 
)

수신 버퍼가 가득 찰 때까지 데이터를 수신한다.

매개변수
fd소켓 핸들
szBuf수신 버퍼
iBufLen수신 버퍼 크기
iSecond수신 timeout ( 초 단위 )
반환값
성공하면 수신 버퍼 크기를 리턴하고 실패하면 SOCKET_ERROR 을 리턴한다.
int TcpSend ( Socket  fd,
const char *  szBuf,
int  iBufLen 
)

네트워크 전송 함수

매개변수
fd소켓 핸들
szBuf전송 버퍼
iBufLen전송 버퍼 크기
반환값
성공하면 전송한 크기를 리턴하고 실패하면 SOCKET_ERROR 를 리턴한다.
void TrimString ( std::string &  strText)

문자열의 왼쪽, 오른쪽 공백을 제거한다.

매개변수
strText문자열
Socket UdpListen ( unsigned short  iPort,
const char *  pszIp,
bool  bIpv6 
)

UDP listen 소켓을 생성한다.

매개변수
iPortUDP 포트
pszIpUDP IP 주소. NULL 을 입력하면 any ip 주소를 사용한다.
bIpv6IPv6 소켓을 생성할 것인가?
반환값
성공하면 socket handle 을 리턴한다. 그렇지 않으면 INVALID_SOCKET 를 리턴한다.
bool UdpRecv ( Socket  iFd,
char *  pszBuf,
int *  piLen,
char *  pszIp,
int  iIpSize,
unsigned short *  piPort,
bool  bIpv6 
)

UDP 메시지를 수신한다.

매개변수
iFd소켓 핸들
pszBuf수신 버퍼
piLen수신 패킷 크기를 저장할 변수
pszIpIP 주소
iIpSizeIP 주소 변수 크기
piPort포트 번호
bIpv6IPv6 소켓인가?
반환값
성공하면 true 를 리턴하고 실패하면 false 를 리턴한다.
bool UdpRecv ( Socket  iFd,
char *  pszBuf,
int *  piLen,
unsigned int *  piIp,
unsigned short *  piPort 
)

IPv4 로 UDP 메시지를 수신한다.

매개변수
iFd소켓 핸들
pszBuf수신 버퍼
piLen수신 패킷 크기
piIpIP 주소
piPort포트 번호
반환값
성공하면 true 를 리턴하고 실패하면 false 를 리턴한다.
bool UdpRecv ( Socket  iFd,
char *  pszBuf,
int *  piLen,
IN6_ADDR *  psttIp,
unsigned short *  piPort 
)

IPv6 로 UDP 메시지를 수신한다.

매개변수
iFd소켓 핸들
pszBuf수신 버퍼
piLen수신 패킷 크기
psttIpIP 주소
piPort포트 번호
반환값
성공하면 true 를 리턴하고 실패하면 false 를 리턴한다.
bool UdpSend ( Socket  iFd,
const char *  pszBuf,
int  iBufLen,
const char *  pszIp,
unsigned short  iPort 
)

UDP 메시지를 전송한다.

매개변수
iFd소캣 핸들
pszBuf전송 버퍼
iBufLen전송 버퍼 길이
pszIp목적지 IP 주소
iPort목적지 포트 번호
반환값
성공하면 true 를 리턴하고 실패하면 false 를 리턴한다.
bool UdpSend ( Socket  iFd,
const char *  pszBuf,
int  iBufLen,
unsigned int  iIp,
unsigned short  iPort 
)

IPv4 로 UDP 메시지를 전송한다.

매개변수
iFd소캣 핸들
pszBuf발신 버퍼
iBufLen발신 버퍼 길이
iIp목적지 IP 주소
iPort목적지 포트 번호
반환값
성공하면 true 를 리턴하고 실패하면 false 를 리턴한다.
bool UdpSend ( Socket  iFd,
const char *  pszBuf,
int  iBufLen,
IN6_ADDR *  psttIp,
unsigned short  iPort 
)

IPv6 로 UDP 메시지를 전송한다.

매개변수
iFd소캣 핸들
pszBuf발신 버퍼
iBufLen발신 버퍼 길이
psttIp목적지 IP 주소
iPort목적지 포트 번호
반환값
성공하면 true 를 리턴하고 실패하면 false 를 리턴한다.
Socket UdpSocket ( bool  bIpv6)

UDP 소켓을 생성한다.

매개변수
bIpv6IPv6 소켓을 생성할 것인가?
반환값
성공하면 socket handle 을 리턴한다. 그렇지 않으면 INVALID_SOCKET 를 리턴한다.
bool CSipMutexSignal::wait ( )

signal 또는 broadcast 메소드가 호출될 때까지 대기한다.

반환값
true 를 리턴한다.
CSipMutex::~CSipMutex ( )

소멸자

CSipMutexSignal::~CSipMutexSignal ( )

소멸자