Полезная информация

Хотите узнать больше о расширениях? Посмотрите ролики, рассказывающие о работе с расширениями Firefox.

№130-11-2007 17:09:49

Shreder
Участник
 
Группа: Members
Зарегистрирован: 30-11-2007
Сообщений: 10
UA: Opera 9.5

Регистрация класса (Help)

Собсвенно суть проблемы в следующем. Я разрабатываю компонент для использования мозиллы в 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: :dumb:

Отсутствует

 

№201-12-2007 15:24:16

Anton
Участник
 
Группа: Extensions
Откуда: от верблюда
Зарегистрирован: 14-12-2004
Сообщений: 3057
UA: Firefox 2.0
Веб-сайт

Re: Регистрация класса (Help)

custom profiles  embeding FAQ сияет блестящими каментами //TODO:

Todo: Directory service provider

Должно быть, имеется в виду необходимость реализации nsIDirectoryServiceProvider.


Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!

Отсутствует

 

№303-12-2007 14:08:30

Shreder
Участник
 
Группа: Members
Зарегистрирован: 30-11-2007
Сообщений: 10
UA: Opera 9.5

Re: Регистрация класса (Help)

Вообще проблема разрешилась без регистрации класса с помощью указания 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

Отсутствует

 

№404-12-2007 17:36:07

Shreder
Участник
 
Группа: Members
Зарегистрирован: 30-11-2007
Сообщений: 10
UA: Opera 9.5

Re: Регистрация класса (Help)

Короче смотрите суда http://www.nabble.com/Overriding-nsIPromptService-t4203057.html и скажите спасибо  моему начальнику.

Отсутствует

 

Board footer

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2020 Mozilla Russia GitHub mark
Язык отображения форума: [Русский] [English]