Public Types | Public Member Functions | Public Attributes | Private Attributes

ivd_FS_File Class Reference

#include <ivd_fs_api.h>

Collaboration diagram for ivd_FS_File:
Collaboration graph

List of all members.

Public Types

enum  ivd_FS_FileOperation_e {
  e_NoOp = 0, e_Migrate = 1,
  e_MigrateNoData = 2, e_Release = 3,
  e_Recall = 4, e_RecallInto = 5,
  e_Recovery = 6, e_Cache = 7,
  e_RefCount = 8
enum  Event_e { e_RecallEvt, e_MigrateEvt }

Public Member Functions

 ivd_FS_File (ivd_FileSystemAPI &, ivd_GenInode_t osID, ivd_FileID_t fileID=0)
 ivd_FS_File (ivd_FileSystemAPI &, const string &fullPath, ivd_GenInode_t a_inode=0)
 ivd_FS_File (ivd_FileSystemAPI &a_fs_api, const string &a_fullPath, ivd_GenInode_t a_inode, ivd_FileSize_t a_fileSize, ivd_FileType_e a_fileType)
void Open (ivd_FS_FileOperation_e, const string &pathName=string())
void Release (ivd_FileSize_t offset=0, ivd_FileSize_t size=0)
UInt32_t GetStreamHeader (string &a_streamName, ivd_FilePosition_t &a_streamSize)
 Get next file stream (data, meta or alternate data) - used for migration.
ivd_FileRetSize_t ReadStream (void *a_buf, ivd_FileBufSize_t a_size)
 Read current file stream - used for migration.
void SetStreamHeader (UInt32_t a_streamType, const string &a_streamName, ivd_FilePosition_t a_streamSize)
 Set next file stream (data, meta or alternate data) - used for recall.
ivd_FilePosition_t GetStreamLeft ()
void SetStreamHeader (UInt32_t a_streamType)
ivd_FileRetSize_t WriteStream (const void *a_buf, ivd_FileBufSize_t a_size)
 Write current file stream - used for recall.
ivd_FileRetSize_t WriteF (const void *a_buf, ivd_FileBufSize_t a_size)
void Close (void)
void SeekF (ivd_FilePosition_t a_offset)
bool IsOpen ()
void SetFileID (ivd_FileID_t fileID, ivd_FileSize_t a_chunkSize)
void SetInode (ivd_GenInode_t a_inode)
void SetFileSize (ivd_FileSize_t a_size)
void SetDataClean (ivd_Time_t mtime, ivd_FileSize_t offset=0, ivd_FileSize_t size=0)
void SetDataOffline (ivd_FileSize_t offset=0, ivd_FileSize_t size=0)
void SetDataOnline (ivd_FileSize_t offset=0, ivd_FileSize_t size=0)
void AddSyncEvent (ivd_FS_Event &)
void ReplySyncEvents (UInt16_t status)
void GetProperties (ivd_FS_FileProperty_t &a_fileProp)
cmn_PathGetFullPathRef ()
void SetFullPath (const cmn_Path &a_fullpath)
void QueryFullFileName (string &cmnFileName)
void TriggerEvent (Event_e a_event)
void StatF (ivd_FileInfo_t &a_info)
void SetStatAttr (ivd_FileInfo_t &a_info)
 Used at recovery to restore owner, group, and all four times.
bool IsOfflineProlonged ()
void SetCollocationId (UInt64_t a_major, UInt64_t a_minor)

Public Attributes


Private Attributes

ivd_FileHandle_t m_fd
bool m_gotProp
ivd_FS_FileProperty_t m_prop
cmn_File m_file
ivd_FS_FileOperation_e m_fileOp
vector< ivd_FS_Eventm_syncEvents
string m_VolumeRoot
UInt64_t m_recallOffset
 m_recallOffset is used on Win platform because recall of file goes through kernel write function and IOCTL function needs this parameter.

Detailed Description

Definition at line 339 of file ivd_fs_api.h.

Constructor & Destructor Documentation

ivd_FS_File::ivd_FS_File ( ivd_FileSystemAPI a_fs_api,
ivd_GenInode_t  osID,
ivd_FileID_t  fileID = 0 

Definition at line 646 of file hpux/ivd_fs_api.cpp.

References log_FUNC_m.

Referenced by ivd_FS_File().

    m_prop(a_osID, a_fileID),
    m_recallOffset(0) {

Here is the caller graph for this function:

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