//----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- // FeatureControl::SetPropertyData() //----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- void FeatureControl::SetPropertyData(const CMIOObjectPropertyAddress& address, UInt32 qualifierDataSize, const void* qualifierData, UInt32 dataSize, const void* data) { switch (address.mSelector) { case kCMIOFeatureControlPropertyOnOff: ThrowIf(dataSize != GetPropertyDataSize(address, qualifierDataSize, qualifierData), CAException(kCMIOHardwareBadPropertySizeError), "CMIO::DP::FeatureControl::GetPropertyData: wrong data size for kCMIOFeatureControlPropertyOnOff"); SetOnOff(*static_cast<const UInt32*>(data)); break; case kCMIOFeatureControlPropertyAutomaticManual: ThrowIf(dataSize != GetPropertyDataSize(address, qualifierDataSize, qualifierData), CAException(kCMIOHardwareBadPropertySizeError), "CMIO::DP::FeatureControl::GetPropertyData: wrong data size for kCMIOFeatureControlPropertyAutomaticManual"); SetAutomaticManual(*static_cast<const UInt32*>(data)); break; case kCMIOFeatureControlPropertyAbsoluteNative: ThrowIf(dataSize != GetPropertyDataSize(address, qualifierDataSize, qualifierData), CAException(kCMIOHardwareBadPropertySizeError), "CMIO::DP::FeatureControl::GetPropertyData: wrong data size for kCMIOFeatureControlPropertyAutomaticManual"); SetAbsoluteNative(*static_cast<const UInt32*>(data)); break; case kCMIOFeatureControlPropertyTune: ThrowIf(dataSize != GetPropertyDataSize(address, qualifierDataSize, qualifierData), CAException(kCMIOHardwareBadPropertySizeError), "CMIO::DP::FeatureControl::GetPropertyData: wrong data size for kCMIOFeatureControlPropertyTune"); SetTune(*static_cast<const UInt32*>(data)); break; case kCMIOFeatureControlPropertyNativeValue: ThrowIf(dataSize != GetPropertyDataSize(address, qualifierDataSize, qualifierData), CAException(kCMIOHardwareBadPropertySizeError), "CMIO::DP::FeatureControl::GetPropertyData: wrong data size for kCMIOFeatureControlPropertyNativeValue"); SetNativeValue(*static_cast<const Float32*>(data)); break; case kCMIOFeatureControlPropertyAbsoluteValue: ThrowIf(dataSize != GetPropertyDataSize(address, qualifierDataSize, qualifierData), CAException(kCMIOHardwareBadPropertySizeError), "CMIO::DP::FeatureControl::GetPropertyData: wrong data size for kCMIOFeatureControlPropertyAbsoluteValue"); SetAbsoluteValue(*static_cast<const Float32*>(data)); break; default: Control::SetPropertyData(address, qualifierDataSize, qualifierData, dataSize, data); break; }; }
bool KeyerConfigure::configureKeyers() { TiXmlBase::SetCondenseWhiteSpace( false ); TiXmlDocument keyerdoc; keyerdoc.LoadFile( ".\\Configuration\\keyerConfig.xml" ); TiXmlElement *root = keyerdoc.RootElement(); if ( !root ) { //err = "No XML root element (does file exist?)"; return false; } if ( !checkElementName( root, "KeyerConfig" ) ) { //err = "Invalid XML root element"; return false; } for ( TiXmlElement * e = root->FirstChildElement(); e; e = e->NextSiblingElement() ) { if ( checkElementName( e, "Trace" ) ) { SetTrace( e ); } else if ( checkElementName( e, "Tune" ) ) { SetTune( e ); } else if ( checkElementName( e, "Ports" ) ) { SetPorts( e ); } else if ( checkElementName( e, "Keyers" ) ) { SetKeyers( e ); } else if ( checkElementName( e, "Enable" ) ) { SetEnable( e ); } else if ( checkElementName( e, "CW" ) ) { SetCW( e ); } else if ( checkElementName( e, "MorseCode" ) ) { SetMorseCode( e ); } else if ( checkElementName( e, "CWMessages" ) ) { SetCWMessages( e ); } else { // trace("Unknown"); } } return true; }