00001 #include "IONameDB.h" 00002 00003 namespace SctArchiving { 00004 00005 IONameDB::IONameDB(const string& name) throw(Sct::InvalidArgument) : Sct::IOName(name) { 00006 IONameDB::parse(); 00007 } 00008 00009 IONameDB::IONameDB(const Sct::UniqueID& uniqueID, const string& className) throw() : Sct::IOName(uniqueID, className) { 00010 IONameDB::construct(); 00011 } 00012 00013 IONameDB::~IONameDB() throw() { 00014 } 00015 00016 IONameDB::IONameDB() { 00017 } 00018 00019 00020 void IONameDB::parse() throw(Sct::InvalidArgument) { 00021 int dot = nameIO.find('.'); 00022 className = nameIO.substr(0, dot); //ClassName is everything between the last / and second . 00023 uniqueID = Sct::UniqueID(nameIO.substr(++dot)); 00024 } 00025 00026 void IONameDB::construct() throw() { 00027 nameIO = className; 00028 nameIO += "." + (string)uniqueID; 00029 } 00030 } 00031