| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
| |
Replace default Qt message pattern with a custom handler that matches
open62541 server log format: timestamps with UTC offset, colored
type/category tags padded to 20 chars, and shortened category names.
Add sbyte, byte, datetime, guid, and bytestring node types to all
three demo pages. Add Guid type coercion to writeValue.
|
| |
|
|
|
|
|
| |
The monitored bool now calls enableMonitoring/disableMonitoring on
the Value attribute. Adds publishingInterval property (default 100ms).
Value is no longer read at init — delivered by the monitored item.
Empty 4th demo page to verify monitoring stops when navigating away.
|
| |
|
|
|
|
|
|
|
| |
writeValue() Q_INVOKABLE coerces QML JS types to the exact C++ type
expected by the OPC UA node (auto-detected from DataType attribute via
opcUaDataTypeToQOpcUaType). Handles all scalar types, booleans, and
comma-separated array input. Adds writable property derived from
AccessLevel bits. Demo shows inline TextField + Write button for
writable nodes, "(READ-ONLY)" for others.
|
| |
|
|
|
|
| |
NodePage rewritten with Repeater/ItemDelegate showing 10 nodes per page
(RW Scalars, RO Scalars, RW Arrays). DataType resolved via namespace0Id
helpers, AccessLevel decoded from bitmask to readable flags.
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
| |
boilerplate
Rename BobinkAuth → OpcUaAuth, BobinkClient → OpcUaClient (C++ class
names only; QML module URI and singleton name stay as Bobink).
Remove BobinkNode (QQuickItem-based) and add OpcUaMonitoredNode
skeleton using QObject + QQmlParserStatus, following Qt convention
for non-visual QML types.
|
| |
|
|
|
|
|
|
|
|
| |
- Format BobinkAuth.cpp to match GNU style used elsewhere
- Replace brittle error name array with QMetaEnum in BobinkClient
- Move QOpcUaPkiConfiguration include from header to .cpp
- Replace m_discoveryInterval member with file-scope constant
- Add doc comments to SecurityMode and SecurityPolicy enums
- Comment endpoint selection strategy in handleEndpointsReceived
- Add missing QML ids to connectionPage and serverListView
|
| |
|
|
|
|
|
| |
Group header and source by domain (Connection, Discovery, PKI) so
properties, methods, and signal handlers live together. Move enums
before constructor, move s_instance to private, and add a public
instance() accessor used by BobinkNode.
|
| |
|
|
|
|
|
| |
Add QTOPCUA_INSTALL_DIR and CMAKE_INSTALL_PREFIX so QtOpcUa installs
to build/deps/qtopcua-install/ rather than polluting ~/Qt/6.10.2/.
Use QT_ADDITIONAL_PACKAGES_PREFIX_PATH so Qt's find_package resolves
OpcUa from the local install.
|
| |
|
|
|
|
|
|
| |
Replace QML_ELEMENT with QML_NAMED_ELEMENT(Bobink) so QML references
use `Bobink` instead of `BobinkClient`. Remove instance()/create()
factory in favor of inline s_instance set in the constructor. Import
BobinkPlugin statically in demo, link demo to BobinkQtOpcUaplugin,
and make library link dependencies PUBLIC. Add .qtcreator to gitignore.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
equivalents
Connect QOpcUaNode::attributeRead signal to new handler that logs
read results (value or error code) to the debug console via
BobinkClient::statusMessage. Add nameFromAttribute() helper.
Replace const char* arrays with QLatin1StringView, bare string
literals with QStringLiteral, uint with quint32, int with qint32.
Rename statusLog to debugLog in Main.qml for consistency.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
BobinkNode (QQuickItem) monitors a single OPC UA node with
automatic lifecycle: monitoring starts/stops based on item
visibility (StackView page switches, Loader, etc.).
Properties: nodeId, value (r/w), status, sourceTimestamp,
serverTimestamp. On-demand readAttribute() for metadata.
writeError signal for failed writes.
Demo restructured with StackView: connection page → two node
pages demonstrating the visibility-based monitoring lifecycle.
|
| |
|
|
|
|
|
|
| |
- Rename CMake project and library target to BobinkQtOpcUa (URI stays Bobink)
- Rename demo target to BobinkDemo, output binary to build/bin/
- Route all QML status/error messages to the in-app debug console
- Remove discoveryInterval QML property, default to 30s internally
- Add errorChanged handler, PKI file validation in applyPki()
|
| |
|
|
|
|
|
|
|
|
|
| |
- connectDirect(policy, mode): connect without endpoint discovery,
for servers with no unencrypted endpoint. Sets user identity token
policy matching the auth mode.
- autoDetectPki(): scan own/certs/*.der and own/private/*.pem|crt,
called automatically at startup.
- Demo: discovery auto-starts, PKI section hidden behind toggle with
auto-detected cert summary, direct connect appears on connect failure.
File/folder dialogs for manual PKI override.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Refactoring (issues 1,3,4,5,7,8,9,10 from review):
- Replace hardcoded cert filenames with certFile/keyFile properties
- Add 30s timeout to certificate trust QEventLoop
- Cache servers() QVariantList instead of rebuilding per call
- Validate URLs before passing to QtOpcUa
- Use ComboBox valueRole for robust enum mapping
- Add certificate trust dialog to demo
- Remove unnecessary RowLayout wrapper
- Remove debug output from BuildDeps.cmake
Documentation:
- Add Doxygen file blocks to all C++ files
- Document AuthMode enum, toAuthenticationInformation(), key
Q_INVOKABLE methods, certificateTrustRequested signal contract
- Convert section banners to standard format
- Add file/target comments to CMake and QML files
|
|
|
Implements the core OPC UA wrapper library with:
- Build system with automatic dep building (open62541, QtOpcUa)
- BobinkAuth: QML auth component (anonymous/userpass/certificate)
- BobinkClient: QML singleton managing connection, LDS discovery,
PKI configuration, endpoint selection, and certificate trust flow
- Demo app for manual testing of the full connection flow
|