19.09.2011, в 16:59, Wolf-Michael Bolle написал(а):
> On Monday 19 September 2011 12:39:20 ext Иван Комиссаров wrote:
>
>>>>> In the spirit of this discussion I'd like to point out that I need a
>>>>> way to create QMimeType objects with all their properties set. Can we
>>>>> add constructors to QMimeTypeData and QMimeType like this:
>>>>
>>>> why do you need this done in the constructor? this is, to me, really
>>>> not good API. it's one of my pet peeves.
>>>
>>> I want this class to be immutable. Such a class needs a way to get its
>>> properties initialized. Please explain why that is in your opinion a bad
>>> API.
>>
>> Yes, QMimeType should be immutable; if user need to create type in code, he
>> should use QMutableMimeType.
>>
>> So, as long as user shouldn't use QMimeType for creation of mime types, we
>> can use protected constructor that takes QMimeTypeData instead.
>
> I actually dislike the inheritance. It screams for a virtual destructor when
> the API really doesn't need one.
>
> How about a QMimeTypeBuilder, instead?
>
> class QMimeTypeBuilder
> {
> public:
> QMimeTypeBuilder();
> void setType(...);
> ...
> void setMagicMarkers(...);
> QMimeType result() const { return QMimeType(d); }
> private:
> QExplicitlySharedDataPointer<QMimeTypeData> d; // Same as QMimeType
> };
Yes, that is acceptable for me.
_______________________________________________
Qt5-feedback mailing list
[email protected]
http://lists.qt.nokia.com/mailman/listinfo/qt5-feedback