I am trying to send a IplImage (captured from a firewire cam through OpenCV) to a remote GUI using CORBA. I am completely new to Corba, and I followed the Orocos doc and some topics related to this subject. What I have done is then:
1. Write a IplImage.idl to declare the IplImage type;
2. Generate C++ wrappers using tao_idl ;
3. Write a IplImageTypeInfo and redefining decomposeTypeImpl(const IplImage& in, CORBA::Any& out) and composeTypeImpl(const CORBA::Any& in, IplImage& out) as Sylvain subjected in post [http://www.orocos.org/node/947] ;
4. Create an ImageToolkitPlugin and adding the IplImage type by calling ORO_TOOLKIT_PLUGIN() ;
5. Compile all these stuffs into a dynamic library.
On embedded computer, I call cdeployer-gnulinux with my architecture xml file.
On remote computer, I call deployer-corba-gnulinux with my gui xml file connecting to remote Camera.
The type of Camera.frame is correctly set to IplImage. All other stuffs works correctly. DataPort connection works correctly on the same deployer. But when I ask to connect ports of components Camera (remote access through Corba) and GUI (locally loaded), I have the following errors:
On embedded console:
41.796 ( Info )(ControlTaskProxy) Creating Proxy interface for GUI
41.870 ( ERROR )(CorbaFallBackProtocol) Failing Corba::Any creation of type IplImage.
On GUI console:
25.326 ( Warning)(deployer-corba-gnulinux::main()) Can not create a proxy for data connection.
Both Camera and GUI have been declared as Corba servers.
Can anyone explain me the problem and give some issues?