Re: [Development] QVariant container API

2020-03-31 Thread Vasily Pupkin
If you are going to review the proposed approach I don't mind making a voice call. If someone says that this is alright, I will spend time and create a gerrit patchset. On Mon, Mar 23, 2020 at 11:45 AM Ulf Hermann wrote: > Hi, > > We have the same problem in QML: We want to support user-defined

Re: [Development] QVariant container API

2020-03-23 Thread Ulf Hermann
Hi, We have the same problem in QML: We want to support user-defined containers as transparently as possible, with as little "registration" overhead as possible. Currently there is a fixed set of pre-defined containers you pass between QML and C++ code. See [1] for the relevant rant. I've bee

Re: [Development] QVariant container API

2020-03-21 Thread Vasily Pupkin
Hi. It has been almost a year since I have raised the topic. A quick recap: I was playing with serializaion and stumbled upon a problem with container reflection. In Qt there is an API to introspect container elements dynamically via the meta type system. But there is no way to populate a container

Re: [Development] QVariant container API

2019-04-03 Thread Arnaud Clère
In your examples, you know the destination types statically so my suggestion did not seem off-topic. Cheers From: Vasily Pupkin To: Arnaud Clère > Using QVariant as an intermediate data structure is not optimal to > read/write your QList > It also prevents from directly using the QList type

Re: [Development] QVariant container API

2019-04-03 Thread Vasily Pupkin
> Using QVariant as an intermediate data structure is not optimal to read/write your QList > It also prevents from directly using the QList type to guide the deserialization. In QBind you do not need to register types at runtime and you avoid losing data silently (instead you have static_asserts

Re: [Development] QVariant container API

2019-04-02 Thread Arnaud Clère
c_asserts complaining at compile time). Arnaud Clère From: Vasily Pupkin Sent: 01 April 2019 15:44 To: Thiago Macieira Cc: development@qt-project.org Subject: Re: [Development] QVariant container API > By the way, conversions through QVariant are *exactly* wha

Re: [Development] QVariant container API

2019-04-01 Thread Vasily Pupkin
> By the way, conversions through QVariant are *exactly* what I implemented in > the examples/corelib/serialization/convert tool. Right, I've seen these to be helpful. The global task would allow to code like this. ~ struct MyStruct { int property1; QString property2; }; class MyObject {

Re: [Development] QVariant container API

2019-04-01 Thread Thiago Macieira
On Monday, 1 April 2019 12:41:59 CEST Vasily Pupkin wrote: > The API would be QByteArray serialize(const QVariant& value), and QVariant > might be a gadget or a collection of any depth. The only thing it does, is > peaking inside QVariant and recursively (de)serializes properties or items. By the

Re: [Development] QVariant container API

2019-04-01 Thread Thiago Macieira
On Monday, 1 April 2019 12:41:59 CEST Vasily Pupkin wrote: > > is too fragile and not compatible enough with standards. I recommend you > > reconsider and think about a more standard format. > > Just wanted to clarify, that I am working on a solution, which is totaly > different from datastream se

Re: [Development] QVariant container API

2019-04-01 Thread Konstantin Tokarev
01.04.2019, 13:43, "Vasily Pupkin" : > Thanks for the answers. > >> I'm not sure I want to see more Datastream-based serialisation. The code >> there >> is too fragile and not compatible enough with standards. I recommend you >> reconsider and think about a more standard format. > > Just wanted

Re: [Development] QVariant container API

2019-04-01 Thread Vasily Pupkin
> You can be sure that the conversion from QList to QSequentialIterable > will be successful, but the other way around is not given. QSequentialIterable > can contain QVariants of different types. I'm curious what is the use case for > the feature? Imagine one could call a Q_INVOKABLE or a slot gi

Re: [Development] QVariant container API

2019-04-01 Thread Vasily Pupkin
Thanks for the answers. > I'm not sure I want to see more Datastream-based serialisation. The code there > is too fragile and not compatible enough with standards. I recommend you > reconsider and think about a more standard format. Just wanted to clarify, that I am working on a solution, which i

Re: [Development] QVariant container API

2019-04-01 Thread Jedrzej Nowacki
On Monday, April 1, 2019 11:09:27 AM CEST Vasily Pupkin wrote: > Hi. > > I would like to submit a patch. Since it is probably going to break binary > compatibility and is mostly about coding conventions, I would like to have > some feedback before investing time. Great! > The general idea is to

Re: [Development] QVariant container API

2019-04-01 Thread Thiago Macieira
On Monday, 1 April 2019 11:09:27 CEST Vasily Pupkin wrote: > Hi. > > I would like to submit a patch. Since it is probably going to break binary > compatibility and is mostly about coding conventions, I would like to have > some feedback before investing time. If it's going to break BC, it's a Qt6

[Development] QVariant container API

2019-04-01 Thread Vasily Pupkin
Hi. I would like to submit a patch. Since it is probably going to break binary compatibility and is mostly about coding conventions, I would like to have some feedback before investing time. The general idea is to create a playground project for automatic (de)serialization for Qt (not manual, i.e