@@ -207,8 +207,14 @@ T_1CD::~T_1CD()
207207 if (pagemap) delete[] pagemap;
208208}
209209
210+ T_1CD::T_1CD (const boost::filesystem::path &_filename, MessageRegistrator *mess, bool _monopoly)
211+ {
212+ msreg_m.AddMessageRegistrator (mess);
213+ open (_filename, _monopoly);
214+ }
215+
210216// ---------------------------------------------------------------------------
211- T_1CD::T_1CD (const string &_filename, MessageRegistrator *mess , bool _monopoly)
217+ void T_1CD::open (const boost::filesystem::path &_filename, bool _monopoly)
212218{
213219 char * b = nullptr ;
214220 uint32_t * table_blocks = nullptr ;
@@ -217,17 +223,15 @@ T_1CD::T_1CD(const string &_filename, MessageRegistrator *mess, bool _monopoly)
217223 root_80* root80 = nullptr ;
218224 root_81* root81 = nullptr ;
219225
220- msreg_m.AddMessageRegistrator (mess);
221-
222226 init ();
223227
224- filename = System::Ioutils::TPath::GetFullPath (_filename);
228+ filename = boost::filesystem::absolute (_filename). string ( );
225229
226230 std::shared_ptr<TFileStream> base_file;
227231 try
228232 {
229233 base_file.reset (
230- new TFileStream (boost::filesystem::path (filename) ,
234+ new TFileStream (_filename ,
231235 _monopoly ? (fmOpenReadWrite | fmShareDenyWrite)
232236 : (fmOpenRead | fmShareDenyNone)));
233237 }
@@ -2157,6 +2161,11 @@ bool T_1CD::test_block_by_template(uint32_t testblock, char* tt, uint32_t num, i
21572161}
21582162
21592163std::string T_1CD::get_filename () const
2164+ {
2165+ return filename.string ();
2166+ }
2167+
2168+ const boost::filesystem::path &T_1CD::get_filepath () const
21602169{
21612170 return filename;
21622171}
0 commit comments