summaryrefslogtreecommitdiffstats
path: root/unoidl/source/sourceprovider-scanner.hxx
diff options
context:
space:
mode:
authorStephan Bergmann <sbergman@redhat.com>2013-09-20 13:11:59 +0200
committerStephan Bergmann <sbergman@redhat.com>2013-09-20 15:38:02 +0200
commit60f8d808c2451fd37f02c1f86ed7fe60f4f58fa6 (patch)
tree53e16e64c480f2d2635460f8a19d3150d88a3aaf /unoidl/source/sourceprovider-scanner.hxx
parentUse tempfile instead of stdin in exectest.pl (diff)
downloadcore-60f8d808c2451fd37f02c1f86ed7fe60f4f58fa6.tar.gz
core-60f8d808c2451fd37f02c1f86ed7fe60f4f58fa6.zip
Reject "too similar" service constructors
Change-Id: Ie81e9994084b5a2f44a436c764318ea6e5049faf
Diffstat (limited to 'unoidl/source/sourceprovider-scanner.hxx')
-rw-r--r--unoidl/source/sourceprovider-scanner.hxx33
1 files changed, 31 insertions, 2 deletions
diff --git a/unoidl/source/sourceprovider-scanner.hxx b/unoidl/source/sourceprovider-scanner.hxx
index 8a79d3172d6d..0c08a13208d0 100644
--- a/unoidl/source/sourceprovider-scanner.hxx
+++ b/unoidl/source/sourceprovider-scanner.hxx
@@ -156,14 +156,43 @@ class SourceProviderSingleInterfaceBasedServiceEntityPad:
public SourceProviderEntityPad
{
public:
+ struct Constructor {
+ struct Parameter {
+ Parameter(
+ rtl::OUString const & theName,
+ SourceProviderType const & theType, bool theRest):
+ name(theName), type(theType), rest(theRest)
+ {}
+
+ rtl::OUString name;
+
+ SourceProviderType type;
+
+ bool rest;
+ };
+
+ Constructor(
+ rtl::OUString const & theName,
+ std::vector< rtl::OUString > const & theAnnotations):
+ name(theName), annotations(theAnnotations)
+ {}
+
+ rtl::OUString const name;
+
+ std::vector< Parameter > parameters;
+
+ std::vector< rtl::OUString > exceptions;
+
+ std::vector< rtl::OUString > const annotations;
+ };
+
explicit SourceProviderSingleInterfaceBasedServiceEntityPad(
bool published, OUString const & theBase):
SourceProviderEntityPad(published), base(theBase)
{}
OUString const base;
- std::vector<unoidl::SingleInterfaceBasedServiceEntity::Constructor>
- constructors;
+ std::vector<Constructor> constructors;
private:
virtual ~SourceProviderSingleInterfaceBasedServiceEntityPad() throw () {}