CWS-TOOLING: integrate CWS cmcfixes62
2009-09-22 21:19:24 +0200 cmc r276365 : #i100000# that's the most plausible explanation, -D$(CVER) is needed by scp2 under windows 2009-09-19 16:10:36 +0200 cmc r276303 : #i100000# revert this for no partically good reason 2009-09-18 14:16:47 +0200 cmc r276279 : remove extra build depend 2009-09-18 08:56:15 +0200 cmc r276265 : #i100000# rerun autoconf 2009-09-17 14:59:38 +0200 cmc r276245 : CWS-TOOLING: rebase CWS cmcfixes62 to trunk@276192 (milestone: DEV300:m59) 2009-09-10 16:40:49 +0200 pl r276041 : fix warning 2009-09-10 11:34:55 +0200 pl r276026 : disable warning from system header 2009-09-09 19:30:45 +0200 pl r276013 : use osl_getAsciiFunctionSymbol instead of strange cast 2009-09-09 19:25:32 +0200 pl r276012 : add some casting hacks to make compile on solaris cc 2009-09-09 19:10:48 +0200 pl r276009 : add missing Configure option for solaris sparce 32bit 2009-09-09 18:37:05 +0200 pl r276008 : merge fix for #i104525# into moved code 2009-09-07 13:28:08 +0200 cmc r275894 : CWS-TOOLING: rebase CWS cmcfixes62 to trunk@275801 (milestone: DEV300:m57) 2009-08-28 12:36:27 +0200 cmc r275523 : CWS-TOOLING: rebase CWS cmcfixes62 to trunk@275331 (milestone: DEV300:m56) 2009-08-26 12:56:18 +0200 cmc r275413 : #i104088# use the right headers in the right place 2009-08-25 17:07:50 +0200 cmc r275372 : #i104500# make openssl build on linux that isn't x86 or x86_64 2009-08-25 13:08:48 +0200 cmc r275347 : #i89237# pretty picswitch up 2009-08-25 10:58:09 +0200 cmc r275342 : #i104489# remove last unused code in starmath 2009-08-25 10:23:33 +0200 cmc r275338 : #i104088# clean up the define post-move 2009-08-24 13:46:57 +0200 cmc r275310 : #i104088# 64bit odbc api changes 2009-08-24 13:42:52 +0200 cmc r275309 : #i89237# unify linux platform mks under a generic parent 2009-08-24 13:19:52 +0200 cmc r275307 : #i104455# remove unused code 2009-08-24 13:10:56 +0200 cmc r275306 : #i104088# 64bit odbc api changes 2009-08-24 10:07:50 +0200 cmc r275293 : #i104306# move recent-used to vcl 2009-08-24 09:32:08 +0200 cmc r275291 : #i104306# move recent-used to vcl 2009-08-23 22:01:07 +0200 cmc r275286 : #i104306# move recently-used to vcl 2009-08-22 15:25:25 +0200 cmc r275285 : #i104088# 64bit odbc api changes 2009-08-21 17:52:40 +0200 cmc r275268 : #i104306# move recently-used to vcl 2009-08-21 14:38:26 +0200 cmc r275257 : #i104408 make these headers ready for c++0x 2009-08-21 14:20:19 +0200 cmc r275251 : #i104406# avoid overlapping strcpy to avoid bustage on recent toolchains 2009-08-21 14:14:25 +0200 cmc r275250 : #i104385# silence 64bit warnings
This commit is contained in:
parent
d9d6bb11c0
commit
c290df5561
@ -107,4 +107,4 @@ DEF1EXPORTFILE= exports.dxp
|
||||
# --- Targets ----------------------------------
|
||||
|
||||
|
||||
.INCLUDE : $(PRJ)$/target.pmk
|
||||
.INCLUDE : $(PRJ)$/target.pmk
|
||||
|
@ -53,16 +53,16 @@ void MTypeConverter::ouStringToNsString(::rtl::OUString const &ous, nsString &ns
|
||||
// -------------------------------------------------------------------------
|
||||
::rtl::OUString MTypeConverter::nsACStringToOUString( const nsACString& _source )
|
||||
{
|
||||
const char* buffer = _source.BeginReading();
|
||||
const char* bufferEnd = _source.EndReading();
|
||||
return ::rtl::OUString( buffer, bufferEnd - buffer, RTL_TEXTENCODING_ASCII_US );
|
||||
const char* buffer = _source.BeginReading();
|
||||
const char* bufferEnd = _source.EndReading();
|
||||
return ::rtl::OUString( buffer, static_cast<sal_Int32>(bufferEnd - buffer), RTL_TEXTENCODING_ASCII_US );
|
||||
}
|
||||
// -------------------------------------------------------------------------
|
||||
::rtl::OString MTypeConverter::nsACStringToOString( const nsACString& _source )
|
||||
{
|
||||
const char* buffer = _source.BeginReading();
|
||||
const char* bufferEnd = _source.EndReading();
|
||||
return ::rtl::OString( buffer, bufferEnd - buffer );
|
||||
const char* buffer = _source.BeginReading();
|
||||
const char* bufferEnd = _source.EndReading();
|
||||
return ::rtl::OString( buffer, static_cast<sal_Int32>(bufferEnd - buffer) );
|
||||
}
|
||||
// -------------------------------------------------------------------------
|
||||
void MTypeConverter::asciiOUStringToNsACString( const ::rtl::OUString& _asciiString, nsACString& _dest )
|
||||
@ -73,8 +73,8 @@ void MTypeConverter::asciiOUStringToNsACString( const ::rtl::OUString& _asciiStr
|
||||
// -------------------------------------------------------------------------
|
||||
void MTypeConverter::asciiToNsACString( const sal_Char* _asciiString, nsACString& _dest )
|
||||
{
|
||||
_dest.Truncate();
|
||||
_dest.AppendASCII( _asciiString );
|
||||
_dest.Truncate();
|
||||
_dest.AppendASCII( _asciiString );
|
||||
}
|
||||
// -------------------------------------------------------------------------
|
||||
void MTypeConverter::nsStringToOUString(nsString const &nss, ::rtl::OUString &ous)
|
||||
|
@ -108,7 +108,7 @@ SQLRETURN OConnection::OpenConnection(const ::rtl::OUString& aConnectStr,sal_Int
|
||||
SQLRETURN nSQLRETURN = 0;
|
||||
SDB_ODBC_CHAR szConnStrOut[4096];
|
||||
SDB_ODBC_CHAR szConnStrIn[2048];
|
||||
SWORD cbConnStrOut;
|
||||
SQLSMALLINT cbConnStrOut;
|
||||
memset(szConnStrOut,'\0',4096);
|
||||
memset(szConnStrIn,'\0',2048);
|
||||
::rtl::OString aConStr(::rtl::OUStringToOString(aConnectStr,getTextEncoding()));
|
||||
|
@ -444,11 +444,11 @@ void SAL_CALL OPreparedStatement::setNull( sal_Int32 parameterIndex, sal_Int32 s
|
||||
checkParameterIndex(parameterIndex);
|
||||
|
||||
sal_Int8* lenBuf = getLengthBuf (parameterIndex);
|
||||
*(SDWORD*)lenBuf = SQL_NULL_DATA;
|
||||
*(SQLLEN*)lenBuf = SQL_NULL_DATA;
|
||||
|
||||
|
||||
SQLINTEGER prec = 0;
|
||||
SQLUINTEGER nColumnSize = 0;
|
||||
SQLLEN prec = 0;
|
||||
SQLULEN nColumnSize = 0;
|
||||
if (sqlType == SQL_CHAR || sqlType == SQL_VARCHAR || sqlType == SQL_LONGVARCHAR)
|
||||
{
|
||||
prec = 1;
|
||||
@ -474,7 +474,7 @@ void SAL_CALL OPreparedStatement::setNull( sal_Int32 parameterIndex, sal_Int32 s
|
||||
nDecimalDigits,
|
||||
NULL,
|
||||
prec,
|
||||
(SDWORD*)lenBuf
|
||||
(SQLLEN*)lenBuf
|
||||
);
|
||||
OTools::ThrowException(m_pConnection,nReturn,m_aStatementHandle,SQL_HANDLE_STMT,*this);
|
||||
}
|
||||
@ -865,7 +865,7 @@ void OPreparedStatement::setStream (
|
||||
|
||||
// Bind the parameter with SQL_LEN_DATA_AT_EXEC
|
||||
SQLSMALLINT Ctype = SQL_C_CHAR;
|
||||
SDWORD atExec = SQL_LEN_DATA_AT_EXEC (length);
|
||||
SQLLEN atExec = SQL_LEN_DATA_AT_EXEC (length);
|
||||
memcpy (dataBuf, &ParameterIndex, sizeof(ParameterIndex));
|
||||
memcpy (lenBuf, &atExec, sizeof (atExec));
|
||||
|
||||
@ -876,14 +876,14 @@ void OPreparedStatement::setStream (
|
||||
OSL_ENSURE(m_aStatementHandle,"StatementHandle is null!");
|
||||
N3SQLBindParameter(m_aStatementHandle,
|
||||
(SQLUSMALLINT)ParameterIndex,
|
||||
(SQLSMALLINT)SQL_PARAM_INPUT,
|
||||
(SQLUSMALLINT)SQL_PARAM_INPUT,
|
||||
Ctype,
|
||||
(SQLSMALLINT)SQLtype,
|
||||
(SQLUINTEGER)length,
|
||||
(SQLULEN)length,
|
||||
0,
|
||||
dataBuf,
|
||||
sizeof(ParameterIndex),
|
||||
(SDWORD*)lenBuf);
|
||||
(SQLLEN*)lenBuf);
|
||||
|
||||
// Save the input stream
|
||||
boundParams[ParameterIndex - 1].setInputStream (x, length);
|
||||
|
@ -843,8 +843,8 @@ void SAL_CALL OResultSet::insertRow( ) throw(SQLException, RuntimeException)
|
||||
checkDisposed(OResultSet_BASE::rBHelper.bDisposed);
|
||||
|
||||
|
||||
SQLSMALLINT nMaxLen = 20;
|
||||
SQLINTEGER nRealLen = 0;
|
||||
SQLLEN nMaxLen = 20;
|
||||
SQLLEN nRealLen = 0;
|
||||
Sequence<sal_Int8> aBookmark(nMaxLen);
|
||||
|
||||
SQLRETURN nRet = N3SQLBindCol(m_aStatementHandle,
|
||||
@ -925,7 +925,7 @@ void SAL_CALL OResultSet::updateRow( ) throw(SQLException, RuntimeException)
|
||||
sal_Bool bPositionByBookmark = ( NULL != getOdbcFunction( ODBC3SQLBulkOperations ) );
|
||||
if ( bPositionByBookmark )
|
||||
{
|
||||
SQLINTEGER nRealLen = 0;
|
||||
SQLLEN nRealLen = 0;
|
||||
nRet = N3SQLBindCol(m_aStatementHandle,
|
||||
0,
|
||||
SQL_C_VARBOOKMARK,
|
||||
|
@ -86,13 +86,13 @@ OResultSetMetaData::~OResultSetMetaData()
|
||||
return sValue;
|
||||
}
|
||||
// -------------------------------------------------------------------------
|
||||
SWORD OResultSetMetaData::getNumColAttrib(OConnection* _pConnection
|
||||
SQLLEN OResultSetMetaData::getNumColAttrib(OConnection* _pConnection
|
||||
,SQLHANDLE _aStatementHandle
|
||||
,const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >& _xInterface
|
||||
,sal_Int32 _column
|
||||
,sal_Int32 _ident) throw(SQLException, RuntimeException)
|
||||
{
|
||||
SWORD nValue=0;
|
||||
SQLLEN nValue=0;
|
||||
OTools::ThrowException(_pConnection,(*(T3SQLColAttribute)_pConnection->getOdbcFunction(ODBC3SQLColAttribute))(_aStatementHandle,
|
||||
(SQLUSMALLINT)_column,
|
||||
(SQLUSMALLINT)_ident,
|
||||
@ -117,13 +117,13 @@ sal_Int32 SAL_CALL OResultSetMetaData::getColumnDisplaySize( sal_Int32 column )
|
||||
return getNumColAttrib(column,SQL_DESC_DISPLAY_SIZE);
|
||||
}
|
||||
// -------------------------------------------------------------------------
|
||||
SWORD OResultSetMetaData::getColumnODBCType(OConnection* _pConnection
|
||||
SQLSMALLINT OResultSetMetaData::getColumnODBCType(OConnection* _pConnection
|
||||
,SQLHANDLE _aStatementHandle
|
||||
,const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >& _xInterface
|
||||
,sal_Int32 column)
|
||||
throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException)
|
||||
{
|
||||
SWORD nType = 0;
|
||||
SQLSMALLINT nType = 0;
|
||||
try
|
||||
{
|
||||
nType = getNumColAttrib(_pConnection,_aStatementHandle,_xInterface,column,SQL_DESC_CONCISE_TYPE);
|
||||
|
@ -260,13 +260,13 @@ void OStatement_Base::clearMyResultSet () throw (SQLException)
|
||||
m_xResultSet = Reference< XResultSet >();
|
||||
}
|
||||
//--------------------------------------------------------------------
|
||||
sal_Int32 OStatement_Base::getRowCount () throw( SQLException)
|
||||
SQLLEN OStatement_Base::getRowCount () throw( SQLException)
|
||||
{
|
||||
::osl::MutexGuard aGuard( m_aMutex );
|
||||
checkDisposed(OStatement_BASE::rBHelper.bDisposed);
|
||||
|
||||
|
||||
sal_Int32 numRows = 0;
|
||||
SQLLEN numRows = 0;
|
||||
|
||||
try {
|
||||
THROW_SQL(N3SQLRowCount(m_aStatementHandle,&numRows));
|
||||
@ -533,7 +533,9 @@ Sequence< sal_Int32 > SAL_CALL OStatement::executeBatch( ) throw(SQLException,
|
||||
SQLRETURN nError = N3SQLMoreResults(m_aStatementHandle);
|
||||
if(nError == SQL_SUCCESS)
|
||||
{
|
||||
N3SQLRowCount(m_aStatementHandle,&pArray[j]);
|
||||
SQLLEN nRowCount=0;
|
||||
N3SQLRowCount(m_aStatementHandle,&nRowCount);
|
||||
pArray[j] = nRowCount;
|
||||
}
|
||||
}
|
||||
return aRet;
|
||||
|
@ -56,16 +56,16 @@ void OTools::getValue( OConnection* _pConnection,
|
||||
sal_Bool &_bWasNull,
|
||||
const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >& _xInterface,
|
||||
void* _pValue,
|
||||
SQLINTEGER _rSize) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException)
|
||||
SQLLEN _nSize) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException)
|
||||
{
|
||||
RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "odbc", "Ocke.Janssen@sun.com", "OTools::getValue" );
|
||||
SQLINTEGER pcbValue = SQL_NULL_DATA;
|
||||
SQLLEN pcbValue = SQL_NULL_DATA;
|
||||
OTools::ThrowException(_pConnection,
|
||||
(*(T3SQLGetData)_pConnection->getOdbcFunction(ODBC3SQLGetData))(_aStatementHandle,
|
||||
(SQLUSMALLINT)columnIndex,
|
||||
_nType,
|
||||
_pValue,
|
||||
(SQLINTEGER)_rSize,
|
||||
_nSize,
|
||||
&pcbValue),
|
||||
_aStatementHandle,SQL_HANDLE_STMT,_xInterface,sal_False);
|
||||
_bWasNull = pcbValue == SQL_NULL_DATA;
|
||||
@ -86,12 +86,12 @@ void OTools::bindParameter( OConnection* _pConnection,
|
||||
{
|
||||
RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "odbc", "Ocke.Janssen@sun.com", "OTools::bindParameter" );
|
||||
SQLRETURN nRetcode;
|
||||
SWORD fSqlType;
|
||||
SWORD fCType;
|
||||
SDWORD nMaxLen = 0;
|
||||
SQLSMALLINT fSqlType;
|
||||
SQLSMALLINT fCType;
|
||||
SQLLEN nMaxLen = 0;
|
||||
// void*& pData = pDataBuffer;
|
||||
SQLINTEGER* pLen = (SQLINTEGER*)pLenBuffer;
|
||||
SQLUINTEGER nColumnSize=0;
|
||||
SQLLEN* pLen = (SQLLEN*)pLenBuffer;
|
||||
SQLULEN nColumnSize=0;
|
||||
SQLSMALLINT nDecimalDigits=0;
|
||||
|
||||
OTools::getBindTypes(_bUseWChar,_bUseOldTimeDate,_nODBCtype,fCType,fSqlType);
|
||||
@ -123,10 +123,10 @@ void OTools::bindParameter( OConnection* _pConnection,
|
||||
void OTools::bindData( SQLSMALLINT _nOdbcType,
|
||||
sal_Bool _bUseWChar,
|
||||
sal_Int8 *&_pData,
|
||||
SQLINTEGER*& pLen,
|
||||
SQLLEN*& pLen,
|
||||
const void* _pValue,
|
||||
rtl_TextEncoding _nTextEncoding,
|
||||
SQLUINTEGER& _nColumnSize)
|
||||
SQLULEN& _nColumnSize)
|
||||
{
|
||||
RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "odbc", "Ocke.Janssen@sun.com", "OTools::bindData" );
|
||||
_nColumnSize = 0;
|
||||
@ -222,7 +222,7 @@ void OTools::bindData( SQLSMALLINT _nOdbcType,
|
||||
{
|
||||
sal_Int32 nLen = 0;
|
||||
nLen = ((const ::com::sun::star::uno::Sequence< sal_Int8 > *)_pValue)->getLength();
|
||||
*pLen = (SDWORD)SQL_LEN_DATA_AT_EXEC(nLen);
|
||||
*pLen = (SQLLEN)SQL_LEN_DATA_AT_EXEC(nLen);
|
||||
}
|
||||
break;
|
||||
case SQL_LONGVARCHAR:
|
||||
@ -235,21 +235,21 @@ void OTools::bindData( SQLSMALLINT _nOdbcType,
|
||||
::rtl::OString aString(::rtl::OUStringToOString(*(::rtl::OUString*)_pValue,_nTextEncoding));
|
||||
nLen = aString.getLength();
|
||||
}
|
||||
*pLen = (SDWORD)SQL_LEN_DATA_AT_EXEC(nLen);
|
||||
*pLen = (SQLLEN)SQL_LEN_DATA_AT_EXEC(nLen);
|
||||
} break;
|
||||
case SQL_DATE:
|
||||
*(DATE_STRUCT*)_pData = *(DATE_STRUCT*)_pValue;
|
||||
*pLen = (SDWORD)sizeof(DATE_STRUCT);
|
||||
*pLen = (SQLLEN)sizeof(DATE_STRUCT);
|
||||
_nColumnSize = 10;
|
||||
break;
|
||||
case SQL_TIME:
|
||||
*(TIME_STRUCT*)_pData = *(TIME_STRUCT*)_pValue;
|
||||
*pLen = (SDWORD)sizeof(TIME_STRUCT);
|
||||
*pLen = (SQLLEN)sizeof(TIME_STRUCT);
|
||||
_nColumnSize = 8;
|
||||
break;
|
||||
case SQL_TIMESTAMP:
|
||||
*(TIMESTAMP_STRUCT*)_pData = *(TIMESTAMP_STRUCT*)_pValue;
|
||||
*pLen = (SDWORD)sizeof(TIMESTAMP_STRUCT);
|
||||
*pLen = (SQLLEN)sizeof(TIMESTAMP_STRUCT);
|
||||
_nColumnSize = 19;
|
||||
break;
|
||||
}
|
||||
@ -262,7 +262,7 @@ void OTools::bindValue( OConnection* _pConnection,
|
||||
SQLSMALLINT _nMaxLen,
|
||||
const void* _pValue,
|
||||
void* _pData,
|
||||
SQLINTEGER *pLen,
|
||||
SQLLEN *pLen,
|
||||
const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >& _xInterface,
|
||||
rtl_TextEncoding _nTextEncoding,
|
||||
sal_Bool _bUseOldTimeDate) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException)
|
||||
@ -271,7 +271,7 @@ void OTools::bindValue( OConnection* _pConnection,
|
||||
SQLRETURN nRetcode;
|
||||
SQLSMALLINT fSqlType;
|
||||
SQLSMALLINT fCType;
|
||||
SQLSMALLINT nMaxLen = _nMaxLen;
|
||||
SQLLEN nMaxLen = _nMaxLen;
|
||||
|
||||
OTools::getBindTypes( sal_False,
|
||||
_bUseOldTimeDate,
|
||||
@ -375,7 +375,7 @@ void OTools::bindValue( OConnection* _pConnection,
|
||||
_pData = (void*)(columnIndex);
|
||||
sal_Int32 nLen = 0;
|
||||
nLen = ((const ::com::sun::star::uno::Sequence< sal_Int8 > *)_pValue)->getLength();
|
||||
*pLen = (SDWORD)SQL_LEN_DATA_AT_EXEC(nLen);
|
||||
*pLen = (SQLLEN)SQL_LEN_DATA_AT_EXEC(nLen);
|
||||
}
|
||||
break;
|
||||
case SQL_LONGVARCHAR:
|
||||
@ -383,7 +383,7 @@ void OTools::bindValue( OConnection* _pConnection,
|
||||
_pData = (void*)(columnIndex);
|
||||
sal_Int32 nLen = 0;
|
||||
nLen = ((::rtl::OUString*)_pValue)->getLength();
|
||||
*pLen = (SDWORD)SQL_LEN_DATA_AT_EXEC(nLen);
|
||||
*pLen = (SQLLEN)SQL_LEN_DATA_AT_EXEC(nLen);
|
||||
} break;
|
||||
case SQL_DATE:
|
||||
*pLen = sizeof(DATE_STRUCT);
|
||||
@ -446,10 +446,10 @@ void OTools::ThrowException(OConnection* _pConnection,
|
||||
RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "odbc", "Ocke.Janssen@sun.com", "OTools::ThrowException" );
|
||||
|
||||
SDB_ODBC_CHAR szSqlState[5];
|
||||
SDWORD pfNativeError;
|
||||
SQLINTEGER pfNativeError;
|
||||
SDB_ODBC_CHAR szErrorMessage[SQL_MAX_MESSAGE_LENGTH];
|
||||
szErrorMessage[0] = '\0';
|
||||
SWORD pcbErrorMsg = 0;
|
||||
SQLSMALLINT pcbErrorMsg = 0;
|
||||
|
||||
// Informationen zur letzten Operation:
|
||||
// wenn hstmt != SQL_NULL_HSTMT ist (Benutzung von SetStatus in SdbCursor, SdbTable, ...),
|
||||
@ -478,7 +478,7 @@ void OTools::ThrowException(OConnection* _pConnection,
|
||||
Sequence<sal_Int8> OTools::getBytesValue(OConnection* _pConnection,
|
||||
SQLHANDLE _aStatementHandle,
|
||||
sal_Int32 columnIndex,
|
||||
SWORD _fSqlType,
|
||||
SQLSMALLINT _fSqlType,
|
||||
sal_Bool &_bWasNull,
|
||||
const Reference< XInterface >& _xInterface) throw(SQLException, RuntimeException)
|
||||
{
|
||||
@ -486,14 +486,14 @@ Sequence<sal_Int8> OTools::getBytesValue(OConnection* _pConnection,
|
||||
char aCharArray[2048];
|
||||
// Erstmal versuchen, die Daten mit dem kleinen Puffer
|
||||
// abzuholen:
|
||||
SQLINTEGER nMaxLen = sizeof aCharArray - 1;
|
||||
SQLLEN nMaxLen = sizeof aCharArray - 1;
|
||||
// GETDATA(SQL_C_CHAR,aCharArray,nMaxLen);
|
||||
SQLINTEGER pcbValue = 0;
|
||||
SQLLEN pcbValue = 0;
|
||||
OTools::ThrowException(_pConnection,(*(T3SQLGetData)_pConnection->getOdbcFunction(ODBC3SQLGetData))(_aStatementHandle,
|
||||
(SQLUSMALLINT)columnIndex,
|
||||
_fSqlType,
|
||||
(SQLPOINTER)aCharArray,
|
||||
(SQLINTEGER)nMaxLen,
|
||||
nMaxLen,
|
||||
&pcbValue),
|
||||
_aStatementHandle,SQL_HANDLE_STMT,_xInterface);
|
||||
|
||||
@ -540,7 +540,7 @@ Sequence<sal_Int8> OTools::getBytesValue(OConnection* _pConnection,
|
||||
::rtl::OUString OTools::getStringValue(OConnection* _pConnection,
|
||||
SQLHANDLE _aStatementHandle,
|
||||
sal_Int32 columnIndex,
|
||||
SWORD _fSqlType,
|
||||
SQLSMALLINT _fSqlType,
|
||||
sal_Bool &_bWasNull,
|
||||
const Reference< XInterface >& _xInterface,
|
||||
rtl_TextEncoding _nTextEncoding) throw(SQLException, RuntimeException)
|
||||
@ -555,15 +555,15 @@ Sequence<sal_Int8> OTools::getBytesValue(OConnection* _pConnection,
|
||||
{
|
||||
sal_Unicode waCharArray[2048];
|
||||
// read the unicode data
|
||||
sal_Int32 nMaxLen = (sizeof(waCharArray) / sizeof(sal_Unicode)) - 1;
|
||||
SQLLEN nMaxLen = (sizeof(waCharArray) / sizeof(sal_Unicode)) - 1;
|
||||
// GETDATA(SQL_C_WCHAR, waCharArray, nMaxLen + sizeof(sal_Unicode));
|
||||
|
||||
SQLINTEGER pcbValue=0;
|
||||
SQLLEN pcbValue=0;
|
||||
OTools::ThrowException(_pConnection,(*(T3SQLGetData)_pConnection->getOdbcFunction(ODBC3SQLGetData))(_aStatementHandle,
|
||||
(SQLUSMALLINT)columnIndex,
|
||||
SQL_C_WCHAR,
|
||||
&waCharArray,
|
||||
(SQLINTEGER)nMaxLen*sizeof(sal_Unicode),
|
||||
(SQLLEN)nMaxLen*sizeof(sal_Unicode),
|
||||
&pcbValue),
|
||||
_aStatementHandle,SQL_HANDLE_STMT,_xInterface);
|
||||
_bWasNull = pcbValue == SQL_NULL_DATA;
|
||||
@ -571,10 +571,10 @@ Sequence<sal_Int8> OTools::getBytesValue(OConnection* _pConnection,
|
||||
return ::rtl::OUString();
|
||||
// Bei Fehler bricht der GETDATA-Makro mit return ab,
|
||||
// bei NULL mit break!
|
||||
SQLINTEGER nRealSize = 0;
|
||||
SQLLEN nRealSize = 0;
|
||||
if ( pcbValue > -1 )
|
||||
nRealSize = pcbValue / sizeof(sal_Unicode);
|
||||
SQLINTEGER nLen = pcbValue != SQL_NO_TOTAL ? std::min(nRealSize, nMaxLen) : (nMaxLen-1);
|
||||
SQLLEN nLen = pcbValue != SQL_NO_TOTAL ? std::min(nRealSize, nMaxLen) : (nMaxLen-1);
|
||||
waCharArray[nLen] = 0;
|
||||
aData.append(waCharArray,nLen);
|
||||
|
||||
@ -598,7 +598,7 @@ Sequence<sal_Int8> OTools::getBytesValue(OConnection* _pConnection,
|
||||
(SQLUSMALLINT)columnIndex,
|
||||
SQL_C_WCHAR,
|
||||
&waCharArray,
|
||||
(SQLINTEGER)nLen+1,
|
||||
(SQLLEN)nLen+1,
|
||||
&pcbValue),
|
||||
_aStatementHandle,SQL_HANDLE_STMT,_xInterface);
|
||||
nRealSize = 0;
|
||||
@ -616,21 +616,21 @@ Sequence<sal_Int8> OTools::getBytesValue(OConnection* _pConnection,
|
||||
char aCharArray[2048];
|
||||
// Erstmal versuchen, die Daten mit dem kleinen Puffer
|
||||
// abzuholen:
|
||||
SDWORD nMaxLen = sizeof aCharArray - 1;
|
||||
SQLLEN nMaxLen = sizeof aCharArray - 1;
|
||||
// GETDATA(SQL_C_CHAR,aCharArray,nMaxLen);
|
||||
SQLINTEGER pcbValue = 0;
|
||||
SQLLEN pcbValue = 0;
|
||||
OTools::ThrowException(_pConnection,(*(T3SQLGetData)_pConnection->getOdbcFunction(ODBC3SQLGetData))(_aStatementHandle,
|
||||
(SQLUSMALLINT)columnIndex,
|
||||
SQL_C_CHAR,
|
||||
&aCharArray,
|
||||
(SQLINTEGER)nMaxLen,
|
||||
nMaxLen,
|
||||
&pcbValue),
|
||||
_aStatementHandle,SQL_HANDLE_STMT,_xInterface);
|
||||
_bWasNull = pcbValue == SQL_NULL_DATA;
|
||||
if(_bWasNull)
|
||||
return ::rtl::OUString();
|
||||
|
||||
SQLINTEGER nLen = pcbValue != SQL_NO_TOTAL ? std::min(pcbValue, nMaxLen) : (nMaxLen-1);
|
||||
SQLLEN nLen = pcbValue != SQL_NO_TOTAL ? std::min(pcbValue, nMaxLen) : (nMaxLen-1);
|
||||
aCharArray[nLen] = 0;
|
||||
if ( ((pcbValue == SQL_NO_TOTAL) || pcbValue > nMaxLen) && aCharArray[nLen-1] == 0 && nLen > 0 )
|
||||
--nLen;
|
||||
|
@ -187,7 +187,7 @@ namespace connectivity
|
||||
SQLSMALLINT * StringLengthPtr,
|
||||
SQLSMALLINT * TypePtr,
|
||||
SQLSMALLINT * SubTypePtr,
|
||||
SQLINTEGER * LengthPtr,
|
||||
SQLLEN * LengthPtr,
|
||||
SQLSMALLINT * PrecisionPtr,
|
||||
SQLSMALLINT * ScalePtr,
|
||||
SQLSMALLINT * NullablePtr);
|
||||
@ -203,8 +203,8 @@ namespace connectivity
|
||||
SQLSMALLINT Precision,
|
||||
SQLSMALLINT Scale,
|
||||
SQLPOINTER DataPtr,
|
||||
SQLINTEGER * StringLengthPtr,
|
||||
SQLINTEGER * IndicatorPtr);
|
||||
SQLLEN * StringLengthPtr,
|
||||
SQLLEN * IndicatorPtr);
|
||||
|
||||
#define N3SQLSetDescRec(a,b,c,d,e,f,g,h,i,j) (*(T3SQLSetDescRec)getOdbcFunction(ODBC3SQLSetDescRec))(a,b,c,d,e,f,g,h,i,j)
|
||||
*/
|
||||
@ -221,11 +221,11 @@ namespace connectivity
|
||||
SQLSMALLINT InputOutputType,
|
||||
SQLSMALLINT ValueType,
|
||||
SQLSMALLINT ParameterType,
|
||||
SQLUINTEGER ColumnSize,
|
||||
SQLULEN ColumnSize,
|
||||
SQLSMALLINT DecimalDigits,
|
||||
SQLPOINTER ParameterValuePtr,
|
||||
SQLINTEGER BufferLength,
|
||||
SQLINTEGER * StrLen_or_IndPtr);
|
||||
SQLLEN BufferLength,
|
||||
SQLLEN * StrLen_or_IndPtr);
|
||||
|
||||
#define N3SQLBindParameter(a,b,c,d,e,f,g,h,i,j) (*(T3SQLBindParameter)getOdbcFunction(ODBC3SQLBindParameter))(a,b,c,d,e,f,g,h,i,j)
|
||||
|
||||
@ -266,7 +266,7 @@ namespace connectivity
|
||||
typedef SQLRETURN (SQL_API *T3SQLDescribeParam) (SQLHSTMT StatementHandle,
|
||||
SQLUSMALLINT ParameterNumber,
|
||||
SQLSMALLINT * DataTypePtr,
|
||||
SQLUINTEGER * ParameterSizePtr,
|
||||
SQLULEN * ParameterSizePtr,
|
||||
SQLSMALLINT * DecimalDigitsPtr,
|
||||
SQLSMALLINT * NullablePtr);
|
||||
|
||||
@ -284,13 +284,13 @@ namespace connectivity
|
||||
|
||||
typedef SQLRETURN (SQL_API *T3SQLPutData) ( SQLHSTMT StatementHandle,
|
||||
SQLPOINTER DataPtr,
|
||||
SQLINTEGER StrLen_or_Ind);
|
||||
SQLLEN StrLen_or_Ind);
|
||||
|
||||
#define N3SQLPutData(a,b,c) (*(T3SQLPutData)getOdbcFunction(ODBC3SQLPutData))(a,b,c)
|
||||
|
||||
// Retrieving results and information about results
|
||||
typedef SQLRETURN (SQL_API *T3SQLRowCount) ( SQLHSTMT StatementHandle,
|
||||
SQLINTEGER * RowCountPtr);
|
||||
SQLLEN * RowCountPtr);
|
||||
|
||||
#define N3SQLRowCount(a,b) (*(T3SQLRowCount)getOdbcFunction(ODBC3SQLRowCount))(a,b)
|
||||
|
||||
@ -300,12 +300,12 @@ namespace connectivity
|
||||
#define N3SQLNumResultCols(a,b) (*(T3SQLNumResultCols)getOdbcFunction(ODBC3SQLNumResultCols))(a,b)
|
||||
|
||||
typedef SQLRETURN (SQL_API *T3SQLDescribeCol) ( SQLHSTMT StatementHandle,
|
||||
SQLSMALLINT ColumnNumber,
|
||||
SQLUSMALLINT ColumnNumber,
|
||||
SQLCHAR * ColumnName,
|
||||
SQLSMALLINT BufferLength,
|
||||
SQLSMALLINT * NameLengthPtr,
|
||||
SQLSMALLINT * DataTypePtr,
|
||||
SQLUINTEGER * ColumnSizePtr,
|
||||
SQLULEN * ColumnSizePtr,
|
||||
SQLSMALLINT * DecimalDigitsPtr,
|
||||
SQLSMALLINT * NullablePtr);
|
||||
|
||||
@ -317,7 +317,7 @@ namespace connectivity
|
||||
SQLPOINTER CharacterAttributePtr,
|
||||
SQLSMALLINT BufferLength,
|
||||
SQLSMALLINT * StringLengthPtr,
|
||||
SQLPOINTER NumericAttributePtr);
|
||||
SQLLEN * NumericAttributePtr);
|
||||
|
||||
#define N3SQLColAttribute(a,b,c,d,e,f,g) (*(T3SQLColAttribute)getOdbcFunction(ODBC3SQLColAttribute))(a,b,c,d,e,f,g)
|
||||
|
||||
@ -325,8 +325,8 @@ namespace connectivity
|
||||
SQLUSMALLINT ColumnNumber,
|
||||
SQLSMALLINT TargetType,
|
||||
SQLPOINTER TargetValuePtr,
|
||||
SQLINTEGER BufferLength,
|
||||
SQLINTEGER * StrLen_or_IndPtr);
|
||||
SQLLEN BufferLength,
|
||||
SQLLEN * StrLen_or_IndPtr);
|
||||
|
||||
#define N3SQLBindCol(a,b,c,d,e,f) (*(T3SQLBindCol)getOdbcFunction(ODBC3SQLBindCol))(a,b,c,d,e,f)
|
||||
|
||||
@ -336,7 +336,7 @@ namespace connectivity
|
||||
|
||||
typedef SQLRETURN (SQL_API *T3SQLFetchScroll) ( SQLHSTMT StatementHandle,
|
||||
SQLSMALLINT FetchOrientation,
|
||||
SQLINTEGER FetchOffset);
|
||||
SQLLEN FetchOffset);
|
||||
|
||||
#define N3SQLFetchScroll(a,b,c) (*(T3SQLFetchScroll)getOdbcFunction(ODBC3SQLFetchScroll))(a,b,c)
|
||||
|
||||
@ -344,20 +344,20 @@ namespace connectivity
|
||||
SQLUSMALLINT ColumnNumber,
|
||||
SQLSMALLINT TargetType,
|
||||
SQLPOINTER TargetValuePtr,
|
||||
SQLINTEGER BufferLength,
|
||||
SQLINTEGER * StrLen_or_IndPtr);
|
||||
SQLLEN BufferLength,
|
||||
SQLLEN * StrLen_or_IndPtr);
|
||||
|
||||
#define N3SQLGetData(a,b,c,d,e,f) (*(T3SQLGetData)getOdbcFunction(ODBC3SQLGetData))(a,b,c,d,e,f)
|
||||
|
||||
typedef SQLRETURN (SQL_API *T3SQLSetPos) ( SQLHSTMT StatementHandle,
|
||||
SQLUSMALLINT RowNumber,
|
||||
SQLSETPOSIROW RowNumber,
|
||||
SQLUSMALLINT Operation,
|
||||
SQLUSMALLINT LockType);
|
||||
|
||||
#define N3SQLSetPos(a,b,c,d) (*(T3SQLSetPos)getOdbcFunction(ODBC3SQLSetPos))(a,b,c,d)
|
||||
|
||||
typedef SQLRETURN (SQL_API *T3SQLBulkOperations) ( SQLHSTMT StatementHandle,
|
||||
SQLUSMALLINT Operation);
|
||||
SQLSMALLINT Operation);
|
||||
|
||||
#define N3SQLBulkOperations(a,b) (*(T3SQLBulkOperations)getOdbcFunction(ODBC3SQLBulkOperations))(a,b)
|
||||
|
||||
@ -461,15 +461,15 @@ namespace connectivity
|
||||
#define N3SQLProcedures(a,b,c,d,e,f,g) (*(T3SQLProcedures)getOdbcFunction(ODBC3SQLProcedures))(a,b,c,d,e,f,g)
|
||||
|
||||
typedef SQLRETURN (SQL_API *T3SQLSpecialColumns) (SQLHSTMT StatementHandle,
|
||||
SQLSMALLINT IdentifierType,
|
||||
SQLUSMALLINT IdentifierType,
|
||||
SQLCHAR * CatalogName,
|
||||
SQLSMALLINT NameLength1,
|
||||
SQLCHAR * SchemaName,
|
||||
SQLSMALLINT NameLength2,
|
||||
SQLCHAR * TableName,
|
||||
SQLSMALLINT NameLength3,
|
||||
SQLSMALLINT Scope,
|
||||
SQLSMALLINT Nullable);
|
||||
SQLUSMALLINT Scope,
|
||||
SQLUSMALLINT Nullable);
|
||||
|
||||
#define N3SQLSpecialColumns(a,b,c,d,e,f,g,h,i,j) (*(T3SQLSpecialColumns)getOdbcFunction(ODBC3SQLSpecialColumns))(a,b,c,d,e,f,g,h,i,j)
|
||||
|
||||
|
@ -128,7 +128,7 @@ namespace connectivity
|
||||
typedef ::std::vector<ORowSetValue> TDataRow;
|
||||
|
||||
TVoidVector m_aBindVector;
|
||||
::std::vector<sal_Int32> m_aLengthVector;
|
||||
::std::vector<SQLLEN> m_aLengthVector;
|
||||
::std::map<sal_Int32,SWORD> m_aODBCColumnTypes;
|
||||
::com::sun::star::uno::Sequence<sal_Int8> m_aBookmark;
|
||||
|
||||
|
@ -81,13 +81,13 @@ namespace connectivity
|
||||
virtual ~OResultSetMetaData();
|
||||
|
||||
|
||||
static SWORD getNumColAttrib(OConnection* _pConnection
|
||||
static SQLLEN getNumColAttrib(OConnection* _pConnection
|
||||
,SQLHANDLE _aStatementHandle
|
||||
,const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >& _xInterface
|
||||
,sal_Int32 _column
|
||||
,sal_Int32 ident) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
|
||||
|
||||
static SWORD getColumnODBCType(OConnection* _pConnection
|
||||
static SQLSMALLINT getColumnODBCType(OConnection* _pConnection
|
||||
,SQLHANDLE _aStatementHandle
|
||||
,const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >& _xInterface
|
||||
,sal_Int32 column)
|
||||
|
@ -130,7 +130,7 @@ namespace connectivity
|
||||
*/
|
||||
virtual OResultSet* createResulSet();
|
||||
|
||||
sal_Int32 getRowCount () throw( ::com::sun::star::sdbc::SQLException);
|
||||
SQLLEN getRowCount () throw( ::com::sun::star::sdbc::SQLException);
|
||||
|
||||
|
||||
void disposeResultSet();
|
||||
|
@ -197,7 +197,7 @@ namespace connectivity
|
||||
static ::rtl::OUString getStringValue( OConnection* _pConnection,
|
||||
SQLHANDLE _aStatementHandle,
|
||||
sal_Int32 columnIndex,
|
||||
SWORD _fSqlType,
|
||||
SQLSMALLINT _fSqlType,
|
||||
sal_Bool &_bWasNull,
|
||||
const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >& _xInterface,
|
||||
rtl_TextEncoding _nTextEncoding) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
|
||||
@ -205,7 +205,7 @@ namespace connectivity
|
||||
static ::com::sun::star::uno::Sequence<sal_Int8> getBytesValue(OConnection* _pConnection,
|
||||
SQLHANDLE _aStatementHandle,
|
||||
sal_Int32 columnIndex,
|
||||
SWORD _fSqlType,
|
||||
SQLSMALLINT _fSqlType,
|
||||
sal_Bool &_bWasNull,
|
||||
const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >& _xInterface) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
|
||||
static void getValue( OConnection* _pConnection,
|
||||
@ -215,7 +215,7 @@ namespace connectivity
|
||||
sal_Bool &_bWasNull,
|
||||
const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >& _xInterface,
|
||||
void* _pValue,
|
||||
SQLINTEGER _rSize) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
|
||||
SQLLEN _nSize) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
|
||||
|
||||
/**
|
||||
bindData copies the from pValue to pData
|
||||
@ -229,10 +229,10 @@ namespace connectivity
|
||||
static void bindData( SQLSMALLINT _nOdbcType,
|
||||
sal_Bool _bUseWChar,
|
||||
sal_Int8 *&_pData,
|
||||
SQLINTEGER*& pLen,
|
||||
SQLLEN*& pLen,
|
||||
const void* _pValue,
|
||||
rtl_TextEncoding _nTextEncoding,
|
||||
SQLUINTEGER& _nColumnSize);
|
||||
SQLULEN& _nColumnSize);
|
||||
|
||||
static void bindParameter( OConnection* _pConnection,
|
||||
SQLHANDLE _hStmt,
|
||||
@ -254,7 +254,7 @@ namespace connectivity
|
||||
SQLSMALLINT _nMaxLen,
|
||||
const void* _pValue,
|
||||
void* _pData,
|
||||
SQLINTEGER *pLen,
|
||||
SQLLEN *pLen,
|
||||
const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >& _xInterface,
|
||||
rtl_TextEncoding _nTextEncoding,
|
||||
sal_Bool _bUseOldTimeDate) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
|
||||
|
@ -484,7 +484,6 @@
|
||||
#include "sal/config.h"
|
||||
#include "sal/types.h"
|
||||
#include "setup_native/qswin32.h"
|
||||
#include "shell/systemshell.hxx"
|
||||
#include "sot/clsids.hxx"
|
||||
#include "sot/exchange.hxx"
|
||||
#include "sot/factory.hxx"
|
||||
|
@ -43,8 +43,6 @@
|
||||
#include <unotools/localfilehelper.hxx>
|
||||
#include <cppuhelper/implbase1.hxx>
|
||||
|
||||
#include <shell/systemshell.hxx>
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
#include <sfx2/app.hxx>
|
||||
@ -470,7 +468,7 @@ void SfxPickList::Notify( SfxBroadcaster&, const SfxHint& rHint )
|
||||
pDocSh->Get_Impl()->bWaitingForPicklist = sal_False;
|
||||
|
||||
if ( aURL.GetProtocol() == INET_PROT_FILE )
|
||||
SystemShell::AddToRecentDocumentList( aURL.GetURLNoPass( INetURLObject::NO_DECODE ), (pFilter) ? pFilter->GetMimeType() : String() );
|
||||
Application::AddToRecentDocumentList( aURL.GetURLNoPass( INetURLObject::NO_DECODE ), (pFilter) ? pFilter->GetMimeType() : String() );
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
@ -100,7 +100,6 @@
|
||||
#include <sot/storinfo.hxx>
|
||||
#include <sot/exchange.hxx>
|
||||
#include <sot/formats.hxx>
|
||||
#include <shell/systemshell.hxx>
|
||||
#include <comphelper/storagehelper.hxx>
|
||||
#include <comphelper/seqstream.hxx>
|
||||
#include <comphelper/documentconstants.hxx>
|
||||
@ -831,7 +830,7 @@ sal_Bool SfxObjectShell::DoLoad( SfxMedium *pMed )
|
||||
if ( aUrl.GetProtocol() == INET_PROT_FILE )
|
||||
{
|
||||
const SfxFilter* pOrgFilter = pMedium->GetOrigFilter();
|
||||
SystemShell::AddToRecentDocumentList(
|
||||
Application::AddToRecentDocumentList(
|
||||
aUrl.GetURLNoPass( INetURLObject::NO_DECODE ),
|
||||
(pOrgFilter) ? pOrgFilter->GetMimeType() : String() );
|
||||
}
|
||||
|
@ -91,7 +91,6 @@ SHL1STDLIBS+=\
|
||||
$(TOOLSLIB) \
|
||||
$(I18NISOLANGLIB) \
|
||||
$(SAXLIB) \
|
||||
$(SYSSHELLLIB) \
|
||||
$(COMPHELPERLIB) \
|
||||
$(UCBHELPERLIB) \
|
||||
$(CPPUHELPERLIB) \
|
||||
|
@ -1,53 +0,0 @@
|
||||
/*************************************************************************
|
||||
*
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* Copyright 2008 by Sun Microsystems, Inc.
|
||||
*
|
||||
* OpenOffice.org - a multi-platform office productivity suite
|
||||
*
|
||||
* $RCSfile: systemshell.hxx,v $
|
||||
* $Revision: 1.5 $
|
||||
*
|
||||
* This file is part of OpenOffice.org.
|
||||
*
|
||||
* OpenOffice.org is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License version 3
|
||||
* only, as published by the Free Software Foundation.
|
||||
*
|
||||
* OpenOffice.org is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License version 3 for more details
|
||||
* (a copy is included in the LICENSE file that accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* version 3 along with OpenOffice.org. If not, see
|
||||
* <http://www.openoffice.org/license.html>
|
||||
* for a copy of the LGPLv3 License.
|
||||
*
|
||||
************************************************************************/
|
||||
|
||||
#ifndef _SYSTEMSHELL_HXX_
|
||||
#define _SYSTEMSHELL_HXX_
|
||||
|
||||
#include <rtl/ustring.hxx>
|
||||
|
||||
namespace SystemShell
|
||||
{
|
||||
/** Add a file to the system shells recent document list if there is any.
|
||||
This function may have no effect under Unix because there is no
|
||||
standard API among the different desktop managers.
|
||||
|
||||
@param aFileUrl
|
||||
The file url of the document.
|
||||
|
||||
@param aMimeType
|
||||
The mime content type of the document specified by aFileUrl.
|
||||
If an empty string will be provided "application/octet-stream"
|
||||
will be used.
|
||||
*/
|
||||
void AddToRecentDocumentList(const rtl::OUString& aFileUrl, const rtl::OUString& aMimeType);
|
||||
}
|
||||
|
||||
#endif
|
@ -10,9 +10,6 @@ sl shell\source\cmdmail nmake - u sl_cmdmail sl
|
||||
sl shell\source\cmdmail nmake - p sl_cmdmail sl_inc NULL
|
||||
sl shell\source\all nmake - all sl_all sl_inc NULL
|
||||
sl shell\source\unix\sysshell nmake - u sl_unix_sysshell sl_all sl_inc NULL
|
||||
sl shell\source\aqua\sysshell nmake - u sl_aqua_sysshell sl_all sl_inc NULL
|
||||
sl shell\source\win32\sysshell nmake - w sl_win32_sysshell sl_inc NULL
|
||||
sl shell\source\os2\sysshell nmake - p sl_os2_sysshell sl_inc NULL
|
||||
sl shell\source\tools\lngconvex nmake - w sl_win32_lngconv sl_inc NULL
|
||||
sl shell\source\tools\regsvrex nmake - w sl_win32_regsvrex sl_inc NULL
|
||||
sl shell\source\all\zipfile nmake - w sl_all_zipfile sl_inc NULL
|
||||
|
@ -1,7 +1,3 @@
|
||||
mkdir: %_DEST%\inc%_EXT%\shell
|
||||
|
||||
..\inc\*.hxx %_DEST%\inc%_EXT%\shell\*.hxx
|
||||
|
||||
..\%__SRC%\slb\*.lib %_DEST%\lib%_EXT%\*.lib
|
||||
..\%__SRC%\slb\*.a %_DEST%\lib%_EXT%\*.a
|
||||
..\%__SRC%\lib\lib*.so %_DEST%\lib%_EXT%
|
||||
|
@ -1,61 +0,0 @@
|
||||
#*************************************************************************
|
||||
#
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# Copyright 2008 by Sun Microsystems, Inc.
|
||||
#
|
||||
# OpenOffice.org - a multi-platform office productivity suite
|
||||
#
|
||||
# $RCSfile: makefile.mk,v $
|
||||
#
|
||||
# $Revision: 1.3 $
|
||||
#
|
||||
# This file is part of OpenOffice.org.
|
||||
#
|
||||
# OpenOffice.org is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Lesser General Public License version 3
|
||||
# only, as published by the Free Software Foundation.
|
||||
#
|
||||
# OpenOffice.org is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU Lesser General Public License version 3 for more details
|
||||
# (a copy is included in the LICENSE file that accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU Lesser General Public License
|
||||
# version 3 along with OpenOffice.org. If not, see
|
||||
# <http://www.openoffice.org/license.html>
|
||||
# for a copy of the LGPLv3 License.
|
||||
#
|
||||
#*************************************************************************
|
||||
|
||||
PRJ=..$/..$/..
|
||||
|
||||
PRJNAME=shell
|
||||
TARGET=sysshell
|
||||
LIBTARGET=NO
|
||||
ENABLE_EXCEPTIONS=TRUE
|
||||
|
||||
# --- Settings -----------------------------------------------------
|
||||
|
||||
.INCLUDE : settings.mk
|
||||
|
||||
CFLAGSCXX+=$(OBJCXXFLAGS)
|
||||
|
||||
# --- Files --------------------------------------------------------
|
||||
|
||||
.IF "$(OS)" == "MACOSX"
|
||||
|
||||
LIB1OBJFILES=$(SLO)$/systemshell.obj
|
||||
LIB1TARGET=$(SLB)$/$(TARGET).lib
|
||||
LIB1ARCHIV=$(SLB)$/lib$(TARGET).a
|
||||
|
||||
.ELSE
|
||||
|
||||
dummy:
|
||||
@echo "Nothing to build for $(OS)"
|
||||
|
||||
.ENDIF # MACOSX
|
||||
# --- Targets ------------------------------------------------------
|
||||
|
||||
.INCLUDE : target.mk
|
@ -1,133 +0,0 @@
|
||||
/*************************************************************************
|
||||
*
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* Copyright 2008 by Sun Microsystems, Inc.
|
||||
*
|
||||
* OpenOffice.org - a multi-platform office productivity suite
|
||||
*
|
||||
* $RCSfile: systemshell.cxx,v $
|
||||
* $Revision: 1.3 $
|
||||
*
|
||||
* This file is part of OpenOffice.org.
|
||||
*
|
||||
* OpenOffice.org is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License version 3
|
||||
* only, as published by the Free Software Foundation.
|
||||
*
|
||||
* OpenOffice.org is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License version 3 for more details
|
||||
* (a copy is included in the LICENSE file that accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* version 3 along with OpenOffice.org. If not, see
|
||||
* <http://www.openoffice.org/license.html>
|
||||
* for a copy of the LGPLv3 License.
|
||||
*
|
||||
************************************************************************/
|
||||
|
||||
// MARKER(update_precomp.py): autogen include statement, do not remove
|
||||
#include "precompiled_shell.hxx"
|
||||
#include "systemshell.hxx"
|
||||
|
||||
#include <comphelper/processfactory.hxx>
|
||||
|
||||
#ifndef _COM_SUN_STAR_BEANS_XPROPERTYSET_Hpp_
|
||||
#include <com/sun/star/beans/XPropertySet.hpp>
|
||||
#endif
|
||||
#include <com/sun/star/lang/XMultiServiceFactory.hpp>
|
||||
#include <com/sun/star/uri/XExternalUriReferenceTranslator.hpp>
|
||||
#include <com/sun/star/uri/ExternalUriReferenceTranslator.hpp>
|
||||
#include <com/sun/star/uno/XComponentContext.hpp>
|
||||
|
||||
#include <premac.h>
|
||||
#include <Cocoa/Cocoa.h>
|
||||
#include <postmac.h>
|
||||
|
||||
using namespace ::com::sun::star;
|
||||
|
||||
// We need to re-encode file urls because osl_getFileURLFromSystemPath converts
|
||||
// to UTF-8 before encoding non ascii characters, which is not what other apps expect.
|
||||
static rtl::OUString translateToExternalUrl(const rtl::OUString& internalUrl)
|
||||
{
|
||||
rtl::OUString extUrl;
|
||||
|
||||
uno::Reference< lang::XMultiServiceFactory > sm = comphelper::getProcessServiceFactory();
|
||||
if (sm.is())
|
||||
{
|
||||
uno::Reference< beans::XPropertySet > pset;
|
||||
sm->queryInterface( getCppuType( &pset )) >>= pset;
|
||||
if (pset.is())
|
||||
{
|
||||
uno::Reference< uno::XComponentContext > context;
|
||||
static const rtl::OUString DEFAULT_CONTEXT( RTL_CONSTASCII_USTRINGPARAM( "DefaultContext" ) );
|
||||
pset->getPropertyValue(DEFAULT_CONTEXT) >>= context;
|
||||
if (context.is())
|
||||
extUrl = uri::ExternalUriReferenceTranslator::create(context)->translateToExternal(internalUrl);
|
||||
}
|
||||
}
|
||||
return extUrl;
|
||||
}
|
||||
|
||||
// #i104525# many versions of OSX have problems with some URLs:
|
||||
// when an app requests OSX to add one of these URLs to the "Recent Items" list
|
||||
// then this app gets killed (TextEdit, Preview, etc. and also OOo)
|
||||
static bool isDangerousUrl( const rtl::OUString& rUrl)
|
||||
{
|
||||
// use a heuristic that detects all known cases since there is no official comment
|
||||
// on the exact impact and root cause of the OSX bug
|
||||
const int nLen = rUrl.getLength();
|
||||
const sal_Unicode* p = rUrl.getStr();
|
||||
for( int i = 0; i < nLen-3; ++i, ++p) {
|
||||
if( p[0] != '%')
|
||||
continue;
|
||||
// escaped percent?
|
||||
if( (p[1] == '2') && (p[2] == '5'))
|
||||
return true;
|
||||
// escapes are considered to be UTF-8 encoded
|
||||
// => check for invalid UTF-8 leading byte
|
||||
if( (p[1] != 'f') && (p[1] != 'F'))
|
||||
continue;
|
||||
int cLowNibble = p[2];
|
||||
if( (cLowNibble >= '0') && (cLowNibble <= '9'))
|
||||
return false;
|
||||
if( cLowNibble >= 'a')
|
||||
cLowNibble -= 'a' - 'A';
|
||||
if( (cLowNibble < 'A') || (cLowNibble >= 'C'))
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
namespace SystemShell {
|
||||
|
||||
//##############################
|
||||
void AddToRecentDocumentList(const rtl::OUString& aFileUrl, const rtl::OUString& /*aMimeType*/)
|
||||
{
|
||||
// Convert file URL for external use (see above)
|
||||
rtl::OUString externalUrl = translateToExternalUrl(aFileUrl);
|
||||
if( 0 == externalUrl.getLength() )
|
||||
externalUrl = aFileUrl;
|
||||
|
||||
if( externalUrl.getLength()
|
||||
&& !isDangerousUrl( externalUrl))
|
||||
{
|
||||
NSString* pString = [[NSString alloc] initWithCharacters: externalUrl.getStr() length: externalUrl.getLength()];
|
||||
NSURL* pURL = [NSURL URLWithString: pString];
|
||||
|
||||
if( pURL )
|
||||
{
|
||||
NSDocumentController* pCtrl = [NSDocumentController sharedDocumentController];
|
||||
[pCtrl noteNewRecentDocumentURL: pURL];
|
||||
}
|
||||
if( pString )
|
||||
[pString release];
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
} // namespace SystemShell
|
||||
|
@ -1,47 +0,0 @@
|
||||
#*************************************************************************
|
||||
#
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# Copyright 2008 by Sun Microsystems, Inc.
|
||||
#
|
||||
# OpenOffice.org - a multi-platform office productivity suite
|
||||
#
|
||||
# $RCSfile: makefile.mk,v $
|
||||
#
|
||||
# $Revision: 1.11 $
|
||||
#
|
||||
# This file is part of OpenOffice.org.
|
||||
#
|
||||
# OpenOffice.org is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Lesser General Public License version 3
|
||||
# only, as published by the Free Software Foundation.
|
||||
#
|
||||
# OpenOffice.org is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU Lesser General Public License version 3 for more details
|
||||
# (a copy is included in the LICENSE file that accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU Lesser General Public License
|
||||
# version 3 along with OpenOffice.org. If not, see
|
||||
# <http://www.openoffice.org/license.html>
|
||||
# for a copy of the LGPLv3 License.
|
||||
#
|
||||
#*************************************************************************
|
||||
|
||||
PRJ=..$/..$/..
|
||||
|
||||
PRJNAME=SHELL
|
||||
TARGET=sysshell
|
||||
|
||||
# --- Settings -----------------------------------------------------
|
||||
|
||||
.INCLUDE : settings.mk
|
||||
|
||||
# --- Files --------------------------------------------------------
|
||||
|
||||
SLOFILES= $(SLO)$/systemshell.obj
|
||||
|
||||
# --- Targets ------------------------------------------------------
|
||||
|
||||
.INCLUDE : target.mk
|
@ -1,68 +0,0 @@
|
||||
/*************************************************************************
|
||||
*
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* Copyright 2008 by Sun Microsystems, Inc.
|
||||
*
|
||||
* OpenOffice.org - a multi-platform office productivity suite
|
||||
*
|
||||
* $RCSfile: systemshell.cxx,v $
|
||||
* $Revision: 1.9 $
|
||||
*
|
||||
* This file is part of OpenOffice.org.
|
||||
*
|
||||
* OpenOffice.org is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License version 3
|
||||
* only, as published by the Free Software Foundation.
|
||||
*
|
||||
* OpenOffice.org is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License version 3 for more details
|
||||
* (a copy is included in the LICENSE file that accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* version 3 along with OpenOffice.org. If not, see
|
||||
* <http://www.openoffice.org/license.html>
|
||||
* for a copy of the LGPLv3 License.
|
||||
*
|
||||
************************************************************************/
|
||||
|
||||
// MARKER(update_precomp.py): autogen include statement, do not remove
|
||||
#include "precompiled_shell.hxx"
|
||||
|
||||
#ifndef _SYSTEMSHELL_HXX_
|
||||
#include "../../../inc/systemshell.hxx"
|
||||
#endif
|
||||
|
||||
#ifndef _OSL_DIAGNOSE_H_
|
||||
#include <osl/diagnose.h>
|
||||
#endif
|
||||
|
||||
#ifndef _OSL_FILE_HXX_
|
||||
#include <osl/file.hxx>
|
||||
#endif
|
||||
|
||||
namespace SystemShell
|
||||
{
|
||||
|
||||
/** Add a file to the system shells recent document list if there is any.
|
||||
This function may have no effect under Unix because there is no
|
||||
standard API among the different desktop managers.
|
||||
|
||||
@param aFileUrl
|
||||
The file url of the document.
|
||||
*/
|
||||
void AddToRecentDocumentList(const rtl::OUString& aFileUrl, const rtl::OUString& aMimeType)
|
||||
{
|
||||
rtl::OUString system_path;
|
||||
osl::FileBase::RC rc = osl::FileBase::getSystemPathFromFileURL(aFileUrl, system_path);
|
||||
|
||||
OSL_ENSURE(osl::FileBase::E_None == rc, "Invalid file url");
|
||||
|
||||
//if (osl::FileBase::E_None == rc)
|
||||
// SHAddToRecentDocs(SHARD_PATHW, system_path.getStr());
|
||||
}
|
||||
|
||||
}; // end namespace SystemShell
|
||||
|
@ -48,10 +48,6 @@ CFLAGS+=-DSYSTEM_EXPAT
|
||||
|
||||
.IF "$(OS)" != "MACOSX"
|
||||
|
||||
LIB1OBJFILES=$(SLO)$/systemshell.obj
|
||||
LIB1TARGET=$(SLB)$/$(TARGET).lib
|
||||
LIB1ARCHIV=$(SLB)$/lib$(TARGET).a
|
||||
|
||||
SLOFILES=$(SLO)$/recently_used_file.obj \
|
||||
$(SLO)$/recently_used_file_handler.obj
|
||||
|
||||
|
@ -31,7 +31,6 @@
|
||||
// MARKER(update_precomp.py): autogen include statement, do not remove
|
||||
#include "precompiled_shell.hxx"
|
||||
|
||||
#include "systemshell.hxx"
|
||||
#include "osl/process.h"
|
||||
#include "rtl/ustring.hxx"
|
||||
#include "rtl/string.hxx"
|
||||
|
@ -1,151 +0,0 @@
|
||||
/*************************************************************************
|
||||
*
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* Copyright 2008 by Sun Microsystems, Inc.
|
||||
*
|
||||
* OpenOffice.org - a multi-platform office productivity suite
|
||||
*
|
||||
* $RCSfile: systemshell.cxx,v $
|
||||
* $Revision: 1.9 $
|
||||
*
|
||||
* This file is part of OpenOffice.org.
|
||||
*
|
||||
* OpenOffice.org is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License version 3
|
||||
* only, as published by the Free Software Foundation.
|
||||
*
|
||||
* OpenOffice.org is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License version 3 for more details
|
||||
* (a copy is included in the LICENSE file that accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* version 3 along with OpenOffice.org. If not, see
|
||||
* <http://www.openoffice.org/license.html>
|
||||
* for a copy of the LGPLv3 License.
|
||||
*
|
||||
************************************************************************/
|
||||
|
||||
// MARKER(update_precomp.py): autogen include statement, do not remove
|
||||
#include "precompiled_shell.hxx"
|
||||
#include "systemshell.hxx"
|
||||
|
||||
#include <comphelper/processfactory.hxx>
|
||||
|
||||
#ifndef _COM_SUN_STAR_BEANS_XPROPERTYSET_Hpp_
|
||||
#include <com/sun/star/beans/XPropertySet.hpp>
|
||||
#endif
|
||||
#include <com/sun/star/lang/XMultiServiceFactory.hpp>
|
||||
#include <com/sun/star/uri/XExternalUriReferenceTranslator.hpp>
|
||||
#include <com/sun/star/uri/ExternalUriReferenceTranslator.hpp>
|
||||
#include <com/sun/star/uno/XComponentContext.hpp>
|
||||
|
||||
#include "osl/module.hxx"
|
||||
|
||||
using namespace ::com::sun::star;
|
||||
|
||||
#define UNISTRING(s) rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(s))
|
||||
|
||||
const rtl::OUString SYM_ADD_TO_RECENTLY_USED_FILE_LIST = UNISTRING("add_to_recently_used_file_list");
|
||||
const rtl::OUString LIB_RECENT_FILE = UNISTRING("librecentfile.so");
|
||||
const rtl::OUString DEFAULT_CONTEXT = UNISTRING("DefaultContext");
|
||||
|
||||
void * (* sym_gtk_recent_manager_get_default) () = NULL;
|
||||
void (* sym_gtk_recent_manager_add_item) (void *, const char *) = NULL;
|
||||
|
||||
// We need to re-encode file urls because osl_getFileURLFromSystemPath converts
|
||||
// to UTF-8 before encoding non ascii characters, which is not what other apps expect.
|
||||
static rtl::OUString translateToExternalUrl(const rtl::OUString& internalUrl)
|
||||
{
|
||||
rtl::OUString extUrl;
|
||||
|
||||
uno::Reference< lang::XMultiServiceFactory > sm = comphelper::getProcessServiceFactory();
|
||||
if (sm.is())
|
||||
{
|
||||
uno::Reference< beans::XPropertySet > pset;
|
||||
sm->queryInterface( getCppuType( &pset )) >>= pset;
|
||||
if (pset.is())
|
||||
{
|
||||
uno::Reference< uno::XComponentContext > context;
|
||||
pset->getPropertyValue(DEFAULT_CONTEXT) >>= context;
|
||||
if (context.is())
|
||||
extUrl = uri::ExternalUriReferenceTranslator::create(context)->translateToExternal(internalUrl);
|
||||
}
|
||||
}
|
||||
return extUrl;
|
||||
}
|
||||
|
||||
namespace SystemShell {
|
||||
|
||||
typedef void (*PFUNC_ADD_TO_RECENTLY_USED_LIST)(const rtl::OUString&, const rtl::OUString&);
|
||||
|
||||
//##############################
|
||||
rtl::OUString get_absolute_library_url(const rtl::OUString& /*lib_name*/)
|
||||
{
|
||||
rtl::OUString url;
|
||||
if (osl::Module::getUrlFromAddress(reinterpret_cast<oslGenericFunction>(AddToRecentDocumentList), url))
|
||||
{
|
||||
sal_Int32 index = url.lastIndexOf('/');
|
||||
url = url.copy(0, index + 1);
|
||||
url += LIB_RECENT_FILE;
|
||||
}
|
||||
return url;
|
||||
}
|
||||
|
||||
bool init_recent_manager_api()
|
||||
{
|
||||
oslModule hDefault;
|
||||
if( osl_getModuleHandle( NULL, &hDefault ) )
|
||||
{
|
||||
sym_gtk_recent_manager_get_default = (void * (*)())
|
||||
osl_getAsciiFunctionSymbol(hDefault, "gtk_recent_manager_get_default");
|
||||
sym_gtk_recent_manager_add_item = (void (*)(void *, const char *))
|
||||
osl_getAsciiFunctionSymbol(hDefault, "gtk_recent_manager_add_item");
|
||||
|
||||
}
|
||||
bool ret = (NULL != sym_gtk_recent_manager_get_default) && (NULL != sym_gtk_recent_manager_add_item);
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
//##############################
|
||||
void AddToRecentDocumentList(const rtl::OUString& aFileUrl, const rtl::OUString& aMimeType)
|
||||
{
|
||||
static bool bIsRecentManagerPresent = init_recent_manager_api();
|
||||
|
||||
// Convert file URL for external use (see above)
|
||||
rtl::OUString externalUrl = translateToExternalUrl(aFileUrl);
|
||||
if( 0 == externalUrl.getLength() )
|
||||
externalUrl = aFileUrl;
|
||||
|
||||
if( bIsRecentManagerPresent )
|
||||
{
|
||||
void * recent_manager = sym_gtk_recent_manager_get_default();
|
||||
sym_gtk_recent_manager_add_item(recent_manager, rtl::OUStringToOString(aFileUrl, RTL_TEXTENCODING_UTF8).getStr());
|
||||
}
|
||||
else
|
||||
{
|
||||
rtl::OUString librecentfile_url = get_absolute_library_url(LIB_RECENT_FILE);
|
||||
|
||||
if (librecentfile_url.getLength())
|
||||
{
|
||||
osl::Module module(librecentfile_url);
|
||||
|
||||
if (module.is())
|
||||
{
|
||||
// convert from reinterpret_cast<PFUNC_ADD_TO_RECENTLY_USED_LIST>
|
||||
// not allowed in gcc 3.3 without permissive.
|
||||
PFUNC_ADD_TO_RECENTLY_USED_LIST add_to_recently_used_file_list =
|
||||
reinterpret_cast<PFUNC_ADD_TO_RECENTLY_USED_LIST>(module.getFunctionSymbol(SYM_ADD_TO_RECENTLY_USED_FILE_LIST));
|
||||
|
||||
if (add_to_recently_used_file_list)
|
||||
add_to_recently_used_file_list(aFileUrl, aMimeType);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
} // namespace SystemShell
|
||||
|
@ -1,50 +0,0 @@
|
||||
#*************************************************************************
|
||||
#
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# Copyright 2008 by Sun Microsystems, Inc.
|
||||
#
|
||||
# OpenOffice.org - a multi-platform office productivity suite
|
||||
#
|
||||
# $RCSfile: makefile.mk,v $
|
||||
#
|
||||
# $Revision: 1.5 $
|
||||
#
|
||||
# This file is part of OpenOffice.org.
|
||||
#
|
||||
# OpenOffice.org is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Lesser General Public License version 3
|
||||
# only, as published by the Free Software Foundation.
|
||||
#
|
||||
# OpenOffice.org is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU Lesser General Public License version 3 for more details
|
||||
# (a copy is included in the LICENSE file that accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU Lesser General Public License
|
||||
# version 3 along with OpenOffice.org. If not, see
|
||||
# <http://www.openoffice.org/license.html>
|
||||
# for a copy of the LGPLv3 License.
|
||||
#
|
||||
#*************************************************************************
|
||||
|
||||
PRJ=..$/..$/..
|
||||
|
||||
PRJNAME=shell
|
||||
TARGET=sysshell
|
||||
LIBTARGET=NO
|
||||
|
||||
# --- Settings -----------------------------------------------------
|
||||
|
||||
.INCLUDE : settings.mk
|
||||
|
||||
# --- Files --------------------------------------------------------
|
||||
|
||||
LIB1OBJFILES=$(SLO)$/systemshell.obj
|
||||
LIB1TARGET= $(SLB)$/$(TARGET).lib
|
||||
LIB1ARCHIV= $(SLB)$/lib$(TARGET).a
|
||||
|
||||
# --- Targets ------------------------------------------------------
|
||||
|
||||
.INCLUDE : target.mk
|
@ -1,68 +0,0 @@
|
||||
/*************************************************************************
|
||||
*
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* Copyright 2008 by Sun Microsystems, Inc.
|
||||
*
|
||||
* OpenOffice.org - a multi-platform office productivity suite
|
||||
*
|
||||
* $RCSfile: systemshell.cxx,v $
|
||||
* $Revision: 1.6 $
|
||||
*
|
||||
* This file is part of OpenOffice.org.
|
||||
*
|
||||
* OpenOffice.org is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License version 3
|
||||
* only, as published by the Free Software Foundation.
|
||||
*
|
||||
* OpenOffice.org is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License version 3 for more details
|
||||
* (a copy is included in the LICENSE file that accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* version 3 along with OpenOffice.org. If not, see
|
||||
* <http://www.openoffice.org/license.html>
|
||||
* for a copy of the LGPLv3 License.
|
||||
*
|
||||
************************************************************************/
|
||||
|
||||
// MARKER(update_precomp.py): autogen include statement, do not remove
|
||||
#include "precompiled_shell.hxx"
|
||||
#include "../../../inc/systemshell.hxx"
|
||||
#include <osl/diagnose.h>
|
||||
#include <osl/file.hxx>
|
||||
|
||||
#if defined _MSC_VER
|
||||
#pragma warning(push, 1)
|
||||
#pragma warning(disable:4917)
|
||||
#endif
|
||||
#include <Shlobj.h>
|
||||
#if defined _MSC_VER
|
||||
#pragma warning(pop)
|
||||
#endif
|
||||
|
||||
namespace SystemShell
|
||||
{
|
||||
|
||||
/** Add a file to the system shells recent document list if there is any.
|
||||
This function may have no effect under Unix because there is no
|
||||
standard API among the different desktop managers.
|
||||
|
||||
@param aFileUrl
|
||||
The file url of the document.
|
||||
*/
|
||||
void AddToRecentDocumentList(const rtl::OUString& aFileUrl, const rtl::OUString& /*aMimeType*/)
|
||||
{
|
||||
rtl::OUString system_path;
|
||||
osl::FileBase::RC rc = osl::FileBase::getSystemPathFromFileURL(aFileUrl, system_path);
|
||||
|
||||
OSL_ENSURE(osl::FileBase::E_None == rc, "Invalid file url");
|
||||
|
||||
if (osl::FileBase::E_None == rc)
|
||||
SHAddToRecentDocs(SHARD_PATHW, system_path.getStr());
|
||||
}
|
||||
|
||||
}; // end namespace SystemShell
|
||||
|
Loading…
x
Reference in New Issue
Block a user