diff options
Diffstat (limited to 'src/Platform/SerializerFactory.cpp')
-rw-r--r-- | src/Platform/SerializerFactory.cpp | 96 |
1 files changed, 48 insertions, 48 deletions
diff --git a/src/Platform/SerializerFactory.cpp b/src/Platform/SerializerFactory.cpp index 663bbea1..aca002ca 100644 --- a/src/Platform/SerializerFactory.cpp +++ b/src/Platform/SerializerFactory.cpp @@ -8,51 +8,51 @@ and are governed by the Apache License 2.0 the full text of which is contained in the file License.txt included in VeraCrypt binary and source code distribution packages. -*/
-
-#include <stdexcept>
-#include "SerializerFactory.h"
-
-namespace VeraCrypt
-{
- void SerializerFactory::Deinitialize ()
- {
- if (--UseCount == 0)
- {
- delete NameToTypeMap;
- delete TypeToNameMap;
- }
- }
-
- string SerializerFactory::GetName (const type_info &typeInfo)
- {
- string typeName = StringConverter::GetTypeName (typeInfo);
- if (TypeToNameMap->find (typeName) == TypeToNameMap->end())
- throw std::runtime_error (SRC_POS);
-
- return (*TypeToNameMap)[typeName];
- }
-
- Serializable *SerializerFactory::GetNewSerializable (const string &typeName)
- {
- if (NameToTypeMap->find (typeName) == NameToTypeMap->end())
- throw std::runtime_error (SRC_POS);
-
- return (*NameToTypeMap)[typeName].GetNewPtr();
- }
-
- void SerializerFactory::Initialize ()
- {
- if (UseCount == 0)
- {
- NameToTypeMap = new map <string, SerializerFactory::MapEntry>;
- TypeToNameMap = new map <string, string>;
- }
-
- ++UseCount;
- }
-
- map <string, SerializerFactory::MapEntry> *SerializerFactory::NameToTypeMap;
- map <string, string> *SerializerFactory::TypeToNameMap;
- int SerializerFactory::UseCount;
-}
+*/ + +#include <stdexcept> +#include "SerializerFactory.h" + +namespace VeraCrypt +{ + void SerializerFactory::Deinitialize () + { + if (--UseCount == 0) + { + delete NameToTypeMap; + delete TypeToNameMap; + } + } + + string SerializerFactory::GetName (const type_info &typeInfo) + { + string typeName = StringConverter::GetTypeName (typeInfo); + if (TypeToNameMap->find (typeName) == TypeToNameMap->end()) + throw std::runtime_error (SRC_POS); + + return (*TypeToNameMap)[typeName]; + } + + Serializable *SerializerFactory::GetNewSerializable (const string &typeName) + { + if (NameToTypeMap->find (typeName) == NameToTypeMap->end()) + throw std::runtime_error (SRC_POS); + + return (*NameToTypeMap)[typeName].GetNewPtr(); + } + + void SerializerFactory::Initialize () + { + if (UseCount == 0) + { + NameToTypeMap = new map <string, SerializerFactory::MapEntry>; + TypeToNameMap = new map <string, string>; + } + + ++UseCount; + } + + map <string, SerializerFactory::MapEntry> *SerializerFactory::NameToTypeMap; + map <string, string> *SerializerFactory::TypeToNameMap; + int SerializerFactory::UseCount; +} |