LibreOffice Module cli_ure (master) 1
Public Member Functions | Static Public Member Functions | Public Attributes | Protected Member Functions | Private Member Functions | Static Private Member Functions | Static Private Attributes | List of all members
cli_uno::UnoInterfaceProxy Class Reference

#include <cli_proxy.h>

Inheritance diagram for cli_uno::UnoInterfaceProxy:
[legend]
Collaboration diagram for cli_uno::UnoInterfaceProxy:
[legend]

Public Member Functions

UnoInterfaceInfo findInfo (::System::Type ^ type)
 
virtual srrm::IMessage Invoke (srrm::IMessage^ msg) override
 RealProxy::Invoke. More...
 
void addUnoInterface (uno_Interface *pUnoI, typelib_InterfaceTypeDescription *pTd)
 Must be called from within a synchronized section. More...
 
 ~UnoInterfaceProxy ()
 
 !UnoInterfaceProxy ()
 
System::String getOid ()
 
virtual bool CanCastTo (System::Type^ fromType, System::Object^ o)
 
void set (System::String^ name)
 

Static Public Member Functions

static System::Object create (Bridge *bridge, uno_Interface *pUnoI, typelib_InterfaceTypeDescription *pTd, const OUString &oid)
 Creates a proxy and registers it on the dot NET side. More...
 

Public Attributes

System::String m_sTypeName
 used for IRemotingTypeInfo.TypeName More...
 
sc::ArrayList m_listIfaces
 The list is filled with UnoInterfaceInfo objects. More...
 
int m_numUnoIfaces
 The number of UNO interfaces this proxy represents. More...
 
sc::ArrayList m_listAdditionalProxies
 The list is filled with additional UnoInterfaceProxy object due to aggregation via bridges. More...
 
int m_nlistAdditionalProxies
 
Bridge const * m_bridge
 
System::String m_oid
 
rtl_uString * _sInterfaces
 The string contains all names of UNO interfaces which are represented by this proxy. More...
 
int _numInterfaces
 
virtual property System::String TypeName
 

Protected Member Functions

srrm::IMessage invokeObject (sc::IDictionary^ properties, srrm::LogicalCallContext^ context, srrm::IMethodCallMessage^ mcm)
 

Private Member Functions

 UnoInterfaceProxy (Bridge *bridge, uno_Interface *pUnoI, typelib_InterfaceTypeDescription *pTD, const OUString &oid)
 

Static Private Member Functions

static srrm::IMessage constructReturnMessage (System::Object^ retVal, array< System::Object^>^ outArgs, typelib_InterfaceMethodTypeDescription *mtd, srrm::IMessage^ msg, System::Object^ exc)
 If the argument args is NULL then this function is called for an attribute method (either setXXX or getXXX). More...
 

Static Private Attributes

static System::String m_methodNameString
 
static System::String m_typeNameString = gcnew System::String("__TypeName")
 
static System::String m_ArgsString = gcnew System::String("__Args")
 
static System::String m_CallContextString
 
static System::String m_system_Object_String
 
static System::String m_methodSignatureString
 
static System::String m_Equals_String = gcnew System::String("Equals")
 
static System::String m_GetHashCode_String
 
static System::String m_GetType_String = gcnew System::String("GetType")
 
static System::String m_ToString_String = gcnew System::String("ToString")
 

Detailed Description

Definition at line 56 of file cli_proxy.h.

Constructor & Destructor Documentation

◆ ~UnoInterfaceProxy()

cli_uno::UnoInterfaceProxy::~UnoInterfaceProxy ( )

Definition at line 129 of file cli_proxy.cxx.

References UnoInterfaceProxy().

◆ !UnoInterfaceProxy()

cli_uno::UnoInterfaceProxy::!UnoInterfaceProxy ( )

◆ UnoInterfaceProxy()

cli_uno::UnoInterfaceProxy::UnoInterfaceProxy ( Bridge bridge,
uno_Interface *  pUnoI,
typelib_InterfaceTypeDescription *  pTD,
const OUString &  oid 
)
private

Member Function Documentation

◆ addUnoInterface()

void cli_uno::UnoInterfaceProxy::addUnoInterface ( uno_Interface *  pUnoI,
typelib_InterfaceTypeDescription *  pTd 
)

Must be called from within a synchronized section.

