I have a c#.NET class having an Event signature which is exposed to COM using an outgoing interface like this::
[ComVisible(true)]
[InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
public interface IHehServerEvents
{
string EmptyEvent(object sender, CustomEventArgs args);
}
In PluginAPI.h>> I have
class PluginAPI: public IHehServerEvents,public FB::JSAPIAuto//implemented the COM outgoing interface
{
//declared EmptyEvent method based upon tlh file
HRESULT __stdcall EmptyEvent(VARIANT sender,IUnknown * args, BSTR * pRetVal);
FB_JSAPI_EVENT(CSharpEvent, 2, (FB::variant,IUnknown *));
}
HRESULT ClassCpluss::EmptyEvent(BSTR message, BSTR * pRetVal)
{....}
My Event helper in Firebreath statement is
FB_JSAPI_EVENT(CSharpEvent, 2, (VARIANT,struct _EventArgs *));
I also saw THIS link. SO boost::vairant is supported right?Then how to cast VARIANT to boost::variant? Any changes expected in the above statement? How to handle the above event in c# by use of VARIANT or struct?any examples would be helpful..