#include "gromacs/fileio/filenm.h"
#include "gromacs/options/filenameoptionmanager.h"
+#include "gromacs/options/optionmanagercontainer.h"
#include "gromacs/utility/arrayref.h"
#include "gromacs/utility/file.h"
#include "gromacs/utility/gmxassert.h"
* FileNameOptionStorage
*/
-FileNameOptionStorage::FileNameOptionStorage(const FileNameOption &settings)
- : MyBase(settings), info_(this), manager_(NULL),
+FileNameOptionStorage::FileNameOptionStorage(const FileNameOption &settings,
+ FileNameOptionManager *manager)
+ : MyBase(settings), info_(this), manager_(manager),
filetype_(settings.filetype_), legacyType_(settings.legacyType_),
bRead_(settings.bRead_), bWrite_(settings.bWrite_),
bLibrary_(settings.bLibrary_)
}
}
-void FileNameOptionStorage::setManager(FileNameOptionManager *manager)
-{
- GMX_RELEASE_ASSERT(manager_ == NULL || manager_ == manager,
- "Manager cannot be changed once set");
- if (manager_ == NULL)
- {
- manager_ = manager;
- }
-}
-
std::string FileNameOptionStorage::typeString() const
{
const FileTypeRegistry ®istry = FileTypeRegistry::instance();
{
}
-FileNameOptionStorage &FileNameOptionInfo::option()
-{
- return static_cast<FileNameOptionStorage &>(OptionInfo::option());
-}
-
const FileNameOptionStorage &FileNameOptionInfo::option() const
{
return static_cast<const FileNameOptionStorage &>(OptionInfo::option());
}
-void FileNameOptionInfo::setManager(FileNameOptionManager *manager)
-{
- option().setManager(manager);
-}
-
bool FileNameOptionInfo::isInputFile() const
{
return option().isInputFile();
* FileNameOption
*/
-AbstractOptionStoragePointer FileNameOption::createStorage() const
+AbstractOptionStoragePointer
+FileNameOption::createStorage(const OptionManagerContainer &managers) const
{
- return AbstractOptionStoragePointer(new FileNameOptionStorage(*this));
+ return AbstractOptionStoragePointer(
+ new FileNameOptionStorage(*this, managers.get<FileNameOptionManager>()));
}
} // namespace gmx