From fe95e19dc7743834b53c82afcf04c233e40db8db Mon Sep 17 00:00:00 2001 From: Alexey Kulakov Date: Wed, 21 Nov 2012 19:42:22 +0000 Subject: xstatus api fixes mradio frame button fix api updates git-svn-id: http://svn.miranda-ng.org/main/trunk@2420 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- include/delphi/m_db_int.inc | 123 +++++++++++++++++++++++++++++++------------- 1 file changed, 88 insertions(+), 35 deletions(-) (limited to 'include/delphi/m_db_int.inc') diff --git a/include/delphi/m_db_int.inc b/include/delphi/m_db_int.inc index f00489ac5d..6849d5e358 100644 --- a/include/delphi/m_db_int.inc +++ b/include/delphi/m_db_int.inc @@ -26,43 +26,79 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. /////////////////////////////////////////////////////////////////////////////// // basic database interface +type + TDBCachedGlobalValue = record + name : pAnsiChar; + value:TDBVARIANT; + end; +type + PDBCachedContactValue = ^TDBCachedContactValue; + TDBCachedContactValue = record + name:pAnsiChar; + value:TDBVARIANT; + next: PDBCachedContactValue; + end; + + PDBCachedContact = ^TDBCachedContact; + TDBCachedContact = record + hContact:THANDLE; + hNext :THANDLE; + szProto :PAnsiChar; + first :PDBCachedContactValue; + last :PDBCachedContactValue; + end; + + PMIDatabaseCache = ^MIDatabaseCache; + MIDatabaseCache = interface + function AddContactToCache(hContact:THANDLE):PDBCachedContact; stdcall; + function GetCachedContact(hContact:THANDLE):PDBCachedContact; stdcall; + procedure FreeCachedContact(hContact:THANDLE); stdcall; + + function InsertCachedSetting(szName:pAnsiChar; param:int):pAnsiChar; stdcall; + function GetCachedSetting(szModuleName:pAnsiChar; szSettingName:pAnsiChar; param1:int; param2:int):pAnsiChar; stdcall; + procedure SetCachedVariant(s:PDBVARIANT; d:PDBVARIANT); stdcall; + function GetCachedValuePtr(hContact:THANDLE; szSetting:pAnsiChar; bAllocate:int):PDBVARIANT; stdcall; + end; + type PMIDatabase = ^TMIDatabase; - TMIDatabase = interface - procedure SetCacheSafetyMode(val:bool); stdcall; - - function GetContactCount():long; stdcall; - function FindFirstContact(const szProto:PAnsiChar = NIL):THANDLE; stdcall; - function FindNextContact(hContact:THANDLE; const szProto:PAnsiChar = NIL):THANDLE; stdcall; - - function DeleteContact(hContact:THANDLE):long; stdcall; - function AddContact():THANDLE; stdcall; - function IsDbContact(hContact:THANDLE):bool; stdcall; - - function GetEventCount(hContact:THANDLE):long; stdcall; - function AddEvent(hContact:THANDLE; dbe:PDBEVENTINFO):THANDLE; stdcall; - function DeleteEvent(hContact:THANDLE; hDbEvent:THANDLE):bool; stdcall; - function GetBlobSize(hDbEvent:THANDLE):long; stdcall; - function GetEvent(hDbEvent:THANDLE; dbe:PDBEVENTINFO):bool; stdcall; - function MarkEventRead(hContact:THANDLE; hDbEvent:THANDLE):bool; stdcall; - function GetEventContact(hDbEvent:THANDLE):THANDLE; stdcall; - function FindFirstEvent(hContact:THANDLE):THANDLE; stdcall; - function FindFirstUnreadEvent(hContact:THANDLE):THANDLE; stdcall; - function FindLastEvent(hContact:THANDLE):THANDLE; stdcall; - function FindNextEvent(hDbEvent:THANDLE):THANDLE; stdcall; - function FindPrevEvent(hDbEvent:THANDLE):THANDLE; stdcall; - - function EnumModuleNames(pFunc:TDBMODULEENUMPROC; pParam:pointer):bool; stdcall; - - function GetContactSetting (hContact:THANDLE; dbcgs:PDBCONTACTGETSETTING):bool; stdcall; - function GetContactSettingStr (hContact:THANDLE; dbcgs:PDBCONTACTGETSETTING):bool; stdcall; - function GetContactSettingStatic(hContact:THANDLE; dbcgs:PDBCONTACTGETSETTING):bool; stdcall; - function FreeVariant(dbv:PDBVARIANT):bool; stdcall; - function WriteContactSetting (hContact:THANDLE; dbcws:PDBCONTACTWRITESETTING):bool; stdcall; - function DeleteContactSetting(hContact:THANDLE; dbcgs:PDBCONTACTGETSETTING):bool; stdcall; - function EnumContactSettings (hContact:THANDLE; dbces:PDBCONTACTENUMSETTINGS):bool; stdcall; - function SetSettingResident (bIsResident:bool; const pszSettingName:PAnsiChar):bool; stdcall; - function EnumResidentSettings(pFunc:TDBMODULEENUMPROC; pParam:pointer):bool; stdcall; + TMIDatabase = record + m_cache: PMIDatabaseCache; + + SetCacheSafetyMode:procedure(val:bool); stdcall; + + GetContactCount:function():long; stdcall; + FindFirstContact:function(const szProto:PAnsiChar = NIL):THANDLE; stdcall; + FindNextContact:function(hContact:THANDLE; const szProto:PAnsiChar = NIL):THANDLE; stdcall; + + DeleteContact:function(hContact:THANDLE):long; stdcall; + AddContact:function():THANDLE; stdcall; + IsDbContact:function(hContact:THANDLE):bool; stdcall; + + GetEventCount:function(hContact:THANDLE):long; stdcall; + AddEvent:function(hContact:THANDLE; dbe:PDBEVENTINFO):THANDLE; stdcall; + DeleteEvent:function(hContact:THANDLE; hDbEvent:THANDLE):bool; stdcall; + GetBlobSize:function(hDbEvent:THANDLE):long; stdcall; + GetEvent:function(hDbEvent:THANDLE; dbe:PDBEVENTINFO):bool; stdcall; + MarkEventRead:function(hContact:THANDLE; hDbEvent:THANDLE):bool; stdcall; + GetEventContact:function(hDbEvent:THANDLE):THANDLE; stdcall; + FindFirstEvent:function(hContact:THANDLE):THANDLE; stdcall; + FindFirstUnreadEvent:function(hContact:THANDLE):THANDLE; stdcall; + FindLastEvent:function(hContact:THANDLE):THANDLE; stdcall; + FindNextEvent:function(hDbEvent:THANDLE):THANDLE; stdcall; + FindPrevEvent:function(hDbEvent:THANDLE):THANDLE; stdcall; + + EnumModuleNames:function(pFunc:TDBMODULEENUMPROC; pParam:pointer):bool; stdcall; + + GetContactSetting :function(hContact:THANDLE; dbcgs:PDBCONTACTGETSETTING):bool; stdcall; + GetContactSettingStr :function(hContact:THANDLE; dbcgs:PDBCONTACTGETSETTING):bool; stdcall; + GetContactSettingStatic:function(hContact:THANDLE; dbcgs:PDBCONTACTGETSETTING):bool; stdcall; + FreeVariant:function(dbv:PDBVARIANT):bool; stdcall; + WriteContactSetting :function(hContact:THANDLE; dbcws:PDBCONTACTWRITESETTING):bool; stdcall; + DeleteContactSetting:function(hContact:THANDLE; dbcgs:PDBCONTACTGETSETTING):bool; stdcall; + EnumContactSettings :function(hContact:THANDLE; dbces:PDBCONTACTENUMSETTINGS):bool; stdcall; + SetSettingResident :function(bIsResident:bool; const pszSettingName:PAnsiChar):bool; stdcall; + EnumResidentSettings:function(pFunc:TDBMODULEENUMPROC; pParam:pointer):bool; stdcall; end; /////////////////////////////////////////////////////////////////////////////// @@ -187,4 +223,21 @@ const } MS_DB_GET_CURRENT:PAnsiChar = 'DB/GetCurrentDb'; +{ + MS_DB_INIT_INSTANCE : initializes a database instance + wParam : 0 (unused) + lParam : MIDatabase* = pointer to a database instance + returns 0 +} + MS_DB_INIT_INSTANCE:pAnsiChar = 'DB/InitDbInstance'; + + +{ + MS_DB_DESTROY_INSTANCE : destroys a database instance + wParam : 0 (unused) + lParam : MIDatabase* = pointer to a database instance + returns 0 +} + MS_DB_DESTROY_INSTANCE:pAnsiChar = 'DB/DestroyDbInstance'; + {$ENDIF} -- cgit v1.2.3