Restructure repository to include all source folders
Move git root from Client/ to src/ to track all source code: - Client: Game client source (moved to Client/Client/) - Server: Game server source - GameTools: Development tools - CryptoSource: Encryption utilities - database: Database scripts - Script: Game scripts - rylCoder_16.02.2008_src: Legacy coder tools - GMFont, Game: Additional resources 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,66 @@
|
||||
#ifndef _GAMA_NETWORK_LIBRARY_SESSION_POLICY_H_
|
||||
#define _GAMA_NETWORK_LIBRARY_SESSION_POLICY_H_
|
||||
|
||||
// forward decl.
|
||||
class CSocketFactory;
|
||||
class CBufferFactory;
|
||||
class CDispatchFactory;
|
||||
class COverlappedFactory;
|
||||
|
||||
class CSessionPolicy
|
||||
{
|
||||
public:
|
||||
|
||||
LONG AddRef();
|
||||
LONG Release();
|
||||
|
||||
bool IsValid()
|
||||
{
|
||||
return 0 != m_lpBufferFactory && 0 != m_lpSocketFactory &&
|
||||
0 != m_lpDispatchFactory && 0 != m_lpOverlappedFactory;
|
||||
}
|
||||
|
||||
CSocketFactory& GetSocketFactory() { return *m_lpSocketFactory; }
|
||||
CBufferFactory& GetBufferFactory() { return *m_lpBufferFactory; }
|
||||
CDispatchFactory& GetDispatchFactory() { return *m_lpDispatchFactory; }
|
||||
COverlappedFactory& GetOverlappedFactory() { return *m_lpOverlappedFactory; }
|
||||
|
||||
// Creation Factory
|
||||
template <class SocketFactory, class BufferFactory, class DispatchFactory, class OverlappedFactory>
|
||||
static CSessionPolicy* Create()
|
||||
{
|
||||
CSessionPolicy* lpSessionPolicy = new (std::nothrow) CSessionPolicy(
|
||||
new SocketFactory,
|
||||
new BufferFactory,
|
||||
new DispatchFactory,
|
||||
new OverlappedFactory);
|
||||
|
||||
if(0 == lpSessionPolicy || !lpSessionPolicy->IsValid())
|
||||
{
|
||||
delete lpSessionPolicy;
|
||||
lpSessionPolicy = 0;
|
||||
}
|
||||
|
||||
return lpSessionPolicy;
|
||||
}
|
||||
|
||||
// edith 2009.08.14 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><DEB8><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> Private Ÿ<>Կ<EFBFBD><D4BF><EFBFBD> Public Ÿ<><C5B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>.
|
||||
~CSessionPolicy();
|
||||
|
||||
private:
|
||||
|
||||
CSessionPolicy(
|
||||
CSocketFactory* lpSocketFactory,
|
||||
CBufferFactory* lpBufferFactory,
|
||||
CDispatchFactory* lpDispatchFactory,
|
||||
COverlappedFactory* lpOverlappedFactory);
|
||||
|
||||
|
||||
CSocketFactory* m_lpSocketFactory;
|
||||
CBufferFactory* m_lpBufferFactory;
|
||||
CDispatchFactory* m_lpDispatchFactory;
|
||||
COverlappedFactory* m_lpOverlappedFactory;
|
||||
LONG m_nRefCount;
|
||||
};
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user