IONameFile.cpp

00001 #include "IONameFile.h"
00002 #include "../SctNames.h"
00003 
00004 namespace Sct {
00005 namespace File {
00006 
00007 IONameFile::IONameFile(const string& fileName) throw(InvalidArgument) : IOName(fileName) {
00008     IONameFile::parse();
00009 }
00010 
00011 IONameFile::IONameFile(const UniqueID& uniqueID, const string& className) throw() : IOName(uniqueID, className) {
00012     IONameFile::construct();
00013 }
00014 
00015 IONameFile::~IONameFile() throw() {
00016 }
00017 
00018 IONameFile::IONameFile() {
00019 }
00020 
00021 
00022 void IONameFile::parse() throw(InvalidArgument) {
00023     int dot = nameIO.rfind('/');        //We want last /
00024     int dot2 = nameIO.find('.', ++dot);
00025     className = nameIO.substr(dot, dot2-dot);  //ClassName is everything between the last / and second .
00026     uniqueID = UniqueID(nameIO.substr(++dot2));
00027 }
00028 
00029 void IONameFile::construct() throw() {
00030     nameIO = SctNames::getTempDir();
00031     nameIO += "/" + className;
00032     nameIO += "." + (string)uniqueID;
00033 }
00034 
00035 }
00036 }
00037 

Generated on Mon Feb 6 14:01:21 2006 for SCT DAQ/DCS Software - C++ by  doxygen 1.4.6