equal
deleted
inserted
replaced
40 internal_types = {} |
40 internal_types = {} |
41 |
41 |
42 # Format a string for making a C++ variable |
42 # Format a string for making a C++ variable |
43 def FormatName(name): |
43 def FormatName(name): |
44 wordlist = [word for word in word_model.findall(name) if word != ''] |
44 wordlist = [word for word in word_model.findall(name) if word != ''] |
45 result = '' |
45 return "_".join(wordlist) |
46 sep = '' |
|
47 for word in wordlist: |
|
48 result += "%s%s"%(sep,word) |
|
49 sep = '_' |
|
50 return result |
|
51 |
46 |
52 # Extract the informations from a given type name |
47 # Extract the informations from a given type name |
53 def GetValidTypeInfos(typename): |
48 def GetValidTypeInfos(typename): |
54 if typename in internal_types: |
49 if typename in internal_types: |
55 return internal_types[typename] |
50 return internal_types[typename] |
140 mappedVariableContent = "" |
135 mappedVariableContent = "" |
141 strDeclareHeader = "" |
136 strDeclareHeader = "" |
142 strDeclareCallback = "" |
137 strDeclareCallback = "" |
143 indexContents = {} |
138 indexContents = {} |
144 indexCallbacks = {} |
139 indexCallbacks = {} |
|
140 translate_characters = "".join([chr(i) for i in xrange(128)] + ["_" for i in xrange(128)]) |
145 for index in listIndex: |
141 for index in listIndex: |
146 texts["index"] = index |
142 texts["index"] = index |
147 strIndex = "" |
143 strIndex = "" |
148 entry_infos = Manager.GetEntryInfos(index) |
144 entry_infos = Manager.GetEntryInfos(index) |
149 texts["EntryName"] = entry_infos["name"] |
145 texts["EntryName"] = entry_infos["name"].translate(translate_characters) |
150 values = Manager.GetCurrentEntry(index) |
146 values = Manager.GetCurrentEntry(index) |
151 callbacks = Manager.HasCurrentEntryCallbacks(index) |
147 callbacks = Manager.HasCurrentEntryCallbacks(index) |
152 if index in variablelist: |
148 if index in variablelist: |
153 strIndex += "\n/* index 0x%(index)04X : Mapped variable %(EntryName)s */\n"%texts |
149 strIndex += "\n/* index 0x%(index)04X : Mapped variable %(EntryName)s */\n"%texts |
154 else: |
150 else: |
209 sep = "" |
205 sep = "" |
210 if typeinfos[2] == "visible_string": |
206 if typeinfos[2] == "visible_string": |
211 value = "\"%s\""%value |
207 value = "\"%s\""%value |
212 elif typeinfos[2] == "domain": |
208 elif typeinfos[2] == "domain": |
213 value = "\"%s\""%''.join(["\\x%2.2x"%ord(char) for char in value]) |
209 value = "\"%s\""%''.join(["\\x%2.2x"%ord(char) for char in value]) |
214 else: |
210 else: |
215 comment = "\t/* %s */"%str(value) |
211 comment = "\t/* %s */"%str(value) |
216 value = "0x%X"%value |
212 value = "0x%X"%value |
217 mappedVariableContent += " %s%s%s\n"%(value, sep, comment) |
213 mappedVariableContent += " %s%s%s\n"%(value, sep, comment) |
218 mappedVariableContent += " };\n" |
214 mappedVariableContent += " };\n" |
219 else: |
215 else: |
249 texts["value"] = "\"%s\""%value |
245 texts["value"] = "\"%s\""%value |
250 texts["comment"] = "" |
246 texts["comment"] = "" |
251 elif typeinfos[2] == "domain": |
247 elif typeinfos[2] == "domain": |
252 texts["value"] = "\"%s\""%''.join(["\\x%2.2x"%ord(char) for char in value]) |
248 texts["value"] = "\"%s\""%''.join(["\\x%2.2x"%ord(char) for char in value]) |
253 texts["comment"] = "" |
249 texts["comment"] = "" |
254 else: |
250 else: |
255 texts["value"] = "0x%X"%value |
251 texts["value"] = "0x%X"%value |
256 texts["comment"] = "\t/* %s */"%str(value) |
252 texts["comment"] = "\t/* %s */"%str(value) |
257 texts["name"] = FormatName(subentry_infos["name"]) |
253 texts["name"] = FormatName(subentry_infos["name"]) |
258 if index in variablelist: |
254 if index in variablelist: |
259 strDeclareHeader += "extern %(subIndexType)s %(parent)s_%(name)s%(suffixe)s;\t\t/* Mapped at index 0x%(index)04X, subindex 0x%(subIndex)02X */\n"%texts |
255 strDeclareHeader += "extern %(subIndexType)s %(parent)s_%(name)s%(suffixe)s;\t\t/* Mapped at index 0x%(index)04X, subindex 0x%(subIndex)02X */\n"%texts |