#include <iso_serialize_manager.h>
Inherits iso::serialize::Serializable.
Inheritance diagram for iso::serialize::SerializeManager:
Public Member Functions | |
virtual SerializeData | serialize (const base::String &pSerialName=sClassName) const |
create serializeData for serialize manager | |
Serializable * | getSerializable (const base::String &pName) throw (SerializeException) |
retrieve pointer to serializable object via name | |
Serializable * | createSerializable (const base::String &pName, const SerializeData &pSerializeData) throw (SerializeException) |
create new serializable from serialize data | |
void | storeSerializable (const base::String &pName, Serializable *pSerializable) throw (SerializeException) |
store pointer to serializable object in hash table | |
template<class Type> | |
base::String | registerSerializable (const base::String &pName) throw (SerializeException) |
store deSerialization function pointer in hash table | |
void | setFilePath (const base::String &pFileSuffix, const base::String &pFilePath) throw (SerializeException) |
set file path for serialization files | |
SerializeData | read (const base::String &pFile) throw (SerializeException) |
read serialization file | |
void | write (const SerializeData &pSerializeData, const base::String &pFileName, const base::String &pFileType) throw (SerializeException) |
write serialization file | |
base::String | info () const |
obtain textual serialize manager information | |
Static Public Member Functions | |
static SerializeManager & | get () |
get singleton instance | |
static SerializeManager & | get (const SerializeData &pSerializeData) throw (SerializeException) |
get singleton instance | |
static void | destroy () |
destroy singleton instance | |
static Serializable * | deSerialize (const SerializeData &pSerializeData) throw (SerializeException) |
create serialization manager from SerializeData | |
Static Public Attributes | |
static const base::String | sClassName |
default name | |
Protected Member Functions | |
SerializeManager () | |
default constructor | |
SerializeManager (const SerializeData &pSerializeData) throw (SerializeException) | |
serialization based constructor | |
~SerializeManager () | |
destructor | |
base::String | createFileName (const base::String &pFileName) const |
construct file name | |
Protected Attributes | |
QHash< base::String, CreateSerializablePtr > | mSerializableFactory |
association : serializable class name / deSerialize function pointer | |
QHash< base::String, Serializable * > | mSerializableStorage |
asssociation : serializable object name / serializable object pointer | |
SerializeParser & | mSerializeParser |
XML <-> SerializeData converter. | |
QHash< base::String, base::String > | mFilePaths |
file suffix / file path association | |
Static Protected Attributes | |
static SerializeManager * | sSerializeManager |
singleton class instance | |
Friends | |
std::ostream & | operator<< (std::ostream &pOstream, const SerializeManager &pSerializeManager) |
print serialize manager information |
read and writes serialization files it parses the file suffixes and then delegates everything it does to an appropriate specialized config manager config files are distinguished purely based on their suffix in addition, is stores all kinds of intermediate values that help in object serialization:
Created by Daniel Bisig on 8/19/06. Copyright 2006 Daniel Bisig All rights reserved.
SerializeManager::SerializeManager | ( | ) | [protected] |
default constructor
SerializeManager::SerializeManager | ( | const SerializeData & | pSerializeData | ) | throw (SerializeException) [protected] |
serialization based constructor
pSerializeData | serialization data |
SerializeException | unable to create serialization manager |
SerializeManager::~SerializeManager | ( | ) | [protected] |
destructor
SerializeManager & SerializeManager::get | ( | ) | [static] |
get singleton instance
SerializeManager & SerializeManager::get | ( | const SerializeData & | pSerializeData | ) | throw (SerializeException) [static] |
get singleton instance
pSerializeData | serialization data |
SerializeException | unable to create serialization manager |
void SerializeManager::destroy | ( | ) | [static] |
destroy singleton instance
SerializeData SerializeManager::serialize | ( | const base::String & | pSerialName = sClassName |
) | const [virtual] |
create serializeData for serialize manager
Implements iso::serialize::Serializable.
Serializable * SerializeManager::deSerialize | ( | const SerializeData & | pSerializeData | ) | throw (SerializeException) [static] |
create serialization manager from SerializeData
pSerializeData | SerializeData |
SerializeException | incompatible SerializeData |
Reimplemented from iso::serialize::Serializable.
Serializable * SerializeManager::getSerializable | ( | const base::String & | pName | ) | throw (SerializeException) |
retrieve pointer to serializable object via name
pName | name of serializable object |
SerializeException | unknown name |
Serializable * SerializeManager::createSerializable | ( | const base::String & | pName, | |
const SerializeData & | pSerializeData | |||
) | throw (SerializeException) |
create new serializable from serialize data
pName | hash key for serializable (typically the class name) | |
pSerializeData | serializeData |
SerializeException | unknown object class name |
void SerializeManager::storeSerializable | ( | const base::String & | pName, | |
Serializable * | pSerializable | |||
) | throw (SerializeException) |
store pointer to serializable object in hash table
pName | serializable object name | |
pSerializable | serializable pointer |
SerializeException | serializable cannot be stored (duplicate class name) |
base::String iso::serialize::SerializeManager::registerSerializable | ( | const base::String & | pName | ) | throw (SerializeException) |
store deSerialization function pointer in hash table
pName | hash key for serializable (typically the class name) |
SerializeException | serializable cannot be stored (duplicate class name) |
void SerializeManager::setFilePath | ( | const base::String & | pFileSuffix, | |
const base::String & | pFilePath | |||
) | throw (SerializeException) |
set file path for serialization files
pFileSuffix | file suffix | |
pFilePath | file path |
SerializeException | duplicate file suffix |
SerializeData SerializeManager::read | ( | const base::String & | pFile | ) | throw (SerializeException) |
read serialization file
pFile | serialization file name |
SerializeException | read error |
void SerializeManager::write | ( | const SerializeData & | pSerializeData, | |
const base::String & | pFileName, | |||
const base::String & | pFileType | |||
) | throw (SerializeException) |
write serialization file
pSerializeData | serialization data | |
pFileName | serialization file name | |
pFileType | serialization file type |
SerializeException | write error |
base::String SerializeManager::info | ( | ) | const |
obtain textual serialize manager information
base::String SerializeManager::createFileName | ( | const base::String & | pFileName | ) | const [protected] |
construct file name
pFileName | original file name |
std::ostream& operator<< | ( | std::ostream & | pOstream, | |
const SerializeManager & | pSerializeManager | |||
) | [friend] |
print serialize manager information
const base::String SerializeManager::sClassName [static] |
SerializeManager * SerializeManager::sSerializeManager [static, protected] |
singleton class instance
QHash< base::String, CreateSerializablePtr > iso::serialize::SerializeManager::mSerializableFactory [protected] |
association : serializable class name / deSerialize function pointer
QHash<base::String, Serializable*> iso::serialize::SerializeManager::mSerializableStorage [protected] |
asssociation : serializable object name / serializable object pointer
the serializables stored in this hashtable are objects, whose memory position needs to be know by other objects. These other objects can retreive these pointers by providing the names of the other objects.
XML <-> SerializeData converter.
QHash<base::String, base::String> iso::serialize::SerializeManager::mFilePaths [protected] |
file suffix / file path association