summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/svl/svdde.hxx18
-rw-r--r--svl/source/svdde/ddecli.cxx5
-rw-r--r--svl/source/svdde/ddeimp.hxx2
-rw-r--r--svl/source/svdde/ddesvr.cxx28
4 files changed, 21 insertions, 32 deletions
diff --git a/include/svl/svdde.hxx b/include/svl/svdde.hxx
index fca3dfd66bb3..97301f4a22af 100644
--- a/include/svl/svdde.hxx
+++ b/include/svl/svdde.hxx
@@ -20,12 +20,18 @@
#ifndef INCLUDED_SVL_SVDDE_HXX
#define INCLUDED_SVL_SVDDE_HXX
+#include <sal/config.h>
+
#include <svl/svldllapi.h>
#include <sot/exchange.hxx>
#include <tools/solar.h>
#include <tools/link.hxx>
#include <vector>
+#if defined _WIN32
+#include <ddeml.h>
+#endif
+
class DdeString;
class DdeData;
class DdeConnection;
@@ -182,7 +188,6 @@ public:
~DdeConnection();
long GetError();
- sal_IntPtr GetConvId();
static const std::vector<DdeConnection*>& GetConnections();
@@ -205,8 +210,10 @@ class SVL_DLLPUBLIC DdeItem
DdeTopic* pMyTopic;
DdeItemImp* pImpData;
- void IncMonitor( sal_uLong );
- void DecMonitor( sal_uLong );
+#if defined _WIN32
+ void IncMonitor( HCONV );
+ void DecMonitor( HCONV );
+#endif
protected:
sal_uInt8 nType;
@@ -238,7 +245,9 @@ public:
class SVL_DLLPUBLIC DdeTopic
{
- SVL_DLLPRIVATE void Disconnect( sal_IntPtr );
+#if defined _WIN32
+ SVL_DLLPRIVATE void Disconnect( HCONV );
+#endif
public:
virtual DdeData* Get(SotClipboardFormatId);
@@ -265,7 +274,6 @@ public:
virtual ~DdeTopic();
const OUString GetName() const;
- long GetConvId();
void NotifyClient( const OUString& );
bool IsSystemTopic();
diff --git a/svl/source/svdde/ddecli.cxx b/svl/source/svdde/ddecli.cxx
index b6e562616b19..d81d57c65259 100644
--- a/svl/source/svdde/ddecli.cxx
+++ b/svl/source/svdde/ddecli.cxx
@@ -236,11 +236,6 @@ const OUString DdeConnection::GetTopicName()
return pTopic->toOUString();
}
-sal_IntPtr DdeConnection::GetConvId()
-{
- return (sal_IntPtr)pImp->hConv;
-}
-
const std::vector<DdeConnection*>& DdeConnection::GetConnections()
{
DdeInstData* pInst = ImpGetInstData();
diff --git a/svl/source/svdde/ddeimp.hxx b/svl/source/svdde/ddeimp.hxx
index 95848172d952..492f1dc74f17 100644
--- a/svl/source/svdde/ddeimp.hxx
+++ b/svl/source/svdde/ddeimp.hxx
@@ -87,7 +87,6 @@ public:
sal_uInt16 nRefCount;
std::vector<DdeConnection*> aConnections;
// Server
- sal_IntPtr hCurConvSvr;
DWORD hDdeInstSvr;
short nInstanceSvr;
DdeServices* pServicesSvr;
@@ -97,7 +96,6 @@ public:
DdeInstData()
: nRefCount(0)
- , hCurConvSvr(0)
, hDdeInstSvr(0)
, nInstanceSvr(0)
, pServicesSvr(NULL)
diff --git a/svl/source/svdde/ddesvr.cxx b/svl/source/svdde/ddesvr.cxx
index ea549b4d2eff..36070360ea8f 100644
--- a/svl/source/svdde/ddesvr.cxx
+++ b/svl/source/svdde/ddesvr.cxx
@@ -36,10 +36,10 @@ enum DdeItemType
struct DdeItemImpData
{
- sal_uLong nHCnv;
+ HCONV nHCnv;
sal_uInt16 nCnt;
- explicit DdeItemImpData( sal_uLong nH ) : nHCnv( nH ), nCnt( 1 ) {}
+ explicit DdeItemImpData( HCONV nH ) : nHCnv( nH ), nCnt( 1 ) {}
};
class DdeItemImp {
@@ -194,7 +194,7 @@ HDDEDATA CALLBACK DdeInternal::SvrCallback(
found:
if ( nCode == XTYP_DISCONNECT)
{
- pC->pTopic->Disconnect( (sal_IntPtr) hConv );
+ pC->pTopic->Disconnect( hConv );
for ( ConvList::iterator it = pService->pConv->begin();
it != pService->pConv->end();
++it
@@ -226,7 +226,6 @@ found:
(pTopic->aItem).clear();
bool bRes = false;
- pInst->hCurConvSvr = (sal_IntPtr)hConv;
switch( nCode )
{
case XTYP_REQUEST:
@@ -287,7 +286,6 @@ found:
else
bRes = pTopic->Put( &d );
}
- pInst->hCurConvSvr = 0;
if ( bRes )
return (HDDEDATA)DDE_FACK;
else
@@ -328,15 +326,13 @@ found:
if (pItem)
{
- pItem->IncMonitor( (sal_IntPtr)hConv );
- pInst->hCurConvSvr = 0;
+ pItem->IncMonitor( hConv );
}
}
return (HDDEDATA)sal_True;
case XTYP_ADVSTOP:
- pItem->DecMonitor( (sal_IntPtr)hConv );
- pInst->hCurConvSvr = 0;
+ pItem->DecMonitor( hConv );
return (HDDEDATA)sal_True;
case XTYP_EXECUTE:
@@ -354,7 +350,6 @@ found:
else
bRes = pTopic->Execute( &aName );
}
- pInst->hCurConvSvr = 0;
if ( bRes )
return (HDDEDATA)DDE_FACK;
else
@@ -674,7 +669,7 @@ void DdeTopic::NotifyClient( const OUString& rItem )
}
}
-void DdeTopic::Disconnect( sal_IntPtr nId )
+void DdeTopic::Disconnect( HCONV nId )
{
std::vector<DdeItem*>::iterator iter;
for (iter = aItems.begin(); iter != aItems.end(); ++iter)
@@ -696,13 +691,6 @@ bool DdeTopic::Execute( const OUString* )
return false;
}
-long DdeTopic::GetConvId()
-{
- DdeInstData* pInst = ImpGetInstData();
- DBG_ASSERT(pInst,"SVDDE:No instance data");
- return pInst->hCurConvSvr;
-}
-
bool DdeTopic::StartAdviseLoop()
{
return false;
@@ -762,7 +750,7 @@ void DdeItem::NotifyClient()
}
}
-void DdeItem::IncMonitor( sal_uLong nHCnv )
+void DdeItem::IncMonitor( HCONV nHCnv )
{
if( !pImpData )
{
@@ -783,7 +771,7 @@ void DdeItem::IncMonitor( sal_uLong nHCnv )
pImpData->push_back( DdeItemImpData( nHCnv ) );
}
-void DdeItem::DecMonitor( sal_uLong nHCnv )
+void DdeItem::DecMonitor( HCONV nHCnv )
{
if( pImpData )
{