diff options
author | Marco Bubke <marco.bubke@nokia.com> | 2010-11-24 14:52:06 +0100 |
---|---|---|
committer | Marco Bubke <marco.bubke@nokia.com> | 2010-11-24 15:52:22 +0100 |
commit | ed42462889b2835f99c714b84fa0db44780a9a26 (patch) | |
tree | 1b73d7245eef8ac47e2e57b68b03152b5940ea70 /src/plugins/qmldesigner/designercore/instances/changebindingscommand.h | |
parent | f123af08b7ce5842e053e855c375ff82f84377f7 (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.h | 32 |
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 |