Russian Qt Forum
Ноябрь 23, 2024, 14:19 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: 1 [2]   Вниз
  Печать  
Автор Тема: Файловый контейнер или его вариации...  (Прочитано 18188 раз)
ритт
Гость
« Ответ #15 : Октябрь 22, 2008, 22:40 »

если хочешь начать с QIODevice, советую ознакомиться с сорцами кделибз. сейчас навскидку не помню где точно искать, но это примерно io, kio и т.д., а также различные фильтры на основе интерфейса KZip (если не ошибаюсь). тот же кио-слэйв позволяет раотать с любыми файловыми системами прозрачно - нужно только бэкэнд спарить с интерфейсом. я год-два назад посмотривал в данном направлении, но так времени и не было заняться задуманной задачей всерьёз. если пойдёшь по этому пути, я постараюсь найти время и принять участие...

по второй части: если имеется определённое финансирование, можно приобрести модифицированный склайт (с шифрованием "на лету") - на данный момент для склайт это самое эффективное решение.
Записан
Alex Custov
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2063


Просмотр профиля
« Ответ #16 : Октябрь 22, 2008, 22:48 »

если хочешь начать с QIODevice, советую ознакомиться с сорцами кделибз. сейчас навскидку не помню где точно искать, но это примерно io, kio и т.д., а также различные фильтры на основе интерфейса KZip (если не ошибаюсь). тот же кио-слэйв позволяет раотать с любыми файловыми системами прозрачно - нужно только бэкэнд спарить с интерфейсом. я год-два назад посмотривал в данном направлении, но так времени и не было заняться задуманной задачей всерьёз. если пойдёшь по этому пути, я постараюсь найти время и принять участие...

Это всё сильно завязано на KDE. Там даже шедулер для слейвов свой.
Записан
ритт
Гость
« Ответ #17 : Октябрь 22, 2008, 23:32 »

я не говорю про привязку к кде - я говорю про саму идею реализации.
если реализовать подобный механизм на чистой кутэ (возможно, через фсэнджине или ещё как - надо ковыряться), удивитесь как много полезного можно будет реализовать с "прозрачностью" для приложения.
мне лично очень нравится в кде возможность ходить по урлам типа settings://[...], sysinfo://[...] и т.п.
т.к. в 4.4 появился новый qthelp://[...], думаю, нечто подобное уже реализовано и остаётся не так много...

и пример ближе к теме: что-то вроде QFile file("mycryptofs://pack1.zip/etc/fstab"), где pack1.zip будет архивом со стойким шифрованием или "mycryptofs://C:/test.txt", если интерфейс позволит устанавливать источник отдельно и т.д., и т.п. - для приложения будет асолютно неважно где на самом деле находится этот файл (это может быть даже потоковый источник в инете).
ы?
Записан
Alex Custov
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2063


Просмотр профиля
« Ответ #18 : Октябрь 22, 2008, 23:47 »

а, в этом смысле. Ну да, будет круто:) Только "qthelp" там обрабатывается жёстко и о модульности как в KIO приходится только мечтать. Для этого надо будет написать по сути аналог KIO ( QIO Подмигивающий ), и использовать его везде вместо обычных QFile/QHttp/ и т.д., что по сути огромная работа.
Записан
ритт
Гость
« Ответ #19 : Октябрь 23, 2008, 00:02 »

ну, я об этом и говорю Улыбающийся
и плюсом возможность установки фильтра на базовый контейнер - получится вообще здорово - можно будет и сжатие, и шифрование "на лету" организовать...лишь бы фантазии хватило...
Записан
Alex Custov
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2063


Просмотр профиля
« Ответ #20 : Октябрь 23, 2008, 00:06 »

закинул им suggestion, посмотрим Улыбающийся
Записан
ритт
Гость
« Ответ #21 : Октябрь 23, 2008, 00:09 »

какой ты шустрый Улыбающийся
дай потом номерок, как отпишутся?

