Skip to content
Projeler
Gruplar
Parçacıklar
Yardım
Yükleniyor...
Oturum aç / Kaydol
Gezinmeyi değiştir
C
core
Proje
Proje
Ayrıntılar
Etkinlik
Cycle Analytics
Depo (repository)
Depo (repository)
Dosyalar
Kayıtlar (commit)
Dallar (branch)
Etiketler
Katkıda bulunanlar
Grafik
Karşılaştır
Grafikler
Konular (issue)
0
Konular (issue)
0
Liste
Pano
Etiketler
Kilometre Taşları
Birleştirme (merge) Talepleri
0
Birleştirme (merge) Talepleri
0
CI / CD
CI / CD
İş akışları (pipeline)
İşler
Zamanlamalar
Grafikler
Paketler
Paketler
Wiki
Wiki
Parçacıklar
Parçacıklar
Üyeler
Üyeler
Collapse sidebar
Close sidebar
Etkinlik
Grafik
Grafikler
Yeni bir konu (issue) oluştur
İşler
Kayıtlar (commit)
Konu (issue) Panoları
Kenar çubuğunu aç
LibreOffice
core
Commits
597dfa19
Kaydet (Commit)
597dfa19
authored
Eyl 10, 2010
tarafından
sb
Dosyalara gözat
Seçenekler
Dosyalara Gözat
İndir
Eposta Yamaları
Sade Fark
sb129: #i113189# move XmlReader from configmgr to URE
üst
e789f967
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
694 additions
and
0 deletions
+694
-0
README
ure/source/README
+2
-0
makefile.mk
xmlreader/inc/makefile.mk
+40
-0
precompiled_xmlreader.cxx
xmlreader/inc/pch/precompiled_xmlreader.cxx
+28
-0
precompiled_xmlreader.hxx
xmlreader/inc/pch/precompiled_xmlreader.hxx
+32
-0
xmlreaderdllapi.hxx
xmlreader/inc/xmlreader/detail/xmlreaderdllapi.hxx
+41
-0
pad.hxx
xmlreader/inc/xmlreader/pad.hxx
+61
-0
span.hxx
xmlreader/inc/xmlreader/span.hxx
+69
-0
xmlreader.hxx
xmlreader/inc/xmlreader/xmlreader.hxx
+199
-0
build.lst
xmlreader/prj/build.lst
+3
-0
d.lst
xmlreader/prj/d.lst
+10
-0
makefile.mk
xmlreader/source/makefile.mk
+53
-0
pad.cxx
xmlreader/source/pad.cxx
+90
-0
span.cxx
xmlreader/source/span.cxx
+66
-0
xmlreader.cxx
xmlreader/source/xmlreader.cxx
+0
-0
No files found.
ure/source/README
Dosyayı görüntüle @
597dfa19
...
...
@@ -65,6 +65,7 @@ Linux x86, Solaris x86, and Solaris SPARC:
/opt/openoffice.org/ure/lib/libreg.so.3 [private]
/opt/openoffice.org/ure/lib/librmcxt.so.3 [private]
/opt/openoffice.org/ure/lib/libstore.so.3 [private]
/opt/openoffice.org/ure/lib/libxmlreader.so [private]
/opt/openoffice.org/ure/lib/libjvmaccessgcc3.so.3 [private; Linux x86 only]
/opt/openoffice.org/ure/lib/libjvmaccessC52.so.3 [private; Solaris only]
/opt/openoffice.org/ure/lib/libjvmfwk.so.3 [private]
...
...
@@ -128,6 +129,7 @@ Program Files\URE\bin\uno.ini [private]
Program Files\URE\bin\reg3.dll [private]
Program Files\URE\bin\rmcxt3.dll [private]
Program Files\URE\bin\store3.dll [private]
Program Files\URE\bin\xmlreader.dll [private]
Program Files\URE\bin\jvmaccess3MSC.dll [private]
Program Files\URE\bin\jvmfwk3.dll [private]
Program Files\URE\bin\sunjavaplugin.dll [private]
...
...
xmlreader/inc/makefile.mk
0 → 100644
Dosyayı görüntüle @
597dfa19
#*************************************************************************
#
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# Copyright 2000, 2010 Oracle and/or its affiliates.
#
# OpenOffice.org - a multi-platform office productivity suite
#
# 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
=
xmlreader
TARGET
=
inc
ENABLE_EXCEPTIONS
=
TRUE
VISIBILITY_HIDDEN
=
TRUE
.INCLUDE
:
settings.mk
.INCLUDE
:
target.mk
.IF
"$(ENABLE_PCH)"
!=
""
ALLTAR
:
$(SLO)/precompiled.pch $(SLO)/precompiled_ex.pch
.ENDIF
xmlreader/inc/pch/precompiled_xmlreader.cxx
0 → 100644
Dosyayı görüntüle @
597dfa19
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
* 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.
*
************************************************************************/
#include "precompiled_xmlreader.hxx"
xmlreader/inc/pch/precompiled_xmlreader.hxx
0 → 100644
Dosyayı görüntüle @
597dfa19
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
* 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.
*
************************************************************************/
#if defined PRECOMPILED_HEADERS
#include "sal/config.h"
#endif
xmlreader/inc/xmlreader/detail/xmlreaderdllapi.hxx
0 → 100644
Dosyayı görüntüle @
597dfa19
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
* 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 INCLUDED_XMLREADER_DETAIL_XMLREADERDLLAPI_HXX
#define INCLUDED_XMLREADER_DETAIL_XMLREADERDLLAPI_HXX
#include "sal/config.h"
#include "sal/types.h"
#if defined OOO_DLLIMPLEMENTATION_XMLREADER
#define OOO_DLLPUBLIC_XMLREADER SAL_DLLPUBLIC_EXPORT
#else
#define OOO_DLLPUBLIC_XMLREADER SAL_DLLPUBLIC_IMPORT
#endif
#endif
xmlreader/inc/xmlreader/pad.hxx
0 → 100644
Dosyayı görüntüle @
597dfa19
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
* 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 INCLUDED_XMLREADER_PAD_HXX
#define INCLUDED_XMLREADER_PAD_HXX
#include "sal/config.h"
#include "rtl/strbuf.hxx"
#include "sal/types.h"
#include "xmlreader/detail/xmlreaderdllapi.hxx"
#include "xmlreader/span.hxx"
namespace
xmlreader
{
class
OOO_DLLPUBLIC_XMLREADER
Pad
{
public
:
void
add
(
char
const
*
begin
,
sal_Int32
length
);
void
addEphemeral
(
char
const
*
begin
,
sal_Int32
length
);
void
clear
();
bool
is
()
const
;
Span
get
()
const
;
private
:
SAL_DLLPRIVATE
void
flushSpan
();
Span
span_
;
rtl
::
OStringBuffer
buffer_
;
};
}
#endif
xmlreader/inc/xmlreader/span.hxx
0 → 100644
Dosyayı görüntüle @
597dfa19
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
* 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 INCLUDED_XMLREADER_SPAN_HXX
#define INCLUDED_XMLREADER_SPAN_HXX
#include "sal/config.h"
#include "rtl/string.h"
#include "sal/types.h"
#include "xmlreader/detail/xmlreaderdllapi.hxx"
namespace
rtl
{
class
OUString
;
}
namespace
xmlreader
{
struct
OOO_DLLPUBLIC_XMLREADER
Span
{
char
const
*
begin
;
sal_Int32
length
;
inline
Span
()
:
begin
(
0
),
length
(
0
)
{}
// init length to avoid compiler warnings
inline
Span
(
char
const
*
theBegin
,
sal_Int32
theLength
)
:
begin
(
theBegin
),
length
(
theLength
)
{}
inline
void
clear
()
throw
()
{
begin
=
0
;
}
inline
bool
is
()
const
{
return
begin
!=
0
;
}
inline
bool
equals
(
Span
const
&
text
)
const
{
return
rtl_str_compare_WithLength
(
begin
,
length
,
text
.
begin
,
text
.
length
)
==
0
;
}
inline
bool
equals
(
char
const
*
textBegin
,
sal_Int32
textLength
)
const
{
return
equals
(
Span
(
textBegin
,
textLength
));
}
rtl
::
OUString
convertFromUtf8
()
const
;
};
}
#endif
xmlreader/inc/xmlreader/xmlreader.hxx
0 → 100644
Dosyayı görüntüle @
597dfa19
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
* 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 INCLUDED_XMLREADER_XMLREADER_HXX
#define INCLUDED_XMLREADER_XMLREADER_HXX
#include "sal/config.h"
#include <stack>
#include <vector>
#include "boost/noncopyable.hpp"
#include "com/sun/star/container/NoSuchElementException.hpp"
#include "com/sun/star/uno/RuntimeException.hpp"
#include "osl/file.h"
#include "rtl/ustring.hxx"
#include "sal/types.h"
#include "xmlreader/detail/xmlreaderdllapi.hxx"
#include "xmlreader/pad.hxx"
#include "xmlreader/span.hxx"
namespace
xmlreader
{
class
OOO_DLLPUBLIC_XMLREADER
XmlReader
:
private
boost
::
noncopyable
{
public
:
explicit
XmlReader
(
rtl
::
OUString
const
&
fileUrl
)
SAL_THROW
((
com
::
sun
::
star
::
container
::
NoSuchElementException
,
com
::
sun
::
star
::
uno
::
RuntimeException
));
~
XmlReader
();
enum
{
NAMESPACE_NONE
=
-
2
,
NAMESPACE_UNKNOWN
=
-
1
,
NAMESPACE_XML
=
0
};
enum
Text
{
TEXT_NONE
,
TEXT_RAW
,
TEXT_NORMALIZED
};
enum
Result
{
RESULT_BEGIN
,
RESULT_END
,
RESULT_TEXT
,
RESULT_DONE
};
int
registerNamespaceIri
(
Span
const
&
iri
);
// RESULT_BEGIN: data = localName, ns = ns
// RESULT_END: data, ns unused
// RESULT_TEXT: data = text, ns unused
Result
nextItem
(
Text
reportText
,
Span
*
data
,
int
*
nsId
);
bool
nextAttribute
(
int
*
nsId
,
Span
*
localName
);
// the span returned by getAttributeValue is only valid until the next call
// to nextItem or getAttributeValue
Span
getAttributeValue
(
bool
fullyNormalize
);
int
getNamespaceId
(
Span
const
&
prefix
)
const
;
rtl
::
OUString
getUrl
()
const
;
private
:
typedef
std
::
vector
<
Span
>
NamespaceIris
;
// If NamespaceData (and similarly ElementData and AttributeData) is made
// SAL_DLLPRIVATE, at least gcc 4.2.3 erroneously warns about
// "'xmlreader::XmlReader' declared with greater visibility than the type of
// its field 'xmlreader::XmlReader::namespaces_'" (and similarly for
// elements_ and attributes_):
struct
NamespaceData
{
Span
prefix
;
int
nsId
;
NamespaceData
()
{}
NamespaceData
(
Span
const
&
thePrefix
,
int
theNsId
)
:
prefix
(
thePrefix
),
nsId
(
theNsId
)
{}
};
typedef
std
::
vector
<
NamespaceData
>
NamespaceList
;
struct
ElementData
{
Span
name
;
NamespaceList
::
size_type
inheritedNamespaces
;
int
defaultNamespaceId
;
ElementData
(
Span
const
&
theName
,
NamespaceList
::
size_type
theInheritedNamespaces
,
int
theDefaultNamespaceId
)
:
name
(
theName
),
inheritedNamespaces
(
theInheritedNamespaces
),
defaultNamespaceId
(
theDefaultNamespaceId
)
{}
};
typedef
std
::
stack
<
ElementData
>
ElementStack
;
struct
AttributeData
{
char
const
*
nameBegin
;
char
const
*
nameEnd
;
char
const
*
nameColon
;
char
const
*
valueBegin
;
char
const
*
valueEnd
;
AttributeData
(
char
const
*
theNameBegin
,
char
const
*
theNameEnd
,
char
const
*
theNameColon
,
char
const
*
theValueBegin
,
char
const
*
theValueEnd
)
:
nameBegin
(
theNameBegin
),
nameEnd
(
theNameEnd
),
nameColon
(
theNameColon
),
valueBegin
(
theValueBegin
),
valueEnd
(
theValueEnd
)
{}
};
typedef
std
::
vector
<
AttributeData
>
Attributes
;
enum
State
{
STATE_CONTENT
,
STATE_START_TAG
,
STATE_END_TAG
,
STATE_EMPTY_ELEMENT_TAG
,
STATE_DONE
};
SAL_DLLPRIVATE
inline
char
read
()
{
return
pos_
==
end_
?
'\0'
:
*
pos_
++
;
}
SAL_DLLPRIVATE
inline
char
peek
()
{
return
pos_
==
end_
?
'\0'
:
*
pos_
;
}
SAL_DLLPRIVATE
void
normalizeLineEnds
(
Span
const
&
text
);
SAL_DLLPRIVATE
void
skipSpace
();
SAL_DLLPRIVATE
bool
skipComment
();
SAL_DLLPRIVATE
void
skipProcessingInstruction
();
SAL_DLLPRIVATE
void
skipDocumentTypeDeclaration
();
SAL_DLLPRIVATE
Span
scanCdataSection
();
SAL_DLLPRIVATE
bool
scanName
(
char
const
**
nameColon
);
SAL_DLLPRIVATE
int
scanNamespaceIri
(
char
const
*
begin
,
char
const
*
end
);
SAL_DLLPRIVATE
char
const
*
handleReference
(
char
const
*
position
,
char
const
*
end
);
SAL_DLLPRIVATE
Span
handleAttributeValue
(
char
const
*
begin
,
char
const
*
end
,
bool
fullyNormalize
);
SAL_DLLPRIVATE
Result
handleStartTag
(
int
*
nsId
,
Span
*
localName
);
SAL_DLLPRIVATE
Result
handleEndTag
();
SAL_DLLPRIVATE
void
handleElementEnd
();
SAL_DLLPRIVATE
Result
handleSkippedText
(
Span
*
data
,
int
*
nsId
);
SAL_DLLPRIVATE
Result
handleRawText
(
Span
*
text
);
SAL_DLLPRIVATE
Result
handleNormalizedText
(
Span
*
text
);
SAL_DLLPRIVATE
int
toNamespaceId
(
NamespaceIris
::
size_type
pos
);
rtl
::
OUString
fileUrl_
;
oslFileHandle
fileHandle_
;
sal_uInt64
fileSize_
;
void
*
fileAddress_
;
NamespaceIris
namespaceIris_
;
NamespaceList
namespaces_
;
ElementStack
elements_
;
char
const
*
pos_
;
char
const
*
end_
;
State
state_
;
Attributes
attributes_
;
Attributes
::
iterator
currentAttribute_
;
bool
firstAttribute_
;
Pad
pad_
;
};
}
#endif
xmlreader/prj/build.lst
0 → 100644
Dosyayı görüntüle @
597dfa19
xr xmlreader : BOOST:boost cppu offuh sal stlport NULL
xr xmlreader\inc nmake - all xr_inc NULL
xr xmlreader\source nmake - all xr_source xr_inc NULL
xmlreader/prj/d.lst
0 → 100755
Dosyayı görüntüle @
597dfa19
mkdir: %_DEST%\inc%_EXT%\xmlreader
mkdir: %_DEST%\inc%_EXT%\xmlreader\detail
..\%__SRC%\bin\xmlreader.dll %_DEST%\bin%_EXT%\xmlreader.dll
..\%__SRC%\lib\ixmlreader.lib %_DEST%\lib%_EXT%\ixmlreader.lib
..\%__SRC%\lib\libxmlreader.dylib %_DEST%\lib%_EXT%\libxmlreader.dylib
..\%__SRC%\lib\libxmlreader.so %_DEST%\lib%_EXT%\libxmlreader.so
..\inc\xmlreader\detail\xmlreaderdllapi.hxx %_DEST%\inc%_EXT%\xmlreader\detail\xmlreaderdllapi.hxx
..\inc\xmlreader\pad.hxx %_DEST%\inc%_EXT%\xmlreader\pad.hxx
..\inc\xmlreader\span.hxx %_DEST%\inc%_EXT%\xmlreader\span.hxx
..\inc\xmlreader\xmlreader.hxx %_DEST%\inc%_EXT%\xmlreader\xmlreader.hxx
xmlreader/source/makefile.mk
0 → 100644
Dosyayı görüntüle @
597dfa19
#*************************************************************************
#
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# Copyright 2000, 2010 Oracle and/or its affiliates.
#
# OpenOffice.org - a multi-platform office productivity suite
#
# 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
=
xmlreader
TARGET
=
xmlreader
ENABLE_EXCEPTIONS
=
TRUE
VISIBILITY_HIDDEN
=
TRUE
.INCLUDE
:
settings.mk
CDEFS
+=
-DOOO_DLLIMPLEMENTATION_XMLREADER
SLOFILES
=
\
$(SLO)
/pad.obj
\
$(SLO)
/span.obj
\
$(SLO)
/xmlreader.obj
SHL1IMPLIB
=
i
$(SHL1TARGET)
SHL1OBJS
=
$(SLOFILES)
SHL1RPATH
=
URELIB
SHL1STDLIBS
=
\
$(SALLIB)
SHL1TARGET
=
xmlreader
SHL1USE_EXPORTS
=
name
DEF1NAME
=
$(SHL1TARGET)
.INCLUDE
:
target.mk
xmlreader/source/pad.cxx
0 → 100644
Dosyayı görüntüle @
597dfa19
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
* 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.
*
************************************************************************/
#include "precompiled_xmlreader.hxx"
#include "sal/config.h"
#include "osl/diagnose.h"
#include "rtl/string.h"
#include "sal/types.h"
#include "xmlreader/pad.hxx"
#include "xmlreader/span.hxx"
namespace
xmlreader
{
void
Pad
::
add
(
char
const
*
begin
,
sal_Int32
length
)
{
OSL_ASSERT
(
begin
!=
0
&&
length
>=
0
&&
!
(
span_
.
is
()
&&
buffer_
.
getLength
()
!=
0
));
if
(
length
!=
0
)
{
flushSpan
();
if
(
buffer_
.
getLength
()
==
0
)
{
span_
=
Span
(
begin
,
length
);
}
else
{
buffer_
.
append
(
begin
,
length
);
}
}
}
void
Pad
::
addEphemeral
(
char
const
*
begin
,
sal_Int32
length
)
{
OSL_ASSERT
(
begin
!=
0
&&
length
>=
0
&&
!
(
span_
.
is
()
&&
buffer_
.
getLength
()
!=
0
));
if
(
length
!=
0
)
{
flushSpan
();
buffer_
.
append
(
begin
,
length
);
}
}
void
Pad
::
clear
()
{
OSL_ASSERT
(
!
(
span_
.
is
()
&&
buffer_
.
getLength
()
!=
0
));
span_
.
clear
();
buffer_
.
setLength
(
0
);
}
bool
Pad
::
is
()
const
{
OSL_ASSERT
(
!
(
span_
.
is
()
&&
buffer_
.
getLength
()
!=
0
));
return
span_
.
is
()
||
buffer_
.
getLength
()
!=
0
;
}
Span
Pad
::
get
()
const
{
OSL_ASSERT
(
!
(
span_
.
is
()
&&
buffer_
.
getLength
()
!=
0
));
if
(
span_
.
is
())
{
return
span_
;
}
else
if
(
buffer_
.
getLength
()
==
0
)
{
return
Span
(
RTL_CONSTASCII_STRINGPARAM
(
""
));
}
else
{
return
Span
(
buffer_
.
getStr
(),
buffer_
.
getLength
());
}
}
void
Pad
::
flushSpan
()
{
if
(
span_
.
is
())
{
buffer_
.
append
(
span_
.
begin
,
span_
.
length
);
span_
.
clear
();
}
}
}
xmlreader/source/span.cxx
0 → 100644
Dosyayı görüntüle @
597dfa19
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
* 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.
*
************************************************************************/
#include "precompiled_xmlreader.hxx"
#include "sal/config.h"
#include "com/sun/star/uno/RuntimeException.hpp"
#include "com/sun/star/uno/XInterface.hpp"
#include "osl/diagnose.h"
#include "rtl/textcvt.h"
#include "rtl/textenc.h"
#include "rtl/ustring.h"
#include "rtl/ustring.hxx"
#include "sal/types.h"
#include "xmlreader/span.hxx"
namespace
xmlreader
{
namespace
{
namespace
css
=
com
::
sun
::
star
;
}
rtl
::
OUString
Span
::
convertFromUtf8
()
const
{
OSL_ASSERT
(
is
());
rtl_uString
*
s
=
0
;
if
(
!
rtl_convertStringToUString
(
&
s
,
begin
,
length
,
RTL_TEXTENCODING_UTF8
,
(
RTL_TEXTTOUNICODE_FLAGS_UNDEFINED_ERROR
|
RTL_TEXTTOUNICODE_FLAGS_MBUNDEFINED_ERROR
|
RTL_TEXTTOUNICODE_FLAGS_INVALID_ERROR
)))
{
throw
css
::
uno
::
RuntimeException
(
rtl
::
OUString
(
RTL_CONSTASCII_USTRINGPARAM
(
"cannot convert from UTF-8"
)),
css
::
uno
::
Reference
<
css
::
uno
::
XInterface
>
());
}
return
rtl
::
OUString
(
s
,
SAL_NO_ACQUIRE
);
}
}
xmlreader/source/xmlreader.cxx
0 → 100644
Dosyayı görüntüle @
597dfa19
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment