made the serial device configurable (part of #722)

This commit is contained in:
fgerlits 2007-01-25 16:53:28 +00:00
parent c2b524aaba
commit 62e24f984f
4 changed files with 46 additions and 3 deletions

View File

@ -11,6 +11,9 @@
outputPlayer,
cuePlayer,
stationLogo,
taskbarIcons,
testAudioUrl,
serialPort,
metadataTypeContainer,
keyboardShortcutList) >
@ -92,9 +95,16 @@
<!ELEMENT stationLogo EMPTY >
<!ATTLIST stationLogo path CDATA #REQUIRED >
<!ELEMENT taskbarIcons (icon+) >
<!ELEMENT icon EMPTY >
<!ATTLIST icon path CDATA #REQUIRED >
<!ELEMENT testAudioUrl EMPTY >
<!ATTLIST testAudioUrl path CDATA #REQUIRED >
<!ELEMENT serialPort EMPTY >
<!ATTLIST serialPort path CDATA #REQUIRED >
<!ELEMENT metadataTypeContainer (metadataType+) >
<!ELEMENT metadataType (constraint?) >
@ -183,6 +193,8 @@
<testAudioUrl path = "file://var/testAudio.ogg" />
<serialPort path = "/dev/ttyS0" />
<metadataTypeContainer>
<metadataType dcName = "dc:title"
id3Tag = "TIT2"

View File

@ -11,6 +11,9 @@
outputPlayer,
cuePlayer,
stationLogo,
taskbarIcons,
testAudioUrl,
serialPort,
metadataTypeContainer,
keyboardShortcutList) >
@ -92,9 +95,16 @@
<!ELEMENT stationLogo EMPTY >
<!ATTLIST stationLogo path CDATA #REQUIRED >
<!ELEMENT taskbarIcons (icon+) >
<!ELEMENT icon EMPTY >
<!ATTLIST icon path CDATA #REQUIRED >
<!ELEMENT testAudioUrl EMPTY >
<!ATTLIST testAudioUrl path CDATA #REQUIRED >
<!ELEMENT serialPort EMPTY >
<!ATTLIST serialPort path CDATA #REQUIRED >
<!ELEMENT metadataTypeContainer (metadataType+) >
<!ELEMENT metadataType (constraint?) >
@ -182,6 +192,8 @@
<testAudioUrl path = "file://ls_var_dir/Campcaster/testAudio.ogg" />
<serialPort path = "/dev/ttyS0" />
<metadataTypeContainer>
<metadataType dcName = "dc:title"
id3Tag = "TIT2"

View File

@ -11,6 +11,9 @@
outputPlayer,
cuePlayer,
stationLogo,
taskbarIcons,
testAudioUrl,
serialPort,
metadataTypeContainer,
keyboardShortcutList) >
@ -92,9 +95,16 @@
<!ELEMENT stationLogo EMPTY >
<!ATTLIST stationLogo path CDATA #REQUIRED >
<!ELEMENT taskbarIcons (icon+) >
<!ELEMENT icon EMPTY >
<!ATTLIST icon path CDATA #REQUIRED >
<!ELEMENT testAudioUrl EMPTY >
<!ATTLIST testAudioUrl path CDATA #REQUIRED >
<!ELEMENT serialPort EMPTY >
<!ATTLIST serialPort path CDATA #REQUIRED >
<!ELEMENT metadataTypeContainer (metadataType+) >
<!ELEMENT metadataType (constraint?) >
@ -182,6 +192,8 @@
<testAudioUrl path = "file:var/testAudio.ogg" />
<serialPort path = "/dev/ttyS0" />
<metadataTypeContainer>
<metadataType dcName = "dc:title"
id3Tag = "TIT2"

View File

@ -185,7 +185,7 @@ const std::string localeNotAvailableKey = "localeNotAvailableMsg";
/*------------------------------------------------------------------------------
* The default serial device
*----------------------------------------------------------------------------*/
const std::string defaultSerialDevice = "/dev/ttyS0";
const std::string serialPortConfigElementName = "serialPort";
}
@ -402,8 +402,15 @@ GLiveSupport :: configure(const xmlpp::Element & element)
testAudioUrlElement->get_attribute("path")
->get_value() ));
// TODO: make this configurable
serialDevice.reset(new std::string(defaultSerialDevice));
// read the serial port's file name
nodes = element.get_children(serialPortConfigElementName);
if (nodes.size() < 1) {
throw std::invalid_argument("no serial port element");
}
const xmlpp::Element* serialPortElement
= dynamic_cast<const xmlpp::Element*>(nodes.front());
serialDevice.reset(new std::string(serialPortElement->get_attribute("path")
->get_value() ));
}