开源夏令营第二个月的实习期已经过去一半了,这一段时间因为总有小朋友到家里来玩,耽误了一些时间。最近几天主要研究了一下枚举类型的问题,这个问题的需求比较明确,即让go-dbus能够像处理其他数据类型(比如struct)一样处理枚举类型,解决的思路也比较清晰。
D-Bus核心并没有定义枚举类型,为了让go-dbus支持枚举类型,一个可行的做法就是在D-Bus底层用整数来表示枚举类型变量,并且限制它的有效取值。涉及的问题的主要有:
1,marshaling,把Go语言里的数据转化为D-Bus的wire format数据;
2,unmarshaling,把D-Bus的wire format数据转化为Go语言里的数据;
3,相应地处理introspection data。
暂时想到的就是这些,先按照这个思路去做吧。
有疑问加站长微信联系(非本文作者)