#include <C4Network2Res.h>
Public Member Functions | |
C4Network2ResList () | |
~C4Network2ResList () override | |
bool | Init (int32_t iClientID, C4Network2IO *pIOClass) |
void | SetLocalID (int32_t iClientID) |
C4Network2Res::Ref | getRefRes (int32_t iResID) |
C4Network2Res::Ref | getRefRes (const char *szFile, bool fLocalOnly=false) |
C4Network2Res::Ref | getRefNextRes (int32_t iResID) |
void | Add (C4Network2Res *pRes) |
C4Network2Res::Ref | AddByFile (const char *strFilePath, bool fTemp, C4Network2ResType eType, int32_t iResID=-1, const char *szResName=nullptr, bool fAllowUnloadable=false) |
C4Network2Res::Ref | AddByGroup (C4Group *pGrp, bool fTemp, C4Network2ResType eType, int32_t iResID=-1, const char *szResName=nullptr, bool fAllowUnloadable=false) |
C4Network2Res::Ref | AddByCore (const C4Network2ResCore &Core, bool fLoad=true) |
C4Network2Res::Ref | AddLoad (const C4Network2ResCore &Core) |
void | RemoveAtClient (int32_t iClientID) |
void | Clear () |
bool | SendDiscover (C4Network2IOConnection *pTo=nullptr) |
void | OnClientConnect (C4Network2IOConnection *pConn) |
void | HandlePacket (char cStatus, const C4PacketBase *pPacket, C4Network2IOConnection *pConn) |
void | OnTimer () |
void | OnShareFree (CStdCSecEx *pCSec) override |
C4Network2IO * | getIOClass () |
Protected Member Functions | |
int32_t | nextResID () |
C4Network2Res * | getRes (int32_t iResID) |
C4Network2Res * | getRes (const char *szFile, bool fLocalOnly) |
void | OnResComplete (C4Network2Res *pRes) |
bool | CreateNetworkFolder () |
bool | FindTempResFileName (const char *szFilename, char *pTarget) |
Protected Attributes | |
C4Network2Res * | pFirst {nullptr} |
CStdCSecEx | ResListCSec |
CStdCSec | ResListAddCSec |
int32_t | iClientID {-1} |
int32_t | iNextResID |
CStdCSec | ResIDCSec |
int32_t | iLastDiscover {0} |
int32_t | iLastStatus {0} |
C4Network2IO * | pIO {nullptr} |
Friends | |
class | C4Network2Res |
class | C4Network2 |
Definition at line 326 of file C4Network2Res.h.
C4Network2ResList::C4Network2ResList | ( | ) |
Definition at line 1273 of file C4Network2Res.cpp.
|
override |
Definition at line 1278 of file C4Network2Res.cpp.
References Clear().
void C4Network2ResList::Add | ( | C4Network2Res * | pRes | ) |
Definition at line 1368 of file C4Network2Res.cpp.
References C4Network2Res::AddRef(), pFirst, C4Network2Res::pNext, ResListAddCSec, and ResListCSec.
Referenced by AddByCore(), AddByFile(), AddByGroup(), AddLoad(), and C4Network2Res::Derive().
C4Network2Res::Ref C4Network2ResList::AddByCore | ( | const C4Network2ResCore & | Core, |
bool | fLoad = true |
||
) |
Definition at line 1431 of file C4Network2Res.cpp.
References Add(), AddLoad(), Application, C4Network2Res, C4Network2Res::Ref::Clear(), C4Network2Res::getCore(), C4Network2ResCore::getFileName(), C4Network2ResCore::getID(), getRefRes(), C4Application::InteractiveThread, C4Network2ResCore::isLoadable(), C4Network2Res::SetByCore(), and C4InteractiveThread::ThreadLogS().
Referenced by C4Network2::HandleJoinData(), C4GameRes::Load(), C4PlayerInfo::LoadResource(), C4ControlJoinPlayer::PreExecute(), and C4Network2::RetrieveRes().
C4Network2Res::Ref C4Network2ResList::AddByFile | ( | const char * | strFilePath, |
bool | fTemp, | ||
C4Network2ResType | eType, | ||
int32_t | iResID = -1 , |
||
const char * | szResName = nullptr , |
||
bool | fAllowUnloadable = false |
||
) |
Definition at line 1380 of file C4Network2Res.cpp.
References Add(), C4Network2Res, getRefRes(), C4Network2Res::GetStandalone(), Log(), nextResID(), NRT_System, and C4Network2Res::SetByFile().
Referenced by C4Network2::CreateDynamic(), and C4GameRes::Publish().
C4Network2Res::Ref C4Network2ResList::AddByGroup | ( | C4Group * | pGrp, |
bool | fTemp, | ||
C4Network2ResType | eType, | ||
int32_t | iResID = -1 , |
||
const char * | szResName = nullptr , |
||
bool | fAllowUnloadable = false |
||
) |
Definition at line 1406 of file C4Network2Res.cpp.
References Add(), C4Network2Res, C4Network2Res::GetStandalone(), Log(), nextResID(), and C4Network2Res::SetByGroup().
Referenced by C4PlayerInfo::LoadFromLocalFile().
C4Network2Res::Ref C4Network2ResList::AddLoad | ( | const C4Network2ResCore & | Core | ) |
Definition at line 1457 of file C4Network2Res.cpp.
References Add(), Application, C4Network2Res, C4Network2ResCore::getFileName(), C4Application::InteractiveThread, C4Network2ResCore::isLoadable(), C4Network2Res::SetLoad(), C4InteractiveThread::ThreadLog(), and C4InteractiveThread::ThreadLogS().
Referenced by AddByCore().
void C4Network2ResList::Clear | ( | ) |
Definition at line 1485 of file C4Network2Res.cpp.
References C4ClientIDUnknown, iClientID, iLastDiscover, iLastStatus, pFirst, C4Network2Res::pNext, and ResListCSec.
Referenced by C4Network2::Clear(), Init(), and ~C4Network2ResList().
|
protected |
Definition at line 1670 of file C4Network2Res.cpp.
References _MAX_PATH, _MAX_PATH_LEN, AppendBackslash(), C4Config::AtNetworkPath(), Config, CreatePath(), DirectoryExists(), LogFatal(), C4Config::Network, SCopy(), TruncateBackslash(), and C4ConfigNetwork::WorkPath.
Referenced by Init().
|
protected |
Definition at line 1688 of file C4Network2Res.cpp.
References _MAX_PATH, _MAX_PATH_LEN, C4Config::AtNetworkPath(), Config, GetExtension(), GetFilename(), ItemExists(), SAppend(), and SCopy().
Referenced by C4Network2::CreateDynamic(), C4Network2Res::Derive(), C4Network2Res::GetStandalone(), C4Network2Res::OptimizeStandalone(), C4Network2::RetrieveScenario(), and C4Network2Res::SetLoad().
|
inline |
Definition at line 387 of file C4Network2Res.h.
References pIO.
Referenced by C4Network2Res::FinishDerive(), C4Network2Res::OnChunk(), C4Network2Res::SendChunk(), C4Network2Res::SendStatus(), and C4Network2Res::StartLoad().
C4Network2Res::Ref C4Network2ResList::getRefNextRes | ( | int32_t | iResID | ) |
Definition at line 1357 of file C4Network2Res.cpp.
References C4Network2Res::getResID(), pFirst, C4Network2Res::pNext, and ResListCSec.
Referenced by C4Network2ResDlg::Update().
C4Network2Res::Ref C4Network2ResList::getRefRes | ( | const char * | szFile, |
bool | fLocalOnly = false |
||
) |
Definition at line 1351 of file C4Network2Res.cpp.
References getRes(), and ResListCSec.
C4Network2Res::Ref C4Network2ResList::getRefRes | ( | int32_t | iResID | ) |
Definition at line 1345 of file C4Network2Res.cpp.
References getRes(), and ResListCSec.
Referenced by AddByCore(), AddByFile(), C4PlayerInfo::LoadFromLocalFile(), C4ControlJoinPlayer::PreExecute(), C4ControlJoinPlayer::PreRec(), C4MessageInput::ProcessCommand(), C4Network2::RemoveDynamic(), C4Network2::RetrieveRes(), and C4Player::Save().
|
protected |
Definition at line 1334 of file C4Network2Res.cpp.
References iClientID, pFirst, C4Network2Res::pNext, ResListCSec, and SEqual().
|
protected |
Definition at line 1325 of file C4Network2Res.cpp.
References pFirst, C4Network2Res::pNext, and ResListCSec.
Referenced by getRefRes(), HandlePacket(), and nextResID().
void C4Network2ResList::HandlePacket | ( | char | cStatus, |
const C4PacketBase * | pPacket, | ||
C4Network2IOConnection * | pConn | ||
) |
Definition at line 1510 of file C4Network2Res.cpp.
References C4Network2IOConnection::getClientID(), getRes(), C4Network2Res::IsBinaryCompatible(), C4Network2IOConnection::isOpen(), C4Network2Res::OnChunk(), C4Network2Res::OnStatus(), pFirst, PID_NetResData, PID_NetResDerive, PID_NetResDis, PID_NetResReq, PID_NetResStat, C4Network2Res::pNext, ResListCSec, and C4Network2Res::SendChunk().
Referenced by C4Network2IO::CallHandlers().
bool C4Network2ResList::Init | ( | int32_t | iClientID, |
C4Network2IO * | pIOClass | ||
) |
Definition at line 1283 of file C4Network2Res.cpp.
References Clear(), CreateNetworkFolder(), iClientID, iNextResID, pIO, and SetLocalID().
Referenced by C4Network2::InitHost().
|
protected |
Definition at line 1313 of file C4Network2Res.cpp.
References getRes(), iClientID, iNextResID, and ResIDCSec.
Referenced by AddByFile(), AddByGroup(), and C4Network2Res::FinishDerive().
void C4Network2ResList::OnClientConnect | ( | C4Network2IOConnection * | pConn | ) |
Definition at line 1497 of file C4Network2Res.cpp.
References SendDiscover().
Referenced by C4Network2::OnClientConnect().
|
protected |
Definition at line 1662 of file C4Network2Res.cpp.
References Application, Control, C4Network2Res::getCore(), C4Network2ResCore::getFileName(), C4Application::InteractiveThread, C4GameControl::Network, C4GameControlNetwork::OnResComplete(), and C4InteractiveThread::ThreadLogS().
Referenced by C4Network2Res::EndLoad().
|
overridevirtual |
Implements CStdCSecExCallback.
Definition at line 1615 of file C4Network2Res.cpp.
References C4NetResDeleteTime, pFirst, and ResListCSec.
void C4Network2ResList::OnTimer | ( | ) |
Definition at line 1581 of file C4Network2Res.cpp.
References C4NetResDiscoverInterval, C4NetResStatusInterval, C4Network2Res::DoLoad(), iLastDiscover, iLastStatus, C4Network2Res::isDirty(), C4Network2Res::isLoading(), C4Network2Res::isRemoved(), C4Network2Res::NeedsDiscover(), pFirst, C4Network2Res::pNext, C4Network2Res::Remove(), ResListCSec, SendDiscover(), and C4Network2Res::SendStatus().
Referenced by C4Network2IO::Execute().
void C4Network2ResList::RemoveAtClient | ( | int32_t | iClientID | ) |
Definition at line 1477 of file C4Network2Res.cpp.
References iClientID, pFirst, C4Network2Res::pNext, and ResListCSec.
bool C4Network2ResList::SendDiscover | ( | C4Network2IOConnection * | pTo = nullptr | ) |
Definition at line 1637 of file C4Network2Res.cpp.
References C4PacketResDiscover::AddDisID(), C4Network2IO::BroadcastMsg(), CStdShareLock::Clear(), C4PacketResDiscover::getDisIDCnt(), iLastDiscover, MkC4NetIOPacket(), pFirst, PID_NetResDis, pIO, C4Network2Res::pNext, ResListCSec, and C4Network2IOConnection::Send().
Referenced by OnClientConnect(), and OnTimer().
void C4Network2ResList::SetLocalID | ( | int32_t | iClientID | ) |
Definition at line 1298 of file C4Network2Res.cpp.
References iClientID, iNextResID, pFirst, C4Network2Res::pNext, ResIDCSec, and ResListCSec.
Referenced by C4Network2::HandleJoinData(), and Init().
|
friend |
Definition at line 329 of file C4Network2Res.h.
|
friend |
Definition at line 328 of file C4Network2Res.h.
Referenced by AddByCore(), AddByFile(), AddByGroup(), and AddLoad().
|
protected |
Definition at line 340 of file C4Network2Res.h.
Referenced by Clear(), getRes(), Init(), nextResID(), RemoveAtClient(), and SetLocalID().
|
protected |
Definition at line 344 of file C4Network2Res.h.
Referenced by Clear(), OnTimer(), and SendDiscover().
|
protected |
Definition at line 344 of file C4Network2Res.h.
|
protected |
Definition at line 340 of file C4Network2Res.h.
Referenced by Init(), nextResID(), and SetLocalID().
|
protected |
Definition at line 336 of file C4Network2Res.h.
Referenced by Add(), Clear(), getRefNextRes(), getRes(), HandlePacket(), OnShareFree(), OnTimer(), RemoveAtClient(), SendDiscover(), and SetLocalID().
|
protected |
Definition at line 347 of file C4Network2Res.h.
Referenced by getIOClass(), Init(), and SendDiscover().
|
protected |
Definition at line 341 of file C4Network2Res.h.
Referenced by nextResID(), and SetLocalID().
|
protected |
Definition at line 338 of file C4Network2Res.h.
Referenced by Add().
|
protected |
Definition at line 337 of file C4Network2Res.h.
Referenced by Add(), Clear(), getRefNextRes(), getRefRes(), getRes(), HandlePacket(), OnShareFree(), OnTimer(), RemoveAtClient(), SendDiscover(), and SetLocalID().