From: Dustin J. M. <du...@zm...> - 2007-12-24 20:37:29
|
I'm building a Perl interface to Amanda, and it's taking the form of a collection of Perl modules, e.g., Amanda::Changer, Amanda::Device, etc. I've run into a bit of a problem with shared datatypes, though, and I'd appreciate any pointers from folks who have solved this before. In more detail, the problem is that I have a struct, dumpfile_t, which I would like to wrap with a Perl shadow class, but which is returned from functions in more than one module. For example, Amanda::Device::seek_file returns a dumpfile_t *, as does Amanda::Holding::get_dumpfile. I'd like to be able to pass either of these to functions in other modules expecting a dumpfile_t. I can put the shadow class in a dedicated module (e.g. Amanda::Datatypes::dumpfile_t) without much trouble. The problem is getting Amanda::Device and Amanda::Holding to bless their returned objects with that class, and making sure that other modules will recognize the resulting object as a dumpfile_t object for conversion back to a C pointer. Any advice? Dustin -- Storage Software Engineer http://www.zmanda.com |