cfg_Cli_fsc Class Reference
[Parser for config files; validation]

#include <cli_arg.h>

Inheritance diagram for cfg_Cli_fsc:

Inheritance graph
[legend]
Collaboration diagram for cfg_Cli_fsc:

Collaboration graph
[legend]

List of all members.


Detailed Description

Definition at line 284 of file cli_arg.h.


Public Member Functions

 cfg_Cli_fsc (UInt32_t a_argc, char *a_argv[])
virtual ~cfg_Cli_fsc ()
virtual void HelpDump ()
 it it called at cc_HELP command each cli must implement its own method base HelpDump display common help

Public Attributes

string path
string shRelFile
bool shVector
bool shData
bool openDB
string fscPosition
vector< val_Element< UInt32_t > > fileID
cmn_Path outputFile
UInt32_t mediumKey
UInt32_t mediumVol
bool winPathSeparator
bool detailed

Private Attributes

 log_CLASSID_m

Constructor & Destructor Documentation

cfg_Cli_fsc::cfg_Cli_fsc ( UInt32_t  a_argc,
char *  a_argv[] 
)

Definition at line 1800 of file cfg_cliarg.cpp.

References val_RuleVec::Add(), ap_ooData, ap_ooVector, ap_paFileName, ap_paMediumKey, ap_paVolumeNumber, ap_poListOfFileID, cfg_MAX_CLI_ARGLEN, cfg_MAX_FILEID, cfg_MAX_JOB_PRIORITY_MOD, cfg_MAX_MEDIUM_KEY, cfg_MAX_PATHNAME, cfg_MAX_VOLUME_NUM, cfg_MIN_CLI_ARGLEN, cfg_MIN_JOB_PRIORITY_MOD, cfg_MIN_MEDIUM_KEY, cfg_MIN_PATHNAME, cfg_MIN_VOLUME_NUM, dbg_DETAIL, fileID, fscPosition, cfg_CliBase::GetRules(), log_DBG_m, log_FUNC_m, ap_Argument::m_long, mediumKey, mediumVol, openDB, outputFile, ap_Argument::Parse(), path, cfg_CliBase::Refresh(), shData, shRelFile, shVector, and winPathSeparator.

01801     :
01802     cfg_CliBase(),
01803     shRelFile(" "),
01804     shVector(false),
01805     shData(false),
01806     openDB(false),
01807     mediumKey(0),
01808     mediumVol(0),
01809     winPathSeparator(false)
01810 {
01811 
01812     log_FUNC_m(cfg_Cli_fsc);
01813     string uselessvar; // used just for adding rule
01814 
01815     pf_ValueList parsed;
01816     ivd_fsc.Parse(a_argc, a_argv, parsed);
01817 
01818     log_DBG_m(dbg_DETAIL,
01819         "Parsed options: " << endl <<  parsed );
01820 
01821     GetRules().Add(
01822         new val_Bool(
01823             ap_ooVector.m_long,val_Limit(cfg_MIN_CLI_ARGLEN, cfg_MAX_CLI_ARGLEN)),
01824         this->shVector
01825     );
01826 
01827     GetRules().Add(
01828         new val_Bool(
01829             ap_ooData.m_long,val_Limit(cfg_MIN_CLI_ARGLEN, cfg_MAX_CLI_ARGLEN)),
01830         this->shData
01831     );
01832 
01833      GetRules().Add(
01834         new val_Bool(
01835             ap_ooOpenDB.m_long,val_Limit(cfg_MIN_CLI_ARGLEN, cfg_MAX_CLI_ARGLEN)),
01836         this->openDB
01837     );
01838 
01839      GetRules().Add(
01840         new val_StrictString(
01841             ap_goRelFile.m_long, val_Limit(cfg_MIN_JOB_PRIORITY_MOD, cfg_MAX_JOB_PRIORITY_MOD)),
01842         this->shRelFile
01843     );
01844 
01845     GetRules().Add(
01846         new val_UInt32List(
01847             ap_poListOfFileID.m_long, val_Limit(0, cfg_MAX_FILEID)),
01848         this->fileID
01849     );
01850 
01851     GetRules().Add(
01852         new val_StrictString(
01853             ap_goFSCposition.m_long, val_Limit(cfg_MIN_PATHNAME, cfg_MAX_PATHNAME)),
01854         this->fscPosition
01855     );
01856 
01857     GetRules().Add(
01858         new val_Path(
01859             ap_omPath.m_long, val_Limit(cfg_MIN_PATHNAME, cfg_MAX_CLI_ARGLEN)),
01860         this->path
01861     );
01862 
01863     GetRules().Add(
01864         new val_Integer(
01865             ap_paMediumKey.m_long, val_Limit(cfg_MIN_MEDIUM_KEY, cfg_MAX_MEDIUM_KEY)),
01866         this->mediumKey
01867     );
01868 
01869     GetRules().Add(
01870         new val_StrictString(
01871             ap_ooVolumeNum.m_long, val_Limit(cfg_MIN_VOLUME_NUM, cfg_MAX_VOLUME_NUM)),
01872         uselessvar
01873     );
01874 
01875     GetRules().Add(
01876         new val_Integer(
01877             ap_paVolumeNumber.m_long, val_Limit(cfg_MIN_VOLUME_NUM, cfg_MAX_VOLUME_NUM), 1, 1, "0"),
01878         this->mediumVol
01879         );
01880 
01881     GetRules().Add(
01882         new val_StrictString(
01883             ap_opOutputFileName.m_long, val_Limit(cfg_MIN_PATHNAME, cfg_MAX_PATHNAME)),
01884             uselessvar
01885         );
01886 
01887     GetRules().Add(
01888         new val_Path(
01889             ap_paFileName.m_long, val_Limit(cfg_MIN_PATHNAME, cfg_MAX_PATHNAME)),
01890             this->outputFile
01891         );
01892 
01893     GetRules().Add(
01894         new val_Bool(
01895             ap_ooSeparator.m_long, val_Limit(cfg_MIN_PATHNAME, cfg_MAX_PATHNAME)),
01896             this->winPathSeparator
01897         );
01898 
01899     // Validate and convert options
01900     Refresh(parsed);
01901 }
//============================================================================//

Here is the call graph for this function:

virtual cfg_Cli_fsc::~cfg_Cli_fsc (  )  [inline, virtual]

Definition at line 287 of file cli_arg.h.

00287 {};


Member Function Documentation

void cfg_Cli_fsc::HelpDump (  )  [virtual]

it it called at cc_HELP command each cli must implement its own method base HelpDump display common help

Reimplemented from cfg_CliBase.

Definition at line 1904 of file cfg_cliarg.cpp.

01904                            {
01905     cout << ivd_fsc << endl;
01906     cout << endl << "Option description:" << endl;
01907     cout << "   -p  show permanent database information header" << endl;
01908     cout << "   -j  dump of journal files" << endl;
01909     cout << "       -L show changes in data location rel. file" << endl;
01910     cout << "       -G show changes in generation rel. file" << endl;
01911     cout << "       -C show changes in copy rel. file" << endl;
01912     cout << "       -S show changes in split rel. file" << endl;
01913     cout << "       -V information about released and used vectors" << endl;
01914     cout << "       -D hexdump of written data" << endl;
01915 
01916     cout << "   <fileID...>  For each fileId displays file's FSC information." << endl;
01917     cout << "When only partition name is specified then interactive mode gets off." << endl;
01918     cout << "       -O Open DB to reply transactions by reading journal." << endl;
01919     cout << endl;
01920 
01921     cout
01922         << "Medium dump status flags: " << endl
01923         << "  dir: this entry is a directory" << endl
01924         << "  deleted: file was already deleted on the file system (not necessarily in this generation)" << endl
01925         << "  last: last generation of this file/directory" << endl
01926         << "  no-NSC: the file/directory doesn't have its name stored in the NSC" << endl << endl;
01927 
01928     cout
01929         << "Medium dump data type flags" << endl
01930         << "  H: header" << endl
01931         << "  D: data" << endl
01932         << "  A: alternate data stream" << endl
01933         << "  M: meta data stream" << endl;
01934 }


Member Data Documentation

Definition at line 291 of file cli_arg.h.

Referenced by cfg_Cli_fsc(), and main().

Definition at line 292 of file cli_arg.h.

Referenced by cfg_Cli_fsc(), and main().

Definition at line 293 of file cli_arg.h.

Referenced by cfg_Cli_fsc(), and main().

Definition at line 294 of file cli_arg.h.

Referenced by cfg_Cli_fsc(), and main().

Definition at line 295 of file cli_arg.h.

Referenced by cfg_Cli_fsc(), and main().

Definition at line 297 of file cli_arg.h.

Referenced by cfg_Cli_fsc(), and main().

Definition at line 299 of file cli_arg.h.

Referenced by cfg_Cli_fsc(), and main().

Definition at line 302 of file cli_arg.h.

Referenced by cfg_Cli_fsc(), and main().

Definition at line 303 of file cli_arg.h.

Referenced by cfg_Cli_fsc(), and main().

Definition at line 304 of file cli_arg.h.

Referenced by cfg_Cli_fsc(), and main().

Definition at line 305 of file cli_arg.h.

Referenced by cfg_Cli_fsc(), and main().

Definition at line 306 of file cli_arg.h.

Reimplemented from cfg_CliBase.

Definition at line 309 of file cli_arg.h.


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

Generated on Mon Feb 27 19:03:07 2012 for OPENARCHIVE by  doxygen 1.5.6