From bfe1bd0fc087be44c70904aee0fe4276643d206d Mon Sep 17 00:00:00 2001 From: George Hazan Date: Fri, 20 Jul 2012 15:56:25 +0000 Subject: - db3x_mmap is completely moved to a class; - the old nightmare in the core "How to detect a db plugin and load it" is eliminated forever; - databases are the usual plugins now (loadable via Load) - dynamic DATABASELINK registration git-svn-id: http://svn.miranda-ng.org/main/trunk@1082 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- plugins/Db3x_mmap/dbheaders.cpp | 49 ++++++++++++++++++----------------------- 1 file changed, 22 insertions(+), 27 deletions(-) (limited to 'plugins/Db3x_mmap/dbheaders.cpp') diff --git a/plugins/Db3x_mmap/dbheaders.cpp b/plugins/Db3x_mmap/dbheaders.cpp index a7eede6475..32ed0091cb 100644 --- a/plugins/Db3x_mmap/dbheaders.cpp +++ b/plugins/Db3x_mmap/dbheaders.cpp @@ -1,8 +1,8 @@ /* -Miranda IM: the free IM client for Microsoft* Windows* +Miranda NG: the free IM client for Microsoft* Windows* -Copyright 2000-2003 Miranda ICQ/IM project, +Copyright 2012 Miranda NG project, all portions of this codebase are copyrighted to the people listed in contributors.txt. @@ -25,44 +25,39 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. //the cache has not been loaded when these functions are used -int CreateDbHeaders(HANDLE hFile) +int CDdxMmap::CreateDbHeaders() { DBContact user; DWORD bytesWritten; - CopyMemory(dbHeader.signature,&dbSignature,sizeof(dbHeader.signature)); - dbHeader.version = DB_THIS_VERSION; - dbHeader.ofsFileEnd = sizeof(struct DBHeader); - dbHeader.slackSpace = 0; - dbHeader.contactCount = 0; - dbHeader.ofsFirstContact = 0; - dbHeader.ofsFirstModuleName = 0; - dbHeader.ofsUser = 0; + CopyMemory(m_dbHeader.signature,&dbSignature,sizeof(m_dbHeader.signature)); + m_dbHeader.version = DB_THIS_VERSION; + m_dbHeader.ofsFileEnd = sizeof(struct DBHeader); + m_dbHeader.slackSpace = 0; + m_dbHeader.contactCount = 0; + m_dbHeader.ofsFirstContact = 0; + m_dbHeader.ofsFirstModuleName = 0; + m_dbHeader.ofsUser = 0; //create user - dbHeader.ofsUser = dbHeader.ofsFileEnd; - dbHeader.ofsFileEnd += sizeof(DBContact); - SetFilePointer(hFile,0,NULL,FILE_BEGIN); - WriteFile(hFile,&dbHeader,sizeof(dbHeader),&bytesWritten,NULL); + m_dbHeader.ofsUser = m_dbHeader.ofsFileEnd; + m_dbHeader.ofsFileEnd += sizeof(DBContact); + SetFilePointer(m_hDbFile,0,NULL,FILE_BEGIN); + WriteFile(m_hDbFile,&m_dbHeader,sizeof(m_dbHeader),&bytesWritten,NULL); user.signature = DBCONTACT_SIGNATURE; user.ofsNext = 0; user.ofsFirstSettings = 0; user.eventCount = 0; user.ofsFirstEvent = user.ofsLastEvent = 0; - SetFilePointer(hFile,dbHeader.ofsUser,NULL,FILE_BEGIN); - WriteFile(hFile,&user,sizeof(DBContact),&bytesWritten,NULL); - FlushFileBuffers(hFile); + SetFilePointer(m_hDbFile,m_dbHeader.ofsUser,NULL,FILE_BEGIN); + WriteFile(m_hDbFile,&user,sizeof(DBContact),&bytesWritten,NULL); + FlushFileBuffers(m_hDbFile); return 0; } -int CheckDbHeaders(struct DBHeader * hdr) -{ - if (memcmp(hdr->signature,&dbSignature,sizeof(hdr->signature))) return 1; - if (hdr->version!=DB_THIS_VERSION) return 2; - if (hdr->ofsUser == 0) return 3; - return 0; -} - -int InitialiseDbHeaders(void) +int CDdxMmap::CheckDbHeaders() { + if (memcmp(m_dbHeader.signature, &dbSignature, sizeof(m_dbHeader.signature))) return 1; + if (m_dbHeader.version != DB_THIS_VERSION) return 2; + if (m_dbHeader.ofsUser == 0) return 3; return 0; } -- cgit v1.2.3