<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> <title>Soprano: Soprano::Server::DBusExportModel Class Reference</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <link href="doxygen.css" rel="stylesheet" type="text/css"/> </head> <body> <!-- Generated by Doxygen 1.7.1 --> <script type="text/javascript"> function hasClass(ele,cls) { return ele.className.match(new RegExp('(\\s|^)'+cls+'(\\s|$)')); } function addClass(ele,cls) { if (!this.hasClass(ele,cls)) ele.className += " "+cls; } function removeClass(ele,cls) { if (hasClass(ele,cls)) { var reg = new RegExp('(\\s|^)'+cls+'(\\s|$)'); ele.className=ele.className.replace(reg,' '); } } function toggleVisibility(linkObj) { var base = linkObj.getAttribute('id'); var summary = document.getElementById(base + '-summary'); var content = document.getElementById(base + '-content'); var trigger = document.getElementById(base + '-trigger'); if ( hasClass(linkObj,'closed') ) { summary.style.display = 'none'; content.style.display = 'block'; trigger.src = 'open.png'; removeClass(linkObj,'closed'); addClass(linkObj,'opened'); } else if ( hasClass(linkObj,'opened') ) { summary.style.display = 'block'; content.style.display = 'none'; trigger.src = 'closed.png'; removeClass(linkObj,'opened'); addClass(linkObj,'closed'); } return false; } </script> <div class="navigation" id="top"> <div class="tabs"> <ul class="tablist"> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> <li><a href="namespaces.html"><span>Namespaces</span></a></li> <li class="current"><a href="annotated.html"><span>Classes</span></a></li> <li><a href="files.html"><span>Files</span></a></li> </ul> </div> <div class="tabs2"> <ul class="tablist"> <li><a href="annotated.html"><span>Class List</span></a></li> <li><a href="classes.html"><span>Class Index</span></a></li> <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Class Members</span></a></li> </ul> </div> <div class="navpath"> <ul> <li><a class="el" href="namespaceSoprano.html">Soprano</a> </li> <li><a class="el" href="namespaceSoprano_1_1Server.html">Server</a> </li> <li><a class="el" href="classSoprano_1_1Server_1_1DBusExportModel.html">Soprano::Server::DBusExportModel</a> </li> </ul> </div> </div> <div class="header"> <div class="summary"> <a href="#pub-methods">Public Member Functions</a> </div> <div class="headertitle"> <h1>Soprano::Server::DBusExportModel Class Reference</h1> </div> </div> <div class="contents"> <!-- doxytag: class="Soprano::Server::DBusExportModel" --><!-- doxytag: inherits="Soprano::FilterModel" --> <p>Exports a Soprano <a class="el" href="classSoprano_1_1Model.html" title="A Model is the central class in Soprano. It is a queryable collection of RDF quadruples, i.e statements.">Model</a> via D-Bus. <a href="#_details">More...</a></p> <p><code>#include <<a class="el" href="dbusexportmodel_8h_source.html">Soprano/Server/DBusExportModel</a>></code></p> <div id="dynsection-0" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;"> <img id="dynsection-0-trigger" src="closed.png"/> Inheritance diagram for Soprano::Server::DBusExportModel:</div> <div id="dynsection-0-summary" class="dynsummary" style="display:block;"> </div> <div id="dynsection-0-content" class="dyncontent" style="display:none;"> <div class="center"><img src="classSoprano_1_1Server_1_1DBusExportModel__inherit__graph.png" border="0" usemap="#Soprano_1_1Server_1_1DBusExportModel_inherit__map" alt="Inheritance graph"/></div> <map name="Soprano_1_1Server_1_1DBusExportModel_inherit__map" id="Soprano_1_1Server_1_1DBusExportModel_inherit__map"> <area shape="rect" id="node2" href="classSoprano_1_1FilterModel.html" title="A FilterModel is a virtual model that wraps another Model." alt="" coords="49,160,191,189"/><area shape="rect" id="node4" href="classSoprano_1_1Model.html" title="A Model is the central class in Soprano. It is a queryable collection of RDF quadruples, i.e statements." alt="" coords="64,83,176,112"/><area shape="rect" id="node6" href="qobject.html" title="QObject" alt="" coords="12,5,81,35"/><area shape="rect" id="node8" href="classSoprano_1_1Error_1_1ErrorCache.html" title="Core class of Soprano's exception system." alt="" coords="105,5,284,35"/></map> <center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div> <p><a href="classSoprano_1_1Server_1_1DBusExportModel-members.html">List of all members.</a></p> <table class="memberdecls"> <tr><td colspan="2"><h2><a name="pub-methods"></a> Public Member Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSoprano_1_1Server_1_1DBusExportModel.html#ab29adb0c208b8a282b6631f7b890cdfc">DBusExportModel</a> (<a class="el" href="classSoprano_1_1Model.html">Model</a> *model=0)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSoprano_1_1Server_1_1DBusExportModel.html#a2251f25d5bea9c62be3767fdaff324b7">~DBusExportModel</a> ()</td></tr> <tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classSoprano_1_1Server_1_1DBusExportModel.html#a63ef9c993f5056330648176c8bbae029">registerModel</a> (const <a class="elRef" href="qstring.html">QString</a> &dbusObjectPath)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classSoprano_1_1Server_1_1DBusExportModel.html#acef1eca50ddbdf10bd59e34e71652140">unregisterModel</a> ()</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="elRef" href="qstring.html">QString</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSoprano_1_1Server_1_1DBusExportModel.html#aeef34534e50abf4e279b2b256d2188b9">dbusObjectPath</a> () const </td></tr> </table> <hr/><a name="_details"></a><h2>Detailed Description</h2> <p>Exports a Soprano <a class="el" href="classSoprano_1_1Model.html" title="A Model is the central class in Soprano. It is a queryable collection of RDF quadruples, i.e statements.">Model</a> via D-Bus. </p> <p><a class="el" href="classSoprano_1_1Server_1_1DBusExportModel.html" title="Exports a Soprano Model via D-Bus.">DBusExportModel</a> is a <a class="el" href="classSoprano_1_1FilterModel.html" title="A FilterModel is a virtual model that wraps another Model.">FilterModel</a> like any other. As such, it can occure anywhere in a stack of models. However, the model exported via D-Bus is actually the <a class="el" href="classSoprano_1_1FilterModel.html#aed1acb51e22e97c8d9fbe23810013da0">FilterModel::parentModel</a>, not the <a class="el" href="classSoprano_1_1Server_1_1DBusExportModel.html" title="Exports a Soprano Model via D-Bus.">DBusExportModel</a> itself. Thus, subclassing <a class="el" href="classSoprano_1_1Server_1_1DBusExportModel.html" title="Exports a Soprano Model via D-Bus.">DBusExportModel</a> to modify the behaviour of methods called via D-Bus does not make sense. Instead stack the <a class="el" href="classSoprano_1_1Server_1_1DBusExportModel.html" title="Exports a Soprano Model via D-Bus.">DBusExportModel</a> on top of your own custom <a class="el" href="classSoprano_1_1FilterModel.html" title="A FilterModel is a virtual model that wraps another Model.">FilterModel</a>.</p> <p>For creating a simple Soprano D-Bus server see <a class="el" href="classSoprano_1_1Server_1_1ServerCore.html#a3024435aa02cdb52e6636cf62f1fc93e">ServerCore::registerAsDBusObject</a>.</p> <p>The interface exported can be accessed via <a class="el" href="classSoprano_1_1Client_1_1DBusModel.html" title="Interface to a DBus server model.">Client::DBusModel</a>.</p> <p><a class="el" href="classSoprano_1_1Server_1_1DBusExportModel.html" title="Exports a Soprano Model via D-Bus.">DBusExportModel</a> automatically makes use of a <a class="el" href="classSoprano_1_1Util_1_1AsyncModel.html" title="Filter model that allows to perform operations asyncroneously.">Util::AsyncModel</a> as parent model to create delayed D-Bus replies. If the parent model is not a <a class="el" href="classSoprano_1_1Util_1_1AsyncModel.html" title="Filter model that allows to perform operations asyncroneously.">Util::AsyncModel</a> all calls will be performed syncroneously.</p> <dl class="author"><dt><b>Author:</b></dt><dd>Sebastian Trueg <<a href="mailto:trueg@kde.org">trueg@kde.org</a>></dd></dl> <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="soprano_server_dbus.html">Soprano D-Bus Interface</a></dd></dl> <dl class="since"><dt><b>Since:</b></dt><dd>2.1 </dd></dl> <p>Definition at line <a class="el" href="dbusexportmodel_8h_source.html#l00059">59</a> of file <a class="el" href="dbusexportmodel_8h_source.html">dbusexportmodel.h</a>.</p> <hr/><h2>Constructor & Destructor Documentation</h2> <a class="anchor" id="ab29adb0c208b8a282b6631f7b890cdfc"></a><!-- doxytag: member="Soprano::Server::DBusExportModel::DBusExportModel" ref="ab29adb0c208b8a282b6631f7b890cdfc" args="(Model *model=0)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">Soprano::Server::DBusExportModel::DBusExportModel </td> <td>(</td> <td class="paramtype"><a class="el" href="classSoprano_1_1Model.html">Model</a> * </td> <td class="paramname"> <em>model</em> = <code>0</code></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Create a new D-Bus export model. </p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>model</em> </td><td>The parent model which should be exported. </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="a2251f25d5bea9c62be3767fdaff324b7"></a><!-- doxytag: member="Soprano::Server::DBusExportModel::~DBusExportModel" ref="a2251f25d5bea9c62be3767fdaff324b7" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">Soprano::Server::DBusExportModel::~DBusExportModel </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Destructor. </p> </div> </div> <hr/><h2>Member Function Documentation</h2> <a class="anchor" id="a63ef9c993f5056330648176c8bbae029"></a><!-- doxytag: member="Soprano::Server::DBusExportModel::registerModel" ref="a63ef9c993f5056330648176c8bbae029" args="(const QString &dbusObjectPath)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool Soprano::Server::DBusExportModel::registerModel </td> <td>(</td> <td class="paramtype">const <a class="elRef" href="qstring.html">QString</a> & </td> <td class="paramname"> <em>dbusObjectPath</em></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Register the model under the given D-Bus object path. </p> <dl class="see"><dt><b>See also:</b></dt><dd><a class="elRef" href="qdbusconnection.html#registerObject">QDBusConnection::registerObject</a> </dd></dl> </div> </div> <a class="anchor" id="acef1eca50ddbdf10bd59e34e71652140"></a><!-- doxytag: member="Soprano::Server::DBusExportModel::unregisterModel" ref="acef1eca50ddbdf10bd59e34e71652140" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void Soprano::Server::DBusExportModel::unregisterModel </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Unregister the model from D-Bus. </p> <dl class="see"><dt><b>See also:</b></dt><dd><a class="elRef" href="qdbusconnection.html#unregisterObject">QDBusConnection::unregisterObject</a> </dd></dl> </div> </div> <a class="anchor" id="aeef34534e50abf4e279b2b256d2188b9"></a><!-- doxytag: member="Soprano::Server::DBusExportModel::dbusObjectPath" ref="aeef34534e50abf4e279b2b256d2188b9" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="elRef" href="qstring.html">QString</a> Soprano::Server::DBusExportModel::dbusObjectPath </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td> const</td> </tr> </table> </div> <div class="memdoc"> <p>The path this model is exported on. This is an empty string if the model is not exported. </p> </div> </div> <hr/>The documentation for this class was generated from the following file:<ul> <li>/builddir/build/BUILD/soprano-2.5.2/server/dbus/<a class="el" href="dbusexportmodel_8h_source.html">dbusexportmodel.h</a></li> </ul> </div> <hr class="footer"/><address class="footer"><small>Generated on Thu Oct 21 2010 for Soprano by <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.1 </small></address> </body> </html>