www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.dwt - XPCOM how to port?

reply Frank Benoit <keinfarbton googlemail.com> writes:
In DWT-Linux the browser component is originally implemented using XPCOM.

XPCOM is C++ and Java uses a C++ wrapper lib to make it have JNI C 
functions.

Is there a way to port this, without the need to make a wrapper lib in 
D1.x?
Mar 04 2008
next sibling parent reply John Reimer <terminal.node gmail.com> writes:
Frank Benoit wrote:

 In DWT-Linux the browser component is originally implemented using XPCOM.
 
 XPCOM is C++ and Java uses a C++ wrapper lib to make it have JNI C
 functions.
 
 Is there a way to port this, without the need to make a wrapper lib in
 D1.x?

Port the C++ to D? :-(
Mar 04 2008
parent Frank Benoit <keinfarbton googlemail.com> writes:
John Reimer schrieb:
 Frank Benoit wrote:
 
 In DWT-Linux the browser component is originally implemented using XPCOM.

 XPCOM is C++ and Java uses a C++ wrapper lib to make it have JNI C
 functions.

 Is there a way to port this, without the need to make a wrapper lib in
 D1.x?

Port the C++ to D? :-(

On Windows we can use interfaces to comunicate with COM. XPCOM is a short for cross plattform COM. Unfortunately i don't know the COM stuff very well. What are the requirements that interfaces can be used?
Mar 04 2008
prev sibling parent reply KlausO <oberhofer users.sf.net> writes:
Frank Benoit schrieb:
 In DWT-Linux the browser component is originally implemented using XPCOM.
 
 XPCOM is C++ and Java uses a C++ wrapper lib to make it have JNI C 
 functions.
 
 Is there a way to port this, without the need to make a wrapper lib in 
 D1.x?

XPCOM and COM are almost the same. The base interface IUnknown in COM has the same interface as the base interface called nsISupports in XPCOM. Even the GUID (00000000-0000-0000-C000-000000000046) is the same. see: http://developer.mozilla.org/en/docs/nsISupports "On Win32 systems, nsISupports is ABI-compatible with Microsoft COM's IUnknown interface." So you should be able to use D's COM support for interfacing.
Mar 05 2008
parent Frank Benoit <keinfarbton googlemail.com> writes:
KlausO schrieb:
 XPCOM and COM are almost the same. The base interface IUnknown in COM 
 has the same interface as the base interface called nsISupports in 
 XPCOM. Even the GUID (00000000-0000-0000-C000-000000000046) is the same.
 
 see:
 http://developer.mozilla.org/en/docs/nsISupports
 
 "On Win32 systems, nsISupports is ABI-compatible with Microsoft COM's 
 IUnknown interface."
 
 So you should be able to use D's COM support for interfacing.

Thats really good news, i will try that.
Mar 06 2008