D Busѧϰ£¨¾Å£©£ºÀûÓÃXML¶¨ÒåD BusÖ®SingalÊÕ·¢Àý×Ó
¡¡¡¡ÔÚÇ°ÃæÎÒÃÇѧϰÁËʹÓÃGlibµÄ¸ß³ÌÀ¦°ó·½Ê½µÄmethodµÄÊÕ·¢£¬ÏÖÔÚѧϰsingalµÄÊÕ·¢£¬xmlÀý×ÓÈçÏÂ
<?xml version="1.0" encoding="UTF-8" ?>
<node name="/com/wei/MyObject">
<interface name="com.wei.MyObject.Sample">
<method name="Test">
<arg name="x" type="u" direction="in" />
<arg name="d_ret" type="d" direction="out" />
</method >
<signal name="Hello">
<arg name="w_dialog" type="s" />
</signal>
</interface >
</node >
¡¡¡¡ÔÚÇ°ÃæÎÒÃÇÒѾѧϰÁË·½·¨TestµÄ´¦Àí£¬ÏÖÔÚÔö¼ÓÒ»¸öÐźÅHello£¬ÎªÁËÊǵĴ¦Àí·½Ê½¸üΪ¼ò½à£¬Õâ¸öÐźÅÖ»´øÀ´Ò»¸ö½Ð×öw_dialogµÄ×Ö·û´®¡£Í¬ÑùÎÒÃÇʹÓÃdbus-binding-tool¹¤¾ß·Ö±ðÉú³ÉÁËserverµÄÍ·Îļþwei_server2.hºÍclientµÄÍ·Îļþwei_client2.h¡££¨²Ù×÷·½Ê½£¬Çë²ÎÔÄÉÏÁ½´Îѧϰ£©¡£
ServerµÄ±àд
¡¡¡¡²é¿´wei_server2.h£¬ºÍ֮ǰֻÓÐmethodµÄÏà±È£¬Ö»ÓÐÉÔÉԵĸ͝£¬ÔÚ¶ÔÏóµÄinfoÖУ¬Ôö¼ÓÁËHelloµÄ˵Ã÷¡£ÈçÏ£º
... ...
const DBusGObjectInfo dbus_glib_com_wei_object_info = {
0,
dbus_glib_com_wei_methods,
1,
"com.wei.MyObject.Sample\0Test\0S\0x\0I\0u\0d_ret\0O\0F\0N\0d\0\0\0",
"com.wei.MyObject.Sample\0Hello\0\0"
,
"\0"
};
¡¡¡¡ÎÒÃÇÐèÒª¶ÔÏóÖÐÔö¼ÓÏà¹ØµÄ´úÂ룬ͷÎļþcom_wei_myobject2.hÈçÏ£º
#ifndef WEI_COM_WEI_MYOBJECT2_H
#define WEI_COM_WEI_MYOBJECT2_H
typedef struct ComWeiMyObject2 ComWeiMyObject2;
typedef struct ComWeiMyObject2Class ComWeiMyObject2Class;
struct ComWeiMyObject2
{
GObject parent;
};
struct ComWeiMyObject2Class
{
GObjectClass parent;
};
#define COM_WEI_MYOBJECT2_TYPE (com_wei_myobject2_get_type())
GType com_wei_myobject2_get_type(void);
gboolean com_wei_test(ComWeiMyObject2 * obj ,
Ïà¹ØÎĵµ£º
XMLÐòÁл¯Óë·´ÐòÁл¯ ÕûÀíÎĵµ
XMLÐòÁл¯Óë·´ÐòÁл¯
// OBJECT -> XML
public static void SaveXml(string filePath, object obj) { SaveXml(filePath, obj, obj.GetType()); }
public static void SaveXml(string filePath, object obj, System.Type ty ......
Ò»¡¢²âÊÔÓõÄem.xml
<?xml version="1.0" encoding="GB2312"?>
<EW cmd="login" mod="Login" version="6.0">
<Source uns="" type="user"/>
<Username>zhangzhiyun@hp</Username>
<Password>111111</Password> ......
JAXBContext jc = JAXBContext.newInstance(ICPBuildSummaryXO.class);
Unmarshaller u = jc.createUnmarshaller();
ICPBuildSummaryXO xo = (ICPBuildSummaryXO) u.unmarshal(node);
ICPBuildSummary summary = new ICPBuildSummary();
Bean ......
ʵÀý˵Ã÷»á¸üÇå³þЩ£¬¼ÙÉèÓÐÈçÏÂXMLÎļþ£º
¡¡File: message_hutaow.xml
<?xml version="1.0" encoding="UTF-8"?>
<hutaow:Message version="1.0" xmlns:hutaow="http://wangtao.cublog.cn">
<hutaow:Head>
<hutaow:Date>20080502</hutaow:Date>
<hutaow:Source>
......
Martin C. Brown (questions@mcslp.com), ¿ª·¢ÈËÔ±ºÍ×÷¼Ò
2008 Äê 6 ÔÂ 16 ÈÕ
ʹÓñ¾ÎĽéÉÜµÄ 10 ¸ö¼¼Çɸü¼ÓÇáËɵش¦Àí XML£¬´Ó¶ø¼õÉÙ´íÎó²¢Ìá¸ßЧÂÊ¡£
¼ò½é
ÈËÃǶ¼ºÜϲ»¶ XML ÒÔ¼°ËüËùÌṩµÄÁé»îÐԺͻ¥²Ù×÷ÐÔ£¬µ«ÊÇ£¬Í¨¹ýʹÓÃһЩ¼¼ÇÉ£¬¿ÉÒÔʹÓë XML µÄ»¥²Ù×÷ºÍÓë XML Ò»ÆðʹÓõŤ¾ß¸ü¼Ó¼òµ¥¡£ÔÚ´¦Àí XML Ê±Ñø³ÉһР......