Warning, /network/kdeconnect-kde/declarativeplugin/qml/DBusProperty.qml is written in an unsupported language. File is not indexed.
0001 /** 0002 * SPDX-FileCopyrightText: 2016 Aleix Pol Gonzalez <aleixpol@kde.org> 0003 * 0004 * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL 0005 */ 0006 0007 import QtQml 2.2 0008 import org.kde.kdeconnect 1.0 0009 0010 QtObject { 0011 id: prop 0012 property QtObject object: null 0013 property string read 0014 property string change: read+"Changed" 0015 0016 Component.onCompleted: get(); 0017 0018 onChangeChanged: { 0019 if (object) { 0020 var theSignal = object[change]; 0021 if (theSignal) { 0022 theSignal.connect(valueReceived); 0023 } else { 0024 console.warn("couldn't find signal", change, "for", object) 0025 } 0026 } 0027 } 0028 0029 function valueReceived(val) { 0030 if (!val) { 0031 get(); 0032 } else { 0033 _value = val; 0034 } 0035 } 0036 0037 property var defaultValue 0038 property var _value: defaultValue 0039 readonly property var value: _value 0040 0041 readonly property var v: DBusAsyncResponse { 0042 id: response 0043 autoDelete: false 0044 onSuccess: result => { 0045 prop._value = result; 0046 } 0047 onError: message => { 0048 console.warn("failed call", object, read, write, change) 0049 } 0050 } 0051 0052 function get() { 0053 response.setPendingCall(object[read]()); 0054 } 0055 }