summaryrefslogtreecommitdiff
path: root/packages/fcl-fpcunit
diff options
context:
space:
mode:
authorjoost <joost@3ad0048d-3df7-0310-abae-a5850022a9f2>2010-09-19 14:04:27 +0000
committerjoost <joost@3ad0048d-3df7-0310-abae-a5850022a9f2>2010-09-19 14:04:27 +0000
commit3c5258ddba0f68f16cb07f09073e2e8fd7e490c3 (patch)
treeb879791ea0bc10d231532a02cbf123ad16db1a65 /packages/fcl-fpcunit
parent2f69018418044f2b4c26d459e46029410f286d27 (diff)
downloadfpc-3c5258ddba0f68f16cb07f09073e2e8fd7e490c3.tar.gz
* Adapted IUnknown so that it can be used for interfaceing with XPCom, also
on non-Windows systems. - Always pass TGUID to QueryInterface by reference (constref) - QueryInterface, _AddRef and _Release use the cdecl calling convention on non-Windows, just as most c-frameworks (like XPCom) git-svn-id: http://svn.freepascal.org/svn/fpc/branches/xpcom@16009 3ad0048d-3df7-0310-abae-a5850022a9f2
Diffstat (limited to 'packages/fcl-fpcunit')
-rw-r--r--packages/fcl-fpcunit/src/testutils.pp12
1 files changed, 6 insertions, 6 deletions
diff --git a/packages/fcl-fpcunit/src/testutils.pp b/packages/fcl-fpcunit/src/testutils.pp
index f331faa5c1..684b11bc0d 100644
--- a/packages/fcl-fpcunit/src/testutils.pp
+++ b/packages/fcl-fpcunit/src/testutils.pp
@@ -26,9 +26,9 @@ type
TNoRefCountObject = class(TObject, IInterface)
protected
{ IInterface }
- function QueryInterface(const IID: TGUID; out Obj): HResult; virtual; stdcall;
- function _AddRef: Integer; stdcall;
- function _Release: Integer; stdcall;
+ function QueryInterface(constref IID: TGUID; out Obj): HResult; virtual; {$IFNDEF WINDOWS}cdecl{$ELSE}stdcall{$ENDIF};
+ function _AddRef: Integer; {$IFNDEF WINDOWS}cdecl{$ELSE}stdcall{$ENDIF};
+ function _Release: Integer; {$IFNDEF WINDOWS}cdecl{$ELSE}stdcall{$ENDIF};
end;
{$M-}
@@ -38,18 +38,18 @@ procedure GetMethodList( AClass: TClass; AList: TStrings ); overload;
implementation
-function TNoRefCountObject.QueryInterface(const IID: TGUID; out Obj): HResult; stdcall;
+function TNoRefCountObject.QueryInterface(constref IID: TGUID; out Obj): HResult; {$IFNDEF WINDOWS}cdecl{$ELSE}stdcall{$ENDIF};
begin
if GetInterface(IID, Obj) then Result := 0
else Result := HRESULT($80004002);
end;
-function TNoRefCountObject._AddRef: Integer;stdcall;
+function TNoRefCountObject._AddRef: Integer;{$IFNDEF WINDOWS}cdecl{$ELSE}stdcall{$ENDIF};
begin
Result := -1;
end;
-function TNoRefCountObject._Release: Integer;stdcall;
+function TNoRefCountObject._Release: Integer;{$IFNDEF WINDOWS}cdecl{$ELSE}stdcall{$ENDIF};
begin
Result := -1;
end;