diff --git a/Device/templates/designToDeviceBaseHeader.jinja b/Device/templates/designToDeviceBaseHeader.jinja index 3424f201..506884df 100644 --- a/Device/templates/designToDeviceBaseHeader.jinja +++ b/Device/templates/designToDeviceBaseHeader.jinja @@ -21,8 +21,8 @@ {% macro get_parent_struct(class_name) %} {% set parent_class_name = designInspector.get_parent(class_name) %} - {%- if parent_class_name != None and designInspector.class_has_legit_device_parent(parent_class_name) -%} - D{{parent}} + {%- if parent_class_name != None and designInspector.class_has_legit_device_parent(class_name) -%} + D{{parent_class_name}} {%- else -%} struct{/*No Device Logic for parent {{parent_class_name}} of {{class_name}}*/} {%- endif -%} diff --git a/FrameworkInternals/original_files.txt b/FrameworkInternals/original_files.txt index 0e38de06..8286fab6 100644 --- a/FrameworkInternals/original_files.txt +++ b/FrameworkInternals/original_files.txt @@ -887,6 +887,9 @@ "DLogLevel.h": { "use_defaults": "file_defaults_of_directory" }, + "DSourceVariableThreadPool.h": { + "use_defaults": "file_defaults_of_directory" + }, "MetaBuildInfo.h": { "use_defaults": "file_defaults_of_directory" }, @@ -910,6 +913,9 @@ "DLogLevel.cpp": { "use_defaults": "file_defaults_of_directory" }, + "DSourceVariableThreadPool.cpp": { + "use_defaults": "file_defaults_of_directory" + }, "MetaBuildInfo.cpp": { "use_defaults": "file_defaults_of_directory" }, diff --git a/Meta/CMakeLists.txt b/Meta/CMakeLists.txt index 6e1e77e0..4a335f6d 100644 --- a/Meta/CMakeLists.txt +++ b/Meta/CMakeLists.txt @@ -35,7 +35,12 @@ # The reason that MetaBuildInfo.cpp is not amalgamated is that it depends on a file which is regenerated at each build # and there is no reason to rebuild amalgamated files without the factual reason! -add_library (Meta OBJECT src/meta.cpp src/MetaBuildInfo.cpp src/metaBackwardsCompatibilityUtils.cpp src/DLogLevel.cpp) +add_library (Meta OBJECT + src/meta.cpp + src/MetaBuildInfo.cpp + src/metaBackwardsCompatibilityUtils.cpp + src/DLogLevel.cpp + src/DSourceVariableThreadPool.cpp) file(MAKE_DIRECTORY ${PROJECT_BINARY_DIR}/generated) diff --git a/Meta/design/meta-design.xml b/Meta/design/meta-design.xml index 9e3ce577..e7166d88 100644 --- a/Meta/design/meta-design.xml +++ b/Meta/design/meta-design.xml @@ -61,6 +61,7 @@ class sources are provided (statically) in the Meta module. + diff --git a/Meta/include/DSourceVariableThreadPool.h b/Meta/include/DSourceVariableThreadPool.h new file mode 100644 index 00000000..dceff724 --- /dev/null +++ b/Meta/include/DSourceVariableThreadPool.h @@ -0,0 +1,69 @@ + +/* © Copyright CERN, 2015. All rights not expressly granted are reserved. + + The stub of this file was generated by quasar (https://github.com/quasar-team/quasar/) + + Quasar is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public Licence as published by + the Free Software Foundation, either version 3 of the Licence. + Quasar 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 Licence for more details. + + You should have received a copy of the GNU Lesser General Public License + along with Quasar. If not, see . + + + */ + + +#ifndef __DSourceVariableThreadPool__H__ +#define __DSourceVariableThreadPool__H__ + +#include + +namespace Device +{ + +class + DSourceVariableThreadPool + : public Base_DSourceVariableThreadPool +{ + +public: + /* sample constructor */ + explicit DSourceVariableThreadPool ( + const Configuration::SourceVariableThreadPool& config, + Parent_DSourceVariableThreadPool* parent + ) ; + /* sample dtr */ + ~DSourceVariableThreadPool (); + + /* delegators for + cachevariables and sourcevariables */ + + + /* delegators for methods */ + +private: + /* Delete copy constructor and assignment operator */ + DSourceVariableThreadPool( const DSourceVariableThreadPool& other ); + DSourceVariableThreadPool& operator=(const DSourceVariableThreadPool& other); + + // ----------------------------------------------------------------------- * + // - CUSTOM CODE STARTS BELOW THIS COMMENT. * + // - Don't change this comment, otherwise merge tool may be troubled. * + // ----------------------------------------------------------------------- * + +public: + +private: + + + +}; + +} + +#endif // __DSourceVariableThreadPool__H__ \ No newline at end of file diff --git a/Meta/src/DSourceVariableThreadPool.cpp b/Meta/src/DSourceVariableThreadPool.cpp new file mode 100644 index 00000000..346d6fb9 --- /dev/null +++ b/Meta/src/DSourceVariableThreadPool.cpp @@ -0,0 +1,94 @@ + +/* © Copyright CERN, 2015. All rights not expressly granted are reserved. + + The stub of this file was generated by quasar (https://github.com/quasar-team/quasar/) + + Quasar is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public Licence as published by + the Free Software Foundation, either version 3 of the Licence. + Quasar 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 Licence for more details. + + You should have received a copy of the GNU Lesser General Public License + along with Quasar. If not, see . + + + */ + + +#include // TODO; should go away, is already in Base class for ages + +#include +#include + +#include + +namespace Device +{ +// 1111111111111111111111111111111111111111111111111111111111111111111111111 +// 1 GENERATED CODE STARTS HERE AND FINISHES AT SECTION 2 1 +// 1 Users don't modify this code!!!! 1 +// 1 If you modify this code you may start a fire or a flood somewhere,1 +// 1 and some human being may possible cease to exist. You don't want 1 +// 1 to be charged with that! 1 +// 1111111111111111111111111111111111111111111111111111111111111111111111111 + + + + + + +// 2222222222222222222222222222222222222222222222222222222222222222222222222 +// 2 SEMI CUSTOM CODE STARTS HERE AND FINISHES AT SECTION 3 2 +// 2 (code for which only stubs were generated automatically) 2 +// 2 You should add the implementation but dont alter the headers 2 +// 2 (apart from constructor, in which you should complete initializati2 +// 2 on list) 2 +// 2222222222222222222222222222222222222222222222222222222222222222222222222 + +/* sample ctr */ +DSourceVariableThreadPool::DSourceVariableThreadPool ( + const Configuration::SourceVariableThreadPool& config, + Parent_DSourceVariableThreadPool* parent +): + Base_DSourceVariableThreadPool( config, parent) + + /* fill up constructor initialization list here */ +{ + /* fill up constructor body here */ + #ifndef BACKEND_OPEN62541 + try + { + const std::string minThreads = config.minThreads(); + const std::string maxThreads = config.maxThreads(); + LOG(Log::INF) << __FUNCTION__ << " starting source variable thread pool with min threads ["<