LibreOffice Module vcl (master) 1
Public Member Functions | Static Public Member Functions | Protected Attributes | Private Attributes | List of all members
SalInstance Class Referenceabstract

#include <salinst.hxx>

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

Public Member Functions

 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 ()
 

Static Public Member Functions

static bool IsRunningUnitTest ()
 

Protected Attributes

bool m_bSupportsBitmap32 = false
 
bool m_bSupportsOpenGL = false
 

Private Attributes

rtl::Reference< vcl::DisplayConnectionDispatchm_pEventInst
 
const std::unique_ptr< comphelper::SolarMutexm_pYieldMutex
 
css::uno::Reference< css::uno::XInterface > m_clipboard
 

Detailed Description

Definition at line 75 of file salinst.hxx.

Constructor & Destructor Documentation

◆ SalInstance()

SalInstance::SalInstance ( std::unique_ptr< comphelper::SolarMutex pMutex)

Definition at line 136 of file salvtables.cxx.

◆ ~SalInstance()

SalInstance::~SalInstance ( )
virtual

Definition at line 141 of file salvtables.cxx.

Member Function Documentation

◆ AcquireYieldMutex()

void SalInstance::AcquireYieldMutex ( sal_uInt32  nCount = 1)

Definition at line 147 of file salvtables.cxx.

References m_pYieldMutex, and nCount.

Referenced by Application::AcquireSolarMutex(), and InitVCL().

◆ AddToRecentDocumentList()

virtual void SalInstance::AddToRecentDocumentList ( const OUString &  rFileUrl,
const OUString &  rMimeType,
const OUString &  rDocumentService 
)
pure virtual

◆ AfterAppInit()

virtual void SalInstance::AfterAppInit ( )
inlinevirtual

Reimplemented in AquaSalInstance, QtInstance, GtkInstance, X11SalInstance, and WinSalInstance.

Definition at line 94 of file salinst.hxx.

Referenced by InitVCL().

◆ AnyInput()

virtual bool SalInstance::AnyInput ( VclInputFlags  nType)
pure virtual

◆ BeforeAbort()

virtual void SalInstance::BeforeAbort ( const OUString &  ,
bool   
)
inlinevirtual

Reimplemented in WinSalInstance.

Definition at line 213 of file salinst.hxx.

Referenced by SalAbort().

◆ CallEventCallback()

bool SalInstance::CallEventCallback ( void const *  pEvent,
int  nBytes 
)

Definition at line 165 of file salvtables.cxx.

References m_pEventInst.

◆ CreateBuilder()

std::unique_ptr< weld::Builder > SalInstance::CreateBuilder ( weld::Widget pParent,
const OUString &  rUIRoot,
const OUString &  rUIFile 
)
virtual

Reimplemented in GtkInstance.

Definition at line 7406 of file salvtables.cxx.

References SalInstanceWidget::getWidget().

Referenced by Application::CreateBuilder().

◆ CreateChildFrame()

virtual SalFrame * SalInstance::CreateChildFrame ( SystemParentData pParent,
SalFrameStyleFlags  nStyle 
)
pure virtual

◆ CreateClipboard()

Reference< XInterface > SalInstance::CreateClipboard ( const css::uno::Sequence< css::uno::Any > &  i_rArguments)
virtual

◆ CreateDragSource()

Reference< XInterface > SalInstance::CreateDragSource ( const SystemEnvData pSysEnv = nullptr)

◆ CreateDropTarget()

Reference< XInterface > SalInstance::CreateDropTarget ( const SystemEnvData pSysEnv = nullptr)

◆ createFilePicker()

virtual css::uno::Reference< css::ui::dialogs::XFilePicker2 > SalInstance::createFilePicker ( const css::uno::Reference< css::uno::XComponentContext > &  )
inlinevirtual

Reimplemented in QtInstance, and GtkInstance.

Definition at line 191 of file salinst.hxx.

Referenced by Application::createFilePicker().

◆ createFolderPicker()

virtual css::uno::Reference< css::ui::dialogs::XFolderPicker2 > SalInstance::createFolderPicker ( const css::uno::Reference< css::uno::XComponentContext > &  )
inlinevirtual

Reimplemented in QtInstance, and GtkInstance.

Definition at line 193 of file salinst.hxx.

Referenced by Application::createFolderPicker().

◆ CreateFrame()

virtual SalFrame * SalInstance::CreateFrame ( SalFrame pParent,
SalFrameStyleFlags  nStyle 
)
pure virtual

◆ CreateGStreamerSink()

virtual void * SalInstance::CreateGStreamerSink ( const SystemChildWindow )
inlinevirtual

Reimplemented in QtInstance, and GtkInstance.

Definition at line 211 of file salinst.hxx.

Referenced by SystemChildWindow::CreateGStreamerSink().

◆ CreateInfoPrinter()

virtual SalInfoPrinter * SalInstance::CreateInfoPrinter ( SalPrinterQueueInfo pQueueInfo,
ImplJobSetup pSetupData 
)
pure virtual

◆ CreateInterimBuilder()

std::unique_ptr< weld::Builder > SalInstance::CreateInterimBuilder ( vcl::Window pParent,
const OUString &  rUIRoot,
const OUString &  rUIFile,
bool  bAllowCycleFocusOut,
sal_uInt64  nLOKWindowId = 0 
)
virtual

Reimplemented in GtkInstance.

Definition at line 7413 of file salvtables.cxx.

Referenced by Application::CreateInterimBuilder().

◆ CreateMenu()

std::unique_ptr< SalMenu > SalInstance::CreateMenu ( bool  bMenuBar,
Menu pMenu 
)
virtual

Reimplemented in WinSalInstance, AquaSalInstance, QtInstance, and GtkInstance.

Definition at line 157 of file salvtables.cxx.

Referenced by MenuBar::MenuBar(), and PopupMenu::PopupMenu().

◆ CreateMenuItem()

std::unique_ptr< SalMenuItem > SalInstance::CreateMenuItem ( const SalItemParams pItemData)
virtual

Reimplemented in QtInstance, GtkInstance, AquaSalInstance, and WinSalInstance.

Definition at line 163 of file salvtables.cxx.

Referenced by MenuItemList::Insert(), and MenuItemList::InsertSeparator().

◆ CreateMessageDialog()

weld::MessageDialog * SalInstance::CreateMessageDialog ( weld::Widget pParent,
VclMessageType  eMessageType,
VclButtonsType  eButtonType,
const OUString &  rPrimaryMessage 
)
virtual

Reimplemented in GtkInstance.

Definition at line 7487 of file salvtables.cxx.

References SalInstanceWidget::getSystemWindow().

Referenced by Application::CreateMessageDialog().

◆ CreateObject()

virtual SalObject * SalInstance::CreateObject ( SalFrame pParent,
SystemWindowData pWindowData,
bool  bShow 
)
pure virtual

◆ CreateOpenGLContext()

OpenGLContext * SalInstance::CreateOpenGLContext ( )
virtual

Reimplemented in AquaSalInstance, QtInstance, GtkInstance, X11SalInstance, and WinSalInstance.

Definition at line 151 of file salvtables.cxx.

References m_bSupportsOpenGL.

◆ CreatePrinter()

virtual std::unique_ptr< SalPrinter > SalInstance::CreatePrinter ( SalInfoPrinter pInfoPrinter)
pure virtual

◆ CreateSalBitmap()

virtual std::shared_ptr< SalBitmap > SalInstance::CreateSalBitmap ( )
pure virtual

◆ CreateSalSession()

std::unique_ptr< SalSession > SalInstance::CreateSalSession ( )
virtual

Reimplemented in X11SalInstance.

Definition at line 149 of file salvtables.cxx.

◆ CreateSalSystem()

virtual SalSystem * SalInstance::CreateSalSystem ( )
pure virtual

◆ CreateSalTimer()

virtual SalTimer * SalInstance::CreateSalTimer ( )
pure virtual

◆ CreateVirtualDevice()

virtual std::unique_ptr< SalVirtualDevice > SalInstance::CreateVirtualDevice ( SalGraphics rGraphics,
tools::Long rDX,
tools::Long rDY,
DeviceFormat  eFormat,
const SystemGraphicsData pData = nullptr 
)
pure virtual

◆ DestroyFrame()

virtual void SalInstance::DestroyFrame ( SalFrame pFrame)
pure virtual

◆ DestroyInfoPrinter()

virtual void SalInstance::DestroyInfoPrinter ( SalInfoPrinter pPrinter)
pure virtual

◆ DestroyObject()

virtual void SalInstance::DestroyObject ( SalObject pObject)
pure virtual

◆ DoExecute()

bool SalInstance::DoExecute ( int nExitCode)
virtual

Reimplemented in QtInstance.

Definition at line 170 of file salvtables.cxx.

References Application::IsOnSystemEventLoop().

Referenced by Application::Execute().

◆ DoQuit()

void SalInstance::DoQuit ( )
virtual

Reimplemented in QtInstance.

Definition at line 178 of file salvtables.cxx.

References Application::IsOnSystemEventLoop().

Referenced by IMPL_STATIC_LINK_NOARG().

◆ DoYield()

virtual bool SalInstance::DoYield ( bool  bWait,
bool  bHandleAllCurrentEvents 
)
pure virtual

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.

Implemented in SvpSalInstance, AquaSalInstance, QtInstance, GtkInstance, X11SalInstance, and WinSalInstance.

Referenced by ImplYield().

◆ GetCairoFontOptions()

virtual const cairo_font_options_t * SalInstance::GetCairoFontOptions ( )
inlinevirtual

Reimplemented in SvpSalInstance, and GtkInstance.

Definition at line 209 of file salinst.hxx.

◆ GetConnectionIdentifier()

virtual OUString SalInstance::GetConnectionIdentifier ( )
pure virtual

◆ GetDefaultPrinter()

virtual OUString SalInstance::GetDefaultPrinter ( )
pure virtual

◆ GetFrameWeld()

weld::Window * SalInstance::GetFrameWeld ( const css::uno::Reference< css::awt::XWindow > &  rWindow)
virtual

◆ getOSVersion()

virtual OUString SalInstance::getOSVersion ( )
inlinevirtual

get information about underlying versions

Reimplemented in AquaSalInstance, SalGenericInstance, and WinSalInstance.

Definition at line 207 of file salinst.hxx.

Referenced by Application::GetOSVersion().

◆ GetPrinterQueueInfo()

virtual void SalInstance::GetPrinterQueueInfo ( ImplPrnQueueList pList)
pure virtual

◆ GetPrinterQueueState()

virtual void SalInstance::GetPrinterQueueState ( SalPrinterQueueInfo pInfo)
pure virtual

◆ GetYieldMutex()

comphelper::SolarMutex * SalInstance::GetYieldMutex ( )

Definition at line 143 of file salvtables.cxx.

References m_pYieldMutex.

Referenced by Application::GetSolarMutex().

◆ hasNativeFileSelection()

virtual bool SalInstance::hasNativeFileSelection ( ) const
inlinevirtual

Reimplemented in QtInstance, and GtkInstance.

Definition at line 189 of file salinst.hxx.

Referenced by Application::hasNativeFileSelection().

◆ ImplCreateDragSource()

uno::Reference< uno::XInterface > SalInstance::ImplCreateDragSource ( const SystemEnvData )
virtual

Reimplemented in AquaSalInstance, QtInstance, GtkInstance, X11SalInstance, and WinSalInstance.

Definition at line 440 of file dtranscomp.cxx.

Referenced by CreateDragSource().

◆ ImplCreateDropTarget()

uno::Reference< uno::XInterface > SalInstance::ImplCreateDropTarget ( const SystemEnvData )
virtual

