* along with LED Pattern Editor. If not, see <http://www.gnu.org/licenses/>.
*/
-List<LedPatternRX51> mce_ini_parse () {
- var list = new List<LedPatternRX51> ();
+enum DeviceType {
+ RX44,
+ RX51
+}
+
+static const DeviceType device = DeviceType.RX51;
+
+List<LedPattern> mce_ini_parse () {
+ var list = new List<LedPattern> ();
var f = FileStream.open ("/etc/mce/mce.ini", "r");
+ string pattern_section = null;
+
+ switch (device) {
+ case DeviceType.RX44:
+ pattern_section = "[LEDPatternNJoyRX44]";
+ break;
+ case DeviceType.RX51:
+ pattern_section = "[LEDPatternLystiRX51]";
+ break;
+ }
var line = f.read_line ();
while (line != null) {
- if (line == "[LEDPatternLystiRX51]") {
+ if (line == pattern_section) {
line = f.read_line ();
while ((line != null) && (line[0] != '[')) {
if (line.has_prefix ("Pattern")) {
- var pattern = new LedPatternRX51 ();
+ LedPattern pattern = null;
+ switch (device) {
+ case DeviceType.RX44:
+ pattern = new LedPatternRX44 ();
+ break;
+ case DeviceType.RX51:
+ pattern = new LedPatternRX51 ();
+ break;
+ }
pattern.parse (line);
list.append (pattern);
}
return list;
}
-void mce_ini_store (List<LedPatternRX51> list) {
+void mce_ini_store (List<LedPattern> list) {
var f = FileStream.open ("/etc/mce/mce.ini", "r");
var g = FileStream.open ("/tmp/mce.ini", "w");
+ string pattern_section = null;
+
+ switch (device) {
+ case DeviceType.RX44:
+ pattern_section = "[LEDPatternNJoyRX44]";
+ break;
+ case DeviceType.RX51:
+ pattern_section = "[LEDPatternLystiRX51]";
+ break;
+ }
var line = f.read_line ();
while (line != null) {
- if (line == "[LEDPatternLystiRX51]") {
+ if (line == pattern_section) {
g.printf ("%s\n", line);
line = f.read_line ();
while ((line != null) && (line[0] != '[')) {
if (line.has_prefix ("Pattern")) {
- unowned List<LedPatternRX51> node;
+ unowned List<LedPattern> node;
for (node = list.first (); node != null; node = node.next) {
if (line.has_prefix (node.data.name + "=")) {
g.printf ("%s\n", node.data.dump ());