Add only the interface if it is not already contained. This method is called from the constructor and as a result of IRemotingTypeInfo::CanCastTo

Definition at line 164 of file cli_proxy.cxx.

References _numInterfaces, _sInterfaces, m_bridge, m_listIfaces, m_numUnoIfaces, m_oid, m_type, cli_uno::UnoInterfaceInfo::m_typeDesc, cli_uno::Bridge::m_uno_env, cli_uno::mapCliString(), and typelib_typedescription_equals().

Referenced by UnoInterfaceProxy().

◆ CanCastTo()

bool cli_uno::UnoInterfaceProxy::CanCastTo ( System::Type^  fromType,
System::Object^  o 
)
virtual

◆ constructReturnMessage()

srrm::IMessage cli_uno::UnoInterfaceProxy::constructReturnMessage ( System::Object^  cliReturn,
array< System::Object^>^  args,
typelib_InterfaceMethodTypeDescription *  mtd,
srrm::IMessage^  msg,
System::Object^  exc 
)
staticprivate

If the argument args is NULL then this function is called for an attribute method (either setXXX or getXXX).

For attributes the argument mtd is also NULL.

Definition at line 586 of file cli_proxy.cxx.

References args, i, m_CallContextString, and props.

Referenced by Invoke().

◆ create()

System::Object cli_uno::UnoInterfaceProxy::create ( Bridge bridge,
uno_Interface *  pUnoI,
typelib_InterfaceTypeDescription *  pTd,
const OUString &  oid 
)
static

Creates a proxy and registers it on the dot NET side.

Definition at line 150 of file cli_proxy.cxx.

References cli_uno::CliEnvHolder::g_cli_env, cli_uno::mapUnoString(), cli_uno::Cli_environment::registerInterface(), and UnoInterfaceProxy().

Referenced by cli_uno::Bridge::map_uno2cli().

◆ findInfo()

UnoInterfaceInfo cli_uno::UnoInterfaceProxy::findInfo ( ::System::Type ^  type)

◆ getOid()

System::String cli_uno::UnoInterfaceProxy::getOid ( )
inline

Definition at line 117 of file cli_proxy.h.

References m_oid.

Referenced by cli_uno::Cli_environment::getObjectIdentifier(), and invokeObject().

◆ Invoke()

srrm::IMessage cli_uno::UnoInterfaceProxy::Invoke ( srrm::IMessage^  msg)
overridevirtual

◆ invokeObject()

srrm::IMessage cli_uno::UnoInterfaceProxy::invokeObject ( sc::IDictionary^  properties,
srrm::LogicalCallContext^  context,
srrm::IMethodCallMessage^  mcm 
)
protected

◆ set()

void cli_uno::UnoInterfaceProxy::set ( System::String^  name)
inline

Definition at line 129 of file cli_proxy.h.

References m_sTypeName, and name.

Member Data Documentation

◆ _numInterfaces

int cli_uno::UnoInterfaceProxy::_numInterfaces

Definition at line 92 of file cli_proxy.h.

Referenced by addUnoInterface(), and UnoInterfaceProxy().

◆ _sInterfaces

rtl_uString* cli_uno::UnoInterfaceProxy::_sInterfaces

The string contains all names of UNO interfaces which are represented by this proxy.

It is used to print out the interfaces when this proxy dies. In the destructor it is not allowed to access m_listIfaces or any other managed object.

Definition at line 89 of file cli_proxy.h.

Referenced by addUnoInterface(), and UnoInterfaceProxy().

◆ m_ArgsString

System::String cli_uno::UnoInterfaceProxy::m_ArgsString = gcnew System::String("__Args")
staticprivate

Definition at line 151 of file cli_proxy.h.

Referenced by Invoke(), and invokeObject().

◆ m_bridge

Bridge const* cli_uno::UnoInterfaceProxy::m_bridge

Definition at line 80 of file cli_proxy.h.

Referenced by addUnoInterface(), CanCastTo(), Invoke(), and UnoInterfaceProxy().

◆ m_CallContextString

System::String cli_uno::UnoInterfaceProxy::m_CallContextString
staticprivate
Initial value:
=
gcnew System::String("__CallContext")

Definition at line 152 of file cli_proxy.h.

Referenced by constructReturnMessage(), and Invoke().

◆ m_Equals_String

