This repository was archived by the owner on Aug 5, 2022. It is now read-only.
File tree Expand file tree Collapse file tree 2 files changed +7
-5
lines changed Expand file tree Collapse file tree 2 files changed +7
-5
lines changed Original file line number Diff line number Diff line change 3434
3535#include < map>
3636#include < string>
37+ #include < memory>
38+ #include < utility>
3739
3840/* * Factory that creates an element given an xml element. If no matching builder is found, it uses
3941 * the default builder.
@@ -46,17 +48,16 @@ class CDefaultElementLibrary: public CElementLibrary
4648{
4749public:
4850
49- CDefaultElementLibrary () : _defaultBuilder(NULL ) {}
5051 virtual ~CDefaultElementLibrary () {}
5152
5253 /* * Set the default builder used in fallback mechanism.
5354 * @see createElement() for more detail on this mechanism.
5455 *
5556 * @param[in] defaultBuilder if NULL default builder mechanism, else provided builder is used.
5657 */
57- void setDefaultBuilder (CDefaultElementBuilder* defaultBuilder)
58+ void setDefaultBuilder (std::unique_ptr< CDefaultElementBuilder> defaultBuilder)
5859 {
59- _defaultBuilder = defaultBuilder;
60+ _defaultBuilder = std::move ( defaultBuilder) ;
6061 }
6162
6263
@@ -73,7 +74,7 @@ class CDefaultElementLibrary: public CElementLibrary
7374 CElement* createElement (const CXmlElement& xmlElement) const ;
7475
7576private:
76- CDefaultElementBuilder* _defaultBuilder;
77+ std::unique_ptr< CDefaultElementBuilder> _defaultBuilder;
7778};
7879
7980template <class CDefaultElementBuilder >
Original file line number Diff line number Diff line change 3838#include < assert.h>
3939#include " PluginLocation.h"
4040#include " Utility.h"
41+ #include " Memory.hpp"
4142
4243#define base CConfigurableElement
4344
@@ -109,7 +110,7 @@ bool CSystemClass::loadSubsystems(string& strError,
109110 _pSubsystemLibrary->addElementBuilder (" Virtual" , new VirtualSubsystemBuilder (_logger));
110111 // Set virtual subsytem as builder fallback if required
111112 if (bVirtualSubsystemFallback) {
112- _pSubsystemLibrary->setDefaultBuilder (new VirtualSubsystemBuilder (_logger));
113+ _pSubsystemLibrary->setDefaultBuilder (make_unique< VirtualSubsystemBuilder> (_logger));
113114 }
114115
115116 // Add subsystem defined in shared libraries
You can’t perform that action at this time.
0 commit comments