Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Manifest Parsing Weirdness
#1
Ok, this one is blowing my mind. I am trying to load FixedCfg prompts from a manifest file. There is a CfgPrompt ahead of these in the file and depending on it's name, the following FixedCfg prompts may or may not exist. I created a skeleton driver (attached) to demonstrate.

If you load the driver (Test.Manifest) below and look at the debug output you will see that the TW1000 prompt does not load from the manifest.

Code:
<CQCCfg:CfgRPrompt   CQCCfg:Title="title"
        CQCCfg:Name="PowerOnDelay"

InitializeOther: Initializing Driver
Prompt Found: Template,Inputs
Prompt NOT Found TW1000,Inputs
Prompt Found: TestModel,Inputs

If you rename the PowerOnDelay prompt in the manifest to "xxxPowerOnDelay", the TestModel prompt will not load...

Code:
<CQCCfg:CfgRPrompt   CQCCfg:Title="title"
        CQCCfg:Name="xxxPowerOnDelay"

InitializeOther: Initializing Driver
Prompt Found: Template,Inputs
Prompt Found: TW1000,Inputs
Prompt NOT Found TestModel,Inputs

If you rename it to "junk" they all load...

Code:
<CQCCfg:CfgRPrompt   CQCCfg:Title="title"
    CQCCfg:Name="junk"

InitializeOther: Initializing Driver
Prompt Found: Template,Inputs
Prompt Found: TW1000,Inputs
Prompt Found: TestModel,Inputs


Attached Files
.cqcdrvpack   Test.CQCDrvPack (Size: 3.04 KB / Downloads: 1)
Wuench
My Home Theater/Automation Website

[THREAD=5957]BlueGlass CQC Config[/THREAD]
[THREAD=10624]Wuench's CQC Drivers[/THREAD]
Reply
#2
OK, that was a very tricky one. There are actually two lists at the C++ level. One for fixed and one for user provided prompts. For CML, I just combine them and expose a single list. There is a goober in the underlying hash set collection (which makes up the each of the two layers of the named value map class), when appending the contents of one hash set onto another, if any of the source nodes have a hash whose bucket is already populated in the second. It loses the previous contents of that bucket.

Sorry about that. I will get that fixed for the next round. I think that's the only place that that functionality is actually used, so it wasn't until someone came up with a fixed and non-fixed prompt that had the same hash that this showed up.
Dean Roddey
Explorans limites defectum
Reply
#3
Yeah it only took a few days of work to narrow it down on my end... Smile
Wuench
My Home Theater/Automation Website

[THREAD=5957]BlueGlass CQC Config[/THREAD]
[THREAD=10624]Wuench's CQC Drivers[/THREAD]
Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  Question on Parsing a String in a CML Macro kblagron 2 1,632 06-18-2019, 06:21 PM
Last Post: Dean Roddey
  Parsing Serial Trigger data Bugman 3 2,656 12-01-2016, 02:09 PM
Last Post: Dean Roddey
  CML Manifest Options zra 7 3,116 05-07-2016, 09:22 AM
Last Post: zra
  Manifest Revisions LesAuber 2 1,491 03-23-2013, 04:51 PM
Last Post: LesAuber
  Manifest/driver not sticking znelbok 1 1,198 01-24-2013, 01:49 PM
Last Post: Dean Roddey
  JSON Parser - Error Parsing Array wuench 27 8,552 01-06-2013, 01:04 PM
Last Post: standon
  Manifest Question ... rbroders 5 2,080 12-17-2012, 01:23 PM
Last Post: Dean Roddey
  help with parsing JSON pasha 9 3,258 03-18-2012, 12:04 PM
Last Post: Dean Roddey
  JSON Parser Parsing Error wuench 3 2,156 01-13-2012, 03:34 PM
Last Post: Dean Roddey
  Z-Wave Weirdness potts.mike 5 2,373 11-09-2011, 06:58 AM
Last Post: potts.mike

Forum Jump:


Users browsing this thread: 1 Guest(s)