00001 /* 00002 * BaseOption.cpp 00003 * 00004 * Created on: Oct 22, 2011 00005 * Author: mriedel 00006 */ 00007 00008 #include <telekyb_base/Options/BaseOption.hpp> 00009 00010 #include <telekyb_base/Options/OptionContainer.hpp> 00011 00012 namespace TELEKYB_NAMESPACE 00013 { 00014 00015 bool BaseOption::printOptions = false; 00016 00017 BaseOption::BaseOption(OptionContainer* parent_, const std::string name_, const std::string description_, bool mandatory_, bool readOnly_) 00018 : parent(parent_), 00019 name(name_), 00020 description(description_), 00021 mandatory(mandatory_), 00022 readOnly(readOnly_), 00023 initialValue(true) 00024 { 00025 00026 } 00027 00028 BaseOption::~BaseOption() 00029 { 00030 00031 } 00032 00033 std::string BaseOption::getName() const { 00034 return name; 00035 } 00036 std::string BaseOption::getDescription() const { 00037 return description; 00038 } 00039 std::string BaseOption::getNamespace() const { 00040 return parent->getOptionContainerNamespace(); 00041 } 00042 std::string BaseOption::getNSName() const { 00043 return parent->getOptionContainerNamespace() + name; 00044 } 00045 00046 OptionContainer* BaseOption::getParent() const { 00047 return parent; 00048 } 00049 00050 bool BaseOption::isMandatory() const { 00051 return mandatory; 00052 } 00053 bool BaseOption::isReadOnly() const { 00054 return readOnly; 00055 } 00056 bool BaseOption::isOnInitialValue() const { 00057 return initialValue; 00058 } 00059 00060 } 00061