STLdoc
STLdocumentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Classes | Namespaces | Macros
event.h File Reference
#include <gcroot.h>

Go to the source code of this file.

Classes

class  msclr::delegate_map::internal::delegate_proxy_factory< CLASS >
 

Namespaces

 msclr
 
 msclr::delegate_map
 
 msclr::delegate_map::internal
 

Macros

#define BEGIN_DELEGATE_MAP(CLASS)
 
#define EVENT_DELEGATE_ENTRY(MEMBER, ARG0, ARG1)
 
#define END_DELEGATE_MAP()   };
 
#define MAKE_DELEGATE(DELEGATE, MEMBER)   gcnew DELEGATE(m_delegate_map_proxy.get_proxy(this),&delegate_proxy_type::MEMBER)
 

Macro Definition Documentation

#define BEGIN_DELEGATE_MAP (   CLASS)
Value:
ref class delegate_proxy_type;\
msclr::delegate_map::internal::delegate_proxy_factory<CLASS> m_delegate_map_proxy;\
\
ref class delegate_proxy_type\
{\
CLASS* m_p_native_target;\
public:\
delegate_proxy_type(CLASS* pNativeTarget) : m_p_native_target(pNativeTarget) {}\
void detach() { m_p_native_target = NULL; }
#define NULL
Definition: vcruntime.h:236
reference_wrapper< _Ty > ref(_Ty &_Val) _NOEXCEPT
Definition: type_traits:1617
_CRT_BEGIN_C_HEADER typedef void(__CRTDECL *unexpected_handler)()
#define END_DELEGATE_MAP ( )    };
#define EVENT_DELEGATE_ENTRY (   MEMBER,
  ARG0,
  ARG1 
)
Value:
void MEMBER(ARG0 arg0,ARG1 arg1)\
{\
if(m_p_native_target == NULL)\
throw gcnew System::ArgumentNullException("Delegate call failed: Native sink was not attached or has already detached from the managed proxy (m_p_native_target == NULL). Hint: see if native sink was destructed or not constructed properly");\
\
m_p_native_target->MEMBER(arg0,arg1);\
}
#define NULL
Definition: vcruntime.h:236
if(__pUnknown!=*__ppTargetUnknown)
Definition: vccorlib.h:399
#define MAKE_DELEGATE (   DELEGATE,
  MEMBER 
)    gcnew DELEGATE(m_delegate_map_proxy.get_proxy(this),&delegate_proxy_type::MEMBER)