Files
CppNet/net/CppNet.cpp
2020-04-21 22:04:07 +08:00

77 lines
2.2 KiB
C++

#include "Log.h"
#include "Timer.h"
#include "CppNet.h"
#include "CNConfig.h"
#include "CppNetImpl.h"
#include "MemoryPool.h"
#include "EventHandler.h"
#include "PoolSharedPtr.h"
cppnet::CCppNet::CCppNet() {
_cppnet_instance.reset(new CCppNetImpl());
}
cppnet::CCppNet::~CCppNet() {
_cppnet_instance->Dealloc();
if (!base::CLog::Instance().GetStop()) {
base::CLog::Instance().Stop();
}
}
void cppnet::CCppNet::Init(int32_t thread_num) {
if (__open_log) {
base::CLog::Instance().SetLogLevel(__log_level);
base::CLog::Instance().SetLogName(__log_file_name);
base::CLog::Instance().Start();
}
_cppnet_instance->Init(thread_num);
}
void cppnet::CCppNet::Join() {
_cppnet_instance->Join();
if (!base::CLog::Instance().GetStop()) {
base::CLog::Instance().Join();
}
}
void cppnet::CCppNet::SetReadCallback(const read_call_back& func) {
_cppnet_instance->SetReadCallback(func);
}
void cppnet::CCppNet::SetWriteCallback(const write_call_back& func) {
_cppnet_instance->SetWriteCallback(func);
}
void cppnet::CCppNet::SetDisconnectionCallback(const connection_call_back& func) {
_cppnet_instance->SetDisconnectionCallback(func);
}
uint64_t cppnet::CCppNet::SetTimer(int32_t interval, const timer_call_back& func, void* param, bool always) {
return _cppnet_instance->SetTimer(interval, func, param, always);
}
void cppnet::CCppNet::RemoveTimer(uint64_t timer_id) {
_cppnet_instance->RemoveTimer(timer_id);
}
void cppnet::CCppNet::SetAcceptCallback(const connection_call_back& func) {
_cppnet_instance->SetAcceptCallback(func);
}
bool cppnet::CCppNet::ListenAndAccept(const std::string& ip, int16_t port) {
return _cppnet_instance->ListenAndAccept(ip, port);
}
void cppnet::CCppNet::SetConnectionCallback(const connection_call_back& func) {
_cppnet_instance->SetConnectionCallback(func);
}
#ifndef __linux__
bool cppnet::CCppNet::Connection(const std::string& ip, int16_t port, const char* buf, int32_t buf_len) {
return _cppnet_instance->Connection(ip, port, buf, buf_len);
}
#endif
bool cppnet::CCppNet::Connection(const std::string& ip, int16_t port) {
return _cppnet_instance->Connection(ip, port);
}