LibreOffice Module vcl (master) 1
Public Member Functions | Static Public Attributes | Private Member Functions | Private Attributes | List of all members
SvpSalInstance Class Reference

#include <svpinst.hxx>

Inheritance diagram for SvpSalInstance:
[legend]
Collaboration diagram for SvpSalInstance:
[legend]

Public Member Functions

 SvpSalInstance (std::unique_ptr< SalYieldMutex > pMutex)
 
virtual ~SvpSalInstance () override
 
void CloseWakeupPipe ()
 
void Wakeup (SvpRequest request=SvpRequest::NONE)
 
void StartTimer (sal_uInt64 nMS)
 
void StopTimer ()
 
void registerFrame (SalFrame *pFrame)
 
void deregisterFrame (SalFrame *pFrame)
 
bool CheckTimeout (bool bExecuteTimers=true)
 
virtual SalFrameCreateChildFrame (SystemParentData *pParent, SalFrameStyleFlags nStyle) override
 
virtual SalFrameCreateFrame (SalFrame *pParent, SalFrameStyleFlags nStyle) override
 
virtual void DestroyFrame (SalFrame *pFrame) override
 
virtual SalObjectCreateObject (SalFrame *pParent, SystemWindowData *pWindowData, bool bShow) override
 
virtual void DestroyObject (SalObject *pObject) override
 
virtual std::unique_ptr< SalVirtualDeviceCreateVirtualDevice (SalGraphics &rGraphics, tools::Long &nDX, tools::Long &nDY, DeviceFormat eFormat, const SystemGraphicsData *pData=nullptr) override
 
virtual SalInfoPrinterCreateInfoPrinter (SalPrinterQueueInfo *pQueueInfo, ImplJobSetup *pSetupData) override
 
virtual void DestroyInfoPrinter (SalInfoPrinter *pPrinter) override
 
virtual std::unique_ptr< SalPrinterCreatePrinter (SalInfoPrinter *pInfoPrinter) override
 
virtual void GetPrinterQueueInfo (ImplPrnQueueList *pList) override
 
virtual void GetPrinterQueueState (SalPrinterQueueInfo *pInfo) override
 
virtual OUString GetDefaultPrinter () override
 
virtual void PostPrintersChanged () override
 
virtual SalTimerCreateSalTimer () override
 
virtual SalSystemCreateSalSystem () override
 
virtual std::shared_ptr< SalBitmapCreateSalBitmap () override
 
virtual bool DoYield (bool bWait, bool bHandleAllCurrentEvents) override
 Wait for the next event (if bWait) and dispatch it, includes posted events, and timers. More...
 
virtual bool AnyInput (VclInputFlags nType) override
 
virtual bool IsMainThread () const override
 
virtual void updateMainThread () override
 Set the app's (somewhat) magic/main-thread to this one. More...
 
virtual OUString GetConnectionIdentifier () override
 
virtual void AddToRecentDocumentList (const OUString &rFileUrl, const OUString &rMimeType, const OUString &rDocumentService) override
 
virtual std::unique_ptr< GenPspGraphicsCreatePrintGraphics () override
 
virtual const cairo_font_options_tGetCairoFontOptions () override
 
- Public Member Functions inherited from SalGenericInstance
 SalGenericInstance (std::unique_ptr< comphelper::SolarMutex > pMutex)
 
virtual ~SalGenericInstance () override
 
virtual SalInfoPrinterCreateInfoPrinter (SalPrinterQueueInfo *pQueueInfo, ImplJobSetup *pSetupData) override
 
virtual void DestroyInfoPrinter (SalInfoPrinter *pPrinter) override
 
virtual std::unique_ptr< SalPrinterCreatePrinter (SalInfoPrinter *pInfoPrinter) override
 
virtual void GetPrinterQueueInfo (ImplPrnQueueList *pList) override
 
virtual void GetPrinterQueueState (SalPrinterQueueInfo *pInfo) override
 
virtual OUString GetDefaultPrinter () override
 
virtual void PostPrintersChanged ()=0
 
virtual void updatePrinterUpdate () override
 
virtual void jobStartedPrinterUpdate () override
 
