29#include <com/sun/star/bridge/XBridge.hpp>
30#include <com/sun/star/lang/XComponent.hpp>
31#include <com/sun/star/uno/Reference.hxx>
33#include <osl/conditn.hxx>
34#include <osl/mutex.hxx>
36#include <rtl/ustring.hxx>
38#include <uno/environment.hxx>
39#include <uno/mapping.hxx>
40#include <uno/threadpool.h>
53 namespace bridge {
class XInstanceProvider; }
54 namespace connection {
class XConnection; }
55 namespace lang {
class XEventListener; }
58 class TypeDescription;
59 class UnoInterfaceReference;
63namespace rtl {
class ByteSequence; }
68 public cppu::WeakImplHelper<
69 com::sun::star::bridge::XBridge, com::sun::star::lang::XComponent >
76 com::sun::star::connection::XConnection >
const & connection,
78 com::sun::star::bridge::XInstanceProvider > provider);
104 OUString
const & oid,
105 com::sun::star::uno::TypeDescription
const & type);
108 com::sun::star::uno::UnoInterfaceReference
const &
object,
109 com::sun::star::uno::TypeDescription
const & type);
111 com::sun::star::uno::UnoInterfaceReference
findStub(
112 OUString
const & oid,
113 com::sun::star::uno::TypeDescription
const & type);
116 OUString
const & oid,
117 com::sun::star::uno::TypeDescription
const & type);
134 OUString const & oid,
135 com::sun::star::
uno::TypeDescription const & member,
bool setter,
144 bool exception,
BinaryAny const & returnValue);
151 rtl::ByteSequence const & tid,
156 rtl::ByteSequence const & tid,
162 std::u16string_view oid,
163 com::sun::star::
uno::TypeDescription const & type) const;
173 virtual ~
Bridge() override;
176 SAL_CALL
getInstance(OUString const & sInstanceName) override;
178 virtual OUString SAL_CALL
getName() override;
182 virtual
void SAL_CALL
dispose() override;
185 com::sun::star::
uno::Reference<
com::sun::star::lang::XEventListener >
186 const & xListener) override;
189 com::sun::star::
uno::Reference<
com::sun::star::lang::XEventListener >
190 const & aListener) override;
201 OUString const & oid,
202 com::sun::star::
uno::TypeDescription const & type);
205 rtl::ByteSequence const & tid, OUString const & oid,
206 com::sun::star::
uno::TypeDescription const & type,
207 com::sun::star::
uno::TypeDescription const & member,
223 com::sun::star::
uno::Reference<
224 com::sun::star::lang::XEventListener > >
com::sun::star::uno::Mapping binaryToCppMapping_
void sendRequest(rtl::ByteSequence const &tid, OUString const &oid, com::sun::star::uno::TypeDescription const &type, com::sun::star::uno::TypeDescription const &member, std::vector< BinaryAny > &&inArguments)
void incrementActiveCalls() noexcept
void sendCommitChangeRequest()
virtual void SAL_CALL removeEventListener(com::sun::star::uno::Reference< com::sun::star::lang::XEventListener > const &aListener) override
osl::Condition terminated_
void handleRequestChangeRequest(rtl::ByteSequence const &tid, std::vector< BinaryAny > const &inArguments)
rtl::Reference< Writer > writer_
const com::sun::star::uno::Reference< com::sun::star::connection::XConnection > & getConnection() const
std::vector< com::sun::star::uno::Reference< com::sun::star::lang::XEventListener > > Listeners
void throwException(bool exception, BinaryAny const &value)
uno_ThreadPool getThreadPool()
rtl::ByteSequence protPropTid_
com::sun::star::uno::Any mapBinaryToCppAny(BinaryAny const &binaryAny)
void decrementActiveCalls() noexcept
void sendProtPropRequest(OutgoingRequest::Kind kind, std::vector< BinaryAny > const &inArguments)
void sendRequestChangeRequest()
com::sun::star::uno::Mapping cppToBinaryMapping_
com::sun::star::uno::TypeDescription protPropType_
virtual OUString SAL_CALL getDescription() override
void terminate(bool final)
uno_ThreadPool threadPool_
com::sun::star::uno::UnoInterfaceReference registerIncomingInterface(OUString const &oid, com::sun::star::uno::TypeDescription const &type)
void resurrectProxy(Proxy &proxy)
virtual com::sun::star::uno::Reference< com::sun::star::uno::XInterface > SAL_CALL getInstance(OUString const &sInstanceName) override
com::sun::star::uno::UnoInterfaceReference findStub(OUString const &oid, com::sun::star::uno::TypeDescription const &type)
std::map< com::sun::star::uno::TypeDescription, SubStub > Stub
std::map< OUString, Stub > Stubs
void terminateWhenUnused(bool unused)
rtl::Reference< Reader > reader_
void freeProxy(Proxy &proxy)
void handleRequestChangeReply(bool exception, BinaryAny const &returnValue)
virtual void SAL_CALL dispose() override
Bridge(rtl::Reference< BridgeFactory > const &factory, OUString name, com::sun::star::uno::Reference< com::sun::star::connection::XConnection > const &connection, com::sun::star::uno::Reference< com::sun::star::bridge::XInstanceProvider > provider)
com::sun::star::uno::Mapping & getCppToBinaryMapping()
com::sun::star::uno::Reference< com::sun::star::bridge::XInstanceProvider > provider_
com::sun::star::uno::TypeDescription protPropCommit_
void setCurrentContextMode()
BinaryAny mapCppToBinaryAny(com::sun::star::uno::Any const &cppAny)
virtual void SAL_CALL addEventListener(com::sun::star::uno::Reference< com::sun::star::lang::XEventListener > const &xListener) override
bool makeCall(OUString const &oid, com::sun::star::uno::TypeDescription const &member, bool setter, std::vector< BinaryAny > &&inArguments, BinaryAny *returnValue, std::vector< BinaryAny > *outArguments)
OutgoingRequest lastOutgoingRequest(rtl::ByteSequence const &tid)
com::sun::star::uno::TypeDescription protPropRequest_
void incrementCalls(bool normalCall) noexcept
com::sun::star::uno::Reference< com::sun::star::connection::XConnection > connection_
const com::sun::star::uno::Reference< com::sun::star::bridge::XInstanceProvider > & getProvider() const
void handleCommitChangeRequest(rtl::ByteSequence const &tid, std::vector< BinaryAny > const &inArguments)
void handleCommitChangeReply(bool exception, BinaryAny const &returnValue)
void releaseStub(OUString const &oid, com::sun::star::uno::TypeDescription const &type)
com::sun::star::uno::Environment binaryUno_
bool becameUnused() const
rtl::Reference< BridgeFactory > factory_
bool isCurrentContextMode()
bool isProtocolPropertiesRequest(std::u16string_view oid, com::sun::star::uno::TypeDescription const &type) const
OUString registerOutgoingInterface(com::sun::star::uno::UnoInterfaceReference const &object, com::sun::star::uno::TypeDescription const &type)
OutgoingRequests outgoingRequests_
virtual OUString SAL_CALL getName() override
void makeReleaseCall(OUString const &oid, com::sun::star::uno::TypeDescription const &type)
void revokeProxy(Proxy &proxy)
rtl::Reference< Writer > getWriter()