170 lines
12 KiB
HTML
170 lines
12 KiB
HTML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
|
<!-- csdataengineca.cpp -->
|
|
<title>QCSDataEngineCA Class | CSDataQuick Documentation 1.2</title>
|
|
<link rel="stylesheet" type="text/css" href="style/online.css" />
|
|
<script type="text/javascript">
|
|
(function (i, s, o, g, r, a, m) {
|
|
i['GoogleAnalyticsObject'] = r; i[r] = i[r] || function () {
|
|
(i[r].q = i[r].q || []).push(arguments)
|
|
}, i[r].l = 1 * new Date(); a = s.createElement(o),
|
|
m = s.getElementsByTagName(o)[0]; a.async = 1; a.src = g; m.parentNode.insertBefore(a, m)
|
|
})(window, document, 'script', '//www.google-analytics.com/analytics.js', 'ga');
|
|
|
|
ga('create', 'UA-24645639-4', 'qt.io');
|
|
ga('set', 'forceSSL', true);
|
|
ga('send', 'pageview');
|
|
</script>
|
|
</head>
|
|
<body>
|
|
<div class="header" id="header">
|
|
<header id="navbar" class="">
|
|
</header>
|
|
</div>
|
|
<div class="main">
|
|
<div class="main-rounded">
|
|
<div class="navigationbar">
|
|
<ul class="sub-navigation">
|
|
<li><a href="../../CSDataQuick.html">Home</a></li>
|
|
<li><a href="../docs.html" class="active">Documentation</a></li>
|
|
<li><a href="http://github.com/xiaoqiangwang/CSDataQuick/">Code</a></li>
|
|
<li><a href="https://github.com/xiaoqiangwang/CSDataQuick/issues/">Bug Reports</a></li>
|
|
</ul>
|
|
<div id="main_title_bar">
|
|
<h1>CSDataQuick Documentation</h1>
|
|
<div class="search_bar">
|
|
<script>
|
|
(function() {
|
|
var cx = '001693341472456439948:u9v0snkru3q';
|
|
var gcse = document.createElement('script');
|
|
gcse.type = 'text/javascript';
|
|
gcse.async = true;
|
|
gcse.src = (document.location.protocol == 'https:' ? 'https:' : 'http:') + '//www.google.com/cse/cse.js?cx=' + cx;
|
|
var s = document.getElementsByTagName('script')[0];
|
|
s.parentNode.insertBefore(gcse, s);
|
|
})();
|
|
</script>
|
|
<gcse:searchbox-only resultsUrl="search-results.html"></gcse:searchbox-only>
|
|
</div></div>
|
|
<ul>
|
|
<li><a href="index.html">CSDataQuick Documentation</a></li>
|
|
<li><a href="csdataquick-cpp.html">C++ Classes</a></li>
|
|
<li>QCSDataEngineCA</li>
|
|
</ul>
|
|
</div>
|
|
<div class="content">
|
|
<div class="line">
|
|
<div class="content mainContent">
|
|
<div class="sidebar">
|
|
<div class="toc">
|
|
<h3><a name="toc">Contents</a></h3>
|
|
<ul>
|
|
<li class="level1"><a href="qcsdataengineca.html#public-functions">Public Functions</a></li>
|
|
<li class="level1"><a href="qcsdataengineca.html#reimplemented-public-functions">Reimplemented Public Functions</a></li>
|
|
<li class="level1"><a href="qcsdataengineca.html#details">Detailed Description</a></li>
|
|
</ul>
|
|
</div>
|
|
<div class="sidebar-content" id="sidebar-content"></div></div>
|
|
<div class="context">
|
|
<h1 class="title">QCSDataEngineCA Class</h1>
|
|
<!-- $$$QCSDataEngineCA-brief -->
|
|
<p>Connect to EPICS process variables (PV) via Channel Access (CA). <a href="qcsdataengineca.html#details">More...</a></p>
|
|
<!-- @@@QCSDataEngineCA -->
|
|
<div class="table"><table class="alignedsummary">
|
|
<tr><td class="memItemLeft rightAlign topAlign"> Header:</td><td class="memItemRight bottomAlign"> <span class="preprocessor">#include <QCSDataEngineCA></span>
|
|
</td></tr><tr><td class="memItemLeft rightAlign topAlign"> Inherits:</td><td class="memItemRight bottomAlign"> <a href="qcsdataengine.html">QCSDataEngine</a></td></tr></table></div><ul>
|
|
<li><a href="qcsdataengineca-members.html">List of all members, including inherited members</a></li>
|
|
</ul>
|
|
<a name="public-functions"></a>
|
|
<h2 id="public-functions">Public Functions</h2>
|
|
<div class="table"><table class="alignedsummary">
|
|
<tr><td class="memItemLeft rightAlign topAlign"> </td><td class="memItemRight bottomAlign"><b><a href="qcsdataengineca.html#QCSDataEngineCA">QCSDataEngineCA</a></b>(QObject *<i>parent</i> = Q_NULLPTR)</td></tr>
|
|
<tr><td class="memItemLeft rightAlign topAlign"> virtual </td><td class="memItemRight bottomAlign"><b><a href="qcsdataengineca.html#dtor.QCSDataEngineCA">~QCSDataEngineCA</a></b>()</td></tr>
|
|
</table></div>
|
|
<a name="reimplemented-public-functions"></a>
|
|
<h2 id="reimplemented-public-functions">Reimplemented Public Functions</h2>
|
|
<div class="table"><table class="alignedsummary">
|
|
<tr><td class="memItemLeft rightAlign topAlign"> virtual ObjectModel *</td><td class="memItemRight bottomAlign"><b><a href="qcsdataengineca.html#allData">allData</a></b>()</td></tr>
|
|
<tr><td class="memItemLeft rightAlign topAlign"> virtual void </td><td class="memItemRight bottomAlign"><b><a href="qcsdataengineca.html#close">close</a></b>(QCSData *<i>data</i>)</td></tr>
|
|
<tr><td class="memItemLeft rightAlign topAlign"> virtual void </td><td class="memItemRight bottomAlign"><b><a href="qcsdataengineca.html#create">create</a></b>(QCSData *<i>data</i>)</td></tr>
|
|
<tr><td class="memItemLeft rightAlign topAlign"> virtual QString </td><td class="memItemRight bottomAlign"><b><a href="qcsdataengineca.html#description">description</a></b>()</td></tr>
|
|
<tr><td class="memItemLeft rightAlign topAlign"> virtual QString </td><td class="memItemRight bottomAlign"><b><a href="qcsdataengineca.html#name">name</a></b>()</td></tr>
|
|
<tr><td class="memItemLeft rightAlign topAlign"> virtual void </td><td class="memItemRight bottomAlign"><b><a href="qcsdataengineca.html#setValue">setValue</a></b>(QCSData *<i>data</i>, const QVariant <i>value</i>)</td></tr>
|
|
</table></div>
|
|
<ul>
|
|
<li class="fn">6 public functions inherited from <a href="qcsdataengine.html#public-functions">QCSDataEngine</a></li>
|
|
<li class="fn">32 public functions inherited from <a href="http://doc.qt.io/qt-5/qobject.html#public-functions">QObject</a></li>
|
|
</ul>
|
|
<h3>Additional Inherited Members</h3>
|
|
<ul>
|
|
<li class="fn">3 properties inherited from <a href="qcsdataengine.html#properties">QCSDataEngine</a></li>
|
|
<li class="fn">1 property inherited from <a href="http://doc.qt.io/qt-5/qobject.html#properties">QObject</a></li>
|
|
<li class="fn">1 public slot inherited from <a href="http://doc.qt.io/qt-5/qobject.html#public-slots">QObject</a></li>
|
|
<li class="fn">1 signal inherited from <a href="qcsdataengine.html#signals">QCSDataEngine</a></li>
|
|
<li class="fn">2 signals inherited from <a href="http://doc.qt.io/qt-5/qobject.html#signals">QObject</a></li>
|
|
<li class="fn">1 public variable inherited from <a href="http://doc.qt.io/qt-5/qobject.html#public-variables">QObject</a></li>
|
|
<li class="fn">10 static public members inherited from <a href="http://doc.qt.io/qt-5/qobject.html#static-public-members">QObject</a></li>
|
|
<li class="fn">9 protected functions inherited from <a href="http://doc.qt.io/qt-5/qobject.html#protected-functions">QObject</a></li>
|
|
<li class="fn">2 protected variables inherited from <a href="http://doc.qt.io/qt-5/qobject.html#protected-variables">QObject</a></li>
|
|
</ul>
|
|
<a name="details"></a>
|
|
<!-- $$$QCSDataEngineCA-description -->
|
|
<div class="descr">
|
|
<h2 id="details">Detailed Description</h2>
|
|
<p>Connect to EPICS process variables (PV) via Channel Access (CA).</p>
|
|
<p>This data engine source has a <i>ca://</i> scheme, followed by the PV name. And since this is the default data engine, the <i>ca://</i> scheme can be omitted.</p>
|
|
<p>If the PV value is of array type, the data type might be up casted to either <i>int</i> or <i>double</i>. This is because the qml engine transparent handles <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a><int> and <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a><double> <a href="http://doc.qt.io/qt-5/qtqml-cppintegration-data.html#sequence-type-to-javascript-array">Sequence Type to JavaScript Array</a>. To always return the native data type, set the <i>extraProperties</i>:</p>
|
|
<pre class="cpp"><span class="type"><a href="qcsdata.html">QCSData</a></span> data <span class="operator">=</span> <span class="keyword">new</span> <span class="type"><a href="qcsdata.html">QCSData</a></span>();
|
|
data<span class="operator">-</span><span class="operator">></span>setExtraProperty(<span class="string">"UseNativeType"</span><span class="operator">,</span> <span class="keyword">true</span>);
|
|
data<span class="operator">-</span><span class="operator">></span>setSource(<span class="string">"my_array_pv"</span>);</pre>
|
|
<p>Note: it creates a preemptive channel access context, but anyway has a 100ms timer to flush the io to improve the IO efficiency.</p>
|
|
</div>
|
|
<!-- @@@QCSDataEngineCA -->
|
|
<div class="func">
|
|
<h2>Member Function Documentation</h2>
|
|
<!-- $$$QCSDataEngineCA[overload1]$$$QCSDataEngineCAQObject* -->
|
|
<h3 class="fn" id="QCSDataEngineCA"><a name="QCSDataEngineCA"></a>QCSDataEngineCA::<span class="name">QCSDataEngineCA</span>(<span class="type"><a href="http://doc.qt.io/qt-5/qobject.html#QObject">QObject</a></span> *<i>parent</i> = Q_NULLPTR)</h3>
|
|
<p>Default constructs an instance of QCSDataEngineCA.</p><!-- @@@QCSDataEngineCA -->
|
|
<!-- $$$~QCSDataEngineCA[overload1]$$$~QCSDataEngineCA -->
|
|
<h3 class="fn" id="dtor.QCSDataEngineCA"><a name="dtor.QCSDataEngineCA"></a><code>[virtual] </code>QCSDataEngineCA::<span class="name">~QCSDataEngineCA</span>()</h3>
|
|
<p>Destroys the instance of QCSDataEngineCA. The destructor is virtual.</p><!-- @@@~QCSDataEngineCA -->
|
|
<!-- $$$allData[overload1]$$$allData -->
|
|
<h3 class="fn" id="allData"><a name="allData"></a><code>[virtual] </code><span class="type">ObjectModel</span> *QCSDataEngineCA::<span class="name">allData</span>()</h3>
|
|
<p>Reimplemented from <a href="qcsdataengine.html#allData-prop">QCSDataEngine::allData</a>().</p>
|
|
<!-- @@@allData -->
|
|
<!-- $$$close[overload1]$$$closeQCSData* -->
|
|
<h3 class="fn" id="close"><a name="close"></a><code>[virtual] </code><span class="type">void</span> QCSDataEngineCA::<span class="name">close</span>(<span class="type"><a href="qcsdata.html">QCSData</a></span> *<i>data</i>)</h3>
|
|
<p>Reimplemented from <a href="qcsdataengine.html#close">QCSDataEngine::close</a>().</p>
|
|
<!-- @@@close -->
|
|
<!-- $$$create[overload1]$$$createQCSData* -->
|
|
<h3 class="fn" id="create"><a name="create"></a><code>[virtual] </code><span class="type">void</span> QCSDataEngineCA::<span class="name">create</span>(<span class="type"><a href="qcsdata.html">QCSData</a></span> *<i>data</i>)</h3>
|
|
<p>Reimplemented from <a href="qcsdataengine.html#create">QCSDataEngine::create</a>().</p>
|
|
<p>Creates the EPICS channel.</p>
|
|
<p>It calls <code>ca_create_channel</code> with a connection callback. In the callback, it calls <code>ca_create_subscription</code> to monitor value, alarm and property changes.</p>
|
|
<!-- @@@create -->
|
|
<!-- $$$description[overload1]$$$description -->
|
|
<h3 class="fn" id="description"><a name="description"></a><code>[virtual] </code><span class="type"><a href="http://doc.qt.io/qt-5/qstring.html">QString</a></span> QCSDataEngineCA::<span class="name">description</span>()</h3>
|
|
<p>Reimplemented from <a href="qcsdataengine.html#description-prop">QCSDataEngine::description</a>().</p>
|
|
<!-- @@@description -->
|
|
<!-- $$$name[overload1]$$$name -->
|
|
<h3 class="fn" id="name"><a name="name"></a><code>[virtual] </code><span class="type"><a href="http://doc.qt.io/qt-5/qstring.html">QString</a></span> QCSDataEngineCA::<span class="name">name</span>()</h3>
|
|
<p>Reimplemented from <a href="qcsdataengine.html#name-prop">QCSDataEngine::name</a>().</p>
|
|
<p>Returns the source scheme <i>ca</i>.</p>
|
|
<!-- @@@name -->
|
|
<!-- $$$setValue[overload1]$$$setValueQCSData*constQVariant -->
|
|
<h3 class="fn" id="setValue"><a name="setValue"></a><code>[virtual] </code><span class="type">void</span> QCSDataEngineCA::<span class="name">setValue</span>(<span class="type"><a href="qcsdata.html">QCSData</a></span> *<i>data</i>, const <span class="type"><a href="http://doc.qt.io/qt-5/qvariant.html">QVariant</a></span> <i>value</i>)</h3>
|
|
<p>Reimplemented from <a href="qcsdataengine.html#setValue">QCSDataEngine::setValue</a>().</p>
|
|
<!-- @@@setValue -->
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="footer">Copyright (C) 2012-2021 Xiaoqiang Wang, Paul Scherrer Institute.</div>
|
|
</body>
|
|
</html>
|