virtual void jobEndedPrinterUpdate () override
 
bool isPrinterInit () const
 
virtual std::unique_ptr< GenPspGraphicsCreatePrintGraphics ()=0
 
virtual OUString getOSVersion () override
 get information about underlying versions More...
 
- Public Member Functions inherited from SalInstance
 SalInstance (std::unique_ptr< comphelper::SolarMutex > pMutex)
 
virtual ~SalInstance ()
 
bool supportsBitmap32 () const
 
bool supportsOpenGL () const
 
virtual void AfterAppInit ()
 
virtual bool SVMainHook (int *)
 
virtual SalFrameCreateChildFrame (SystemParentData *pParent, SalFrameStyleFlags nStyle)=0
 
virtual SalFrameCreateFrame (SalFrame *pParent, SalFrameStyleFlags nStyle)=0
 
virtual void DestroyFrame (SalFrame *pFrame)=0
 
virtual SalObjectCreateObject (SalFrame *pParent, SystemWindowData *pWindowData, bool bShow)=0
 
virtual void DestroyObject (SalObject *pObject)=0
 
virtual std::unique_ptr< SalVirtualDeviceCreateVirtualDevice (SalGraphics &rGraphics, tools::Long &rDX, tools::Long &rDY, DeviceFormat eFormat, const SystemGraphicsData *pData=nullptr)=0
 
virtual SalInfoPrinterCreateInfoPrinter (SalPrinterQueueInfo *pQueueInfo, ImplJobSetup *pSetupData)=0
 
virtual void DestroyInfoPrinter (SalInfoPrinter *pPrinter)=0
 
virtual std::unique_ptr< SalPrinterCreatePrinter (SalInfoPrinter *pInfoPrinter)=0
 
virtual void GetPrinterQueueInfo (ImplPrnQueueList *pList)=0
 
virtual void GetPrinterQueueState (SalPrinterQueueInfo *pInfo)=0
 
virtual OUString GetDefaultPrinter ()=0
 
virtual SalTimerCreateSalTimer ()=0
 
virtual SalSystemCreateSalSystem ()=0
 
virtual std::shared_ptr< SalBitmapCreateSalBitmap ()=0
 
comphelper::SolarMutexGetYieldMutex ()
 
sal_uInt32 ReleaseYieldMutexAll ()
 
void AcquireYieldMutex (sal_uInt32 nCount=1)
 
virtual bool IsMainThread () const =0
 
virtual bool DoYield (bool bWait, bool bHandleAllCurrentEvents)=0
 Wait for the next event (if bWait) and dispatch it, includes posted events, and timers. More...
 
virtual bool AnyInput (VclInputFlags nType)=0
 
virtual std::unique_ptr< SalMenuCreateMenu (bool bMenuBar, Menu *pMenu)
 
virtual std::unique_ptr< SalMenuItemCreateMenuItem (const SalItemParams &pItemData)
 
virtual std::unique_ptr< SalSessionCreateSalSession ()
 
virtual OpenGLContextCreateOpenGLContext ()
 
virtual std::unique_ptr< weld::BuilderCreateBuilder (weld::Widget *pParent, const OUString &rUIRoot, const OUString &rUIFile)
 
virtual std::unique_ptr< weld::BuilderCreateInterimBuilder (vcl::Window *pParent, const OUString &rUIRoot, const OUString &rUIFile, bool bAllowCycleFocusOut, sal_uInt64 nLOKWindowId=0)
 
virtual weld::MessageDialogCreateMessageDialog (weld::Widget *pParent, VclMessageType eMessageType, VclButtonsType eButtonType, const OUString &rPrimaryMessage)
 
virtual weld::WindowGetFrameWeld (const css::uno::Reference< css::awt::XWindow > &rWindow)
 
void SetEventCallback (rtl::Reference< vcl::DisplayConnectionDispatch > const &pInstance)
 
bool CallEventCallback (void const *pEvent, int nBytes)
 
virtual OUString GetConnectionIdentifier ()=0
 
virtual css::uno::Reference< css::uno::XInterface > CreateClipboard (const css::uno::Sequence< css::uno::Any > &i_rArguments)
 
