From: Sohail S. <s.s...@fi...> - 2006-05-28 18:41:31
|
> -----Original Message----- > From: Sohail Somani=20 > Sent: Sunday, May 28, 2006 11:15 AM > To: swi...@li... > Subject: Error codes to exceptions >=20 > Hi, >=20 > I'm dealing with a C-API that has the following: >=20 > long MakeHandle(HANDLE * out_handle); > long GetSomeString(HANDLE in_handle,char * out_string,int <---- char * out, not char ** out :) > max_length); >=20 > How can I define an interface file that will let me access=20 > this from python? I've tried doing a straight wrap and what=20 > happens is that python tells me that the call to MakeHandle=20 > requires a pointer... Ok, I figured out the part about the pointers. For now im using the cpointers typemap library. However, I still want to be able to do something like this: try: handle=3DMakeHandle(); my_shiny_string=3DGetSomeString(handle); # default the buffer size to 4096 or something. except ...: print "A function returned a non-zero error code"; Right now, I'm at: try: handle=3Dnew_HANDLE(); # using cpointers if(MakeHandle(handle)): raise...; # don't know how to do this part yet ... my_shiny_string=3DGetSomeString(handle);=20 except ...:=20 ... I know its gotta do with typemaps... And I'm sure there is a way... Total noob to writing my own swig though. TIA, Sohail |