summaryrefslogtreecommitdiff
path: root/vcl/inc/salsession.hxx
diff options
context:
space:
mode:
authorStephan Bergmann <sbergman@redhat.com>2012-06-19 10:17:14 +0200
committerStephan Bergmann <sbergman@redhat.com>2012-06-20 14:44:03 +0200
commit1cdb792368ed26d58828eead2848422e7dec4c7d (patch)
treea268bcfa0315ca6de5d55bd83f0023d6372194e3 /vcl/inc/salsession.hxx
parentb11de026cb8eb520dc410fd974581e780ecbef92 (diff)
Make VCLSession into a OneInstanceFactory
...so no need to hold the one instance as ImplSVData::xSMClient. Nor as VCLSession::pOneInstance, after changing SalSession::SetCallback to carry VCLSession* as user data. Change-Id: I3180d72035e3da7aa164a20309fbaeccecbb9b65
Diffstat (limited to 'vcl/inc/salsession.hxx')
-rw-r--r--vcl/inc/salsession.hxx8
1 files changed, 5 insertions, 3 deletions
diff --git a/vcl/inc/salsession.hxx b/vcl/inc/salsession.hxx
index c912565a920c..89e9239cf0b9 100644
--- a/vcl/inc/salsession.hxx
+++ b/vcl/inc/salsession.hxx
@@ -84,25 +84,27 @@ struct SalSessionQuitEvent : public SalSessionEvent
{}
};
-typedef void(*SessionProc)( SalSessionEvent *pEvent);
+typedef void(*SessionProc)(void *pData, SalSessionEvent *pEvent);
class VCL_PLUGIN_PUBLIC SalSession
{
SessionProc m_aProc;
+ void * m_pProcData;
public:
SalSession()
: m_aProc( 0 )
{}
virtual ~SalSession();
- void SetCallback( SessionProc aCallback )
+ void SetCallback( SessionProc aCallback, void * pCallbackData )
{
m_aProc = aCallback;
+ m_pProcData = pCallbackData;
}
void CallCallback( SalSessionEvent* pEvent )
{
if( m_aProc )
- m_aProc( pEvent );
+ m_aProc( m_pProcData, pEvent );
}
// query the session manager for a user interaction slot