mirror of
https://github.com/nostar/urfd.git
synced 2026-11-08 12:26:46 +00:00
no more support for XRFd
This commit is contained in:
1 parent
e4bc4e2c87
commit
63c3302681
12 files changed
-86
No files matched your search
@@ -32,9 +32,7 @@ CCallsign::CCallsign()
|
||||
::memset(m_Callsign, ' ', sizeof(m_Callsign));
|
||||
::memset(m_Suffix, ' ', sizeof(m_Suffix));
|
||||
m_Module = ' ';
|
||||
#ifndef NO_XLX
|
||||
m_uiDmrid = 0;
|
||||
#endif
|
||||
}
|
||||
|
||||
CCallsign::CCallsign(const char *sz, uint32_t dmrid)
|
||||
@@ -43,9 +41,7 @@ CCallsign::CCallsign(const char *sz, uint32_t dmrid)
|
||||
::memset(m_Callsign, ' ', sizeof(m_Callsign));
|
||||
::memset(m_Suffix, ' ', sizeof(m_Suffix));
|
||||
m_Module = ' ';
|
||||
#ifndef NO_XLX
|
||||
m_uiDmrid = dmrid;
|
||||
#endif
|
||||
|
||||
// and populate
|
||||
if ( ::strlen(sz) > 0 )
|
||||
@@ -56,7 +52,6 @@ CCallsign::CCallsign(const char *sz, uint32_t dmrid)
|
||||
{
|
||||
m_Module = sz[sizeof(m_Callsign)-1];
|
||||
}
|
||||
#ifndef NO_XLX
|
||||
// dmrid ok ?
|
||||
if ( m_uiDmrid == 0 )
|
||||
{
|
||||
@@ -78,7 +73,6 @@ CCallsign::CCallsign(const char *sz, uint32_t dmrid)
|
||||
}
|
||||
}
|
||||
g_DmridDir.Unlock();
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
@@ -149,7 +143,6 @@ void CCallsign::SetCallsign(const char *sz, bool UpdateDmrid)
|
||||
{
|
||||
m_Module = sz[sizeof(m_Callsign)-1];
|
||||
}
|
||||
#ifndef NO_XLX
|
||||
// and update dmrid
|
||||
if ( UpdateDmrid )
|
||||
{
|
||||
@@ -159,7 +152,6 @@ void CCallsign::SetCallsign(const char *sz, bool UpdateDmrid)
|
||||
}
|
||||
g_DmridDir.Unlock();
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
void CCallsign::SetCallsign(const uint8_t *buffer, int len, bool UpdateDmrid)
|
||||
@@ -179,7 +171,6 @@ void CCallsign::SetCallsign(const uint8_t *buffer, int len, bool UpdateDmrid)
|
||||
{
|
||||
m_Module = (char)buffer[sizeof(m_Callsign)-1];
|
||||
}
|
||||
#ifndef NO_XLX
|
||||
if ( UpdateDmrid )
|
||||
{
|
||||
g_DmridDir.Lock();
|
||||
@@ -188,10 +179,8 @@ void CCallsign::SetCallsign(const uint8_t *buffer, int len, bool UpdateDmrid)
|
||||
}
|
||||
g_DmridDir.Unlock();
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
#ifndef NO_XLX
|
||||
void CCallsign::SetDmrid(uint32_t dmrid, bool UpdateCallsign)
|
||||
{
|
||||
m_uiDmrid = dmrid;
|
||||
@@ -216,7 +205,6 @@ void CCallsign::SetDmrid(const uint8_t *buffer, bool UpdateCallsign)
|
||||
sz[8] = 0;
|
||||
SetDmrid((uint32_t)::strtol(sz, nullptr, 16), UpdateCallsign);
|
||||
}
|
||||
#endif
|
||||
|
||||
void CCallsign::SetModule(char c)
|
||||
{
|
||||
@@ -317,9 +305,7 @@ bool CCallsign::operator ==(const CCallsign &callsign) const
|
||||
{
|
||||
return ((::memcmp(callsign.m_Callsign, m_Callsign, sizeof(m_Callsign)) == 0) && (m_Module == callsign.m_Module)
|
||||
&& (::memcmp(callsign.m_Suffix, m_Suffix, sizeof(m_Suffix)) == 0)
|
||||
#ifndef NO_XLX
|
||||
&& (m_uiDmrid == callsign.m_uiDmrid)
|
||||
#endif
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
@@ -43,10 +43,8 @@ public:
|
||||
// set
|
||||
void SetCallsign(const char *, bool = true);
|
||||
void SetCallsign(const uint8_t *, int, bool = true);
|
||||
#ifndef NO_XLX
|
||||
void SetDmrid(uint32_t, bool = true);
|
||||
void SetDmrid(const uint8_t *, bool = true);
|
||||
#endif
|
||||
void SetModule(char);
|
||||
void SetSuffix(const char *);
|
||||
void SetSuffix(const uint8_t *, int);
|
||||
@@ -57,9 +55,7 @@ public:
|
||||
// get
|
||||
void GetCallsign(uint8_t *) const;
|
||||
void GetCallsignString(char *) const;
|
||||
#ifndef NO_XLX
|
||||
uint32_t GetDmrid(void) const { return m_uiDmrid; }
|
||||
#endif
|
||||
void GetSuffix(uint8_t *) const;
|
||||
char GetModule(void) const { return m_Module; }
|
||||
|
||||
@@ -85,7 +81,5 @@ protected:
|
||||
char m_Suffix[CALLSUFFIX_LEN];
|
||||
char m_Module;
|
||||
mutable char m_sz[CALLSIGN_LEN+CALLSUFFIX_LEN+5];
|
||||
#ifndef NO_XLX
|
||||
uint32_t m_uiDmrid;
|
||||
#endif
|
||||
};
|
||||
@@ -28,10 +28,8 @@ CDvFramePacket::CDvFramePacket()
|
||||
{
|
||||
::memset(m_uiAmbe, 0, sizeof(m_uiAmbe));
|
||||
::memset(m_uiDvData, 0, sizeof(m_uiDvData));
|
||||
#ifndef NO_XLX
|
||||
::memset(m_uiAmbePlus, 0, sizeof(m_uiAmbePlus));
|
||||
::memset(m_uiDvSync, 0, sizeof(m_uiDvSync));
|
||||
#endif
|
||||
};
|
||||
|
||||
// dstar constructor
|
||||
@@ -41,13 +39,10 @@ CDvFramePacket::CDvFramePacket(const struct dstar_dvframe *dvframe, uint16_t sid
|
||||
{
|
||||
::memcpy(m_uiAmbe, dvframe->AMBE, sizeof(m_uiAmbe));
|
||||
::memcpy(m_uiDvData, dvframe->DVDATA, sizeof(m_uiDvData));
|
||||
#ifndef NO_XLX
|
||||
::memset(m_uiAmbePlus, 0, sizeof(m_uiAmbePlus));
|
||||
::memset(m_uiDvSync, 0, sizeof(m_uiDvSync));
|
||||
#endif
|
||||
}
|
||||
|
||||
#ifndef NO_XLX
|
||||
// dmr constructor
|
||||
|
||||
CDvFramePacket::CDvFramePacket(const uint8_t *ambe, const uint8_t *sync, uint16_t sid, uint8_t pid, uint8_t spid)
|
||||
@@ -83,7 +78,6 @@ CDvFramePacket::CDvFramePacket
|
||||
::memcpy(m_uiAmbePlus, dmrambe, sizeof(m_uiAmbePlus));
|
||||
::memcpy(m_uiDvSync, dmrsync, sizeof(m_uiDvSync));
|
||||
}
|
||||
#endif
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////
|
||||
// virtual duplication
|
||||
@@ -102,10 +96,8 @@ const uint8_t *CDvFramePacket::GetAmbe(uint8_t uiCodec) const
|
||||
{
|
||||
case CODEC_AMBEPLUS:
|
||||
return m_uiAmbe;
|
||||
#ifndef NO_XLX
|
||||
case CODEC_AMBE2PLUS:
|
||||
return m_uiAmbePlus;
|
||||
#endif
|
||||
default:
|
||||
return nullptr;
|
||||
}
|
||||
@@ -126,11 +118,9 @@ void CDvFramePacket::SetAmbe(uint8_t uiCodec, uint8_t *Ambe)
|
||||
case CODEC_AMBEPLUS:
|
||||
::memcpy(m_uiAmbe, Ambe, sizeof(m_uiAmbe));
|
||||
break;
|
||||
#ifndef NO_XLX
|
||||
case CODEC_AMBE2PLUS:
|
||||
::memcpy(m_uiAmbePlus, Ambe, sizeof(m_uiAmbe));
|
||||
break;
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
@@ -142,9 +132,7 @@ bool CDvFramePacket::operator ==(const CDvFramePacket &DvFrame) const
|
||||
{
|
||||
return ( (::memcmp(m_uiAmbe, DvFrame.m_uiAmbe, sizeof(m_uiAmbe)) == 0)
|
||||
&& (::memcmp(m_uiDvData, DvFrame.m_uiDvData, sizeof(m_uiDvData)) == 0)
|
||||
#ifndef NO_XLX
|
||||
&& (::memcmp(m_uiAmbePlus, DvFrame.m_uiAmbePlus, sizeof(m_uiAmbePlus)) == 0)
|
||||
&& (::memcmp(m_uiDvSync, DvFrame.m_uiDvSync, sizeof(m_uiDvSync)) == 0)
|
||||
#endif
|
||||
);
|
||||
}
|
||||
@@ -47,28 +47,22 @@ public:
|
||||
// constructor
|
||||
CDvFramePacket();
|
||||
CDvFramePacket(const struct dstar_dvframe *, uint16_t, uint8_t);
|
||||
#ifndef NO_XLX
|
||||
CDvFramePacket(const uint8_t *, const uint8_t *, uint16_t, uint8_t, uint8_t);
|
||||
CDvFramePacket(const uint8_t *, uint16_t, uint8_t, uint8_t, uint8_t);
|
||||
CDvFramePacket(uint16_t, uint8_t, const uint8_t *, const uint8_t *, uint8_t, uint8_t, const uint8_t *, const uint8_t *);
|
||||
#endif
|
||||
|
||||
// virtual duplication
|
||||
std::unique_ptr<CPacket> Duplicate(void) const;
|
||||
|
||||
// identity
|
||||
bool IsDvFrame(void) const { return true; }
|
||||
#ifndef NO_XLX
|
||||
bool HasTranscodableAmbe(void) const { return true; }
|
||||
#endif
|
||||
|
||||
// get
|
||||
const uint8_t *GetAmbe(uint8_t) const;
|
||||
const uint8_t *GetAmbe(void) const { return m_uiAmbe; }
|
||||
#ifndef NO_XLX
|
||||
const uint8_t *GetAmbePlus(void) const { return m_uiAmbePlus; }
|
||||
const uint8_t *GetDvSync(void) const { return m_uiDvSync; }
|
||||
#endif
|
||||
const uint8_t *GetDvData(void) const { return m_uiDvData; }
|
||||
|
||||
// set
|
||||
@@ -81,17 +75,13 @@ public:
|
||||
protected:
|
||||
// get
|
||||
uint8_t *GetAmbeData(void) { return m_uiAmbe; }
|
||||
#ifndef NO_XLX
|
||||
uint8_t *GetAmbePlusData(void) { return m_uiAmbePlus; }
|
||||
#endif
|
||||
|
||||
protected:
|
||||
// data (dstar)
|
||||
uint8_t m_uiAmbe[AMBE_SIZE];
|
||||
uint8_t m_uiDvData[DVDATA_SIZE];
|
||||
#ifndef NO_XLX
|
||||
// data (dmr)
|
||||
uint8_t m_uiAmbePlus[AMBEPLUS_SIZE];
|
||||
uint8_t m_uiDvSync[DVSYNC_SIZE];
|
||||
#endif
|
||||
};
|
||||
@@ -49,7 +49,6 @@ CDvHeaderPacket::CDvHeaderPacket(const struct dstar_header *buffer, uint16_t sid
|
||||
m_uiCrc = buffer->Crc;
|
||||
}
|
||||
|
||||
#ifndef NO_XLX
|
||||
// dmr constructor
|
||||
|
||||
CDvHeaderPacket::CDvHeaderPacket(uint32_t my, const CCallsign &ur, const CCallsign &rpt1, const CCallsign &rpt2, uint16_t sid, uint8_t pid, uint8_t spid)
|
||||
@@ -79,7 +78,6 @@ CDvHeaderPacket::CDvHeaderPacket(const CCallsign &my, const CCallsign &ur, const
|
||||
m_csRPT2 = rpt2;
|
||||
m_csMY = my;
|
||||
}
|
||||
#endif
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////
|
||||
// virtual duplication
|
||||
|
||||
@@ -55,10 +55,8 @@ public:
|
||||
// constructor
|
||||
CDvHeaderPacket();
|
||||
CDvHeaderPacket(const struct dstar_header *, uint16_t, uint8_t);
|
||||
#ifndef NO_XLX
|
||||
CDvHeaderPacket(uint32_t, const CCallsign &, const CCallsign &, const CCallsign &, uint16_t, uint8_t, uint8_t);
|
||||
CDvHeaderPacket(const CCallsign &, const CCallsign &, const CCallsign &, const CCallsign &, uint16_t, uint8_t);
|
||||
#endif
|
||||
|
||||
// virtual duplication
|
||||
std::unique_ptr<CPacket> Duplicate(void) const;
|
||||
|
||||
@@ -34,7 +34,6 @@ CDvLastFramePacket::CDvLastFramePacket(const struct dstar_dvframe *DvFrame, uint
|
||||
{
|
||||
}
|
||||
|
||||
#ifndef NO_XLX
|
||||
// dmr constructor
|
||||
|
||||
CDvLastFramePacket::CDvLastFramePacket(const uint8_t *ambe, const uint8_t *sync, uint16_t sid, uint8_t pid, uint8_t spid)
|
||||
@@ -58,9 +57,6 @@ CDvLastFramePacket::CDvLastFramePacket(const uint8_t *ambe, uint16_t sid, uint8_
|
||||
: CDvFramePacket(ambe, sid, pid, spid, fid)
|
||||
{
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
// copy constructor
|
||||
|
||||
CDvLastFramePacket::CDvLastFramePacket(const CDvLastFramePacket &DvFrame)
|
||||
|
||||
@@ -26,11 +26,9 @@ public:
|
||||
// constructor
|
||||
CDvLastFramePacket();
|
||||
CDvLastFramePacket(const struct dstar_dvframe *, uint16_t, uint8_t);
|
||||
#ifndef NO_XLX
|
||||
CDvLastFramePacket(const uint8_t *, const uint8_t *, uint16_t, uint8_t, uint8_t);
|
||||
CDvLastFramePacket(const uint8_t *, uint16_t, uint8_t, uint8_t, uint8_t);
|
||||
CDvLastFramePacket(uint16_t, uint8_t, const uint8_t *, const uint8_t *, uint8_t, uint8_t, const uint8_t *, const uint8_t *);
|
||||
#endif
|
||||
CDvLastFramePacket(const CDvLastFramePacket &);
|
||||
|
||||
// virtual duplication
|
||||
|
||||
@@ -85,11 +85,9 @@ bool CGateKeeper::MayLink(const CCallsign &callsign, const CIp &ip, int protocol
|
||||
case PROTOCOL_DEXTRA:
|
||||
case PROTOCOL_DPLUS:
|
||||
case PROTOCOL_DCS:
|
||||
#ifndef NO_XLX
|
||||
case PROTOCOL_DMRPLUS:
|
||||
case PROTOCOL_DMRMMDVM:
|
||||
case PROTOCOL_YSF:
|
||||
#endif
|
||||
#ifndef NO_G3
|
||||
case PROTOCOL_G3:
|
||||
#endif
|
||||
@@ -98,12 +96,10 @@ bool CGateKeeper::MayLink(const CCallsign &callsign, const CIp &ip, int protocol
|
||||
// todo: then apply any protocol specific authorisation for the operation
|
||||
break;
|
||||
|
||||
#ifndef NO_XLX
|
||||
// XLX interlinks
|
||||
case PROTOCOL_XLX:
|
||||
ok &= IsPeerListedOk(callsign, ip, modules);
|
||||
break;
|
||||
#endif
|
||||
|
||||
// unsupported
|
||||
case PROTOCOL_NONE:
|
||||
@@ -133,11 +129,9 @@ bool CGateKeeper::MayTransmit(const CCallsign &callsign, const CIp &ip, int prot
|
||||
case PROTOCOL_DEXTRA:
|
||||
case PROTOCOL_DPLUS:
|
||||
case PROTOCOL_DCS:
|
||||
#ifndef NO_XLX
|
||||
case PROTOCOL_DMRPLUS:
|
||||
case PROTOCOL_DMRMMDVM:
|
||||
case PROTOCOL_YSF:
|
||||
#endif
|
||||
#ifndef NO_G3
|
||||
case PROTOCOL_G3:
|
||||
#endif
|
||||
@@ -146,12 +140,10 @@ bool CGateKeeper::MayTransmit(const CCallsign &callsign, const CIp &ip, int prot
|
||||
// todo: then apply any protocol specific authorisation for the operation
|
||||
break;
|
||||
|
||||
#ifndef NO_XLX
|
||||
// XLX interlinks
|
||||
case PROTOCOL_XLX:
|
||||
ok = ok && IsPeerListedOk(callsign, ip, module);
|
||||
break;
|
||||
#endif
|
||||
|
||||
// unsupported
|
||||
case PROTOCOL_NONE:
|
||||
|
||||
@@ -76,12 +76,10 @@
|
||||
#define PROTOCOL_DEXTRA 1
|
||||
#define PROTOCOL_DPLUS 2
|
||||
#define PROTOCOL_DCS 3
|
||||
#ifndef NO_XLX
|
||||
#define PROTOCOL_XLX 4
|
||||
#define PROTOCOL_DMRPLUS 5
|
||||
#define PROTOCOL_DMRMMDVM 6
|
||||
#define PROTOCOL_YSF 7
|
||||
#endif
|
||||
#ifndef NO_G3
|
||||
#define PROTOCOL_G3 8
|
||||
#endif
|
||||
@@ -102,7 +100,6 @@
|
||||
#define DCS_KEEPALIVE_PERIOD 1 // in seconds
|
||||
#define DCS_KEEPALIVE_TIMEOUT (DCS_KEEPALIVE_PERIOD*30) // in seconds
|
||||
|
||||
#ifndef NO_XLX
|
||||
// XLX
|
||||
#define XLX_PORT 10002 // UDP port
|
||||
#define XLX_KEEPALIVE_PERIOD 1 // in seconds
|
||||
@@ -132,7 +129,6 @@
|
||||
// the following two defines are now in configure.h
|
||||
// #define YSF_AUTOLINK_ENABLE 0 // 1 = enable, 0 = disable auto-link
|
||||
// #define YSF_AUTOLINK_MODULE 'B' // module for client to auto-link to
|
||||
#endif
|
||||
|
||||
#ifndef NO_G3
|
||||
// G3 Terminal
|
||||
@@ -156,7 +152,6 @@
|
||||
|
||||
#define CODEC_NONE 0
|
||||
#define CODEC_AMBEPLUS 1 // DStar
|
||||
#ifndef NO_XLX
|
||||
#define CODEC_AMBE2PLUS 2 // DMR
|
||||
|
||||
|
||||
@@ -171,7 +166,6 @@
|
||||
#define YSFNODEDB_USE_RLX_SERVER 1 // 1 = use http, 0 = use local file
|
||||
#define YSFNODEDB_PATH "/usr/local/etc/ysfnode.dat" // local file path
|
||||
#define YSFNODEDB_REFRESH_RATE 180 // in minutes
|
||||
#endif
|
||||
|
||||
// xml & json reporting -----------------------------------------
|
||||
|
||||
@@ -183,15 +177,6 @@
|
||||
#endif
|
||||
|
||||
// system paths -------------------------------------------------
|
||||
#ifdef NO_XLX
|
||||
#define XML_PATH "/var/log/xrfd.xml"
|
||||
#define WHITELIST_PATH "/usr/local/etc/xrfd.whitelist"
|
||||
#define BLACKLIST_PATH "/usr/local/etc/xrfd.blacklist"
|
||||
#define INTERLINKLIST_PATH "/usr/local/etc/xrfd.interlink"
|
||||
#define TERMINALOPTIONS_PATH "/usr/local/etc/xrfd.terminal"
|
||||
#define DEBUGDUMP_PATH "/var/log/xrfd.debug"
|
||||
#define PIDFILE_PATH "/var/run/xrfd.pid"
|
||||
#else
|
||||
#define XML_PATH "/var/log/xlxd.xml"
|
||||
#define WHITELIST_PATH "/usr/local/etc/xlxd.whitelist"
|
||||
#define BLACKLIST_PATH "/usr/local/etc/xlxd.blacklist"
|
||||
@@ -199,7 +184,6 @@
|
||||
#define TERMINALOPTIONS_PATH "/usr/local/etc/xlxd.terminal"
|
||||
#define DEBUGDUMP_PATH "/var/log/xlxd.debug"
|
||||
#define PIDFILE_PATH "/var/run/xlxd.pid"
|
||||
#endif
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////
|
||||
@@ -223,7 +207,6 @@ extern CReflector g_Reflector;
|
||||
class CGateKeeper;
|
||||
extern CGateKeeper g_GateKeeper;
|
||||
|
||||
#ifndef NO_XLX
|
||||
#if (DMRIDDB_USE_RLX_SERVER == 1)
|
||||
class CDmridDirHttp;
|
||||
extern CDmridDirHttp g_DmridDir;
|
||||
@@ -242,4 +225,3 @@ extern CYsfNodeDirFile g_YsfNodeDir;
|
||||
|
||||
class CTranscoder;
|
||||
extern CTranscoder g_Transcoder;
|
||||
#endif
|
||||
@@ -20,12 +20,10 @@
|
||||
#include "DExtraProtocol.h"
|
||||
#include "DPlusProtocol.h"
|
||||
#include "DCSProtocol.h"
|
||||
#ifndef NO_XLX
|
||||
#include "ULXProtocol.h"
|
||||
#include "DMRPlusProtocol.h"
|
||||
#include "DMRMMDVMProtocol.h"
|
||||
#include "YSFProtocol.h"
|
||||
#endif
|
||||
#ifndef NO_G3
|
||||
#include "G3Protocol.h"
|
||||
#endif
|
||||
@@ -58,7 +56,6 @@ bool CProtocols::Init(void)
|
||||
if (! m_Protocols.back()->Initialize("DCS", PROTOCOL_DCS, DCS_PORT, DSTAR_IPV4, DSTAR_IPV6))
|
||||
return false;
|
||||
|
||||
#ifndef NO_XLX
|
||||
m_Protocols.emplace_back(std::unique_ptr<CDmrmmdvmProtocol>(new CDmrmmdvmProtocol));
|
||||
if (! m_Protocols.back()->Initialize(nullptr, PROTOCOL_DMRMMDVM, DMRMMDVM_PORT, DMR_IPV4, DMR_IPV6))
|
||||
return false;
|
||||
@@ -74,7 +71,6 @@ bool CProtocols::Init(void)
|
||||
m_Protocols.emplace_back(std::unique_ptr<CUlxProtocol>(new CUlxProtocol));
|
||||
if (! m_Protocols.back()->Initialize("XLX", PROTOCOL_XLX, XLX_PORT, DMR_IPV4, DMR_IPV6))
|
||||
return false;
|
||||
#endif
|
||||
|
||||
#ifndef NO_G3
|
||||
m_Protocols.emplace_back(std::unique_ptr<CG3Protocol>(new CG3Protocol));
|
||||
|
||||
@@ -83,7 +83,6 @@ bool CReflector::Start(void)
|
||||
// init gate keeper. It can only return true!
|
||||
g_GateKeeper.Init();
|
||||
|
||||
#ifndef NO_XLX
|
||||
// init dmrid directory. No need to check the return value.
|
||||
g_DmridDir.Init();
|
||||
|
||||
@@ -94,7 +93,6 @@ bool CReflector::Start(void)
|
||||
// init the transcoder
|
||||
if (! g_Transcoder.Init())
|
||||
return false;
|
||||
#endif
|
||||
#endif
|
||||
|
||||
// create protocols
|
||||
@@ -156,11 +154,9 @@ void CReflector::Stop(void)
|
||||
g_Transcoder.Close();
|
||||
#endif
|
||||
|
||||
#ifndef NO_XLX
|
||||
// close databases
|
||||
g_DmridDir.Close();
|
||||
g_YsfNodeDir.Close();
|
||||
#endif
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
Reference in new issue
Block a user