|
From: Darrell S. <da...@sc...> - 2005-06-07 12:24:12
|
After a lot of work with ccmtools over the past few weeks (I have the python binding generator working for ccmtools' basic example, but I need to get it in a shape to hand back to Egon), I'm left wondering what to do if we really want the local interface to have data structures which are not representable in IDL. In our case, it is dictionaries (something like dictionary<key_type,val_type>. It seems like there are a few options: (1) extend IDL (or use XML) to represent the interface and then use the generators (local & target) to narrow & expand the extra type, e.g. convert the dictionary to XML or a multidimensional array to shape + vector (2) augment IDL with an XML database which tells that some subset of the parameters, e.g. shape + vector, are REALLY a multidimensional array so the generated user code (at both ends) should reconstitute a multidimensional array and not a pair of vectors (3) hammer the interface down until it really can be represented in IDL even if we don't want to Right now it seems like (1) or (3) are the best options. Does anyone else have any opinions about this? This seems like it would be a very nice thing for CCMTOOLS to support, i.e. expanding the basic IDL interface with non-native types and then allow specification on how these map to IDL and back again. thanks, Darrell |