我是idl,corba的新手。我有一个我想通过其中一个方法分发的java代码,这个方法需要另一个类的对象作为参数。请问如何使用idl指定此方案。
public void receive(Receiver rec, Message msg) {
rec.treatMessage(msg);
}
这是我尝试定义为我的idl
module talk {
struct Message{
string msg;
double time;
};
typedef Received Receiver;
interface Contract{
void receive(in Receiver rec, in Message msg);
};
};
每次我对idlj运行时,我都会收到“已接收”是未声明的类型。 请问我该如何解决这个问题?
感谢。
答案 0 :(得分:1)
您必须使用操作treatMessage声明Receiver类型的接口,就像您声明具有操作接收的Contract类型的接口一样。或者做
module talk {
struct Message{
string msg;
double time;
};
interface Receiver{
void receive(in Message msg);
};
};