fsc_MedVolume Class Reference
[File System Catalog]

#include <fsc_MedVolume.h>

Inheritance diagram for fsc_MedVolume:

Inheritance graph
[legend]
Collaboration diagram for fsc_MedVolume:

Collaboration graph
[legend]

List of all members.


Detailed Description

Definition at line 29 of file fsc_MedVolume.h.


Public Member Functions

 fsc_MedVolume (const cmn_Path &a_fscDirectory, ivd_MediaKey_t a_mediaKey, ivd_MedVolNum_t a_medVolNum, UInt32_t a_blockOfs)
 fsc_MedVolume (const cmn_Path &a_fscDirectory, ivd_MediaKey_t a_mediaKey, ivd_MedVolNum_t a_medVolNum)
virtual ~fsc_MedVolume ()

Static Public Member Functions

static const cmn_Path GetMedVolFileName (const cmn_Path &a_fscDirectory, ivd_MediaKey_t a_mediaKey, ivd_MedVolNum_t a_medVolNum, UInt32_t a_blockOfs)

Public Attributes

 log_CLASSID_m

Protected Member Functions

void InitBuffer ()

Protected Attributes

const cmn_Path m_fscDirectory
 return the number of read bytes
const ivd_MediaKey_t m_mediaKey
const ivd_MedVolNum_t m_medVolNum
UInt32_t m_buffCapacity
 file name is compound of mediaKey + medVolNum example: "m000000001v001.lcf"
UInt32_t m_buffSize
fsc_medVolData_tm_medVolDataBuf
fsc_medVolData_tm_buffPos
fsc_medVolData_tm_buffEnd

Static Protected Attributes

static int m_objCounter
static int m_ofsBitMask

Constructor & Destructor Documentation

fsc_MedVolume::fsc_MedVolume ( const cmn_Path a_fscDirectory,
ivd_MediaKey_t  a_mediaKey,
ivd_MedVolNum_t  a_medVolNum,
UInt32_t  a_blockOfs 
)

Definition at line 76 of file fsc_MedVolume.cpp.

References InitBuffer(), log_FUNC_m, and m_objCounter.

Referenced by fsc_MedVolume().

00081     :
00082     m_fscDirectory(a_fscDirectory),
00083     m_mediaKey(a_mediaKey),
00084     m_medVolNum(a_medVolNum),
00085     m_buffCapacity(fsc_MedVolBuffCapacity_c),
00086     m_medVolDataBuf(NULL)
00087 {
00088     log_FUNC_m(fsc_MedVolume);
00089     m_objCounter++;
00090 
00091     InitBuffer();
00092 }
//============================================================================//

Here is the call graph for this function:

Here is the caller graph for this function:

fsc_MedVolume::fsc_MedVolume ( const cmn_Path a_fscDirectory,
ivd_MediaKey_t  a_mediaKey,
ivd_MedVolNum_t  a_medVolNum 
)

Definition at line 96 of file fsc_MedVolume.cpp.

References fsc_MedVolume(), log_FUNC_m, and m_objCounter.

00100     :
00101     m_fscDirectory(a_fscDirectory),
00102     m_mediaKey(a_mediaKey),
00103     m_medVolNum(a_medVolNum),
00104     m_buffCapacity(0),
00105     m_buffSize(0),
00106     m_medVolDataBuf(NULL),
00107     m_buffPos (NULL),
00108     m_buffEnd (NULL)
00109 {
00110     log_FUNC_m(fsc_MedVolume(cmn_Path, ivd_MediaKey_t, ivd_MedVolNum_t));
00111     m_objCounter++;
00112 }
//============================================================================//

Here is the call graph for this function:

fsc_MedVolume::~fsc_MedVolume (  )  [virtual]

Definition at line 144 of file fsc_MedVolume.cpp.

References log_FUNC_m, m_medVolDataBuf, and m_objCounter.

00144                               {
00145     log_FUNC_m(~fsc_MedVolume);
00146     delete [] m_medVolDataBuf;
00147     m_objCounter--;
00148 }


Member Function Documentation

const cmn_Path fsc_MedVolume::GetMedVolFileName ( const cmn_Path a_fscDirectory,
ivd_MediaKey_t  a_mediaKey,
ivd_MedVolNum_t  a_medVolNum,
UInt32_t  a_blockOfs 
) [static]

Definition at line 54 of file fsc_MedVolume.cpp.

References fsc_byVolDir_c, fsc_MedDirPrefix_c, fsc_MedVolFileExt_c, fsc_OfsFilePrefix_c(), fsc_VolDirPrefix_c, m_ofsBitMask, and snprintf.

Referenced by fsc_MedVolReader::fsc_MedVolReader(), and fsc_MedVolWriter::fsc_MedVolWriter().

00059 {
00060     char sMediaKey[16];
00061     char sMedVolNum[8];
00062     char sBlockOfs[10];
00063 // file name is compound of "med" + mediaKey + "/vol" + medVolNum  + "/ofs" + volume offset
00064 // example: "med000000001/vol001/ofs0000000000.lvf"
00065     snprintf(sMediaKey , 16, "%09d", a_mediaKey);
00066     snprintf(sMedVolNum,  8, "%03d", a_medVolNum);
00067     snprintf(sBlockOfs , 10, "%09d", a_blockOfs & m_ofsBitMask);
00068     return a_fscDirectory + fsc_byVolDir_c
00069                           + (fsc_MedDirPrefix_c + sMediaKey)
00070                           + (fsc_VolDirPrefix_c + sMedVolNum)
00071                           + (fsc_OfsFilePrefix_c + sBlockOfs + fsc_MedVolFileExt_c);
00072 }

Here is the call graph for this function:

Here is the caller graph for this function:

void fsc_MedVolume::InitBuffer (  )  [protected]

Definition at line 116 of file fsc_MedVolume.cpp.

References cmn_GetEnvVariable(), dbg_DETAIL, fsc_MaxMedVolBuffSize_c(), fsc_MedVolBuffSize_c(), cmn_File::GetFullPathRef(), log_DBG_m, log_FUNC_m, m_buffCapacity, m_buffEnd, m_buffPos, m_buffSize, and m_medVolDataBuf.

Referenced by fsc_MedVolume().

00116                                {
00117     log_FUNC_m(InitBuffer);
00118 
00119     string sBuffSize = cmn_GetEnvVariable(fsc_MedVolBuffSize_c);
00120     if (!sBuffSize.empty()) {
00121         unsigned int buffSize = atoi(sBuffSize.c_str());
00122         // to round on fsc_medVolData_t size
00123         m_buffCapacity = buffSize / sizeof(fsc_medVolData_t);
00124     }
00125 
00126     if (m_buffCapacity > fsc_MaxMedVolBuffSize_c) {
00127         m_buffCapacity = fsc_MaxMedVolBuffSize_c;
00128     }
00129 
00130     m_medVolDataBuf = new  fsc_medVolData_t[m_buffCapacity];
00131 
00132     m_buffSize = sizeof(fsc_medVolData_t) * m_buffCapacity;
00133     m_buffPos  = m_medVolDataBuf;
00134     m_buffEnd  = m_medVolDataBuf + m_buffCapacity;
00135     log_DBG_m(dbg_DETAIL, GetFullPathRef() << " bufCap = " << m_buffCapacity
00136                           <<  " sizeof(fsc_medVolData_t) =" << sizeof(fsc_medVolData_t)
00137                           <<  " buffSize =" << m_buffSize
00138                           <<  " buff_p =" << hex << m_buffPos
00139                           <<  " buffEnd_p =" << hex << m_buffEnd << dec);
00140 }

Here is the call graph for this function:

Here is the caller graph for this function:


Member Data Documentation

Reimplemented from cmn_File.

Reimplemented in fsc_MedVolWriter, and fsc_MedVolReader.

Definition at line 43 of file fsc_MedVolume.h.

return the number of read bytes

Definition at line 53 of file fsc_MedVolume.h.

file name is compound of mediaKey + medVolNum example: "m000000001v001.lcf"

Definition at line 57 of file fsc_MedVolume.h.

Referenced by fsc_MedVolReader::GetFSCdata(), InitBuffer(), and fsc_MedVolReader::SortData().

Definition at line 58 of file fsc_MedVolume.h.

Referenced by fsc_MedVolReader::GetFSCdata(), and InitBuffer().

int fsc_MedVolume::m_objCounter [static, protected]

Definition at line 63 of file fsc_MedVolume.h.

Referenced by fsc_MedVolume(), and ~fsc_MedVolume().

int fsc_MedVolume::m_ofsBitMask [static, protected]

Definition at line 67 of file fsc_MedVolume.h.

Referenced by GetMedVolFileName(), and fsc_MedVolWriter::KeyGen().


The documentation for this class was generated from the following files:

Generated on Mon Feb 27 19:21:31 2012 for OPENARCHIVE by  doxygen 1.5.6