Страницы: 1
Собсвенно суть проблемы в следующем. Я разрабатываю компонент для использования мозиллы в AWT/SWING Java приложениях (наподобие WebClient) используется xulrunner движок 1.9. Мне нужно не использовать профайл который лежит в user каталоге т.к. при наличии установленных продуктов mozilla могут возникакть кофликты.
Короче говоря я хочу создавать профайл в подкаталоге откуда запущенна моя Java программа. Для этих целей мне бы отлично подошол сервис nsIProfile он имплементиттся классом @mozilla.org/profile/manager;1. Однако при попытке его получить из nsIServiceManager я получаю ошибку 0x80040154 т.е. Class is not registered.
Мой вопрос в следующем кто нибудь пробовал регисрировать классы самостоятельно, из кода? И если да ток как мне это осуществить?
К величайшему моему сожалению по custom profiles embeding FAQ сияет блестящими каментами //TODO:
Отсутствует
custom profiles embeding FAQ сияет блестящими каментами //TODO:
Todo: Directory service provider
Должно быть, имеется в виду необходимость реализации nsIDirectoryServiceProvider.
Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!
Отсутствует
Вообще проблема разрешилась без регистрации класса с помощью указания nsIPrefBranch куда ложить профайл
Но тем не мение всеже необходимость в регистрацци классов пока еще не отпадает
А вообще custom profiles можно создать из Java вот так:
Делаете класс который имплиментит IAppFileLocProvider из MozillaGlue.jar
Потом так
public File getFile(String aProp, boolean[] aPersistent) { //Тут так-же все остальные настройки каталогов по умолчанию if (aProp.equals(NS_APP_USER_PROFILE_50_DIR)) { return new File("Каталог где сохранять профайл"); } }
И регистрируете в момент ининциализации приложения
File grePath = new File(System.getProperty("GRE_PATH")); mozilla.initialize(grePath); mozilla.initEmbedding(grePath, grePath, locProvider);
grePath - переменная окружения на каталог в котором лежит собранный xulrunner
locProvider - класс который имплиментит IAppFileLocProvider
Отсутствует
Страницы: 1