virtual css::uno::Reference< css::uno::XInterface > ImplCreateDragSource (const SystemEnvData *)
 
virtual css::uno::Reference< css::uno::XInterface > ImplCreateDropTarget (const SystemEnvData *)
 
css::uno::Reference< css::uno::XInterface > CreateDragSource (const SystemEnvData *=nullptr)
 
css::uno::Reference< css::uno::XInterface > CreateDropTarget (const SystemEnvData *=nullptr)
 
virtual void AddToRecentDocumentList (const OUString &rFileUrl, const OUString &rMimeType, const OUString &rDocumentService)=0
 
virtual bool hasNativeFileSelection () const
 
virtual css::uno::Reference< css::ui::dialogs::XFilePicker2 > createFilePicker (const css::uno::Reference< css::uno::XComponentContext > &)
 
virtual css::uno::Reference< css::ui::dialogs::XFolderPicker2 > createFolderPicker (const css::uno::Reference< css::uno::XComponentContext > &)
 
virtual void updatePrinterUpdate ()
 
virtual void jobStartedPrinterUpdate ()
 
virtual void jobEndedPrinterUpdate ()
 
virtual void updateMainThread ()
 Set the app's (somewhat) magic/main-thread to this one. More...
 
virtual void releaseMainThread ()
 Disconnect that - good for detaching from the JavaVM on Android. More...
 
virtual OUString getOSVersion ()
 get information about underlying versions More...
 
virtual const cairo_font_options_tGetCairoFontOptions ()
 
virtual void * CreateGStreamerSink (const SystemChildWindow *)
 
virtual void BeforeAbort (const OUString &, bool)
 
virtual bool DoExecute (int &nExitCode)
 
virtual void DoQuit ()
 
- Public Member Functions inherited from SalUserEventList
 SalUserEventList ()
 
virtual ~SalUserEventList () COVERITY_NOEXCEPT_FALSE
 
const SalFrameSetgetFrames () const
 
SalFrameanyFrame () const
 
void insertFrame (SalFrame *pFrame)
 
void eraseFrame (SalFrame *pFrame)
 
bool isFrameAlive (const SalFrame *pFrame) const
 
void PostEvent (SalFrame *pFrame, void *pData, SalEvent nEvent)
 
void RemoveEvent (SalFrame *pFrame, void *pData, SalEvent nEvent)
 
bool HasUserEvents () const
 
bool DispatchUserEvents (bool bHandleAllCurrentEvents)
 

Static Public Attributes

static SvpSalInstances_pDefaultInstance
 

Private Member Functions

virtual void TriggerUserEventProcessing () override
 
virtual void ProcessEvent (SalUserEvent aEvent) override
 
bool ImplYield (bool bWait, bool bHandleAllCurrentEvents)
 

Private Attributes

timeval m_aTimeout
 
sal_uLong m_nTimeoutMS
 
oslThreadIdentifier m_MainThread
 

Additional Inherited Members

- Static Public Member Functions inherited from SalGenericInstance
static void RegisterFontSubstitutors (vcl::font::PhysicalFontCollection *pFontCollection)
 
- Static Public Member Functions inherited from SalInstance
static bool IsRunningUnitTest ()
 
- Protected Member Functions inherited from SalUserEventList
virtual void ProcessEvent (SalUserEvent aEvent)=0
 
virtual void TriggerUserEventProcessing ()=0
 
virtual void TriggerAllUserEventsProcessed ()
 
bool HasUserEvents_NoLock () const
 
- Static Protected Member Functions inherited from SalGenericInstance
static void configurePspInfoPrinter (PspSalInfoPrinter *pInfoPrinter, SalPrinterQueueInfo const *pQueueInfo, ImplJobSetup *pSetupData)
 
- Protected Attributes inherited from SalGenericInstance
bool mbPrinterInit
 
- Protected Attributes inherited from SalInstance
bool m_bSupportsBitmap32 = false
 
bool m_bSupportsOpenGL = false
 
- Protected Attributes inherited from SalUserEventList
std::mutex m_aUserEventsMutex
 
std::list< SalUserEventm_aUserEvents
 
std::list< SalUserEventm_aProcessingUserEvents
 
