Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-cw
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-cw
Commits
cfb3b7e8
Commit
cfb3b7e8
authored
Aug 22, 2004
by
Alexandre Julliard
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Output BEGIN/END_INTERFACE for C++ base classes too.
parent
59302aed
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
14 additions
and
1 deletion
+14
-1
unknwn.h
include/unknwn.h
+3
-0
header.c
tools/widl/header.c
+11
-1
No files found.
include/unknwn.h
View file @
cfb3b7e8
...
...
@@ -36,6 +36,8 @@ struct __attribute__((com_interface)) IUnknown
struct
IUnknown
#endif
{
BEGIN_INTERFACE
virtual
HRESULT
STDMETHODCALLTYPE
QueryInterface
(
REFIID
riid
,
void
**
ppvObject
)
=
0
;
...
...
@@ -46,6 +48,7 @@ struct IUnknown
virtual
ULONG
STDMETHODCALLTYPE
Release
(
)
=
0
;
END_INTERFACE
};
#else
typedef
struct
IUnknownVtbl
IUnknownVtbl
;
...
...
tools/widl/header.c
View file @
cfb3b7e8
...
...
@@ -745,7 +745,14 @@ void write_com_interface(type_t *iface)
/* C++ interface */
fprintf
(
header
,
"#if defined(__cplusplus) && !defined(CINTERFACE)
\n
"
);
if
(
iface
->
ref
)
{
fprintf
(
header
,
"struct %s : public %s
\n
"
,
iface
->
name
,
iface
->
ref
->
name
);
fprintf
(
header
,
"{
\n
"
);
indentation
++
;
write_cpp_method_def
(
iface
);
indentation
--
;
fprintf
(
header
,
"};
\n
"
);
}
else
{
fprintf
(
header
,
"#ifdef ICOM_USE_COM_INTERFACE_ATTRIBUTE
\n
"
);
...
...
@@ -753,12 +760,15 @@ void write_com_interface(type_t *iface)
fprintf
(
header
,
"#else
\n
"
);
fprintf
(
header
,
"struct %s
\n
"
,
iface
->
name
);
fprintf
(
header
,
"#endif
\n
"
);
}
fprintf
(
header
,
"{
\n
"
);
fprintf
(
header
,
" BEGIN_INTERFACE
\n
"
);
fprintf
(
header
,
"
\n
"
);
indentation
++
;
write_cpp_method_def
(
iface
);
indentation
--
;
fprintf
(
header
,
" END_INTERFACE
\n
"
);
fprintf
(
header
,
"};
\n
"
);
}
fprintf
(
header
,
"#else
\n
"
);
/* C interface */
fprintf
(
header
,
"typedef struct %sVtbl %sVtbl;
\n
"
,
iface
->
name
,
iface
->
name
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment