Public Member Functions | Public Attributes | Private Attributes

cfg_PMClient Class Reference
[Parser for config files; validation]

This class is member of cfg_pmCfg. More...

#include <cfg_pm.h>

Inheritance diagram for cfg_PMClient:
Inheritance graph
[legend]
Collaboration diagram for cfg_PMClient:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 cfg_PMClient ()
virtual ~cfg_PMClient ()
 cfg_PMClient (const string &a_name, const pf_Group &a_group)

Public Attributes

string name
string fileSystemId
ivd_FSType_e operationMode
UInt32_t WORMTimeout
UInt32_t recallOnOpen
UInt32_t sendHl7Messages
UInt32_t migrateWithCollocation
UInt32_t disableAutMig
string replTargHost
string replTargPart

Private Attributes

 log_CLASSID_m

Detailed Description

This class is member of cfg_pmCfg.

Definition at line 38 of file cfg_pm.h.


Constructor & Destructor Documentation

cfg_PMClient::cfg_PMClient (  )  [inline]

Definition at line 40 of file cfg_pm.h.

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

Definition at line 41 of file cfg_pm.h.

{};

cfg_PMClient::cfg_PMClient ( const string &  a_name,
const pf_Group a_group 
)

Definition at line 637 of file cfg_pm.cpp.

