comparison src/dbus-analyze-functions.py @ 13591:dcfda39ad547

[gaim-migrate @ 15977] I know this just generates some c code that no one is actually supposed to look at, but I did one time and the lack of indentation hurt me. This should fix it and not break anything. committer: Tailor Script <tailor@pidgin.im>
author Etan Reisner <pidgin@unreliablesource.net>
date Fri, 07 Apr 2006 01:05:48 +0000
parents 2078f65a8e98
children 9726dbf3d844
comparison
equal deleted inserted replaced
13590:7b20cedc1259 13591:dcfda39ad547
180 print decl 180 print decl
181 181
182 print 'dbus_g_proxy_call(gaim_proxy, "%s", NULL,' % ctopascal(self.function.name) 182 print 'dbus_g_proxy_call(gaim_proxy, "%s", NULL,' % ctopascal(self.function.name)
183 183
184 for type_name in self.inputparams: 184 for type_name in self.inputparams:
185 print "%s, %s, " % type_name, 185 print "\t%s, %s, " % type_name,
186 print "G_TYPE_INVALID," 186 print "G_TYPE_INVALID,"
187 187
188 for type_name in self.outputparams: 188 for type_name in self.outputparams:
189 print "%s, &%s, " % type_name, 189 print "\t%s, &%s, " % type_name,
190 print "G_TYPE_INVALID);" 190 print "G_TYPE_INVALID);"
191 191
192 for code in self.returncode: 192 for code in self.returncode:
193 print code 193 print code
194 194
274 def flush(self): 274 def flush(self):
275 print "static DBusMessage*" 275 print "static DBusMessage*"
276 print "%s_DBUS(DBusMessage *message_DBUS, DBusError *error_DBUS) {" % \ 276 print "%s_DBUS(DBusMessage *message_DBUS, DBusError *error_DBUS) {" % \
277 self.function.name 277 self.function.name
278 278
279 print "DBusMessage *reply_DBUS;" 279 print "\tDBusMessage *reply_DBUS;"
280 280
281 for decl in self.cdecls: 281 for decl in self.cdecls:
282 print decl 282 print decl
283 283
284 print "%s(message_DBUS, error_DBUS, " % self.argfunc, 284 print "\t%s(message_DBUS, error_DBUS, " % self.argfunc,
285 for param in self.cparams: 285 for param in self.cparams:
286 print "DBUS_TYPE_%s, &%s," % param, 286 print "DBUS_TYPE_%s, &%s," % param,
287 print "DBUS_TYPE_INVALID);" 287 print "DBUS_TYPE_INVALID);"
288 288
289 print "CHECK_ERROR(error_DBUS);" 289 print "\tCHECK_ERROR(error_DBUS);"
290 290
291 for code in self.ccode: 291 for code in self.ccode:
292 print code 292 print code
293 293
294 print "reply_DBUS = dbus_message_new_method_return (message_DBUS);" 294 print "\treply_DBUS = dbus_message_new_method_return (message_DBUS);"
295 295
296 print "dbus_message_append_args(reply_DBUS, ", 296 print "\tdbus_message_append_args(reply_DBUS, ",
297 for param in self.cparamsout: 297 for param in self.cparamsout:
298 if type(param) is str: 298 if type(param) is str:
299 print "%s, " % param 299 print "%s, " % param
300 else: 300 else:
301 print "DBUS_TYPE_%s, &%s, " % param, 301 print "DBUS_TYPE_%s, &%s, " % param,
302 print "DBUS_TYPE_INVALID);" 302 print "DBUS_TYPE_INVALID);"
303 303
304 for code in self.ccodeout: 304 for code in self.ccodeout:
305 print code 305 print code
306 306
307 print "return reply_DBUS;\n}\n" 307 print "\treturn reply_DBUS;\n}\n"
308 308
309 309
310 def addstring(self, *items): 310 def addstring(self, *items):
311 for item in items: 311 for item in items:
312 self.dparams += item + r"\0" 312 self.dparams += item + r"\0"
319 319
320 320
321 # input parameters 321 # input parameters
322 322
323 def inputsimple(self, type, name): 323 def inputsimple(self, type, name):
324 self.cdecls.append("dbus_int32_t %s;" % name) 324 self.cdecls.append("\tdbus_int32_t %s;" % name)
325 self.cparams.append(("INT32", name)) 325 self.cparams.append(("INT32", name))
326 self.addintype("i", name) 326 self.addintype("i", name)
327 327
328 def inputvalist(self, type, name): 328 def inputvalist(self, type, name):
329 self.cdecls.append("void * %s;" % name); 329 self.cdecls.append("\tvoid * %s;" % name);
330 self.ccode.append("%s = NULL;" % name); 330 self.ccode.append("\t%s = NULL;" % name);
331 331
332 def inputstring(self, type, name): 332 def inputstring(self, type, name):
333 self.cdecls.append("const char *%s;" % name) 333 self.cdecls.append("\tconst char *%s;" % name)
334 self.cparams.append(("STRING", name)) 334 self.cparams.append(("STRING", name))
335 self.ccode .append("NULLIFY(%s);" % name) 335 self.ccode .append("\tNULLIFY(%s);" % name)
336 self.addintype("s", name) 336 self.addintype("s", name)
337 337
338 def inputhash(self, type, name): 338 def inputhash(self, type, name):
339 self.argfunc = "gaim_dbus_message_get_args" 339 self.argfunc = "gaim_dbus_message_get_args"
340 self.cdecls.append("DBusMessageIter %s_ITER;" % name) 340 self.cdecls.append("\tDBusMessageIter %s_ITER;" % name)
341 self.cdecls.append("GHashTable *%s;" % name) 341 self.cdecls.append("\tGHashTable *%s;" % name)
342 self.cparams.append(("ARRAY", "%s_ITER" % name)) 342 self.cparams.append(("ARRAY", "%s_ITER" % name))
343 self.ccode.append("%s = gaim_dbus_iter_hash_table(&%s_ITER, error_DBUS);" \ 343 self.ccode.append("\t%s = gaim_dbus_iter_hash_table(&%s_ITER, error_DBUS);" \
344 % (name, name)) 344 % (name, name))
345 self.ccode.append("CHECK_ERROR(error_DBUS);") 345 self.ccode.append("\tCHECK_ERROR(error_DBUS);")
346 self.ccodeout.append("g_hash_table_destroy(%s);" % name) 346 self.ccodeout.append("\tg_hash_table_destroy(%s);" % name)
347 self.addintype("a{ss}", name) 347 self.addintype("a{ss}", name)
348 348
349 def inputgaimstructure(self, type, name): 349 def inputgaimstructure(self, type, name):
350 self.cdecls.append("dbus_int32_t %s_ID;" % name) 350 self.cdecls.append("\tdbus_int32_t %s_ID;" % name)
351 self.cdecls.append("%s *%s;" % (type[0], name)) 351 self.cdecls.append("\t%s *%s;" % (type[0], name))
352 self.cparams.append(("INT32", name + "_ID")) 352 self.cparams.append(("INT32", name + "_ID"))
353 self.ccode.append("GAIM_DBUS_ID_TO_POINTER(%s, %s_ID, %s, error_DBUS);" % \ 353 self.ccode.append("\tGAIM_DBUS_ID_TO_POINTER(%s, %s_ID, %s, error_DBUS);" % \
354 (name, name, type[0])) 354 (name, name, type[0]))
355 self.addintype("i", name) 355 self.addintype("i", name)
356 356
357 def inputpointer(self, type, name): 357 def inputpointer(self, type, name):
358 self.cdecls.append("dbus_int32_t %s_NULL;" % name) 358 self.cdecls.append("\tdbus_int32_t %s_NULL;" % name)
359 self.cdecls .append("%s *%s;" % (type[0], name)) 359 self.cdecls .append("\t%s *%s;" % (type[0], name))
360 self.cparams.append(("INT32", name + "_NULL")) 360 self.cparams.append(("INT32", name + "_NULL"))
361 self.ccode .append("%s = NULL;" % name) 361 self.ccode .append("\t%s = NULL;" % name)
362 self.addintype("i", name) 362 self.addintype("i", name)
363 363
364 # output parameters 364 # output parameters
365 365
366 def outputvoid(self, type, name): 366 def outputvoid(self, type, name):
367 self.ccode.append("%s;" % self.call) # just call the function 367 self.ccode.append("\t%s;" % self.call) # just call the function
368 368
369 def outputstring(self, type, name, const): 369 def outputstring(self, type, name, const):
370 self.cdecls.append("const char *%s;" % name) 370 self.cdecls.append("\tconst char *%s;" % name)
371 self.ccode.append("%s = null_to_empty(%s);" % (name, self.call)) 371 self.ccode.append("\t%s = null_to_empty(%s);" % (name, self.call))
372 self.cparamsout.append(("STRING", name)) 372 self.cparamsout.append(("STRING", name))
373 self.addouttype("s", name) 373 self.addouttype("s", name)
374 if not const: 374 if not const:
375 self.ccodeout.append("g_free(%s);" % name) 375 self.ccodeout.append("\tg_free(%s);" % name)
376 376
377 def outputsimple(self, type, name): 377 def outputsimple(self, type, name):
378 self.cdecls.append("dbus_int32_t %s;" % name) 378 self.cdecls.append("\tdbus_int32_t %s;" % name)
379 self.ccode.append("%s = %s;" % (name, self.call)) 379 self.ccode.append("\t%s = %s;" % (name, self.call))
380 self.cparamsout.append(("INT32", name)) 380 self.cparamsout.append(("INT32", name))
381 self.addouttype("i", name) 381 self.addouttype("i", name)
382 382
383 def outputgaimstructure(self, type, name): 383 def outputgaimstructure(self, type, name):
384 self.cdecls.append("dbus_int32_t %s;" % name) 384 self.cdecls.append("\tdbus_int32_t %s;" % name)
385 self.ccode .append("GAIM_DBUS_POINTER_TO_ID(%s, %s, error_DBUS);" % (name, self.call)) 385 self.ccode .append("\tGAIM_DBUS_POINTER_TO_ID(%s, %s, error_DBUS);" % (name, self.call))
386 self.cparamsout.append(("INT32", name)) 386 self.cparamsout.append(("INT32", name))
387 self.addouttype("i", name) 387 self.addouttype("i", name)
388 388
389 # GList*, GSList*, assume that list is a list of objects 389 # GList*, GSList*, assume that list is a list of objects
390 390
393 393
394 # fixme: we assume that this is a list of objects, not a list 394 # fixme: we assume that this is a list of objects, not a list
395 # of strings 395 # of strings
396 396
397 def outputlist(self, type, name): 397 def outputlist(self, type, name):
398 self.cdecls.append("dbus_int32_t %s_LEN;" % name) 398 self.cdecls.append("\tdbus_int32_t %s_LEN;" % name)
399 self.ccodeout.append("g_free(%s);" % name) 399 self.ccodeout.append("\tg_free(%s);" % name)
400 400
401 if self.function.name in stringlists: 401 if self.function.name in stringlists:
402 self.cdecls.append("char **%s;" % name) 402 self.cdecls.append("\tchar **%s;" % name)
403 self.ccode.append("%s = gaim_%s_to_array(%s, FALSE, &%s_LEN);" % \ 403 self.ccode.append("\t%s = gaim_%s_to_array(%s, FALSE, &%s_LEN);" % \
404 (name, type[0], self.call, name)) 404 (name, type[0], self.call, name))
405 self.cparamsout.append("DBUS_TYPE_ARRAY, DBUS_TYPE_STRING, &%s, %s_LEN" \ 405 self.cparamsout.append("\tDBUS_TYPE_ARRAY, DBUS_TYPE_STRING, &%s, %s_LEN" \
406 % (name, name)) 406 % (name, name))
407 self.addouttype("as", name) 407 self.addouttype("as", name)
408 else: 408 else:
409 self.cdecls.append("dbus_int32_t *%s;" % name) 409 self.cdecls.append("\tdbus_int32_t *%s;" % name)
410 self.ccode.append("%s = gaim_dbusify_%s(%s, FALSE, &%s_LEN);" % \ 410 self.ccode.append("\t%s = gaim_dbusify_%s(%s, FALSE, &%s_LEN);" % \
411 (name, type[0], self.call, name)) 411 (name, type[0], self.call, name))
412 self.cparamsout.append("DBUS_TYPE_ARRAY, DBUS_TYPE_INT32, &%s, %s_LEN" \ 412 self.cparamsout.append("\tDBUS_TYPE_ARRAY, DBUS_TYPE_INT32, &%s, %s_LEN" \
413 % (name, name)) 413 % (name, name))
414 self.addouttype("ai", name) 414 self.addouttype("ai", name)
415 415
416 416
417 class BindingSet: 417 class BindingSet: