summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhilip Rauwolf <rauwolf@itestra.de>2013-06-25 10:31:33 +0200
committerPhilip Rauwolf <rauwolf@itestra.de>2013-06-25 10:31:33 +0200
commit1891587b43da42d99ffab26517972523a6f80123 (patch)
treec6a7cd9e2cccb0a26f7364657777b0f52d7aea2d
parente85fa0d2bd06ded7ee460e818994817aca80d2ef (diff)
downloadgenivi-common-api-runtime-1891587b43da42d99ffab26517972523a6f80123.tar.gz
Overloading of visible Runtime::createFactory methods
-rw-r--r--src/CommonAPI/Runtime.cpp5
-rw-r--r--src/CommonAPI/Runtime.h22
2 files changed, 25 insertions, 2 deletions
diff --git a/src/CommonAPI/Runtime.cpp b/src/CommonAPI/Runtime.cpp
index f930db9..f5a8096 100644
--- a/src/CommonAPI/Runtime.cpp
+++ b/src/CommonAPI/Runtime.cpp
@@ -57,6 +57,11 @@ std::shared_ptr<MainLoopContext> Runtime::getNewMainLoopContext() const {
return std::make_shared<MainLoopContext>();
}
+std::shared_ptr<Factory> Runtime::createFactory(const std::string factoryName,
+ const bool nullOnInvalidName) {
+ return createFactory(std::shared_ptr<MainLoopContext>(NULL), factoryName, nullOnInvalidName);
+}
+
std::shared_ptr<Factory> Runtime::createFactory(std::shared_ptr<MainLoopContext> mainLoopContext,
const std::string factoryName,
const bool nullOnInvalidName) {
diff --git a/src/CommonAPI/Runtime.h b/src/CommonAPI/Runtime.h
index 6a8eeec..c0040a8 100644
--- a/src/CommonAPI/Runtime.h
+++ b/src/CommonAPI/Runtime.h
@@ -105,6 +105,24 @@ class Runtime {
const bool nullOnInvalidName = false);
/**
+ * \brief Create a factory for the loaded runtime.
+ *
+ * Create a factory for the loaded runtime
+ *
+ * @param factoryName: If additional configuration parameters for the specific middleware factory shall be provided,
+ * the appropriate set of parameters may be identified by this name. See accompanying documentation for
+ * usage of configuration files.
+ *
+ * @param nullOnInvalidName: If a factoryName is provided, this parameter determines whether the standard configuration
+ * for factories shall be used if the specific parameter set cannot be found, or if instead no factory
+ * shall be returned in this case.
+ *
+ * @return Factory object for this runtime
+ */
+ virtual std::shared_ptr<Factory> createFactory(const std::string factoryNamey,
+ const bool nullOnInvalidName = false);
+
+ /**
* \brief Returns the ServicePublisher object for this runtime.
*
* Returns the ServicePublisher object for this runtime. Use the interface
@@ -117,9 +135,9 @@ class Runtime {
virtual std::shared_ptr<ServicePublisher> getServicePublisher() = 0;
protected:
- virtual std::shared_ptr<Factory> doCreateFactory(std::shared_ptr<MainLoopContext>,
+ virtual std::shared_ptr<Factory> doCreateFactory(std::shared_ptr<MainLoopContext> mainLoopContext,
const std::string factoryName,
- const bool nullOnInvalidName) = 0;
+ const bool nullOnInvalidName = false) = 0;
};