Kaydet (Commit) 6d8124e3 authored tarafından Noel Grandin's avatar Noel Grandin

convert Link<> to typed

and remove unused UserEvent class

Change-Id: Ic61c5eef75c36393dbbaa92d93163eab89021ee3
üst 3526da14
......@@ -165,7 +165,7 @@ class CloseDispatcher : public ::cppu::WeakImplHelper<
asynchronous. Otherwise our callis kill its own environment
during they call us ...
*/
DECL_LINK( impl_asyncCallback, void* );
DECL_LINK_TYPED( impl_asyncCallback, LinkParamNone*, void );
/** @short prepare m_xCloseFrame so it should be closeable without problems.
......
......@@ -221,7 +221,7 @@ void SAL_CALL CloseDispatcher::dispatchWithNotification(const css::util::URL&
else
{
SolarMutexGuard g;
m_aAsyncCallback->Post(0);
m_aAsyncCallback->Post();
}
}
......@@ -241,7 +241,7 @@ void SAL_CALL CloseDispatcher::dispatchWithNotification(const css::util::URL&
- decide then, if we must close this frame only, establish the backing mode
or shutdown the whole application.
*/
IMPL_LINK_NOARG(CloseDispatcher, impl_asyncCallback)
IMPL_LINK_NOARG_TYPED(CloseDispatcher, impl_asyncCallback, LinkParamNone*, void)
{
try
{
......@@ -273,7 +273,7 @@ IMPL_LINK_NOARG(CloseDispatcher, impl_asyncCallback)
// frame already dead ?!
// Nothing to do !
if (! xCloseFrame.is())
return 0;
return;
bool bCloseFrame = false;
bool bEstablishBackingMode = false;
......@@ -418,8 +418,6 @@ IMPL_LINK_NOARG(CloseDispatcher, impl_asyncCallback)
catch(const css::lang::DisposedException&)
{
}
return 0;
}
bool CloseDispatcher::implts_prepareFrameForClosing(const css::uno::Reference< css::frame::XFrame >& xFrame ,
......
......@@ -638,7 +638,7 @@ private:
/** @short makes our dispatch() method asynchronous!
*/
DECL_LINK(implts_asyncDispatch, void*);
DECL_LINK_TYPED(implts_asyncDispatch, LinkParamNone*, void);
/** @short implements the dispatch real. */
void implts_dispatch(const DispatchParams& aParams);
......@@ -1389,7 +1389,7 @@ void SAL_CALL AutoRecovery::dispatch(const css::util::URL&
} /* SAFE */
if (bAsync)
m_aAsyncDispatcher.Post(0);
m_aAsyncDispatcher.Post();
else
implts_dispatch(aParams);
}
......@@ -2420,14 +2420,14 @@ IMPL_LINK_NOARG_TYPED(AutoRecovery, implts_timerExpired, Timer *, void)
}
}
IMPL_LINK_NOARG(AutoRecovery, implts_asyncDispatch)
IMPL_LINK_NOARG_TYPED(AutoRecovery, implts_asyncDispatch, LinkParamNone*, void)
{
DispatchParams aParams;
/* SAFE */ {
osl::MutexGuard g(cppu::WeakComponentImplHelperBase::rBHelper.rMutex);
aParams = m_aDispatchParams;
css::uno::Reference< css::uno::XInterface > xHoldRefForMethodAlive = aParams.m_xHoldRefForAsyncOpAlive;
m_aDispatchParams.forget(); // clears all members ... including the ref-hold object .-)
osl::MutexGuard g(cppu::WeakComponentImplHelperBase::rBHelper.rMutex);
aParams = m_aDispatchParams;
css::uno::Reference< css::uno::XInterface > xHoldRefForMethodAlive = aParams.m_xHoldRefForAsyncOpAlive;
m_aDispatchParams.forget(); // clears all members ... including the ref-hold object .-)
} /* SAFE */
try
......@@ -2437,7 +2437,6 @@ IMPL_LINK_NOARG(AutoRecovery, implts_asyncDispatch)
catch (...)
{
}
return 0;
}
void AutoRecovery::implts_registerDocument(const css::uno::Reference< css::frame::XModel >& xDocument)
......
......@@ -232,7 +232,7 @@ class SVT_DLLPUBLIC AcceleratorExecute : private TMutexInit
/** @deprecated
replaced by internal class AsyncAccelExec ...
remove this resource here if we go forwards to next major */
DECL_DLLPRIVATE_LINK(impl_ts_asyncCallback, void*);
DECL_DLLPRIVATE_LINK_TYPED(impl_ts_asyncCallback, LinkParamNone*, void);
};
} // namespace svt
......
......@@ -27,23 +27,17 @@ struct ImplSVEvent;
namespace vcl
{
struct UserEvent
{
sal_uLong m_nWhich;
void* m_pData;
};
class VCL_DLLPUBLIC EventPoster
{
ImplSVEvent * m_nId;
Link<> m_aLink;
ImplSVEvent * m_nId;
Link<LinkParamNone*,void> m_aLink;
DECL_DLLPRIVATE_LINK_TYPED( DoEvent_Impl, void*, void );
public:
EventPoster( const Link<>& rLink );
EventPoster( const Link<LinkParamNone*,void>& rLink );
~EventPoster();
void Post( UserEvent* pEvent );
void Post();
};
}
......
......@@ -67,7 +67,7 @@ class SVT_DLLPRIVATE AsyncAccelExec
SVT_DLLPRIVATE AsyncAccelExec(const css::uno::Reference< css::frame::XDispatch >& xDispatch,
const css::util::URL& aURL );
DECL_DLLPRIVATE_LINK(impl_ts_asyncCallback, void*);
DECL_DLLPRIVATE_LINK_TYPED(impl_ts_asyncCallback, LinkParamNone*, void);
private:
vcl::EventPoster m_aAsyncCallback;
......@@ -425,10 +425,9 @@ css::uno::Reference< css::util::XURLTransformer > AcceleratorExecute::impl_ts_ge
}
IMPL_LINK_NOARG(AcceleratorExecute, impl_ts_asyncCallback)
IMPL_LINK_NOARG_TYPED(AcceleratorExecute, impl_ts_asyncCallback, LinkParamNone*, void)
{
// replaced by AsyncAccelExec!
return 0;
}
......@@ -451,14 +450,14 @@ AsyncAccelExec* AsyncAccelExec::createOnShotInstance(const css::uno::Reference<
void AsyncAccelExec::execAsync()
{
m_aAsyncCallback.Post(0);
m_aAsyncCallback.Post();
}
IMPL_LINK_NOARG(AsyncAccelExec, impl_ts_asyncCallback)
IMPL_LINK_NOARG_TYPED(AsyncAccelExec, impl_ts_asyncCallback, LinkParamNone*, void)
{
if (! m_xDispatch.is())
return 0;
return;
try
{
......@@ -472,8 +471,6 @@ IMPL_LINK_NOARG(AsyncAccelExec, impl_ts_asyncCallback)
{}
delete this;
return 0;
}
} // namespace svt
......
......@@ -26,7 +26,7 @@
namespace vcl
{
EventPoster::EventPoster( const Link<>& rLink )
EventPoster::EventPoster( const Link<LinkParamNone*,void>& rLink )
: m_aLink(rLink)
{
m_nId = 0;
......@@ -39,19 +39,18 @@ EventPoster::~EventPoster()
Application::RemoveUserEvent( m_nId );
}
void EventPoster::Post( UserEvent* pEvent )
void EventPoster::Post()
{
DBG_TESTSOLARMUTEX();
m_nId = Application::PostUserEvent( ( LINK( this, EventPoster, DoEvent_Impl ) ), pEvent );
m_nId = Application::PostUserEvent( ( LINK( this, EventPoster, DoEvent_Impl ) ), nullptr );
}
IMPL_LINK_TYPED( EventPoster, DoEvent_Impl, void*, p, void )
IMPL_LINK_TYPED( EventPoster, DoEvent_Impl, void*, /*p*/, void )
{
UserEvent* pEvent = static_cast<UserEvent*>(p);
DBG_TESTSOLARMUTEX();
m_nId = 0;
m_aLink.Call( pEvent );
m_aLink.Call( nullptr );
}
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment