Russian Qt Forum
Ноябрь 23, 2024, 14:18
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Общие вопросы
>
Файловый контейнер или его вариации...
Страниц:
1
[
2
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Файловый контейнер или его вариации... (Прочитано 18187 раз)
ритт
Гость
Re: Файловый контейнер или его вариации...
«
Ответ #15 :
Октябрь 22, 2008, 22:40 »
если хочешь начать с QIODevice, советую ознакомиться с сорцами кделибз. сейчас навскидку не помню где точно искать, но это примерно io, kio и т.д., а также различные фильтры на основе интерфейса KZip (если не ошибаюсь). тот же кио-слэйв позволяет раотать с любыми файловыми системами прозрачно - нужно только бэкэнд спарить с интерфейсом. я год-два назад посмотривал в данном направлении, но так времени и не было заняться задуманной задачей всерьёз. если пойдёшь по этому пути, я постараюсь найти время и принять участие...
по второй части: если имеется определённое финансирование, можно приобрести модифицированный склайт (с шифрованием "на лету") - на данный момент для склайт это самое эффективное решение.
Записан
Alex Custov
Джедай : наставник для всех
Offline
Сообщений: 2063
Re: Файловый контейнер или его вариации...
«
Ответ #16 :
Октябрь 22, 2008, 22:48 »
Цитата: Константин от Октябрь 22, 2008, 22:40
если хочешь начать с QIODevice, советую ознакомиться с сорцами кделибз. сейчас навскидку не помню где точно искать, но это примерно io, kio и т.д., а также различные фильтры на основе интерфейса KZip (если не ошибаюсь). тот же кио-слэйв позволяет раотать с любыми файловыми системами прозрачно - нужно только бэкэнд спарить с интерфейсом. я год-два назад посмотривал в данном направлении, но так времени и не было заняться задуманной задачей всерьёз. если пойдёшь по этому пути, я постараюсь найти время и принять участие...
Это всё сильно завязано на KDE. Там даже шедулер для слейвов свой.
Записан
ритт
Гость
Re: Файловый контейнер или его вариации...
«
Ответ #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
Сообщений: 2063
Re: Файловый контейнер или его вариации...
«
Ответ #18 :
Октябрь 22, 2008, 23:47 »
а, в этом смысле. Ну да, будет круто:) Только "qthelp" там обрабатывается жёстко и о модульности как в KIO приходится только мечтать. Для этого надо будет написать по сути аналог KIO ( QIO
), и использовать его везде вместо обычных QFile/QHttp/ и т.д., что по сути огромная работа.
Записан
ритт
Гость
Re: Файловый контейнер или его вариации...
«
Ответ #19 :
Октябрь 23, 2008, 00:02 »
ну, я об этом и говорю
и плюсом возможность установки фильтра на базовый контейнер - получится вообще здорово - можно будет и сжатие, и шифрование "на лету" организовать...лишь бы фантазии хватило...
Записан
Alex Custov
Джедай : наставник для всех
Offline
Сообщений: 2063
Re: Файловый контейнер или его вариации...
«
Ответ #20 :
Октябрь 23, 2008, 00:06 »
закинул им suggestion, посмотрим
Записан
ритт
Гость
Re: Файловый контейнер или его вариации...
«
Ответ #21 :
Октябрь 23, 2008, 00:09 »
какой ты шустрый
дай потом номерок, как отпишутся?
/* ё-маё, я уже джедай
*/
Записан
-QT-
Гость
Re: Файловый контейнер или его вариации...
«
Ответ #22 :
Октябрь 23, 2008, 08:32 »
Финансирование это из собственных средств - тобишь зарплаты.
По поводу KIO - посмотрел предварительную информацию, возможно и даже
наверное более резонно попробовать. Подумалось ведь КДЕ 4.х уже работает
и там это портировано на четвертую ветку. Ищу сорцы КИО сейчас посмотрим
что из этого можно сварганить.
Дааа... реализация QIO-slaves --> вкусно ... ням. Интересно что по этому поводу скажут тролли ?
Записан
-QT-
Гость
Re: Файловый контейнер или его вариации...
«
Ответ #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=-
»
Записан
ритт
Гость
Re: Файловый контейнер или его вариации...
«
Ответ #24 :
Октябрь 23, 2008, 09:24 »
> если реализовать подобный механизм на чистой кутэ (возможно, через фсэнджине или ещё как - надо ковыряться)...
это радует. выходит, что в твоём случае задача действительно решается написанием наследников...в моём случае ещё потребуется интерфейс для обвешивания (в)фски фильтрами - т.е. чтобы не писать (в)фску со сжатием/шифрованием на лету, а применять фильтр к существующией (в)фске (скажем, qtdoc://) и читать/писать кутэдоки в сжатом виде _прозрачно_ как для приложения, так и для фсэнджины...
правда, когда у меня появится время на реализацию задуманного, оно (задуманное) может мне уже быть неинтересным
Записан
-QT-
Гость
Re: Файловый контейнер или его вариации...
«
Ответ #25 :
Октябрь 23, 2008, 09:37 »
Цитата: Константин от Октябрь 23, 2008, 09:24
правда, когда у меня появится время на реализацию задуманного, оно (задуманное) может мне уже быть неинтересным
Всё нужно вовремя, мы переростаем возникающие проблемы и потом нехотим возвращатся к ним.
Сейчас пробую простейшее приложение с QAbstractFileEngine, посмотрим что можно выжать из него.
Записан
Alex Custov
Джедай : наставник для всех
Offline
Сообщений: 2063
Re: Файловый контейнер или его вариации...
«
Ответ #26 :
Октябрь 28, 2008, 16:46 »
Цитата: Константин от Октябрь 23, 2008, 00:09
какой ты шустрый
дай потом номерок, как отпишутся?
/* ё-маё, я уже джедай
*/
Цитировать
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
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...