LibreOffice Module binaryurp (master) 1
Classes | Public Member Functions | Private Member Functions | Private Attributes | List of all members
binaryurp::Writer Class Reference

#include <writer.hxx>

Inheritance diagram for binaryurp::Writer:
[legend]
Collaboration diagram for binaryurp::Writer:
[legend]

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 &currentContext)
 
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< Bridgebridge_
 
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< Itemqueue_
 
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
 

Detailed Description

Definition at line 44 of file writer.hxx.

Constructor & Destructor Documentation

◆ Writer()

Writer::Writer ( rtl::Reference< Bridge > const &  bridge)
explicit

Definition at line 76 of file writer.cxx.

◆ ~Writer()

Writer::~Writer ( )
overrideprivatevirtual

Definition at line 145 of file writer.cxx.

Member Function Documentation

◆ execute()

void Writer::execute ( )
overrideprivatevirtual

◆ queueReply()

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.

References items_, mutex_, and queue_.

◆ queueRequest()

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.

◆ sendDirectReply()

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_.

◆ sendDirectRequest()

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_.

◆ sendMessage()

void Writer::sendMessage ( std::vector< unsigned char > const &  buffer)
private

◆ sendReply()

void Writer::sendReply ( rtl::ByteSequence const &  tid,
com::sun::star::uno::TypeDescription const &  member,
bool  setter,
bool  exception,
BinaryAny const &  returnValue,
std::vector< BinaryAny > const &  outArguments 
)
private

◆ sendRequest()

void Writer::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 &  currentContext 
)
private

◆ stop()

void Writer::stop ( )

Definition at line 136 of file writer.cxx.

References items_, mutex_, stop_, and unblocked_.

◆ unblock()

void Writer::unblock ( )

Definition at line 129 of file writer.cxx.

References unblocked_.

Member Data Documentation

◆ bridge_

rtl::Reference< Bridge > binaryurp::Writer::bridge_
private

Definition at line 134 of file writer.hxx.

Referenced by execute(), sendMessage(), and sendReply().

◆ items_

osl::Condition binaryurp::Writer::items_
private

Definition at line 141 of file writer.hxx.

Referenced by execute(), queueReply(), queueRequest(), and stop().

◆ lastOid_

OUString binaryurp::Writer::lastOid_
private

Definition at line 138 of file writer.hxx.

Referenced by sendRequest().

◆ lastTid_

rtl::ByteSequence binaryurp::Writer::lastTid_
private

Definition at line 139 of file writer.hxx.

Referenced by sendReply(), and sendRequest().

◆ lastType_

com::sun::star::uno::TypeDescription binaryurp::Writer::lastType_
private

Definition at line 137 of file writer.hxx.

Referenced by sendRequest().

◆ marshal_

Marshal binaryurp::Writer::marshal_
private

Definition at line 136 of file writer.hxx.

Referenced by sendReply(), and sendRequest().

◆ mutex_

std::mutex binaryurp::Writer::mutex_
private

Definition at line 143 of file writer.hxx.

Referenced by execute(), queueReply(), queueRequest(), and stop().

◆ queue_

std::deque< Item > binaryurp::Writer::queue_
private

Definition at line 144 of file writer.hxx.

Referenced by execute(), queueReply(), and queueRequest().

◆ state_

WriterState binaryurp::Writer::state_
private

Definition at line 135 of file writer.hxx.

◆ stop_

bool binaryurp::Writer::stop_
private

Definition at line 145 of file writer.hxx.

Referenced by execute(), and stop().

◆ unblocked_

osl::Condition binaryurp::Writer::unblocked_
private

Definition at line 140 of file writer.hxx.

Referenced by execute(), sendDirectReply(), sendDirectRequest(), stop(), and unblock().


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