aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/qmldesigner/designercore/instances/changebindingscommand.h
diff options
context:
space:
mode:
authorMarco Bubke <marco.bubke@nokia.com>2010-11-24 14:52:06 +0100
committerMarco Bubke <marco.bubke@nokia.com>2010-11-24 15:52:22 +0100
commited42462889b2835f99c714b84fa0db44780a9a26 (patch)
tree1b73d7245eef8ac47e2e57b68b03152b5940ea70 /src/plugins/qmldesigner/designercore/instances/changebindingscommand.h
parentf123af08b7ce5842e053e855c375ff82f84377f7 (diff)
QmlDesigner.Instances: Move instances out of process
The complete qml emulation layer (instances) is moved into another external process (qmlpuppet). Summary of architectural changes: - Asynchronous messaging Handling commands and data transfer asynchronously reduces the amount of context switches between processes. - Proxy classes for client process This classes abstract the inter process communication - QVariant based command parsing and serialization Using LocalSocket in bidirectional manner for communications of commands and data transfer. - Integer based identifier instead of ModelNode in client process The qml emulation layer (instances) has no more depencies to our internal data model. - Timer based rendering Rendering in instances is controlled by a timer. Only dirty items are updated.
Diffstat (limited to 'src/plugins/qmldesigner/designercore/instances/changebindingscommand.h')
-rw-r--r--src/plugins/qmldesigner/designercore/instances/changebindingscommand.h32
1 files changed, 32 insertions, 0 deletions
diff --git a/src/plugins/qmldesigner/designercore/instances/changebindingscommand.h b/src/plugins/qmldesigner/designercore/instances/changebindingscommand.h
new file mode 100644
index 0000000000..60f680d105
--- /dev/null
+++ b/src/plugins/qmldesigner/designercore/instances/changebindingscommand.h
@@ -0,0 +1,32 @@
+#ifndef CHANGEBINDINGSCOMMAND_H
+#define CHANGEBINDINGSCOMMAND_H
+
+#include <QMetaType>
+#include <QVector>
+
+#include "propertybindingcontainer.h"
+
+namespace QmlDesigner {
+
+class ChangeBindingsCommand
+{
+ friend QDataStream &operator>>(QDataStream &in, ChangeBindingsCommand &command);
+
+public:
+ ChangeBindingsCommand();
+ ChangeBindingsCommand(const QVector<PropertyBindingContainer> &bindingChangeVector);
+
+ QVector<PropertyBindingContainer> bindingChanges() const;
+
+private:
+ QVector<PropertyBindingContainer> m_bindingChangeVector;
+};
+
+QDataStream &operator<<(QDataStream &out, const ChangeBindingsCommand &command);
+QDataStream &operator>>(QDataStream &in, ChangeBindingsCommand &command);
+
+} // namespace QmlDesigner
+
+Q_DECLARE_METATYPE(QmlDesigner::ChangeBindingsCommand);
+
+#endif // CHANGEBINDINGSCOMMAND_H