summaryrefslogtreecommitdiff
path: root/unoidl/source/sourceprovider-scanner.hxx
diff options
context:
space:
mode:
authorStephan Bergmann <sbergman@redhat.com>2013-09-16 22:25:30 +0200
committerStephan Bergmann <sbergman@redhat.com>2013-09-17 06:55:42 +0200
commitd11592ad8e21970e80f6a87a9ae43d380f1c3eef (patch)
treec9d52c17dd100e9edfe12c8acad1d1a4ddbbf8c4 /unoidl/source/sourceprovider-scanner.hxx
parent65a1f81a70e4268801a09106df54fcb2497c6d7d (diff)
Move full file parsing logic to sourceprovider-parser.y
...in preparation of SourceFile- vs. -TreeProvider. Change-Id: I4c8f37ade1ba26cb7b38f63211711613d1b98a73
Diffstat (limited to 'unoidl/source/sourceprovider-scanner.hxx')
-rw-r--r--unoidl/source/sourceprovider-scanner.hxx16
1 files changed, 10 insertions, 6 deletions
diff --git a/unoidl/source/sourceprovider-scanner.hxx b/unoidl/source/sourceprovider-scanner.hxx
index 51900580e987..8a79d3172d6d 100644
--- a/unoidl/source/sourceprovider-scanner.hxx
+++ b/unoidl/source/sourceprovider-scanner.hxx
@@ -213,17 +213,19 @@ struct SourceProviderEntity {
struct SourceProviderScannerData {
SourceProviderScannerData(
- rtl::Reference<unoidl::Manager> const & theManager,
- void const * sourceAddress, sal_uInt64 sourceSize):
- manager(theManager),
- sourcePosition(static_cast<char const *>(sourceAddress)),
- sourceEnd(sourcePosition + sourceSize), errorLine(0)
+ rtl::Reference<unoidl::Manager> const & theManager):
+ manager(theManager), errorLine(0)
{ assert(manager.is()); }
+ void setSource(void const * address, sal_uInt64 size) {
+ sourcePosition = static_cast<char const *>(address);
+ sourceEnd = sourcePosition + size;
+ }
+
rtl::Reference<unoidl::Manager> manager;
char const * sourcePosition;
- char const * const sourceEnd;
+ char const * sourceEnd;
YYLTYPE errorLine;
OString parserError;
OUString errorMessage;
@@ -233,6 +235,8 @@ struct SourceProviderScannerData {
OUString currentName;
};
+bool parse(OUString const & uri, SourceProviderScannerData * data);
+
} }
int yylex_init_extra(