References val_RuleVec::Add(), val_String::Bind(), cfg_DEF_DISABLEAUTOMATICMIGRATIONS, cfg_DEF_FSTYPE_P, cfg_DEF_MIGRATEWITHCOLLOCATION, cfg_DEF_RECALLONOPEN, cfg_DEF_SENDHL7MESSAGES, cfg_DEF_WORMTIMEOUT, cfg_MAX_DISABLEAUTOMATICMIGRATIONS, cfg_MAX_FILESYSTEM_ID, cfg_MAX_FSTYPE_P, cfg_MAX_HOSTNAME, cfg_MAX_MIGRATEWITHCOLLOCATION, cfg_MAX_PARTITION_NAME, cfg_MAX_RECALLONOPEN, cfg_MAX_SENDHL7MESSAGES, cfg_MAX_WORMTIMEOUT, cfg_MIN_DISABLEAUTOMATICMIGRATIONS, cfg_MIN_FILESYSTEM_ID, cfg_MIN_FSTYPE_P, cfg_MIN_HOSTNAME, cfg_MIN_MIGRATEWITHCOLLOCATION, cfg_MIN_PARTITION_NAME, cfg_MIN_RECALLONOPEN, cfg_MIN_SENDHL7MESSAGES, cfg_MIN_WORMTIMEOUT, cfg_Base::CheckMandatory(), val_Value::Conv(), cfg_Base::Convert(), disableAutMig, fileSystemId, migrateWithCollocation, name, operationMode, recallOnOpen, replTargHost, replTargPart, sendHl7Messages, and WORMTimeout.

                                                                        {

    static const string c_fileSystemId                      ("FileSystemID");
    static const string c_operationMode                     ("Type");
    static const string c_WORMTimeout                       ("WORMTimeout");
    static const string c_recallOnOpen                      ("RecallOnOpen");
    static const string c_disableAutomaticMigrations        ("DisableAutomaticMigrations");
    static const string c_sendHl7Messages                   ("SendHl7Messages");
    static const string c_migrateWithCollocation            ("MigrateWithCollocation");
    static const string c_replicationTargetHost             ("ReplicationTargetHost");
    static const string c_replicationTargetPartition        ("ReplicationTargetPartition");

    val_Hostname converter(a_name,
                           val_Limit(cfg_MIN_HOSTNAME, cfg_MAX_HOSTNAME));
    converter.Bind(this->name);
    converter.Conv(a_name);

    val_RuleVec  rules;

    rules.Add(
        new val_StrictString( c_fileSystemId,
                        val_Limit(cfg_MIN_FILESYSTEM_ID, cfg_MAX_FILESYSTEM_ID)),
        this->fileSystemId
    );

    rules.Add(
        new val_FSType( c_operationMode,
                        val_Limit(cfg_MIN_FSTYPE_P, cfg_MAX_FSTYPE_P),
                        0,
                        1,
                        cfg_DEF_FSTYPE_P),
        this->operationMode
    );

    rules.Add(
        new val_Duration(c_WORMTimeout,
                        val_Limit(cfg_MIN_WORMTIMEOUT, cfg_MAX_WORMTIMEOUT),
                        0,
                        1,
                        cfg_DEF_WORMTIMEOUT),
        this->WORMTimeout
    );

    rules.Add(
        new val_Integer(c_recallOnOpen,
                        val_Limit(cfg_MIN_RECALLONOPEN, cfg_MAX_RECALLONOPEN),
                        0,
                        1,
                        cfg_DEF_RECALLONOPEN),
        this->recallOnOpen
    );

    rules.Add(
        new val_Integer(c_disableAutomaticMigrations,
                        val_Limit(cfg_MIN_DISABLEAUTOMATICMIGRATIONS, cfg_MAX_DISABLEAUTOMATICMIGRATIONS),
                        0,
                        1,
                        cfg_DEF_DISABLEAUTOMATICMIGRATIONS ),
        this->disableAutMig
    );

    rules.Add(
        new val_Integer(c_sendHl7Messages,
                        val_Limit(cfg_MIN_SENDHL7MESSAGES, cfg_MAX_SENDHL7MESSAGES),
                        0,
                        1,
                        cfg_DEF_SENDHL7MESSAGES),
        this->sendHl7Messages
    );
    rules.Add(
        new val_Integer(c_migrateWithCollocation,
                        val_Limit(cfg_MIN_MIGRATEWITHCOLLOCATION, cfg_MAX_MIGRATEWITHCOLLOCATION),
                        0,
                        1,
                        cfg_DEF_MIGRATEWITHCOLLOCATION),
        this->migrateWithCollocation
    );

    rules.Add(
        new val_StrictString(c_replicationTargetHost,
                             val_Limit(cfg_MIN_HOSTNAME, cfg_MAX_HOSTNAME),
                             0,
                             cfg_MAX_HOSTNAME),
        this->replTargHost
    );

    rules.Add(
        new val_StrictString(c_replicationTargetPartition,
                             val_Limit(cfg_MIN_PARTITION_NAME, cfg_MAX_PARTITION_NAME),
                             0,
                             cfg_MAX_PARTITION_NAME),
        this->replTargPart
    );

    Convert(a_group, rules);
    CheckMandatory(rules);
}

Here is the call graph for this function:


Member Data Documentation

Definition at line 66 of file cfg_pm.h.

Referenced by cfg_PMClient(), SetPartitionOptions(), and cfg_PMCfg::ValidatePartitionOptions().

Definition at line 51 of file cfg_pm.h.

Referenced by cfg_PMClient().

Reimplemented from cfg_Base.

Definition at line 71 of file cfg_pm.h.

Definition at line 60 of file cfg_pm.h.

Referenced by cfg_PMClient(), SetPartitionOptions(), and cfg_PMCfg::ValidatePartitionOptions().

Definition at line 45 of file cfg_pm.h.

Referenced by cfg_PMClient().

Definition at line 53 of file cfg_pm.h.

Referenced by cfg_PMClient(), and SetPartitionOptions().

Definition at line 57 of file cfg_pm.h.

Referenced by cfg_PMClient(), and SetPartitionOptions().

Definition at line 67 of file cfg_pm.h.

Referenced by cfg_PMClient().

Definition at line 68 of file cfg_pm.h.

Referenced by cfg_PMClient().

Definition at line 59 of file cfg_pm.h.

Referenced by cfg_PMClient(), and SetPartitionOptions().

Definition at line 54 of file cfg_pm.h.

Referenced by cfg_PMClient().


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