Reimplemented in AquaSalInstance, QtInstance, GtkInstance, X11SalInstance, and WinSalInstance.

Definition at line 454 of file dtranscomp.cxx.

Referenced by CreateDropTarget().

◆ IsMainThread()

virtual bool SalInstance::IsMainThread ( ) const
pure virtual

◆ IsRunningUnitTest()

static bool SalInstance::IsRunningUnitTest ( )
inlinestatic

Definition at line 216 of file salinst.hxx.

Referenced by CreateDragSource(), CreateDropTarget(), and Dialog::ImplStartExecute().

◆ jobEndedPrinterUpdate()

virtual void SalInstance::jobEndedPrinterUpdate ( )
inlinevirtual

Reimplemented in SalGenericInstance.

Definition at line 199 of file salinst.hxx.

◆ jobStartedPrinterUpdate()

virtual void SalInstance::jobStartedPrinterUpdate ( )
inlinevirtual

Reimplemented in SalGenericInstance.

Definition at line 198 of file salinst.hxx.

◆ releaseMainThread()

virtual void SalInstance::releaseMainThread ( )
inlinevirtual

Disconnect that - good for detaching from the JavaVM on Android.

Reimplemented in AndroidSalInstance.

Definition at line 204 of file salinst.hxx.

Referenced by vcl::lok::unregisterPollCallbacks().

◆ ReleaseYieldMutexAll()

sal_uInt32 SalInstance::ReleaseYieldMutexAll ( )

Definition at line 145 of file salvtables.cxx.

References m_pYieldMutex.

Referenced by DeInitVCL(), and Application::ReleaseSolarMutex().

◆ SetEventCallback()

void SalInstance::SetEventCallback ( rtl::Reference< vcl::DisplayConnectionDispatch > const &  pInstance)
inline

◆ supportsBitmap32()

bool SalInstance::supportsBitmap32 ( ) const
inline

Definition at line 90 of file salinst.hxx.

Referenced by Bitmap32IsPreMultipled(), and readWebp().

◆ supportsOpenGL()

bool SalInstance::supportsOpenGL ( ) const
inline

Definition at line 91 of file salinst.hxx.

◆ SVMainHook()

virtual bool SalInstance::SVMainHook ( int )
inlinevirtual

Reimplemented in AquaSalInstance.

Definition at line 95 of file salinst.hxx.

Referenced by ImplSVMain().

◆ updateMainThread()

virtual void SalInstance::updateMainThread ( )
inlinevirtual

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

Reimplemented in AndroidSalInstance, and SvpSalInstance.

Definition at line 202 of file salinst.hxx.

Referenced by Application::UpdateMainThread().

◆ updatePrinterUpdate()

virtual void SalInstance::updatePrinterUpdate ( )
inlinevirtual

Reimplemented in SalGenericInstance.

Definition at line 197 of file salinst.hxx.

Member Data Documentation

◆ m_bSupportsBitmap32

bool SalInstance::m_bSupportsBitmap32 = false
protected

Definition at line 83 of file salinst.hxx.

◆ m_bSupportsOpenGL

bool SalInstance::m_bSupportsOpenGL = false
protected

Definition at line 84 of file salinst.hxx.

Referenced by CreateOpenGLContext().

◆ m_clipboard

css::uno::Reference<css::uno::XInterface> SalInstance::m_clipboard
private

Definition at line 80 of file salinst.hxx.

Referenced by CreateClipboard().

◆ m_pEventInst

rtl::Reference< vcl::DisplayConnectionDispatch > SalInstance::m_pEventInst
private

Definition at line 78 of file salinst.hxx.

Referenced by CallEventCallback().

◆ m_pYieldMutex

const std::unique_ptr<comphelper::SolarMutex> SalInstance::m_pYieldMutex
private

Definition at line 79 of file salinst.hxx.

Referenced by AcquireYieldMutex(), GetYieldMutex(), and ReleaseYieldMutexAll().


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