/* ё-маё, я уже джедай Улыбающийся */
Записан
-QT-
Гость
« Ответ #22 : Октябрь 23, 2008, 08:32 »

Финансирование это из собственных средств - тобишь зарплаты.

По поводу KIO - посмотрел предварительную информацию, возможно и даже
наверное более резонно попробовать. Подумалось ведь КДЕ 4.х уже работает
и там это портировано на четвертую ветку. Ищу сорцы КИО сейчас посмотрим
что из этого можно сварганить.

Дааа... реализация QIO-slaves --> вкусно ... ням. Интересно что по этому поводу скажут тролли ?

Записан
-QT-
Гость
« Ответ #23 : Октябрь 23, 2008, 09:15 »

Цитировать
Есть в QT замечательная штука под названием QAbstractFileEngine. В двух словах это заготовка для построения VFS в отдельно взятой программе. Вот цитата из документации:

A QAbstractFileEngine subclass can be created to do synchronous network I/O based file system operations, local file system operations, or to operate as a resource system to access file based resources.

Собственно все операции с файлами (open, read, write, etc) идут именно через потомка этого класса QFSFileEngine. Также этот механизм используется для доступа к ресурсам (да-да, тот самый QIcon(":/icons/icon.png")).

Таким образом создав 3 класса

class MyFileEngineHandler : public QAbstractFileEngineHandler
class MyFileEngine: public QAbstractFileEngine
class MyFileEngineIterator : public QAbstractFileEngineIterator

мы получаем собственноручно созданную VFS для наших нужд.
http://lestornqt.blogspot.com/

Надыбано по поиску в ассистанте и тырнэте.
Что по этому поводу скажет сообщество ?
« Последнее редактирование: Октябрь 23, 2008, 09:17 от -=QT=- » Записан
ритт
Гость
« Ответ #24 : Октябрь 23, 2008, 09:24 »

> если реализовать подобный механизм на чистой кутэ (возможно, через фсэнджине или ещё как - надо ковыряться)...
Улыбающийся

это радует. выходит, что в твоём случае задача действительно решается написанием наследников...в моём случае ещё потребуется интерфейс для обвешивания (в)фски фильтрами - т.е. чтобы не писать (в)фску со сжатием/шифрованием на лету, а применять фильтр к существующией (в)фске (скажем, qtdoc://) и читать/писать кутэдоки в сжатом виде _прозрачно_ как для приложения, так и для фсэнджины...
правда, когда у меня появится время на реализацию задуманного, оно (задуманное) может мне уже быть неинтересным Улыбающийся
Записан
-QT-
Гость
« Ответ #25 : Октябрь 23, 2008, 09:37 »

правда, когда у меня появится время на реализацию задуманного, оно (задуманное) может мне уже быть неинтересным Улыбающийся

Всё нужно вовремя, мы переростаем возникающие проблемы и потом нехотим возвращатся к ним.
Сейчас пробую простейшее приложение с QAbstractFileEngine, посмотрим что можно выжать из него.
Записан
Alex Custov
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2063


Просмотр профиля
« Ответ #26 : Октябрь 28, 2008, 16:46 »

какой ты шустрый Улыбающийся
дай потом номерок, как отпишутся?

/* ё-маё, я уже джедай Улыбающийся */

Цитировать
Hello,

Actually there is no plans for that, but you are still free to use
kdelibs on your project even if it is commercial project (kdelibs is
LGPL).

I agree that is cool feature but actually it's not on roadmap.

Best Regards.

Alexis Ménard
Software Engineer, Widgets Team 1
Phone : +4799271013

Qt Software, Nokia Norge AS, Sandakerveien 116, 0484 Oslo, Norway
======================================================================
Qt Developer Days 2008
Register Today!
REDWOOD CITY, California: October 29th - 30th
Learn more: www.trolltech.com/qtdevdays2008
======================================================================
Записан
Страниц: 1 [2]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.051 секунд. Запросов: 23.