#ifndef __SERVER_H__ #define __SERVER_H__ /* #ifndef __NETDDE_H__ #include "netdde.h" #define BASE_SERVER TDDEServer #endif */ #ifndef __NETSOCK_H__ #include "NetSock.h" #define BASE_SERVER TSocketServer #endif ///////////////////////////////////////////////////////////////////////////// // TPrassiServer // Preferisco metterla nel .cpp class TDataSources; class TTableDefPool; class TSnapshotPool; class TPrassiServer : public BASE_SERVER { enum { DONGLE_WORDS = 4 }; static WORD m_DongleNumber; static WORD m_DongleModules[DONGLE_WORDS]; TDataSources* m_pDataSources; TTableDefPool* m_pTables; TSnapshotPool* m_pSnapshots; protected: // TNet_Server virtual TConnection* OnCreateConnection(DWORD id); virtual BOOL OnRemoveConnection(DWORD id); public: BOOL TestFirm(int nFirm) const; BOOL OpenTableDef(int nFirm, int nLogicNum); CdbTableDef GetTableDef(int nFirm, int nLogicNum); CdbRecordset& GetDynaset(int nFirm, int nLogicNum); void CloseTableDef(int nFirm, int nLogicNum); DWORD OpenSnapshot(int nFirm, int nLogicNum, LPCSTR sWhere, LPCSTR sOrder); CdbRecordset& GetSnapshot(DWORD nHandle); BOOL UpdateSnapshot(DWORD nHandle, int nFirm, int nLogicNum); void CloseSnapshot(DWORD nHandle); int Lock(int nFirm, int nLogicNumber, LPCSTR sKey, DWORD locker); int Unlock(int nFirm, int nLogicNumber, LPCSTR sKey, DWORD locker); int ExclusiveLock(int nFirm, int nLogicNumber, DWORD dwLocker); int ExclusiveUnlock(int nFirm, int nLogicNumber, DWORD dwLocker); WORD DongleSerialNumber() const { return m_DongleNumber; } const WORD* DongleAuthorizations() const { return m_DongleModules; } static WORD DongleLogin(); static void DongleLogout(); virtual BOOL IsOk() const; TPrassiServer(); virtual ~TPrassiServer(); }; BOOL StartServer(); TPrassiServer& GetServer(); BOOL StopServer(); #endif