bool m_bAllUserEventProcessedSignaled
 
SalFrameSet m_aFrames
 
oslThreadIdentifier m_aProcessingThread
 

Detailed Description

Definition at line 95 of file svpinst.hxx.

Constructor & Destructor Documentation

◆ SvpSalInstance()

SvpSalInstance::SvpSalInstance ( std::unique_ptr< SalYieldMutex pMutex)

◆ ~SvpSalInstance()

virtual SvpSalInstance::~SvpSalInstance ( )
overridevirtual

Member Function Documentation

◆ AddToRecentDocumentList()

virtual void SvpSalInstance::AddToRecentDocumentList ( const OUString &  rFileUrl,
const OUString &  rMimeType,
const OUString &  rDocumentService 
)
overridevirtual

Implements SalInstance.

Reimplemented in GtkInstance.

◆ AnyInput()

virtual bool SvpSalInstance::AnyInput ( VclInputFlags  nType)
overridevirtual

Implements SalInstance.

Reimplemented in AndroidSalInstance, and GtkInstance.

◆ CheckTimeout()

bool SvpSalInstance::CheckTimeout ( bool  bExecuteTimers = true)

◆ CloseWakeupPipe()

void SvpSalInstance::CloseWakeupPipe ( )

◆ CreateChildFrame()

virtual SalFrame * SvpSalInstance::CreateChildFrame ( SystemParentData pParent,
SalFrameStyleFlags  nStyle 
)
overridevirtual

Implements SalInstance.

Reimplemented in AndroidSalInstance, IosSalInstance, and GtkInstance.

◆ CreateFrame()

virtual SalFrame * SvpSalInstance::CreateFrame ( SalFrame pParent,
SalFrameStyleFlags  nStyle 
)
overridevirtual

Implements SalInstance.

Reimplemented in AndroidSalInstance, IosSalInstance, and GtkInstance.

◆ CreateInfoPrinter()

virtual SalInfoPrinter * SvpSalInstance::CreateInfoPrinter ( SalPrinterQueueInfo pQueueInfo,
ImplJobSetup pSetupData 
)
overridevirtual

Reimplemented from SalGenericInstance.

Reimplemented in GtkInstance.

◆ CreateObject()

virtual SalObject * SvpSalInstance::CreateObject ( SalFrame pParent,
SystemWindowData pWindowData,
bool  bShow 
)
overridevirtual

Implements SalInstance.

Reimplemented in GtkInstance.

◆ CreatePrinter()

virtual std::unique_ptr< SalPrinter > SvpSalInstance::CreatePrinter ( SalInfoPrinter pInfoPrinter)
overridevirtual

Reimplemented from SalGenericInstance.

Reimplemented in GtkInstance.

◆ CreatePrintGraphics()

virtual std::unique_ptr< GenPspGraphics > SvpSalInstance::CreatePrintGraphics ( )
overridevirtual

Implements SalGenericInstance.

Reimplemented in GtkInstance.

◆ CreateSalBitmap()

virtual std::shared_ptr< SalBitmap > SvpSalInstance::CreateSalBitmap ( )
overridevirtual

Implements SalInstance.

Reimplemented in GtkInstance.

◆ CreateSalSystem()

virtual SalSystem * SvpSalInstance::CreateSalSystem ( )
overridevirtual

Implements SalInstance.

Reimplemented in AndroidSalInstance, IosSalInstance, and GtkInstance.

◆ CreateSalTimer()

virtual SalTimer * SvpSalInstance::CreateSalTimer ( )
overridevirtual

Implements SalInstance.

Reimplemented in GtkInstance.

◆ CreateVirtualDevice()

virtual std::unique_ptr< SalVirtualDevice > SvpSalInstance::CreateVirtualDevice ( SalGraphics rGraphics,
tools::Long nDX,
tools::Long nDY,
DeviceFormat  eFormat,
const SystemGraphicsData pData = nullptr 
)
overridevirtual

Implements SalInstance.

Reimplemented in GtkInstance.

◆ deregisterFrame()

void SvpSalInstance::deregisterFrame ( SalFrame pFrame)
inline

