|
LibreOffice Module binaryurp (master) 1
|
#include <writer.hxx>
Classes | |
| struct | Item |
Public Member Functions | |
| Writer (rtl::Reference< Bridge > const &bridge) | |
| void | sendDirectRequest (rtl::ByteSequence const &tid, OUString const &oid, com::sun::star::uno::TypeDescription const &type, com::sun::star::uno::TypeDescription const &member, std::vector< BinaryAny > const &inArguments) |
| void | sendDirectReply (rtl::ByteSequence const &tid, com::sun::star::uno::TypeDescription const &member, bool exception, BinaryAny const &returnValue, std::vector< BinaryAny > const &outArguments) |
| void | queueRequest (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 | queueReply (rtl::ByteSequence const &tid, com::sun::star::uno::TypeDescription const &member, bool setter, bool exception, BinaryAny const &returnValue, std::vector< BinaryAny > &&outArguments, bool setCurrentContextMode) |
| void | unblock () |
| void | stop () |
Public Member Functions inherited from salhelper::Thread | |
| Thread (char const *name) | |
| void | launch () |
Public Member Functions inherited from salhelper::SimpleReferenceObject | |
| SimpleReferenceObject () | |
| void | acquire () |
| void | release () |
Private Member Functions | |
| virtual | ~Writer () override |
| virtual void | execute () override |
| 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 > const &inArguments, bool currentContextMode, com::sun::star::uno::UnoInterfaceReference const ¤tContext) |
| void | sendReply (rtl::ByteSequence const &tid, com::sun::star::uno::TypeDescription const &member, bool setter, bool exception, BinaryAny const &returnValue, std::vector< BinaryAny > const &outArguments) |
| void | sendMessage (std::vector< unsigned char > const &buffer) |
Private Attributes | |
| rtl::Reference< Bridge > | bridge_ |
| WriterState | state_ |
| Marshal | marshal_ |
| com::sun::star::uno::TypeDescription | lastType_ |
| OUString | lastOid_ |
| rtl::ByteSequence | lastTid_ |
| osl::Condition | unblocked_ |
| osl::Condition | items_ |
| std::mutex | mutex_ |
| std::deque< Item > | queue_ |
| bool | stop_ |
Additional Inherited Members | |
Static Public Member Functions inherited from salhelper::Thread | |
| static void * | operator new (std::size_t size) |
| static void | operator delete (void *pointer) |
Static Public Member Functions inherited from salhelper::SimpleReferenceObject | |
| static void * | operator new (std::size_t nSize) |
| static void * | operator new (std::size_t nSize, std::nothrow_t const &rNothrow) |
| static void | operator delete (void *pPtr) |
| static void | operator delete (void *pPtr, std::nothrow_t const &rNothrow) |
Protected Member Functions inherited from salhelper::Thread | |
| virtual | ~Thread () SAL_OVERRIDE |
| virtual void | execute ()=0 |
Protected Member Functions inherited from salhelper::SimpleReferenceObject | |
| virtual | ~SimpleReferenceObject () COVERITY_NOEXCEPT_FALSE |
Protected Attributes inherited from salhelper::SimpleReferenceObject | |
| oslInterlockedCount | m_nCount |
Definition at line 44 of file writer.hxx.
|
explicit |
Definition at line 76 of file writer.cxx.
|
overrideprivatevirtual |
Definition at line 145 of file writer.cxx.
|
overrideprivatevirtual |
Implements salhelper::Thread.
Definition at line 147 of file writer.cxx.
References binaryurp::Writer::Item::arguments, bridge_, binaryurp::Writer::Item::currentContext, binaryurp::Writer::Item::exception, items_, binaryurp::Writer::Item::member, mutex_, binaryurp::Writer::Item::oid, queue_, binaryurp::Writer::Item::request, binaryurp::Writer::Item::returnValue, SAL_INFO, sendReply(), sendRequest(), binaryurp::Writer::Item::setCurrentContextMode, binaryurp::Writer::Item::setter, stop_, binaryurp::Writer::Item::tid, binaryurp::Writer::Item::type, and unblocked_.
| void Writer::queueReply | ( | rtl::ByteSequence const & | tid, |
| com::sun::star::uno::TypeDescription const & | member, | ||
| bool | setter, | ||
| bool | exception, | ||
| BinaryAny const & | returnValue, | ||
| std::vector< BinaryAny > && | outArguments, | ||
| bool | setCurrentContextMode | ||
| ) |
Definition at line 116 of file writer.cxx.
| void Writer::queueRequest | ( | 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 | ||
| ) |
Definition at line 104 of file writer.cxx.
References binaryurp::current_context::get(), items_, mutex_, queue_, and type.
| void Writer::sendDirectReply | ( | rtl::ByteSequence const & | tid, |
| com::sun::star::uno::TypeDescription const & | member, | ||
| bool | exception, | ||
| BinaryAny const & | returnValue, | ||
| std::vector< BinaryAny > const & | outArguments | ||
| ) |
Definition at line 95 of file writer.cxx.
References sendReply(), and unblocked_.
| void Writer::sendDirectRequest | ( | rtl::ByteSequence const & | tid, |
| OUString const & | oid, | ||
| com::sun::star::uno::TypeDescription const & | type, | ||
| com::sun::star::uno::TypeDescription const & | member, | ||
| std::vector< BinaryAny > const & | inArguments | ||
| ) |
Definition at line 83 of file writer.cxx.
References sendRequest(), type, and unblocked_.
|
private |
Definition at line 410 of file writer.cxx.
References bridge_, cppu::getCaughtException(), header, n, p, SAL_MAX_INT32, SAL_MAX_UINT32, and binaryurp::Marshal::write32().
Referenced by sendReply(), and sendRequest().
|
private |
Definition at line 343 of file writer.cxx.
References bridge_, i, lastTid_, marshal_, sendMessage(), binaryurp::Marshal::write8(), binaryurp::Marshal::writeTid(), and binaryurp::Marshal::writeValue().
Referenced by execute(), and sendDirectReply().
|
private |
Definition at line 192 of file writer.cxx.
References binaryurp::current_context::get(), i, lastOid_, lastTid_, lastType_, marshal_, SAL_MAX_UINT16, sendMessage(), binaryurp::SPECIAL_FUNCTION_ID_RELEASE, t, type, binaryurp::Marshal::write16(), binaryurp::Marshal::write8(), binaryurp::Marshal::writeOid(), binaryurp::Marshal::writeTid(), binaryurp::Marshal::writeType(), and binaryurp::Marshal::writeValue().
Referenced by execute(), and sendDirectRequest().
| void Writer::stop | ( | ) |
Definition at line 136 of file writer.cxx.
References items_, mutex_, stop_, and unblocked_.
| void Writer::unblock | ( | ) |
Definition at line 129 of file writer.cxx.
References unblocked_.
|
private |
Definition at line 134 of file writer.hxx.
Referenced by execute(), sendMessage(), and sendReply().
|
private |
Definition at line 141 of file writer.hxx.
Referenced by execute(), queueReply(), queueRequest(), and stop().
|
private |
Definition at line 138 of file writer.hxx.
Referenced by sendRequest().
|
private |
Definition at line 139 of file writer.hxx.
Referenced by sendReply(), and sendRequest().
|
private |
Definition at line 137 of file writer.hxx.
Referenced by sendRequest().
|
private |
Definition at line 136 of file writer.hxx.
Referenced by sendReply(), and sendRequest().
|
private |
Definition at line 143 of file writer.hxx.
Referenced by execute(), queueReply(), queueRequest(), and stop().
|
private |
Definition at line 144 of file writer.hxx.
Referenced by execute(), queueReply(), and queueRequest().
|
private |
Definition at line 135 of file writer.hxx.
|
private |
Definition at line 145 of file writer.hxx.
|
private |
Definition at line 140 of file writer.hxx.
Referenced by execute(), sendDirectReply(), sendDirectRequest(), stop(), and unblock().