Kaydet (Commit) 6a9271ff authored tarafından Stephan Bergmann's avatar Stephan Bergmann

Remove unused code

Change-Id: I4e1e9f8c9b98fa77c8149fc5f876a2e7777b19e8
üst 5b8ca52f
...@@ -60,176 +60,6 @@ using com::sun::star::xml::sax::XParser; ...@@ -60,176 +60,6 @@ using com::sun::star::xml::sax::XParser;
// W o r d P r o // W o r d P r o
static const sal_Int8 header[] = { 0x57, 0x6f, 0x72, 0x64, 0x50, 0x72, 0x6f }; static const sal_Int8 header[] = { 0x57, 0x6f, 0x72, 0x64, 0x50, 0x72, 0x6f };
const sal_Int32 MAXCHARS = 65534;
// Simple xml importer, currently the importer is very very simple
// it only extracts pure text from the wordpro file. Absolutely no formatting
// information is currently imported.
// To reflect the current state of this importer the sax events sent
// to the document handler are also the simplest possible. In addition to
// the basic attributes set up for the 'office:document' element
// all the imported text is inserted into 'text:p' elements.
// The parser extracts the pure text and creates simple a simple 'text:p'
// element to contain that text. In the event of the text exceeding
// MAXCHARS new 'text:p' elements are created as needed
class SimpleXMLImporter
{
private:
uno::Reference< XDocumentHandler > m_xDocHandler;
std::vector< OUString > m_vStringChunks;
SvStream& m_InputStream;
bool CheckValidData( sal_Int8 nChar ) const
{
if( ( nChar >= 0x20 && nChar <= 0x7E ) && ( nChar != 0X40 ) )
return true;
return false;
}
void addAttribute( SvXMLAttributeList* pAttrList, const char* key, const char* val )
{
pAttrList->AddAttribute( OUString::createFromAscii( key ), OUString::createFromAscii( val ) );
}
void writeTextChunk( const OUString& sChunk )
{
SvXMLAttributeList *pAttrList = new SvXMLAttributeList();
uno::Reference < XAttributeList > xAttrList(pAttrList);
pAttrList->AddAttribute( "text:style-name", "Standard" );
m_xDocHandler->startElement( "text:p", xAttrList );
m_xDocHandler->characters( sChunk );
m_xDocHandler->endElement( "text:p" );
}
void writeDocContentPreamble()
{
SvXMLAttributeList *pDocContentPropList = new SvXMLAttributeList();
uno::Reference < XAttributeList > xDocContentList(pDocContentPropList);
addAttribute( pDocContentPropList, "xmlns:office", "urn:oasis:names:tc:opendocument:xmlns:office:1.0" );
addAttribute( pDocContentPropList, "xmlns:style", "urn:oasis:names:tc:opendocument:xmlns:style:1.0");
addAttribute( pDocContentPropList, "xmlns:text", "urn:oasis:names:tc:opendocument:xmlns:text:1.0" );
addAttribute( pDocContentPropList, "xmlns:table", "urn:oasis:names:tc:opendocument:xmlns:table:1.0" );
addAttribute( pDocContentPropList, "xmlns:draw", "urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" );
addAttribute( pDocContentPropList, "xmlns:fo", "urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" );
addAttribute( pDocContentPropList, "xmlns:xlink", "http://www.w3.org/1999/xlink" );
addAttribute( pDocContentPropList, "xmlns:dc", "http://purl.org/dc/elements/1.1/" );
addAttribute( pDocContentPropList, "xmlns:meta", "urn:oasis:names:tc:opendocument:xmlns:meta:1.0" );
addAttribute( pDocContentPropList, "xmlns:number", "urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0" );
addAttribute( pDocContentPropList, "xmlns:svg", "urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" );
addAttribute( pDocContentPropList, "xmlns:chart", "urn:oasis:names:tc:opendocument:xmlns:chart:1.0" );
addAttribute( pDocContentPropList, "xmlns:dr3d", "urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" );
addAttribute( pDocContentPropList, "xmlns:math", "http://www.w3.org/1998/Math/MathML" );
addAttribute( pDocContentPropList, "xmlns:form", "urn:oasis:names:tc:opendocument:xmlns:form:1.0" );
addAttribute( pDocContentPropList, "xmlns:script", "urn:oasis:names:tc:opendocument:xmlns:script:1.0" );
addAttribute( pDocContentPropList, "xmlns:ooo", "http://openoffice.org/2004/office" );
addAttribute( pDocContentPropList, "xmlns:ooow", "http://openoffice.org/2004/writer" );
addAttribute( pDocContentPropList, "xmlns:oooc", "http://openoffice.org/2004/calc" );
addAttribute( pDocContentPropList, "xmlns:dom", "http://www.w3.org/2001/xml-events" );
addAttribute( pDocContentPropList, "xmlns:xforms", "http://www.w3.org/2002/xforms" );
addAttribute( pDocContentPropList, "xmlns:xsd", "http://www.w3.org/2001/XMLSchema");
addAttribute( pDocContentPropList, "xmlns:xsi", "http://www.w3.org/2001/XMLSchema-instance" );
addAttribute( pDocContentPropList, "office:version", "1.0");
m_xDocHandler->startElement("office:document-content" , xDocContentList );
}
void parseDoc()
{
sal_uInt8 nDelim, nDummy, nLen, nData;
sal_uInt16 nOpcode;
OUStringBuffer sBuf( MAXCHARS );
sal_Int32 nChars = 0;
while( !m_InputStream.IsEof())
{
m_InputStream.ReadUChar( nDelim );
if( nDelim == 0x40 )
{
m_InputStream.ReadUChar( nDummy ).ReadUInt16( nOpcode );
switch( nOpcode )
{
case 0xC00B: // Dictionary Word
m_InputStream.ReadUChar( nLen ).ReadUChar( nDummy );
while( nLen > 0 && !m_InputStream.IsEof() )
{
sal_uInt8 nChar;
m_InputStream.ReadUChar( nChar );
if( CheckValidData( nChar ) )
{
sBuf.appendAscii( (sal_Char*)(&nChar),1 );
if ( ++nChars >= MAXCHARS )
{
m_vStringChunks.push_back( sBuf.makeStringAndClear() );
nChars = 0;
}
}
nLen--;
}
break;
case 0x0242: // Non Dictionary word
m_InputStream.ReadUChar( nData );
if( nData == 0x02 )
{
m_InputStream.ReadUChar( nLen ).ReadUChar( nDummy );
while( nLen > 0 && !m_InputStream.IsEof() )
{
m_InputStream.ReadUChar( nData );
if( CheckValidData( nData ) )
{
sBuf.appendAscii( (sal_Char*)(&nData),1 );
if ( ++nChars >= MAXCHARS )
{
m_vStringChunks.push_back( sBuf.makeStringAndClear() );
nChars = 0;
}
}
nLen--;
}
}
break;
}
}
}
if ( nChars )
m_vStringChunks.push_back( sBuf.makeStringAndClear() );
}
void writeXML()
{
if ( !m_vStringChunks.empty() )
{
m_xDocHandler->startDocument();
SvXMLAttributeList *pAttrList = new SvXMLAttributeList();
writeDocContentPreamble(); // writes "office:document-content" elem
uno::Reference < XAttributeList > xAttrList(pAttrList);
m_xDocHandler->startElement( "office:body", xAttrList );
// process strings imported
std::vector< OUString >::const_iterator it = m_vStringChunks.begin();
std::vector< OUString >::const_iterator it_end = m_vStringChunks.end();
for ( ; it!=it_end; ++it )
writeTextChunk( *it );
m_xDocHandler->endElement( "office:body" );
m_xDocHandler->endElement( "office:document-content" );
m_xDocHandler->endDocument();
}
}
public:
SimpleXMLImporter( const uno::Reference< XDocumentHandler >& xDocHandler, SvStream& rStream ) : m_xDocHandler( xDocHandler ), m_InputStream( rStream ) {}
void import()
{
parseDoc();
writeXML();
}
};
sal_Bool SAL_CALL LotusWordProImportFilter::importImpl( const Sequence< ::com::sun::star::beans::PropertyValue >& aDescriptor ) sal_Bool SAL_CALL LotusWordProImportFilter::importImpl( const Sequence< ::com::sun::star::beans::PropertyValue >& aDescriptor )
throw (RuntimeException) throw (RuntimeException)
{ {
......
...@@ -130,14 +130,6 @@ void LWPFilterReader::cancel() throw (com::sun::star::uno::RuntimeException, std ...@@ -130,14 +130,6 @@ void LWPFilterReader::cancel() throw (com::sun::star::uno::RuntimeException, std
{ {
} }
uno::Reference< XInterface > LWPFilterImportFilter_CreateInstance(
const uno::Reference< XMultiServiceFactory >& rSMgr ) throw( Exception )
{
LWPFilterImportFilter *p = new LWPFilterImportFilter( rSMgr );
return uno::Reference< XInterface > ( (OWeakObject* )p );
}
LWPFilterImportFilter::LWPFilterImportFilter( const uno::Reference< XMultiServiceFactory >& xFact ) LWPFilterImportFilter::LWPFilterImportFilter( const uno::Reference< XMultiServiceFactory >& xFact )
{ {
try try
...@@ -414,11 +406,6 @@ int ReadWordproFile(SvStream &rStream, uno::Reference<XDocumentHandler>& xHandle ...@@ -414,11 +406,6 @@ int ReadWordproFile(SvStream &rStream, uno::Reference<XDocumentHandler>& xHandle
} }
} }
void ErrorMsg(int /*iErrCode*/)
{
}
/** /**
* @descr Compare if pBuf equals with the first 16 bytes * @descr Compare if pBuf equals with the first 16 bytes
* @param pBuf that contains the file data * @param pBuf that contains the file data
......
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