<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content=text/html;charset=gb2312>
<META content="MSHTML 6.00.2900.5848" name=GENERATOR></HEAD>
<BODY id=MailContainerBody 
style="PADDING-RIGHT: 10px; PADDING-LEFT: 10px; PADDING-TOP: 15px" leftMargin=0 
topMargin=0 CanvasTabStop="true" name="Compose message area">
<DIV><FONT face=宋体 size=2>Hi,</FONT></DIV>
<DIV><FONT face=宋体 size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=宋体 size=2>i use the libdbus and libhal to mount the devices. but 
without glib.</FONT></DIV>
<DIV><FONT face=宋体 size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=宋体 size=2>first i initialized the hal and connect to dbus. and 
registed add and remove callback function.&nbsp;</FONT></DIV>
<DIV><FONT face=宋体 size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=宋体 size=2>there is some code .</FONT></DIV>
<DIV><FONT face=宋体 
size=2>____________________________code_________________________</FONT></DIV>
<DIV><FONT face=宋体 size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=宋体 size=2>&nbsp;hal_ctx = hal_init();<BR>&nbsp;if (hal_ctx == 
NULL)<BR>&nbsp;&nbsp;return;</FONT></DIV>
<DIV><FONT face=宋体 size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=宋体 size=2>&nbsp;mount_all (hal_ctx);</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=宋体 size=2>&nbsp;int 
fd=-1;<BR>&nbsp;dbus_connection_get_unix_fd(dbus_connection, 
&amp;fd);</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=宋体 size=2>//&nbsp;if (fcntl(fd, F_SETFL, O_NONBLOCK) &lt; 0) { 
<BR>//&nbsp;&nbsp;perror("fcntl");<BR>//&nbsp;}</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=宋体 size=2>&nbsp;fd_set rfds;<BR>&nbsp;int 
retval;<BR>&nbsp;struct timeval tv;<BR>&nbsp;while (m_pTvm-&gt;bRun) 
{</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=宋体 
size=2>&nbsp;&nbsp;FD_ZERO(&amp;rfds);<BR>&nbsp;&nbsp;FD_SET(fd, 
&amp;rfds);<BR>&nbsp;&nbsp;tv.tv_sec = 0;<BR>&nbsp;&nbsp;tv.tv_usec = 
0;<BR>&nbsp;&nbsp;retval = select(fd+1, &amp;rfds, NULL, NULL, 
&amp;tv);<BR>&nbsp;&nbsp;if (retval == -1) { // 
quit<BR>&nbsp;&nbsp;&nbsp;continue;<BR>&nbsp;&nbsp;&nbsp;//break;<BR>&nbsp;&nbsp;}<BR>&nbsp;&nbsp;do 
<BR>&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;printf("----------------------dbus_connection_read_write_dispatch----------------------\n");<BR>&nbsp;&nbsp;&nbsp;dbus_connection_read_write_dispatch(dbus_connection, 
0);<BR>&nbsp;&nbsp;} while (dbus_connection_get_dispatch_status(dbus_connection) 
== DBUS_DISPATCH_DATA_REMAINS);<BR>&nbsp;&nbsp;/*<BR>&nbsp;&nbsp;// non blocking 
read of the next available 
message<BR>&nbsp;&nbsp;dbus_connection_read_write(dbus_connection, 
-1);<BR>&nbsp;&nbsp;while (dbus_connection_dispatch(dbus_connection) == 
DBUS_DISPATCH_DATA_REMAINS);<BR>&nbsp;&nbsp;*/<BR>&nbsp;&nbsp;dbus_connection_flush(dbus_connection);<BR>&nbsp;}</FONT></DIV>
<DIV>
<DIV><FONT face=宋体 
size=2>____________________________code_________________________</FONT></DIV>
<DIV><FONT face=宋体 size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=宋体 size=2>when I insert the cd-rom, the system mounted cd-rom 
some times ,but not each times. </FONT></DIV>
<DIV><FONT face=宋体 size=2>i'm look forward your advices. thanks.</FONT></DIV>
<DIV><FONT face=宋体 size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=宋体 size=2>George Tung.</FONT></DIV>
<DIV><FONT face=宋体 size=2>2009-9-9</FONT></DIV>
<DIV><FONT face=宋体 size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=宋体 size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=宋体 size=2></FONT>&nbsp;</DIV></DIV></BODY></HTML>