Definition at line 183 of file svpinst.hxx.

References SalUserEventList::eraseFrame().

◆ DestroyFrame()

virtual void SvpSalInstance::DestroyFrame ( SalFrame pFrame)
overridevirtual

Implements SalInstance.

◆ DestroyInfoPrinter()

virtual void SvpSalInstance::DestroyInfoPrinter ( SalInfoPrinter pPrinter)
overridevirtual

Reimplemented from SalGenericInstance.

◆ DestroyObject()

virtual void SvpSalInstance::DestroyObject ( SalObject pObject)
overridevirtual

Implements SalInstance.

◆ DoYield()

virtual bool SvpSalInstance::DoYield ( bool  bWait,
bool  bHandleAllCurrentEvents 
)
overridevirtual

Wait for the next event (if bWait) and dispatch it, includes posted events, and timers.

If bHandleAllCurrentEvents - dispatch multiple posted user events. Returns true if events were processed.

Implements SalInstance.

Reimplemented in GtkInstance.

◆ GetCairoFontOptions()

virtual const cairo_font_options_t * SvpSalInstance::GetCairoFontOptions ( )
overridevirtual

Reimplemented from SalInstance.

Reimplemented in GtkInstance.

◆ GetConnectionIdentifier()

virtual OUString SvpSalInstance::GetConnectionIdentifier ( )
overridevirtual

Implements SalInstance.

◆ GetDefaultPrinter()

virtual OUString SvpSalInstance::GetDefaultPrinter ( )
overridevirtual

Reimplemented from SalGenericInstance.

◆ GetPrinterQueueInfo()

virtual void SvpSalInstance::GetPrinterQueueInfo ( ImplPrnQueueList pList)
overridevirtual

Reimplemented from SalGenericInstance.

◆ GetPrinterQueueState()

virtual void SvpSalInstance::GetPrinterQueueState ( SalPrinterQueueInfo pInfo)
overridevirtual

Reimplemented from SalGenericInstance.

◆ ImplYield()

bool SvpSalInstance::ImplYield ( bool  bWait,
bool  bHandleAllCurrentEvents 
)
private

◆ IsMainThread()

virtual bool SvpSalInstance::IsMainThread ( ) const
overridevirtual

Implements SalInstance.

Reimplemented in GtkInstance.

◆ PostPrintersChanged()

virtual void SvpSalInstance::PostPrintersChanged ( )
overridevirtual

Implements SalGenericInstance.

◆ ProcessEvent()

virtual void SvpSalInstance::ProcessEvent ( SalUserEvent  aEvent)
overrideprivatevirtual

Implements SalUserEventList.

◆ registerFrame()

void SvpSalInstance::registerFrame ( SalFrame pFrame)
inline

Definition at line 178 of file svpinst.hxx.

References SalUserEventList::insertFrame().

◆ StartTimer()

void SvpSalInstance::StartTimer ( sal_uInt64  nMS)

◆ StopTimer()

void SvpSalInstance::StopTimer ( )

◆ TriggerUserEventProcessing()

virtual void SvpSalInstance::TriggerUserEventProcessing ( )
overrideprivatevirtual

Implements SalUserEventList.

◆ updateMainThread()

virtual void SvpSalInstance::updateMainThread ( )
overridevirtual

Set the app's (somewhat) magic/main-thread to this one.

Reimplemented from SalInstance.

Reimplemented in AndroidSalInstance.

◆ Wakeup()

void SvpSalInstance::Wakeup ( SvpRequest  request = SvpRequest::NONE)

Member Data Documentation

◆ m_aTimeout

timeval SvpSalInstance::m_aTimeout
private

Definition at line 97 of file svpinst.hxx.

◆ m_MainThread

oslThreadIdentifier SvpSalInstance::m_MainThread
private

Definition at line 99 of file svpinst.hxx.

◆ m_nTimeoutMS

sal_uLong SvpSalInstance::m_nTimeoutMS
private

Definition at line 98 of file svpinst.hxx.

◆ s_pDefaultInstance

SvpSalInstance* SvpSalInstance::s_pDefaultInstance
static

Definition at line 106 of file svpinst.hxx.


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