使用外部类的枚举来避免在.proto中定义?

时间:2012-12-06 21:44:29

标签: c++ python protocol-buffers

我在代码中有三种不同格式的消息,我制作了所有三种.proto文件并进行了编译。我已经有了另一个,说常规的,有很多枚举的类,我需要在所有三个类中使用这个枚举。有没有办法使用外部常规类的枚举,而不是在所有三个文件中的proto中定义相同的枚举?

1 个答案:

答案 0 :(得分:0)

我不太确定外部常规课程的含义...?

如果你想用C ++定义枚举,然后把它放在Protobuf中,只需在proto中放一个int字段。

但是如果你想要多个protos使用的公共枚举,你可以使用导入:

common.proto:

package foo_common;

enum Color {
    red = 1;
    black = 2;
}

tree.proto:

package foo_tree;

import "common.proto";

message Node {
     optional foo_common.Color color = 1;
};