//-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
	// 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;
		};
	}
Exemplo n.º 2
0
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;
}