09-08-2011, 10:19 AM
Quote:*** Serial Numbers
They won't persist, so if you lose the connection you have to get them again. They will go back to one. Any time you lose the connection you should reset yours to zero, to insure that you don't get out of sync.
Quote:*** Disconnects
Yeh, it assumes that you are either going to poll fields periodically, or do some sort of dummy operation periodically to keep it open. If you really want to close it, we need to add a formal shutdown request (assuming there's not one already, I'll have to check) so that you can indicate explicitly that you are closing the connection.
Quote:*** Macro Parameters
Oh, OK. I get it. That's my bad. I'm just blindly looking for the 0th child element of the macro parameter element, which would normally be a text element. But if the element is empty, there won't be on. So I need to fix that for the next drop.
Quote:*** Field Values
It doesn't use scanf, but our own versions of that stuff implements similar sort of rules that are consistent throughout CQC. 0x will work as well for hex values.
Quote:*** Global Actions
It's one of the generic commands done via the CQCGW:Query element. You pass in CQCGW:QueryGlobActs as the query value. It looks like I failed to get that (and the stuff defining the returned info for that query) into the document. I'll update that, but in the meantime, this is what comes back, similar to Macros:
Code:
//
// This block defines the response to the CQCGW:QueryGlobActs query.
// It returns the list of currently defined global actions. This is a
// hierarchical structure. So it starts with a scope, which can in turn
// hold zero or more other scopes or global actions.
//
L"<!ELEMENT CQCGW:GActName EMPTY>\n"
L"<!ATTLIST CQCGW:GActName\n"
L" CQCGW:Name CDATA #REQUIRED>\n"
L"<!ELEMENT CQCGW:GActScope (CQCGW:GActScope*, CQCGW:GActName*)>\n"
L"<!ATTLIST CQCGW:GActScope\n"
L" CQCGW:Name CDATA #REQUIRED>\n\n"
Dean Roddey
Explorans limites defectum
Explorans limites defectum