System::String cli_uno::UnoInterfaceProxy::m_Equals_String = gcnew System::String("Equals")
staticprivate

Definition at line 158 of file cli_proxy.h.

Referenced by invokeObject().

◆ m_GetHashCode_String

System::String cli_uno::UnoInterfaceProxy::m_GetHashCode_String
staticprivate
Initial value:
=
gcnew System::String("GetHashCode")

Definition at line 159 of file cli_proxy.h.

Referenced by invokeObject().

◆ m_GetType_String

System::String cli_uno::UnoInterfaceProxy::m_GetType_String = gcnew System::String("GetType")
staticprivate

Definition at line 161 of file cli_proxy.h.

Referenced by invokeObject().

◆ m_listAdditionalProxies

sc::ArrayList cli_uno::UnoInterfaceProxy::m_listAdditionalProxies

The list is filled with additional UnoInterfaceProxy object due to aggregation via bridges.

Though the latter is strongly discouraged, this has to be supported.

Definition at line 75 of file cli_proxy.h.

Referenced by CanCastTo(), findInfo(), and UnoInterfaceProxy().

◆ m_listIfaces

sc::ArrayList cli_uno::UnoInterfaceProxy::m_listIfaces

The list is filled with UnoInterfaceInfo objects.

The list can only grow and elements are never changed. If an element was added it must not be changed!

Definition at line 66 of file cli_proxy.h.

Referenced by addUnoInterface(), CanCastTo(), findInfo(), and UnoInterfaceProxy().

◆ m_methodNameString

System::String cli_uno::UnoInterfaceProxy::m_methodNameString
staticprivate
Initial value:
=
gcnew System::String("__MethodName")

Definition at line 148 of file cli_proxy.h.

Referenced by Invoke(), and invokeObject().

◆ m_methodSignatureString

System::String cli_uno::UnoInterfaceProxy::m_methodSignatureString
staticprivate
Initial value:
=
gcnew System::String("__MethodSignature")

Definition at line 156 of file cli_proxy.h.

Referenced by Invoke().

◆ m_nlistAdditionalProxies

int cli_uno::UnoInterfaceProxy::m_nlistAdditionalProxies

Definition at line 76 of file cli_proxy.h.

Referenced by CanCastTo(), findInfo(), and UnoInterfaceProxy().

◆ m_numUnoIfaces

int cli_uno::UnoInterfaceProxy::m_numUnoIfaces

The number of UNO interfaces this proxy represents.

It corresponds to the number of elements in m_listIfaces.

Definition at line 70 of file cli_proxy.h.

Referenced by addUnoInterface(), findInfo(), and UnoInterfaceProxy().

◆ m_oid

System::String cli_uno::UnoInterfaceProxy::m_oid

Definition at line 81 of file cli_proxy.h.

Referenced by addUnoInterface(), getOid(), and invokeObject().

◆ m_sTypeName

System::String cli_uno::UnoInterfaceProxy::m_sTypeName

used for IRemotingTypeInfo.TypeName

Definition at line 61 of file cli_proxy.h.

Referenced by set().

◆ m_system_Object_String

System::String cli_uno::UnoInterfaceProxy::m_system_Object_String
staticprivate
Initial value:
=
gcnew System::String("System.Object")

Definition at line 154 of file cli_proxy.h.

Referenced by Invoke().

◆ m_ToString_String

System::String cli_uno::UnoInterfaceProxy::m_ToString_String = gcnew System::String("ToString")
staticprivate

Definition at line 162 of file cli_proxy.h.

Referenced by invokeObject().

◆ m_typeNameString

System::String cli_uno::UnoInterfaceProxy::m_typeNameString = gcnew System::String("__TypeName")
staticprivate

Definition at line 150 of file cli_proxy.h.

Referenced by Invoke().

◆ TypeName

virtual property System::String cli_uno::UnoInterfaceProxy::TypeName
Initial value:
{
System::String^ get()
{
return m_sTypeName;
}
System::String m_sTypeName
used for IRemotingTypeInfo.TypeName
Definition: cli_proxy.h:61
css::uno::Reference< css::linguistic2::XProofreadingIterator > get(css::uno::Reference< css::uno::XComponentContext > const &context)

Definition at line 123 of file cli_proxy.h.


The documentation for this class was generated from the following files: