Kaydet (Commit) ab5c85f1 authored tarafından Matteo Casalin's avatar Matteo Casalin Kaydeden (comit) Michael Stahl

Use support function for name of services

Change-Id: Ib77a2aebdf6d557b78d433c4d9a81e6e9ad0edf1
Reviewed-on: https://gerrit.libreoffice.org/5624Reviewed-by: 's avatarMichael Stahl <mstahl@redhat.com>
Tested-by: 's avatarMichael Stahl <mstahl@redhat.com>
üst a3d10e95
...@@ -455,35 +455,47 @@ throw (uno::RuntimeException) ...@@ -455,35 +455,47 @@ throw (uno::RuntimeException)
return OUString("SwXFieldMaster"); return OUString("SwXFieldMaster");
} }
namespace
{
OUString getServiceName(const sal_uInt16 aId)
{
const sal_Char* pEntry;
switch (aId)
{
case RES_USERFLD:
pEntry = "User";
break;
case RES_DBFLD:
pEntry = "Database";
break;
case RES_SETEXPFLD:
pEntry = "SetExpression";
break;
case RES_DDEFLD:
pEntry = "DDE";
break;
case RES_AUTHORITY:
pEntry = "Bibliography";
break;
default:
return OUString();
}
return "com.sun.star.text.fieldmaster." + OUString::createFromAscii(pEntry);
}
}
sal_Bool SAL_CALL sal_Bool SAL_CALL
SwXFieldMaster::supportsService(const OUString& rServiceName) SwXFieldMaster::supportsService(const OUString& rServiceName)
throw (uno::RuntimeException) throw (uno::RuntimeException)
{ {
sal_Bool bRet = sal_False; if (rServiceName=="com.sun.star.text.TextFieldMaster")
if(rServiceName.equalsAsciiL( return sal_True;
RTL_CONSTASCII_STRINGPARAM("com.sun.star.text.TextFieldMaster")))
bRet = sal_True; const OUString sName(getServiceName(m_pImpl->m_nResTypeId));
else return !sName.isEmpty() && sName==rServiceName;
{
const sal_Char* pEntry;
switch (m_pImpl->m_nResTypeId)
{
case RES_USERFLD: pEntry = "User"; break;
case RES_DBFLD: pEntry = "Database"; break;
case RES_SETEXPFLD: pEntry = "SetExpression"; break;
case RES_DDEFLD: pEntry = "DDE"; break;
case RES_AUTHORITY: pEntry = "Bibliography"; break;
default: pEntry = 0;
}
if( pEntry )
{
OString aTmp = OStringBuffer(RTL_CONSTASCII_STRINGPARAM(
"com.sun.star.text.fieldmaster.")).append(pEntry).
makeStringAndClear();
bRet = rServiceName.equalsAsciiL(aTmp.getStr(), aTmp.getLength());
}
}
return bRet;
} }
uno::Sequence< OUString > SAL_CALL uno::Sequence< OUString > SAL_CALL
...@@ -492,23 +504,7 @@ SwXFieldMaster::getSupportedServiceNames() throw (uno::RuntimeException) ...@@ -492,23 +504,7 @@ SwXFieldMaster::getSupportedServiceNames() throw (uno::RuntimeException)
uno::Sequence< OUString > aRet(2); uno::Sequence< OUString > aRet(2);
OUString* pArray = aRet.getArray(); OUString* pArray = aRet.getArray();
pArray[0] = "com.sun.star.text.TextFieldMaster"; pArray[0] = "com.sun.star.text.TextFieldMaster";
pArray[1] = getServiceName(m_pImpl->m_nResTypeId);
const sal_Char* pEntry1;
switch (m_pImpl->m_nResTypeId)
{
case RES_USERFLD: pEntry1 = "User"; break;
case RES_DBFLD: pEntry1 = "Database"; break;
case RES_SETEXPFLD: pEntry1 = "SetExpression"; break;
case RES_DDEFLD: pEntry1 = "DDE"; break;
case RES_AUTHORITY: pEntry1 = "Bibliography"; break;
default: pEntry1 = 0;
}
if( pEntry1 )
{
String s;
s.AppendAscii( "com.sun.star.text.fieldmaster." ).AppendAscii( pEntry1 );
pArray[1] = s;
}
return aRet; return aRet;
} }
......
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