J'ai une API que j'aimerais utiliser de Python. Cette API contient des indicateurs et des énumérations implémentés aveC#define.Est-ce que ctypes fournit quelque chose pour enums et drapeaux?
// it's just almost C so don't bother adding the typedef and parenthesis diarrhea here.
routine(API_SOMETHING | API_OTHERTHING)
stuff = getflags()
? stuff & API_SOMETHING
action(API_INTERESTING)
mode = getaction()
? mode == INTERESTING
Si ignorant tout le reste, sauf les énumérations et les drapeaux, mes liaisons devraient traduire cela:
routine(["something", "otherthing"])
stuff = getflags()
if 'something' in stuff
action('interesting')
mode = getaction()
if mode == 'interesting'
-t-ctypes fournir des mécanismes pour le faire en ligne droite? Si ce n'est pas le cas, parlez de votre outil "habituel" pour gérer les drapeaux et les enums dans les bindings python.
Je suis sûr que maintenant, puisque vous avez lu la documentation, vous savez qu'en plus de toutes les autres solutions, vous auriez pu utiliser une propriété: http://docs.python.org/library/ functions.html # propriété –