单例接口放置在cpp文件中

This commit is contained in:
xiongziliang 2018-07-03 17:10:11 +08:00
parent 35fd682c9a
commit b7304808b3
4 changed files with 18 additions and 11 deletions

View File

@ -37,6 +37,11 @@ using namespace ZL::Network;
namespace ZL {
namespace Rtsp {
MultiCastAddressMaker &MultiCastAddressMaker::Instance() {
static MultiCastAddressMaker instance;
return instance;
}
static uint32_t addressToInt(const string &ip){
struct in_addr addr;
bzero(&addr,sizeof(addr));

View File

@ -47,10 +47,8 @@ namespace Rtsp {
class MultiCastAddressMaker
{
public:
static MultiCastAddressMaker &Instance(){
static MultiCastAddressMaker instance;
return instance;
}
static MultiCastAddressMaker &Instance();
static bool isMultiCastAddress(uint32_t iAddr){
static uint32_t addrMin = mINI::Instance()[Config::MultiCast::kAddrMin].as<uint32_t>();
static uint32_t addrMax = mINI::Instance()[Config::MultiCast::kAddrMax].as<uint32_t>();

View File

@ -32,6 +32,14 @@ using namespace ZL::Util;
namespace ZL {
namespace Rtsp {
UDPServer &UDPServer::Instance() {
static UDPServer *instance(new UDPServer());
return *instance;
}
void UDPServer::Destory() {
delete &UDPServer::Instance();
}
UDPServer::UDPServer() {
}

View File

@ -47,13 +47,9 @@ public:
typedef function< bool(int, const Buffer::Ptr &, struct sockaddr *)> onRecvData;
UDPServer();
virtual ~UDPServer();
static UDPServer &Instance() {
static UDPServer *instance(new UDPServer());
return *instance;
}
static void Destory() {
delete &UDPServer::Instance();
}
static UDPServer &Instance();
static void Destory();
Socket::Ptr getSock(const char *strLocalIp, int iTrackIndex,uint16_t iLocalPort = 0);
void listenPeer(const char *strPeerIp, void *pSelf, const onRecvData &cb);
void stopListenPeer(const char *strPeerIp, void *pSelf);